Index: MOVED =================================================================== --- MOVED +++ MOVED @@ -9471,3 +9471,4 @@ audio/gstreamer1-plugins-mad|audio/gstreamer1-plugins-mpg123|2017-07-21|The GStreamer 1 mad plugin was removed, the mpg123 plugin supplies the same functionality x11-toolkits/gstreamer1-plugins-gtksink|x11-toolkits/gstreamer1-plugins-gtk|2017-07-21|The GStreamer 1 gtksink plugin was renamed devel/ffcall|devel/libffcall|2017-07-28|Project was renamed +devel/cargo|lang/rust|2017-07-30|Merged with lang/rust Index: Mk/Uses/cargo.mk =================================================================== --- Mk/Uses/cargo.mk +++ Mk/Uses/cargo.mk @@ -46,10 +46,10 @@ CARGO_BUILDDEP?= yes .if ${CARGO_BUILDDEP:tl} == "yes" -BUILD_DEPENDS+= cargo:devel/cargo rustc:lang/rust +BUILD_DEPENDS+= rust>=1.19.0:lang/rust .endif -# Location of cargo binary (default to devel/cargo binary) +# Location of cargo binary (default to lang/rust's Cargo binary) CARGO_CARGO_BIN?= ${LOCALBASE}/bin/cargo # Location of the cargo output directory. Index: Mk/bsd.gecko.mk =================================================================== --- Mk/bsd.gecko.mk +++ Mk/bsd.gecko.mk @@ -388,10 +388,7 @@ .endif .if ${PORT_OPTIONS:MRUST} -BUILD_DEPENDS+= rust>=1.15.1:${RUST_PORT} -. if ${MOZILLA_VER:R:R} >= 51 -BUILD_DEPENDS+= cargo>=0.16.0:devel/cargo -. endif +BUILD_DEPENDS+= rust>=1.19.0:${RUST_PORT} RUST_PORT?= lang/rust MOZ_OPTIONS+= --enable-rust .else Index: UPDATING =================================================================== --- UPDATING +++ UPDATING @@ -5,6 +5,13 @@ You should get into the habit of checking this file for changes each time you update your ports collection, before attempting any port upgrades. +20170730: + AFFECTS: users of devel/cargo + AUTHOR: rust@Freebsd.org + + Starting with version 1.19.0, Cargo is provided with Rust. Therefore, + devel/cargo was merged into lang/rust. + 20170721: AFFECTS: users of security/sshguard* AUTHOR: dan.mcgregir@usask.ca Index: devel/Makefile =================================================================== --- devel/Makefile +++ devel/Makefile @@ -243,7 +243,6 @@ SUBDIR += calibrator SUBDIR += capstone3 SUBDIR += capstone4 - SUBDIR += cargo SUBDIR += cask SUBDIR += catch SUBDIR += cbrowser Index: devel/cargo/Makefile =================================================================== --- devel/cargo/Makefile +++ devel/cargo/Makefile @@ -1,145 +0,0 @@ -# Created by: Jean-Sébastien Pédron -# $FreeBSD$ - -PORTNAME= cargo -PORTVERSION= 0.19.0 -CATEGORIES= devel - -MAINTAINER= rust@FreeBSD.org -COMMENT= Rust's Package Manager -# ' <-- Help Vim syntax hilighting... - -LICENSE= APACHE20 \ - MIT -LICENSE_COMB= dual -# APACHE20 license is standard, see Templates/Licenses/APACHE20 -LICENSE_FILE_MIT= ${WRKSRC}/LICENSE-MIT - -# The following files are required: -# -# Main source archive from GitHub -# This is the source of Cargo, taken from GitHub. -# -# :cargo_bootstrap -# Like Rust, this is a prebuilt "cargo" used to bootstrap it, because -# Cargo is a standard Rust package itself. -# -# :registry -# Cargo clones several Git repositories for its dependencies and -# caches them in its "registry". This is an archive of this registry -# so nothing is downloaded during the build. -# -# :rust_installer -# This is a collection of mainly shell scripts which are used to -# install Cargo. - -MASTER_SITES= https://static.rust-lang.org/dist/:cargo_bootstrap \ - https://s3.amazonaws.com/rust-lang-ci/cargo-builds/:cargo_bootstrap \ - LOCAL/dumbbell/rust:cargo_bootstrap -.if !defined(SKIP_CARGO_REGISTRY) -MASTER_SITES+= LOCAL/dumbbell/rust:registry -DISTFILES+= ${CARGO_REGISTRY}:registry -.endif -DIST_SUBDIR?= rust - -USE_GITHUB= yes -GH_ACCOUNT= rust-lang -GH_PROJECT= rust-installer:rust_installer -GH_TAGNAME= 4f99485:rust_installer -GH_SUBDIR= src/rust-installer:rust_installer - -ONLY_FOR_ARCHS= aarch64 amd64 i386 -ONLY_FOR_ARCHS_REASON= requires prebuilt bootstrap cargo - -# Rust's target arch string is different from *BSD arch strings -RUST_ARCH_aarch64= aarch64 -RUST_ARCH_amd64= x86_64 -RUST_ARCH_i386= i686 -RUST_ARCH_x86_64= x86_64 # dragonfly -RUST_TARGET= ${RUST_ARCH_${ARCH}}-unknown-${OPSYS:tl} - -CARGO_BOOTSTRAP_DIR?= 2017-04-27 -CARGO_BOOTSTRAP_DIR_aarch64?= 2017-04-24 -CARGO_BOOTSTRAP_VERSION?= 0.18.0 -CARGO_BOOTSTRAP_VERSION_aarch64?=0.18.0 -CARGO_BOOTSTRAP= ${CARGO_BOOTSTRAP_DIR_${ARCH}:U${CARGO_BOOTSTRAP_DIR}}/cargo-${CARGO_BOOTSTRAP_VERSION_${ARCH}:U${CARGO_BOOTSTRAP_VERSION}}-${RUST_TARGET}${EXTRACT_SUFX} -CARGO_REGISTRY= ${PORTNAME}-registry-${DISTVERSIONFULL}.tar.xz - -# We don't USES=cmake here, because cmake is not Cargo's build system. -# It's used by a bundled dependency (libgit2). -BUILD_DEPENDS= cmake:devel/cmake \ - ${RUST_PORT:T}>=1.18.0:${RUST_PORT} -LIB_DEPENDS= libssh2.so:security/libssh2 \ - libcurl.so:ftp/curl -RUN_DEPENDS= rustc:${RUST_PORT} -RUST_PORT?= lang/rust - -USES= gmake python:-2.7,build pkgconfig ssl -HAS_CONFIGURE= yes -CONFIGURE_ARGS= --prefix="${PREFIX}" --mandir="${MANPREFIX}/man" -MAKE_ENV= ARGS="${CARGO_ARGS}" \ - OPENSSL_DIR="${OPENSSLBASE}" -CARGO_ARGS= --jobs ${MAKE_JOBS_NUMBER} - -MAKE_ARGS+= VERBOSE=1 - -OPTIONS_DEFINE= BOOTSTRAP -OPTIONS_DEFAULT=BOOTSTRAP - -BOOTSTRAP_DESC= Bootstrap using pre-built vendor snapshot -BOOTSTRAP_CONFIGURE_ON= --cargo="${WRKDIR}/${PORTNAME}-${CARGO_BOOTSTRAP_VERSION_${ARCH}:U${CARGO_BOOTSTRAP_VERSION}}-${RUST_TARGET}/cargo/bin/cargo" -BOOTSTRAP_CONFIGURE_OFF=--cargo="$$(command -v cargo)" # respect PATH -BOOTSTRAP_DISTFILES= ${CARGO_BOOTSTRAP}:cargo_bootstrap -BOOTSTRAP_MAKE_ENV= LD_LIBRARY_PATH="${WRKSRC}/target/snapshot/cargo/lib" - -post-patch: -# Fix mandir and don't install licenses outside of ${_LICENSE_DIR} - @${REINPLACE_CMD} -e 's,share/man,man,' \ - -e 's,$$(S)LICENSE-[^[:space:]]* ,,g' \ - ${WRKSRC}/Makefile.in - -# In case the previous "make stage" failed, this ensures rust's -# install.sh won't backup previously staged files before reinstalling -# new ones. Otheriwe, the staging directory is polluted with unneeded -# files. -pre-install: - @if test -f ${STAGEDIR}${PREFIX}/lib/rustlib/manifest-cargo; then \ - ${SED} -E -e 's,^(dir|file:),${STAGEDIR},' \ - < ${STAGEDIR}${PREFIX}/lib/rustlib/manifest-cargo \ - | ${XARGS} ${RM}; \ - fi - @${RM} \ - ${STAGEDIR}${PREFIX}/lib/rustlib/components \ - ${STAGEDIR}${PREFIX}/lib/rustlib/manifest-cargo \ - ${STAGEDIR}${PREFIX}/lib/rustlib/rust-installer-version \ - ${STAGEDIR}${PREFIX}/lib/rustlib/uninstall.sh - -post-install: - @${RM} ${STAGEDIR}${PREFIX}/lib/rustlib/install.log - @${REINPLACE_CMD} -i '' -e 's|${STAGEDIR}||' \ - ${STAGEDIR}${PREFIX}/lib/rustlib/manifest-cargo - @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/cargo - @${RM} \ - ${STAGEDIR}${PREFIX}/lib/rustlib/components \ - ${STAGEDIR}${PREFIX}/lib/rustlib/rust-installer-version \ - ${STAGEDIR}${PREFIX}/lib/rustlib/uninstall.sh - -# "make gen-registry" is a special target to ease this port update. -# -# After changing the version number and the Git revision, you can run -# "make gen-registry" to update the distinfo and create a new snapshot of -# the registry. The new registry is written to ${DISTDIR} and can be -# uploaded. - -gen-registry: - ${MAKE} -C${.CURDIR} -DSKIP_CARGO_REGISTRY makesum - ${MAKE} -C${.CURDIR} -DSKIP_CARGO_REGISTRY - ${TAR} cJvf ${_DISTDIR}/${CARGO_REGISTRY} -C${WRKDIR} \ - --uid 0 --gid 0 \ - --exclude libgit2/tests/ \ - --exclude curl/tests/ \ - --exclude 'index/github.com-*/.git/' \ - .cargo - ${MAKE} -C${.CURDIR} makesum - -.include Index: devel/cargo/distinfo =================================================================== --- devel/cargo/distinfo +++ devel/cargo/distinfo @@ -1,13 +0,0 @@ -TIMESTAMP = 1497712480 -SHA256 (rust/cargo-registry-0.19.0.tar.xz) = dd77a7d109cfe8a04a0f00e19516a41a69b99655bca9a17a38ab6c2d37bb4b53 -SIZE (rust/cargo-registry-0.19.0.tar.xz) = 18957548 -SHA256 (rust/2017-04-27/cargo-0.18.0-x86_64-unknown-freebsd.tar.gz) = 171147f876c08cf82a6da60fabf737fd580df90e2fec9c57368642beaea67450 -SIZE (rust/2017-04-27/cargo-0.18.0-x86_64-unknown-freebsd.tar.gz) = 5039329 -SHA256 (rust/2017-04-27/cargo-0.18.0-i686-unknown-freebsd.tar.gz) = 30ec4cfc667e3a8fca3cb0377b6a6f5dbcd19ad7143046db24e37432646e60a2 -SIZE (rust/2017-04-27/cargo-0.18.0-i686-unknown-freebsd.tar.gz) = 4914461 -SHA256 (rust/2017-04-24/cargo-0.18.0-aarch64-unknown-freebsd.tar.gz) = 8cdbf046bfc98e1cb92b89c306e4389b92a8df9db44b8f7c784aaac25ad52877 -SIZE (rust/2017-04-24/cargo-0.18.0-aarch64-unknown-freebsd.tar.gz) = 2935624 -SHA256 (rust/rust-lang-cargo-0.19.0_GH0.tar.gz) = 9ea59d17a7fa81aa4bdefa2bb45a5315219414386753eaf0988cadd465550b40 -SIZE (rust/rust-lang-cargo-0.19.0_GH0.tar.gz) = 652163 -SHA256 (rust/rust-lang-rust-installer-4f99485_GH0.tar.gz) = daa34a28d8fe64dd358e5a0c3a83b7018da6df41c9b4420d28ffdb8b05a82478 -SIZE (rust/rust-lang-rust-installer-4f99485_GH0.tar.gz) = 19990 Index: devel/cargo/pkg-descr =================================================================== --- devel/cargo/pkg-descr +++ devel/cargo/pkg-descr @@ -1,4 +0,0 @@ -Cargo is Rust's Package Manager. Cargo downloads your Rust project's -dependencies and compiles your project. - -WWW: http://doc.crates.io/ Index: devel/cargo/pkg-plist =================================================================== --- devel/cargo/pkg-plist +++ devel/cargo/pkg-plist @@ -1,31 +0,0 @@ -bin/cargo -etc/bash_completion.d/cargo -lib/rustlib/manifest-cargo -man/man1/cargo-bench.1.gz -man/man1/cargo-build.1.gz -man/man1/cargo-check.1.gz -man/man1/cargo-clean.1.gz -man/man1/cargo-doc.1.gz -man/man1/cargo-fetch.1.gz -man/man1/cargo-generate-lockfile.1.gz -man/man1/cargo-init.1.gz -man/man1/cargo-install.1.gz -man/man1/cargo-login.1.gz -man/man1/cargo-metadata.1.gz -man/man1/cargo-new.1.gz -man/man1/cargo-owner.1.gz -man/man1/cargo-package.1.gz -man/man1/cargo-pkgid.1.gz -man/man1/cargo-publish.1.gz -man/man1/cargo-run.1.gz -man/man1/cargo-rustc.1.gz -man/man1/cargo-rustdoc.1.gz -man/man1/cargo-search.1.gz -man/man1/cargo-test.1.gz -man/man1/cargo-uninstall.1.gz -man/man1/cargo-update.1.gz -man/man1/cargo-version.1.gz -man/man1/cargo-yank.1.gz -man/man1/cargo.1.gz -%%PORTDOCS%%%%DOCSDIR%%/README.md -share/zsh/site-functions/_cargo Index: lang/rust/Makefile =================================================================== --- lang/rust/Makefile +++ lang/rust/Makefile @@ -3,6 +3,7 @@ PORTNAME= rust PORTVERSION?= 1.19.0 +PORTREVISION= 1 CATEGORIES= lang MASTER_SITES= http://static.rust-lang.org/dist/:src \ https://static.rust-lang.org/dist/:rust_bootstrap \ @@ -12,20 +13,14 @@ LOCAL/dumbbell/rust:cargo_bootstrap \ LOCAL/marino:bootstrap DISTNAME?= ${PORTNAME}c-${PORTVERSION}-src -BOOTSTRAP_FILES=${RUSTC_BOOTSTRAP}:rust_bootstrap \ +DISTFILES?= ${DISTNAME}${EXTRACT_SUFX}:src \ + ${RUSTC_BOOTSTRAP}:rust_bootstrap \ ${RUST_STD_BOOTSTRAP}:rust_bootstrap \ ${CARGO_BOOTSTRAP}:cargo_bootstrap -DISTFILES?= ${DISTNAME}${EXTRACT_SUFX}:src \ - ${BOOTSTRAP_FILES} -.if !defined(SKIP_CARGO_REGISTRY) -MASTER_SITES+= LOCAL/riggs/rust:registry \ - LOCAL/dumbbell/rust:registry -DISTFILES+= ${CARGO_REGISTRY}:registry -.endif DIST_SUBDIR?= rust EXTRACT_ONLY?= ${DISTFILES:N*\:*bootstrap:C/:.*//} -MAINTAINER?= rust@FreeBSD.org +MAINTAINER= rust@FreeBSD.org COMMENT= Language with a focus on memory safety and concurrency LICENSE= APACHE20 \ @@ -35,6 +30,8 @@ LICENSE_FILE_MIT= ${WRKSRC}/LICENSE-MIT BUILD_DEPENDS= cmake:devel/cmake +LIB_DEPENDS= libcurl.so:ftp/curl \ + libssh2.so:security/libssh2 ONLY_FOR_ARCHS?= aarch64 amd64 i386 ONLY_FOR_ARCHS_REASON= requires prebuilt bootstrap compiler @@ -57,7 +54,6 @@ CARGO_BOOTSTRAP_VERSION?= 0.19.0 CARGO_BOOTSTRAP_VERSION_aarch64?=0.19.0 CARGO_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/cargo-${CARGO_BOOTSTRAP_VERSION_${ARCH}:U${CARGO_BOOTSTRAP_VERSION}}-${RUST_TARGET}${EXTRACT_SUFX} -CARGO_REGISTRY= ${PORTNAME}-registry-${DISTVERSIONFULL}.tar.xz RUST_CHANNEL= ${PKGNAMESUFFIX:Ustable:S/^-//} @@ -69,7 +65,7 @@ RUST_TARGET= ${RUST_ARCH_${ARCH}}-unknown-${OPSYS:tl} PLIST_SUB+= RUST_TARGET=${RUST_TARGET} -USES= compiler gmake libedit python:2.7,build +USES= compiler gmake libedit pkgconfig python:2.7,build ssl OPTIONS_DEFINE= DOCS GDB LLNEXTGEN PORT_LLVM GDB_DESC= Install ports gdb (necessary for debugging rust programs) @@ -88,7 +84,9 @@ # We use them in: # - pre-install to cleanup the ${STAGEDIR} # - post-install to populate the ${TMPPLIST} -RUST_MANIFESTS= lib/rustlib/manifest-rustc \ +RUST_MANIFESTS= lib/rustlib/manifest-cargo \ + lib/rustlib/manifest-rustc \ + lib/rustlib/manifest-rust-analysis-${RUST_TARGET} \ lib/rustlib/manifest-rust-std-${RUST_TARGET} RUST_DOCS_MANIFESTS= lib/rustlib/manifest-rust-docs DOCS_VARS= rust_manifests+=${RUST_DOCS_MANIFESTS} @@ -98,11 +96,15 @@ .include .if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200031 -EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-ino64 +EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-ino64 .endif -X_PY_ENV = HOME=${WRKDIR} -X_PY_CMD = ${PYTHON_CMD} ${WRKSRC}/x.py +X_PY_ENV= HOME="${WRKDIR}" \ + OPENSSL_DIR="${OPENSSLBASE}" +X_PY_CMD= ${PYTHON_CMD} ${WRKSRC}/x.py + +CRATES_PATHCED_BY_FBSD10_FIX= src/vendor/libssh2-sys \ + src/vendor/lzma-sys pre-fetch: # FIXME: This is the same check for CONFLICTS as the standard @@ -160,6 +162,9 @@ post-patch: @${REINPLACE_CMD} -e 's|gdb|${LOCALBASE}/bin/gdb|' \ ${WRKSRC}/src/etc/rust-gdb +# If we override the versions and date of the bootstraps (for instance +# on aarch64 where we provide our own bootstraps), we need to update +# places where they are recorded. @if test "${BOOTSTRAPS_DATE_${ARCH}}"; then \ ${REINPLACE_CMD} -e \ 's|^date:.*|date: ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}|' \ @@ -178,6 +183,26 @@ 's|cargo-nightly-|cargo-${CARGO_BOOTSTRAP_VERSION_${ARCH}:U${CARGO_BOOTSTRAP_VERSION}}-|' \ ${WRKSRC}/src/bootstrap/bootstrap.py; \ fi +# `extra-patch-ino64` may be applied. If that's the case, we need to +# update `.cargo-checksum.json` to reflect the new checksums verified by +# Cargo. + @set -x; cd "${WRKSRC}/src/vendor/libc"; \ + for file in $$(${FIND} * -name "*.orig"); do \ + old_checksum=$$(${SHA256} -q "$$file"); \ + new_checksum=$$(${SHA256} -q "$${file%%.orig}"); \ + regex="$$regex -e s|\"$${file%%.orig}\":\"$$old_checksum\"|\"$${file%%.orig}\":\"$$new_checksum\"|"; \ + done; \ + if test "$$regex"; then \ + ${REINPLACE_CMD} -E $$regex .cargo-checksum.json; \ + fi +# We make a backup of a few files before the FreeBSD 10 autotools +# fix is applied. We'll need them in `do-configure` to update the +# `.cargo-checksum.json` files. + @set -x; for crate in ${CRATES_PATHCED_BY_FBSD10_FIX}; do \ + for file in $$(${FIND} "${WRKSRC}/$$crate" -name "config.rpath"); do \ + ${CP} "$$file" "$$file.orig"; \ + done; \ + done do-configure: ${SED} -E \ @@ -189,6 +214,20 @@ -e 's,%TARGET%,${RUST_TARGET},' \ < ${FILESDIR}/config.toml \ > ${WRKSRC}/config.toml +# The FreeBSD 10 autotools fix may modify some files just before +# `do-configure`. Like after `extra-path-ino64`, we need to update +# `.cargo-checksum.json`. + @set -x; for crate in ${CRATES_PATHCED_BY_FBSD10_FIX}; do \ + cd "${WRKSRC}/$$crate"; \ + for file in $$(${FIND} * -name "*.orig"); do \ + old_checksum=$$(${SHA256} -q "$$file"); \ + new_checksum=$$(${SHA256} -q "$${file%%.orig}"); \ + regex="$$regex -e s|\"$${file%%.orig}\":\"$$old_checksum\"|\"$${file%%.orig}\":\"$$new_checksum\"|"; \ + done; \ + if test "$$regex"; then \ + ${REINPLACE_CMD} -E $$regex .cargo-checksum.json; \ + fi; \ + done post-configure-DOCS-on: ${REINPLACE_CMD} -e 's,%DOCS%,true,' ${WRKSRC}/config.toml @@ -242,9 +281,27 @@ # on the absolute path of the source files. As it is user-specific, we # can't know their filename in advance. # +# Both rustc and Cargo components install the same README.md and LICENSE +# files. The install process backs up the first copy to install the +# second. Thus here, we need to remove those backups. We also need to +# dedup the entries in the generated PLIST, because both components' +# manifests list them. +# # We fix manpage entries in the generated manifests because Rust # installs them uncompressed but the Ports framework compresses them. +# +# We set `extended = true` in config.toml because we want to build Cargo +# at the same time. However, this installs the rust-src component as +# well. We don't want it and I don't know how to prevent its install. So +# for now, use the rust-src manifest to remove it from ${STAGEDIR}. post-install: + if test -f "${STAGEDIR}${PREFIX}/lib/rustlib/manifest-rust-src"; then \ + ${SED} -E -e 's,^(file|dir):,,' \ + < "${STAGEDIR}${PREFIX}/lib/rustlib/manifest-rust-src" \ + | ${XARGS} ${RM} -r; \ + ${RM} "${STAGEDIR}${PREFIX}/lib/rustlib/manifest-rust-src"; \ + ${RM} -r "${STAGEDIR}${PREFIX}/lib/rustlib/src"; \ + fi for f in ${RUST_MANIFESTS}; do \ ${REINPLACE_CMD} -E \ -e 's|:${STAGEDIR}|:|' \ @@ -265,12 +322,16 @@ }' \ ${STAGEDIR}${PREFIX}/$$f >> ${TMPPLIST}; \ done + ${RM} ${STAGEDIR}${PREFIX}/share/doc/rust/*.old + ${SORT} -u < ${TMPPLIST} > ${TMPPLIST}.uniq + ${MV} ${TMPPLIST}.uniq ${TMPPLIST} @${RM} \ ${STAGEDIR}${PREFIX}/lib/rustlib/install.log \ ${STAGEDIR}${PREFIX}/lib/rustlib/uninstall.sh # FIXME: Static libraries in lib/rustlib/*/lib/*.rlib are not stripped, # but they contain non-object files which make strip(1) unhappy. @${STRIP_CMD} \ + ${STAGEDIR}${PREFIX}/bin/cargo \ ${STAGEDIR}${PREFIX}/bin/rustc \ ${STAGEDIR}${PREFIX}/bin/rustdoc \ ${STAGEDIR}${PREFIX}/lib/*.so \ @@ -287,22 +348,3 @@ --jobs ${MAKE_JOBS_NUMBER} .include - -# "make gen-registry" is a special target to ease this port update. -# -# After changing the version number and the Git revision, you can run -# "make gen-registry" to update the distinfo and create a new snapshot of -# the registry. The new registry is written to ${DISTDIR} and can be -# uploaded. - -gen-registry: - ${MAKE} -C${.CURDIR} -DSKIP_CARGO_REGISTRY makesum - ${MAKE} -C${.CURDIR} -DSKIP_CARGO_REGISTRY - ${TAR} cJvf ${DISTDIR}/${DIST_SUBDIR}/${CARGO_REGISTRY} -C${WRKDIR} \ - --uid 0 --gid 0 \ - --exclude 'src/*/benches/' \ - --exclude 'src/*/ci/' \ - --exclude 'src/*/examples/' \ - --exclude 'index/github.com-*/.git/' \ - .cargo - ${MAKE} -C${.CURDIR} makesum Index: lang/rust/distinfo =================================================================== --- lang/rust/distinfo +++ lang/rust/distinfo @@ -19,5 +19,3 @@ SIZE (rust/2017-06-08/rust-std-1.18.0-x86_64-unknown-freebsd.tar.gz) = 66585539 SHA256 (rust/2017-06-08/cargo-0.19.0-x86_64-unknown-freebsd.tar.gz) = a8d45ad508ecbe9ec9e19fddabda4476466486f97cfb1b59d0a43a1012acb788 SIZE (rust/2017-06-08/cargo-0.19.0-x86_64-unknown-freebsd.tar.gz) = 5176510 -SHA256 (rust/rust-registry-1.19.0.tar.xz) = 7f1d5b33ba11bbb05e468317680b54a61557e087e0d0deb0d69c2535f1b61146 -SIZE (rust/rust-registry-1.19.0.tar.xz) = 28571276 Index: lang/rust/files/config.toml =================================================================== --- lang/rust/files/config.toml +++ lang/rust/files/config.toml @@ -1,5 +1,11 @@ [build] +# Use bundled crates; this should permit offline build. +vendor = true + +# In addition to rustc, rust-std and rust-docs, build Cargo. +extended = true + # python(1) location. python = "%PYTHON_CMD%" @@ -20,3 +26,8 @@ [target.%TARGET%] llvm-config = "%LLVM_CONFIG%" + +[dist] + +# Do not build the source archive. +src-tarball = false Index: lang/rust/files/extra-patch-ino64 =================================================================== --- lang/rust/files/extra-patch-ino64 +++ lang/rust/files/extra-patch-ino64 @@ -29,7 +29,7 @@ - pub st_birthtime: ::time_t, - pub st_birthtime_nsec: ::c_long, + pub st_gen: ::uint64_t, -+ pub st_spare: [::int64_t; 10], ++ pub st_spare: [::uint64_t; 10], } } --- ./src/liblibc/src/unix/bsd/freebsdlike/freebsd/mod.rs.orig 2017-04-24 18:56:45.000000000 +0000 @@ -97,7 +97,7 @@ - pub st_birthtime_nsec: ::c_long, - __unused: [u8; 8], + pub st_gen: ::uint64_t, -+ pub st_lspare: [::uint64_t; 10], ++ pub st_spare: [::uint64_t; 10], } } --- ./src/liblibc/src/unix/bsd/freebsdlike/freebsd/x86_64.rs.orig 2017-04-24 18:56:45.000000000 +0000 @@ -131,7 +131,7 @@ - pub st_birthtime: ::time_t, - pub st_birthtime_nsec: ::c_long, + pub st_gen: ::uint64_t, -+ pub st_spare: [::int64_t; 10], ++ pub st_spare: [::uint64_t; 10], } } --- ./src/liblibc/src/unix/bsd/freebsdlike/mod.rs.orig 2017-04-24 18:56:45.000000000 +0000 @@ -270,7 +270,7 @@ - pub st_birthtime: ::time_t, - pub st_birthtime_nsec: ::c_long, + pub st_gen: ::uint64_t, -+ pub st_spare: [::int64_t; 10], ++ pub st_spare: [::uint64_t; 10], } } --- ./src/vendor/libc/src/unix/bsd/freebsdlike/freebsd/x86_64.rs.orig 2017-04-24 20:20:26.000000000 +0000 @@ -282,10 +282,10 @@ - pub st_mode: ::mode_t, pub st_nlink: ::nlink_t, + pub st_mode: ::mode_t, -+ pub st_pad0: u16, ++ pub st_pad0: ::uint16_t, pub st_uid: ::uid_t, pub st_gid: ::gid_t, -+ pub st_pad1: ::u32, ++ pub st_pad1: ::uint32_t, pub st_rdev: ::dev_t, pub st_atime: ::time_t, pub st_atime_nsec: ::c_long, @@ -304,7 +304,7 @@ - pub st_birthtime: ::time_t, - pub st_birthtime_nsec: ::c_long, + pub st_gen: ::uint64_t, -+ pub st_spare: [u64; 10], ++ pub st_spare: [::uint64_t; 10], } } --- ./src/vendor/libc/src/unix/bsd/freebsdlike/freebsd/mod.rs.orig 2017-04-24 20:20:26.000000000 +0000 @@ -345,21 +345,21 @@ - pub st_mode: ::mode_t, pub st_nlink: ::nlink_t, + pub st_mode: ::mode_t, -+ pub st_pad0: u16, ++ pub st_pad0: ::uint16_t, pub st_uid: ::uid_t, pub st_gid: ::gid_t, -+ pub st_pad1: u32, ++ pub st_pad1: ::uint32_t, pub st_rdev: ::dev_t, -+ pub st_atime_ext: ::i32, ++ pub st_atime_ext: ::int32_t, pub st_atime: ::time_t, pub st_atime_nsec: ::c_long, -+ pub st_mtime_ext: ::i32, ++ pub st_mtime_ext: i32, pub st_mtime: ::time_t, pub st_mtime_nsec: ::c_long, -+ pub st_ctime_ext: ::i32, ++ pub st_ctime_ext: ::int32_t, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_long, -+ pub st_birthtime_ext: ::i32, ++ pub st_birthtime_ext: ::int32_t, + pub st_birthtime: ::time_t, + pub st_birthtime_nsec: ::c_long, pub st_size: ::off_t, @@ -372,7 +372,7 @@ - pub st_birthtime_nsec: ::c_long, - __unused: [u8; 8], + pub st_gen: ::uint64_t, -+ pub st_spare: [u64; 10], ++ pub st_spare: [::uint64_t; 10], } } --- ./src/vendor/libc/src/unix/bsd/freebsdlike/mod.rs.orig 2017-04-24 20:20:26.000000000 +0000 Index: multimedia/librespot/Makefile =================================================================== --- multimedia/librespot/Makefile +++ multimedia/librespot/Makefile @@ -12,7 +12,7 @@ BROKEN= tries to clone git repository during build phase -BUILD_DEPENDS= cargo>0:devel/cargo \ +BUILD_DEPENDS= rust>=1.19.0:lang/rust \ portaudio>0:audio/portaudio USES= localbase pathfix pkgconfig shebangfix Index: www/firefox/Makefile =================================================================== --- www/firefox/Makefile +++ www/firefox/Makefile @@ -47,7 +47,7 @@ OPTIONS_DEFINE= RUST OPTIONS_DEFAULT= BUNDLED_CAIRO -# XXX lang/rust and devel/cargo currently build only on these platforms +# XXX lang/rust currently builds only on these platforms OPTIONS_DEFAULT_aarch64=RUST OPTIONS_DEFAULT_amd64= RUST OPTIONS_DEFAULT_i386= RUST