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