pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel/cargo Import cargo-0.17.0 as devel/cargo from pk...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/d62b8b395661
branches:  trunk
changeset: 368252:d62b8b395661
user:      ryoon <ryoon%pkgsrc.org@localhost>
date:      Wed Sep 13 00:12:54 2017 +0000

description:
Import cargo-0.17.0 as devel/cargo from pkgsrc-wip/cargo.

cargo will be required by upcomming www/firefox-56

Rust is a systems programming language focused on three goals: safety,
speed, and concurrency.  It maintains these goals without having a
garbage collector, making it a useful language for a number of use cases
other languages aren't good at: embedding in other languages, programs
with specific space and time requirements, and writing low-level code,
like device drivers and operating systems.

It improves on current languages targeting this space by having a number
of compile-time safety checks that produce no runtime overhead, while
eliminating all data races.  Rust also aims to achieve "zero-cost
abstractions" even though some of these abstractions feel like those of
a high-level language.  Even then, Rust still allows precise control
like a low-level language would.

This package is cargo package manager for Rust language.

diffstat:

 devel/cargo/DESCR                          |   15 +
 devel/cargo/Makefile                       |  109 +++++++
 devel/cargo/PLIST                          |   35 ++
 devel/cargo/crates.mk                      |  129 +++++++++
 devel/cargo/distinfo                       |  406 +++++++++++++++++++++++++++++
 devel/cargo/files/cargo-generate-vendor.pl |  127 +++++++++
 6 files changed, 821 insertions(+), 0 deletions(-)

diffs (truncated from 845 to 300 lines):

diff -r c186b47a1aec -r d62b8b395661 devel/cargo/DESCR
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/cargo/DESCR Wed Sep 13 00:12:54 2017 +0000
@@ -0,0 +1,15 @@
+Rust is a systems programming language focused on three goals: safety,
+speed, and concurrency.  It maintains these goals without having a
+garbage collector, making it a useful language for a number of use cases
+other languages aren't good at: embedding in other languages, programs
+with specific space and time requirements, and writing low-level code,
+like device drivers and operating systems.
+
+It improves on current languages targeting this space by having a number
+of compile-time safety checks that produce no runtime overhead, while
+eliminating all data races.  Rust also aims to achieve "zero-cost
+abstractions" even though some of these abstractions feel like those of
+a high-level language.  Even then, Rust still allows precise control
+like a low-level language would.
+
+This package is cargo package manager for Rust language.
diff -r c186b47a1aec -r d62b8b395661 devel/cargo/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/cargo/Makefile      Wed Sep 13 00:12:54 2017 +0000
@@ -0,0 +1,109 @@
+# $NetBSD: Makefile,v 1.1 2017/09/13 00:12:54 ryoon Exp $
+
+CARGO_VER=     0.17.0
+RUST_VER=      1.16.0
+PKGNAME=       cargo-${CARGO_VER}
+CATEGORIES=    lang
+MASTER_SITES=  http://static.rust-lang.org/dist/
+
+MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=      https://crates.io/
+COMMENT=       Package manager for Rust langage
+LICENSE=       mit OR apache-2.0
+
+DIST_SUBDIR=   cargo
+
+# For crates download, Accept: header is required.
+# See: https://github.com/rust-lang/crates.io/issues/466
+FETCH_USING=   custom
+FETCH_CMD=      ${TOOLS_PATH.curl}
+FETCH_BEFORE_ARGS=     --fail --insecure --location --remote-time -H 'Accept:'
+FETCH_OUTPUT_ARGS=     -o
+FETCH_AFTER_ARGS=      -O
+
+CARGODIST=     cargo-0.17.0
+CARGODISTFILE= cargo-0.17.0.tar.gz
+SITES.${CARGODISTFILE}=        -https://github.com/rust-lang/cargo/archive/0.17.0.tar.gz
+CARGO_DISTFILES=       ${CARGODISTFILE}
+
+.include "crates.mk"
+
+DISTFILES=     ${CARGO_DISTFILES} rustc-${RUST_VER}-src.tar.gz
+
+WRKSRC=                ${WRKDIR}/${CARGODIST}
+
+DEPENDS+=      rust-[0-9]*:../../lang/rust
+
+MAKE_ENV+=     RUSTFLAGS="-Clink-arg=${COMPILER_RPATH_FLAG}${PREFIX}/lib"
+
+USE_TOOLS+=            curl gmake perl pkg-config
+
+HAS_CONFIGURE=         yes
+CONFIGURE_ARGS+=       --prefix=${PREFIX}
+CONFIGURE_ARGS+=       --build=${CARGO_ARCH}
+CONFIGURE_ARGS+=       --mandir=${PREFIX}/${PKGMANDIR}
+CONFIGURE_ARGS+=       --release-channel=stable
+CONFIGURE_ARGS+=       --cargo=${WRKDIR}/cargo-nightly-${CARGO_ARCH}/cargo/bin/cargo
+CONFIGURE_ARGS+=       --rustc=${PREFIX}/bin/rustc
+CONFIGURE_ARGS+=       --rustdoc=${PREFIX}/bin/rustdoc
+MAKE_ENV+=             OPENSSL_DIR=${BUILDLINK_PREFIX.openssl}
+MAKE_ENV+=             LIBGIT2_SYS_USE_PKG_CONFIG=1
+MAKE_ENV+=             VERBOSE=1
+
+.include "../../mk/bsd.prefs.mk"
+
+#BUILDLINK_TRANSFORM.NetBSD+=  rm:-Wl,--enable-new-dtags
+
+CARGO_STAGE0_VER=      0.16.0
+.if !empty(MACHINE_PLATFORM:MDarwin-*-i386) || make(distinfo) || make (makesum) || make(mdi)
+CARGO_ARCH:=           i686-apple-darwin
+CARGO_STAGE0:=         cargo-${CARGO_STAGE0_VER}-${CARGO_ARCH}.tar.gz
+DISTFILES:=            ${DISTFILES} ${CARGO_STAGE0}
+.endif
+.if !empty(MACHINE_PLATFORM:MDarwin-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
+CARGO_ARCH:=           x86_64-apple-darwin
+CARGO_STAGE0:=         cargo-${CARGO_STAGE0_VER}-${CARGO_ARCH}.tar.gz
+DISTFILES:=            ${DISTFILES} ${CARGO_STAGE0}
+.endif
+.if !empty(MACHINE_PLATFORM:MLinux-*-i386) || make(distinfo) || make (makesum) || make(mdi)
+CARGO_ARCH:=           i686-unknown-linux-gnu
+CARGO_STAGE0:=         cargo-${CARGO_STAGE0_VER}-${CARGO_ARCH}.tar.gz
+DISTFILES:=            ${DISTFILES} ${CARGO_STAGE0}
+.endif
+.if !empty(MACHINE_PLATFORM:MLinux-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
+CARGO_ARCH:=           x86_64-unknown-linux-gnu
+CARGO_STAGE0:=         cargo-${CARGO_STAGE0_VER}-${CARGO_ARCH}.tar.gz
+DISTFILES:=            ${DISTFILES} ${CARGO_STAGE0}
+.endif
+#.if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
+#RUST_ARCH:=           x86_64-sun-solaris
+#RUST_STAGE0:=         cargo-${CARGO_STAGE0_VER}-${CARGO_ARCH}.tar.gz
+#SITES.${RUST_STAGE0}= https://us-east.manta.joyent.com/pkgsrc/public/pkg-bootstraps/
+#DISTFILES:=           ${DISTFILES} ${CARGO_STAGE0}
+#.endif
+.if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
+CARGO_ARCH=            x86_64-unknown-netbsd
+CARGO_STAGE0:=         cargo-${CARGO_STAGE0_VER}-${CARGO_ARCH}.tar.gz
+DISTFILES:=            ${DISTFILES} ${CARGO_STAGE0}
+.endif
+
+.if !defined(CARGO_ARCH)
+NOT_FOR_PLATFORM+=     ${MACHINE_PLATFORM}
+.endif
+
+OPSYSVARS+=            SOEXT
+SOEXT.Darwin=          dylib
+SOEXT.*=               so
+
+post-install:
+       ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/install.log
+       ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/components
+       ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/rust-installer-version
+       ${RM} -f ${DESTDIR}${PREFIX}/lib/rustlib/uninstall.sh
+
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../devel/libgit2/buildlink3.mk"
+.include "../../lang/python/tool.mk"
+.include "../../security/openssl/buildlink3.mk"
+.include "../../www/curl/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff -r c186b47a1aec -r d62b8b395661 devel/cargo/PLIST
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/cargo/PLIST Wed Sep 13 00:12:54 2017 +0000
@@ -0,0 +1,35 @@
+@comment $NetBSD: PLIST,v 1.1 2017/09/13 00:12:54 ryoon Exp $
+bin/cargo
+etc/bash_completion.d/cargo
+lib/rustlib/manifest-cargo
+man/man1/cargo-bench.1
+man/man1/cargo-build.1
+man/man1/cargo-check.1
+man/man1/cargo-clean.1
+man/man1/cargo-doc.1
+man/man1/cargo-fetch.1
+man/man1/cargo-generate-lockfile.1
+man/man1/cargo-init.1
+man/man1/cargo-install.1
+man/man1/cargo-login.1
+man/man1/cargo-metadata.1
+man/man1/cargo-new.1
+man/man1/cargo-owner.1
+man/man1/cargo-package.1
+man/man1/cargo-pkgid.1
+man/man1/cargo-publish.1
+man/man1/cargo-run.1
+man/man1/cargo-rustc.1
+man/man1/cargo-rustdoc.1
+man/man1/cargo-search.1
+man/man1/cargo-test.1
+man/man1/cargo-uninstall.1
+man/man1/cargo-update.1
+man/man1/cargo-version.1
+man/man1/cargo-yank.1
+man/man1/cargo.1
+share/doc/cargo/LICENSE-APACHE
+share/doc/cargo/LICENSE-MIT
+share/doc/cargo/LICENSE-THIRD-PARTY
+share/doc/cargo/README.md
+share/zsh/site-functions/_cargo
diff -r c186b47a1aec -r d62b8b395661 devel/cargo/crates.mk
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/cargo/crates.mk     Wed Sep 13 00:12:54 2017 +0000
@@ -0,0 +1,129 @@
+# $NetBSD: crates.mk,v 1.1 2017/09/13 00:12:54 ryoon Exp $
+#
+# For offline build of crates for devel/cargo
+#
+# used by devel/cargo/Makefile
+
+CRATES+=       advapi32-sys-0.2.0
+CRATES+=       aho-corasick-0.5.3
+CRATES+=       aho-corasick-0.6.3
+CRATES+=       bitflags-0.7.0
+CRATES+=       bufstream-0.1.2
+CRATES+=       cfg-if-0.1.0
+CRATES+=       chrono-0.2.25
+CRATES+=       cmake-0.1.19
+CRATES+=       crossbeam-0.2.10
+CRATES+=       curl-0.4.1
+CRATES+=       curl-sys-0.3.6
+CRATES+=       docopt-0.6.86
+CRATES+=       dtoa-0.4.1
+CRATES+=       env_logger-0.3.5
+CRATES+=       filetime-0.1.10
+CRATES+=       flate2-0.2.14
+CRATES+=       foreign-types-0.2.0
+CRATES+=       fs2-0.3.0
+CRATES+=       gcc-0.3.39
+CRATES+=       gdi32-sys-0.2.0
+CRATES+=       git2-0.6.3
+CRATES+=       git2-curl-0.7.0
+CRATES+=       glob-0.2.11
+CRATES+=       hamcrest-0.1.1
+CRATES+=       idna-0.1.0
+CRATES+=       itoa-0.3.1
+CRATES+=       kernel32-sys-0.2.2
+CRATES+=       lazy_static-0.2.2
+CRATES+=       libc-0.2.18
+CRATES+=       libgit2-sys-0.6.6
+CRATES+=       libssh2-sys-0.2.5
+CRATES+=       libz-sys-1.0.13
+CRATES+=       log-0.3.6
+CRATES+=       matches-0.1.4
+CRATES+=       memchr-0.1.11
+CRATES+=       memchr-1.0.1
+CRATES+=       miniz-sys-0.1.7
+CRATES+=       miow-0.1.3
+CRATES+=       net2-0.2.26
+CRATES+=       num-0.1.36
+CRATES+=       num-bigint-0.1.35
+CRATES+=       num-iter-0.1.32
+CRATES+=       num-complex-0.1.35
+CRATES+=       num-integer-0.1.32
+CRATES+=       num-rational-0.1.35
+CRATES+=       num-traits-0.1.36
+CRATES+=       num_cpus-1.1.0
+CRATES+=       openssl-0.9.6
+CRATES+=       openssl-probe-0.1.0
+CRATES+=       openssl-sys-0.9.6
+CRATES+=       pkg-config-0.3.8
+CRATES+=       psapi-sys-0.1.0
+CRATES+=       quote-0.3.15
+CRATES+=       rand-0.3.14
+CRATES+=       redox_syscall-0.1.17
+CRATES+=       regex-0.1.80
+CRATES+=       regex-0.2.1
+CRATES+=       regex-syntax-0.3.9
+CRATES+=       regex-syntax-0.4.0
+CRATES+=       rustc-serialize-0.3.21
+CRATES+=       semver-0.5.1
+CRATES+=       semver-parser-0.6.1
+CRATES+=       serde-0.9.12
+CRATES+=       serde_codegen_internals-0.14.2
+CRATES+=       serde_derive-0.9.12
+CRATES+=       serde_ignored-0.0.2
+CRATES+=       serde_json-0.9.9
+CRATES+=       shell-escape-0.1.3
+CRATES+=       strsim-0.5.1
+CRATES+=       syn-0.11.9
+CRATES+=       synom-0.11.3
+CRATES+=       tar-0.4.9
+CRATES+=       tempdir-0.3.5
+CRATES+=       term-0.4.4
+CRATES+=       thread-id-2.0.0
+CRATES+=       thread-id-3.0.0
+CRATES+=       thread_local-0.2.7
+CRATES+=       thread_local-0.3.3
+CRATES+=       time-0.1.36
+CRATES+=       toml-0.2.1
+CRATES+=       unicode-bidi-0.2.3
+CRATES+=       unicode-normalization-0.1.2
+CRATES+=       unicode-xid-0.0.4
+CRATES+=       unreachable-0.1.1
+CRATES+=       url-1.2.3
+CRATES+=       user32-sys-0.2.0
+CRATES+=       utf8-ranges-0.1.3
+CRATES+=       utf8-ranges-1.0.0
+CRATES+=       void-1.0.2
+CRATES+=       winapi-0.2.8
+CRATES+=       winapi-build-0.1.1
+CRATES+=       ws2_32-sys-0.2.1
+CRATES+=       metadeps-1.1.1
+CRATES+=       error-chain-0.7.2
+
+.for f in ${CRATES}
+SITES.${f}.tar.gz=     -https://crates.io/api/v1/crates/${f:C/-[^-]*$//}/${f:C/^.*-//}/download
+CARGO_DISTFILES+=      ${f}.tar.gz
+.endfor
+
+post-extract:
+       ${MV} ${WRKDIR}/rustc-${RUST_VER}-src/src/rust-installer \
+               ${WRKSRC}/src
+       ${MKDIR} ${WRKSRC}/vendor-sources
+.for f in ${CRATES}
+       ${MV} ${WRKDIR}/${f} \
+               ${WRKSRC}/vendor-sources
+.endfor
+# Create .cargo/config file
+       ${MKDIR} ${WRKSRC}/.cargo
+       echo "[source.crates-io]" > ${WRKSRC}/.cargo/config
+       echo "registry = 'https://github.com/rust-lang/crates.io-index'" >> ${WRKSRC}/.cargo/config
+       echo "replace-with = 'vendored-sources'" >> ${WRKSRC}/.cargo/config
+       echo >> ${WRKSRC}/.cargo/config
+       echo "[source.vendored-sources]" >> ${WRKSRC}/.cargo/config
+       echo "directory = '${WRKSRC}/vendor-sources'" >> ${WRKSRC}/.cargo/config
+
+# Use OpenBSD Ports' script to update meta data for crates
+.for f in ${CRATES}



Home | Main Index | Thread Index | Old Index