Index: head/lang/rust/Makefile =================================================================== --- head/lang/rust/Makefile (revision 517807) +++ head/lang/rust/Makefile (revision 517808) @@ -1,265 +1,265 @@ # Created by: Jyun-Yan You # $FreeBSD$ PORTNAME= rust PORTVERSION?= 1.39.0 PORTREVISION?= 0 CATEGORIES= lang MASTER_SITES= https://static.rust-lang.org/dist/:src \ https://static.rust-lang.org/dist/:rust_bootstrap \ LOCAL/tobik/rust:rust_bootstrap \ https://static.rust-lang.org/dist/:cargo_bootstrap \ LOCAL/tobik/rust:cargo_bootstrap \ https://releases.llvm.org/${COMPILER_RT_VERSION}/:compiler_rt \ https://github.com/llvm/llvm-project/releases/download/llvmorg-${COMPILER_RT_VERSION}/:compiler_rt DISTNAME?= ${PORTNAME}c-${PORTVERSION}-src DISTFILES?= ${NIGHTLY_SUBDIR}${DISTNAME}${EXTRACT_SUFX}:src \ - ${_RUSTC_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz:rust_bootstrap \ - ${_RUST_STD_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz:rust_bootstrap \ - ${_CARGO_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz:cargo_bootstrap \ + ${_RUSTC_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}${EXTRACT_SUFX}:rust_bootstrap \ + ${_RUST_STD_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}${EXTRACT_SUFX}:rust_bootstrap \ + ${_CARGO_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}${EXTRACT_SUFX}:cargo_bootstrap \ ${DISTFILES_${ARCH}} DISTFILES_armv6= compiler-rt-${COMPILER_RT_VERSION}.src.tar.xz:compiler_rt DISTFILES_armv7= compiler-rt-${COMPILER_RT_VERSION}.src.tar.xz:compiler_rt DIST_SUBDIR?= rust EXTRACT_ONLY?= ${DISTFILES:N*\:*bootstrap:C/:.*//} MAINTAINER= rust@FreeBSD.org COMMENT= Language with a focus on memory safety and concurrency LICENSE= APACHE20 MIT LICENSE_COMB= dual LICENSE_FILE_APACHE20= ${WRKSRC}/LICENSE-APACHE LICENSE_FILE_MIT= ${WRKSRC}/LICENSE-MIT IGNORE_FreeBSD_11_powerpc64= is missing a bootstrap for FreeBSD 11.x powerpc64 ONLY_FOR_ARCHS?= aarch64 amd64 armv6 armv7 i386 powerpc64 ONLY_FOR_ARCHS_REASON= requires prebuilt bootstrap compiler BUILD_DEPENDS= cmake:devel/cmake \ gmake:devel/gmake LIB_DEPENDS= libcurl.so:ftp/curl \ libgit2.so:devel/libgit2 \ libssh2.so:security/libssh2 -USES= pkgconfig python:build ssl tar:xz +USES= pkgconfig python:3.3+,build ssl tar:xz CONFLICTS_INSTALL?= rust-nightly PLIST_FILES= lib/rustlib/components \ lib/rustlib/rust-installer-version OPTIONS_DEFINE= DOCS GDB SOURCES GDB_DESC= Install ports gdb (necessary for debugging rust programs) SOURCES_DESC= Install source files DOCS_VARS_OFF= _RUST_BUILD_DOCS=false DOCS_VARS= _RUST_BUILD_DOCS=true GDB_RUN_DEPENDS= ${LOCALBASE}/bin/gdb:devel/gdb # See WRKSRC/src/stage0.txt for the date and version values. BOOTSTRAPS_DATE?= 2019-09-26 RUST_BOOTSTRAP_VERSION?= 1.38.0 CARGO_BOOTSTRAP_VERSION?= 0.39.0 COMPILER_RT_VERSION?= 9.0.0 BOOTSTRAPS_SUFFIX?= ${BOOTSTRAPS_SUFFIX_${ARCH}} BOOTSTRAPS_SUFFIX_powerpc64?= -elfv1 CARGO_VENDOR_DIR?= ${WRKSRC}/vendor # Rust's target arch string might be different from *BSD arch strings _RUST_ARCH_amd64= x86_64 _RUST_ARCH_i386= i686 _RUST_TARGET= ${_RUST_ARCH_${ARCH}:U${ARCH}}-unknown-${OPSYS:tl} _LLVM_TARGET= ${ARCH:C/armv.*/ARM/:S/aarch64/AArch64/:S/powerpc64/PowerPC/} _RUSTC_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/rustc-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${_RUST_TARGET} _RUST_STD_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/rust-std-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${_RUST_TARGET} _CARGO_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/cargo-${CARGO_BOOTSTRAP_VERSION_${ARCH}:U${CARGO_BOOTSTRAP_VERSION}}-${_RUST_TARGET} .include .if exists(${PATCHDIR}/${ARCH}${BOOTSTRAPS_SUFFIX}) EXTRA_PATCHES+= ${PATCHDIR}/${ARCH}${BOOTSTRAPS_SUFFIX} .endif .if ${ARCH} == powerpc64 # The bootstrap is hardcoded to use gcc9 # but we can build with a newer or older compiler as provided by USE_GCC=yes BUILD_DEPENDS+= gcc9:lang/gcc9 USE_GCC= yes .endif .if ${ARCH} == aarch64 && ${OSVERSION} < 1200502 IGNORE= fails to run due to a bug in rtld, update to 12-STABLE r342847 or 13-CURRENT r342113 .endif .ifdef QEMU_EMULATING IGNORE= fails to build with qemu-user-static .endif X_PY_ENV= HOME="${WRKDIR}" \ LIBGIT2_SYS_USE_PKG_CONFIG=1 \ LIBSSH2_SYS_USE_PKG_CONFIG=1 \ OPENSSL_DIR="${OPENSSLBASE}" X_PY_CMD= ${PYTHON_CMD} ${WRKSRC}/x.py post-extract: @${MKDIR} ${WRKSRC}/build/cache/${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}} - ${LN} -sf ${DISTDIR}/${DIST_SUBDIR}/${_RUSTC_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz \ - ${WRKSRC}/build/cache/${_RUSTC_BOOTSTRAP}.tar.gz - ${LN} -sf ${DISTDIR}/${DIST_SUBDIR}/${_RUST_STD_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz \ - ${WRKSRC}/build/cache/${_RUST_STD_BOOTSTRAP}.tar.gz - ${LN} -sf ${DISTDIR}/${DIST_SUBDIR}/${_CARGO_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz \ - ${WRKSRC}/build/cache/${_CARGO_BOOTSTRAP}.tar.gz + ${LN} -sf ${DISTDIR}/${DIST_SUBDIR}/${_RUSTC_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}${EXTRACT_SUFX} \ + ${WRKSRC}/build/cache/${_RUSTC_BOOTSTRAP}${EXTRACT_SUFX} + ${LN} -sf ${DISTDIR}/${DIST_SUBDIR}/${_RUST_STD_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}${EXTRACT_SUFX} \ + ${WRKSRC}/build/cache/${_RUST_STD_BOOTSTRAP}${EXTRACT_SUFX} + ${LN} -sf ${DISTDIR}/${DIST_SUBDIR}/${_CARGO_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}${EXTRACT_SUFX} \ + ${WRKSRC}/build/cache/${_CARGO_BOOTSTRAP}${EXTRACT_SUFX} .if ${ARCH} == armv6 || ${ARCH} == armv7 ${LN} -sf ${WRKDIR}/compiler-rt-${COMPILER_RT_VERSION}.src ${WRKSRC}/src/llvm-project/compiler-rt .endif post-patch: @${REINPLACE_CMD} 's,gdb,${LOCALBASE}/bin/gdb,' ${WRKSRC}/src/etc/rust-gdb @${ECHO_MSG} "Canonical bootstrap date and version before patching:" @${GREP} -E '^(date|rustc|cargo)' ${WRKSRC}/src/stage0.txt # 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. @${REINPLACE_CMD} -e 's,^date:.*,date: ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}},' \ -e 's,^rustc:.*,rustc: ${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}},' \ -e 's,^cargo:.*,cargo: ${CARGO_BOOTSTRAP_VERSION_${ARCH}:U${CARGO_BOOTSTRAP_VERSION}},' \ ${WRKSRC}/src/stage0.txt @${ECHO_MSG} "Bootstrap date and version after patching:" @${GREP} -E '^(date|rustc|cargo)' ${WRKSRC}/src/stage0.txt .if ${ARCH} == powerpc64 @${REINPLACE_CMD} -e 's,powerpc64-unknown-freebsd,powerpc64-unknown-freebsd${OSREL},' \ ${WRKSRC}/src/librustc_target/spec/powerpc64_unknown_freebsd.rs .endif # Disable vendor checksums @${REINPLACE_CMD} 's,"files":{[^}]*},"files":{},' \ ${CARGO_VENDOR_DIR}/*/.cargo-checksum.json post-patch-SOURCES-off: # Mimic tools in config.toml with just src excluded @${REINPLACE_CMD} -e 's/config.tools.*"src".*/false;/' \ ${WRKSRC}/src/bootstrap/install.rs .if defined(WITH_CCACHE_BUILD) && !defined(NO_CCACHE) CCACHE_VALUE= "${CCACHE_BIN}" .else CCACHE_VALUE= false .endif do-configure: ${SED} -E \ -e 's,%PREFIX%,${PREFIX},' \ -e 's,%SYSCONFDIR%,${PREFIX}/etc,' \ -e 's,%MANDIR%,${MANPREFIX}/man,' \ -e 's,%PYTHON_CMD%,${PYTHON_CMD},' \ -e 's,%CHANNEL%,${PKGNAMESUFFIX:Ustable:S/^-//},' \ -e 's,%TARGET%,${_RUST_TARGET},' \ -e 's,%CCACHE%,${CCACHE_VALUE},' \ -e 's,%CC%,${CC},' \ -e 's,%CXX%,${CXX},' \ -e 's,%DOCS%,${_RUST_BUILD_DOCS},' \ < ${FILESDIR}/config.toml \ > ${WRKSRC}/config.toml # no need to build a crosscompiler for these targets .if ${ARCH} == aarch64 || ${ARCH} == armv6 || ${ARCH} == armv7 || ${ARCH} == powerpc64 @${REINPLACE_CMD} -e 's,^#targets =.*,targets = "${_LLVM_TARGET}",' \ -e 's,^#experimental-targets =.*,experimental-targets = "",' \ ${WRKSRC}/config.toml .endif @${REINPLACE_CMD} -e 's,%CC%,${CC},g' \ ${WRKSRC}/src/librustc_llvm/build.rs \ ${WRKSRC}/src/bootstrap/native.rs do-build: cd ${WRKSRC} && \ ${SETENV} ${X_PY_ENV} \ ${X_PY_CMD} build \ --verbose \ --config ./config.toml \ --jobs ${MAKE_JOBS_NUMBER} do-install: cd ${WRKSRC} && \ ${SETENV} ${X_PY_ENV} \ DESTDIR=${STAGEDIR} \ ${X_PY_CMD} 'install' \ --verbose \ --config ./config.toml \ --jobs ${MAKE_JOBS_NUMBER} # In post-install, we use the manifests generated during Rust install # to in turn generate the PLIST. We do that, instead of the regular # `pkg-plist`, because several libraries have a computed filename based # 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. post-install: for f in ${STAGEDIR}${PREFIX}/lib/rustlib/manifest-*; do \ ${REINPLACE_CMD} -i '' -E \ -e 's|:${STAGEDIR}|:|' \ -e 's|(man/man[1-9]/.*\.[0-9])|\1.gz|' \ "$$f"; \ ${ECHO_CMD} "$${f#${STAGEDIR}}" >> ${TMPPLIST}; \ ${AWK} '\ /^file:/ { \ file=$$0; \ sub(/^file:/, "", file); \ print file; \ } \ /^dir:/ { \ dir=$$0; \ sub(/^dir:/, "", dir); \ system("find ${STAGEDIR}" dir " -type f | ${SED} -E -e \"s|${STAGEDIR}||\""); \ }' \ "$$f" >> ${TMPPLIST}; \ done ${RM} -r ${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. @${FIND} ${STAGEDIR}${PREFIX}/bin -exec ${FILE} -i {} + | ${AWK} -F: \ '/executable|sharedlib/ { print $$1 }' | ${XARGS} ${STRIP_CMD} # Note that make test does not work when rust is already installed. do-test: cd ${WRKSRC} && \ ${SETENV} ${X_PY_ENV} \ ALLOW_NONZERO_RLIMIT_CORE=1 \ ${X_PY_CMD} test \ --verbose \ --config ./config.toml \ --jobs ${MAKE_JOBS_NUMBER} .if !defined(_RUST_MAKESUM_GUARD) makesum: ${MAKE} -D_RUST_MAKESUM_GUARD makesum ARCH=${ONLY_FOR_ARCHS:O:[1]} DISTINFO_FILE=${DISTINFO_FILE}.tmp .for arch in ${ONLY_FOR_ARCHS:O:[2..-1]} ${MAKE} -D_RUST_MAKESUM_GUARD makesum ARCH=${arch} DISTINFO_FILE=${DISTINFO_FILE}.${arch} ${GREP} ${_RUST_ARCH_${arch}:U${arch}} ${DISTINFO_FILE}.${arch} >> ${DISTINFO_FILE}.tmp .for file in ${DISTFILES_${arch}} ${GREP} ${file:S,:, ,:[1]} ${DISTINFO_FILE}.${arch} >> ${DISTINFO_FILE}.tmp .endfor ${RM} ${DISTINFO_FILE}.${arch} .endfor ${MAKE} -D_RUST_MAKESUM_GUARD makesum ARCH=powerpc64 BOOTSTRAPS_SUFFIX="-elfv2" DISTINFO_FILE=${DISTINFO_FILE}.powerpc64-elfv2 ${GREP} ${_RUST_ARCH_powerpc64:Upowerpc64} ${DISTINFO_FILE}.powerpc64-elfv2 >> ${DISTINFO_FILE}.tmp ${RM} ${DISTINFO_FILE}.powerpc64-elfv2 ${AWK} '!seen[$$0]++' ${DISTINFO_FILE}.tmp > ${DISTINFO_FILE} ${RM} ${DISTINFO_FILE}.tmp .endif .include Index: head/lang/rust/distinfo =================================================================== --- head/lang/rust/distinfo (revision 517807) +++ head/lang/rust/distinfo (revision 517808) @@ -1,47 +1,47 @@ TIMESTAMP = 1573135953 SHA256 (rust/rustc-1.39.0-src.tar.xz) = 4b0dbb356070687a606034f71dc032b783bbf8b5d3f9fff39f2c1fbc4f171c29 SIZE (rust/rustc-1.39.0-src.tar.xz) = 96495140 -SHA256 (rust/2019-09-26/rustc-1.38.0-aarch64-unknown-freebsd.tar.gz) = 07a769da1a47e8f507e87d723b7de115b1ea916f34339b0fe5bc583a75e0f3ea -SIZE (rust/2019-09-26/rustc-1.38.0-aarch64-unknown-freebsd.tar.gz) = 37145293 -SHA256 (rust/2019-09-26/rust-std-1.38.0-aarch64-unknown-freebsd.tar.gz) = 18b84f46c767071e282fe9a5813317294b0cb7959f6ab30abd0a949531eb2817 -SIZE (rust/2019-09-26/rust-std-1.38.0-aarch64-unknown-freebsd.tar.gz) = 191199264 -SHA256 (rust/2019-09-26/cargo-0.39.0-aarch64-unknown-freebsd.tar.gz) = 2b97bda932259c10b41583226539bcd637d0efa6253a3eb390f622e6f7f6d27d -SIZE (rust/2019-09-26/cargo-0.39.0-aarch64-unknown-freebsd.tar.gz) = 4556329 -SHA256 (rust/2019-09-26/rustc-1.38.0-x86_64-unknown-freebsd.tar.gz) = 1d99318bbdc947c6dc375215f0eddcd767348c309811cd141e5d18e17d5aaaa4 -SIZE (rust/2019-09-26/rustc-1.38.0-x86_64-unknown-freebsd.tar.gz) = 49746736 -SHA256 (rust/2019-09-26/rust-std-1.38.0-x86_64-unknown-freebsd.tar.gz) = 9f1d88449ef56c31ebc514873ba4d5889fa12697c4c2ea1071f15127f301ac4d -SIZE (rust/2019-09-26/rust-std-1.38.0-x86_64-unknown-freebsd.tar.gz) = 218121173 -SHA256 (rust/2019-09-26/cargo-0.39.0-x86_64-unknown-freebsd.tar.gz) = 4ef06348157836fd6a144acc13578653d77ff05d0b1a220437b8cde0492c8dd2 -SIZE (rust/2019-09-26/cargo-0.39.0-x86_64-unknown-freebsd.tar.gz) = 6793022 -SHA256 (rust/2019-09-26/rustc-1.38.0-armv6-unknown-freebsd.tar.gz) = 33e0d04dd94c5a0c6c546cf9c1aefb79d7141b1612635f88d02cd0e693c50e1d -SIZE (rust/2019-09-26/rustc-1.38.0-armv6-unknown-freebsd.tar.gz) = 39977103 -SHA256 (rust/2019-09-26/rust-std-1.38.0-armv6-unknown-freebsd.tar.gz) = 35648a4c90b9f9a5c92bcefc9bf493f446fa53da746eec84fa0b7112b5bd4245 -SIZE (rust/2019-09-26/rust-std-1.38.0-armv6-unknown-freebsd.tar.gz) = 198873440 -SHA256 (rust/2019-09-26/cargo-0.39.0-armv6-unknown-freebsd.tar.gz) = d4b88144a7aae90ea3174bff8cfe0142b1a761e5ad50adfd24d39fa713682712 -SIZE (rust/2019-09-26/cargo-0.39.0-armv6-unknown-freebsd.tar.gz) = 5583543 +SHA256 (rust/2019-09-26/rustc-1.38.0-aarch64-unknown-freebsd.tar.xz) = 44abd5b5ec1aac0e2e250d8b05bfb744cfff00fcda0f227d66315a533bde3dc9 +SIZE (rust/2019-09-26/rustc-1.38.0-aarch64-unknown-freebsd.tar.xz) = 23883616 +SHA256 (rust/2019-09-26/rust-std-1.38.0-aarch64-unknown-freebsd.tar.xz) = fa9e8780cc40b9db916b746ca189ae51cc4f3dafcd0672bf7f4799cbae40fab9 +SIZE (rust/2019-09-26/rust-std-1.38.0-aarch64-unknown-freebsd.tar.xz) = 162273100 +SHA256 (rust/2019-09-26/cargo-0.39.0-aarch64-unknown-freebsd.tar.xz) = d60e8f39bef4fa04aec1ba0e9f53faf3c32d311667b2f95cbc300879d4933dc9 +SIZE (rust/2019-09-26/cargo-0.39.0-aarch64-unknown-freebsd.tar.xz) = 2987936 +SHA256 (rust/2019-09-26/rustc-1.38.0-x86_64-unknown-freebsd.tar.xz) = 7609333d9ae4e9e3da182c914f0d312b9463beee77b7c445fad2197b0656bab2 +SIZE (rust/2019-09-26/rustc-1.38.0-x86_64-unknown-freebsd.tar.xz) = 33259900 +SHA256 (rust/2019-09-26/rust-std-1.38.0-x86_64-unknown-freebsd.tar.xz) = f01d0f7bcfe07ef363a4ae74058e3d9570a2bfdaa1f01db615d8f5a219e59d4b +SIZE (rust/2019-09-26/rust-std-1.38.0-x86_64-unknown-freebsd.tar.xz) = 186447712 +SHA256 (rust/2019-09-26/cargo-0.39.0-x86_64-unknown-freebsd.tar.xz) = e522e6b66e8ec286dd002d138f4e94a0730f32ff79376c6d2a00379ee9fceacf +SIZE (rust/2019-09-26/cargo-0.39.0-x86_64-unknown-freebsd.tar.xz) = 4899828 +SHA256 (rust/2019-09-26/rustc-1.38.0-armv6-unknown-freebsd.tar.xz) = 462fe4db32640138e3a14db38bfcac910ff678b7f4008e561d66c9eee67ae117 +SIZE (rust/2019-09-26/rustc-1.38.0-armv6-unknown-freebsd.tar.xz) = 25395180 +SHA256 (rust/2019-09-26/rust-std-1.38.0-armv6-unknown-freebsd.tar.xz) = 72aee35e3c6e04ac68d21d45c444264672c69be11896841ba13d2daa651dcb2f +SIZE (rust/2019-09-26/rust-std-1.38.0-armv6-unknown-freebsd.tar.xz) = 167971780 +SHA256 (rust/2019-09-26/cargo-0.39.0-armv6-unknown-freebsd.tar.xz) = f66284f9d4ea93117d0ef9e4ba3af38e0e49d39fc33ccca64965a73fae0d8adf +SIZE (rust/2019-09-26/cargo-0.39.0-armv6-unknown-freebsd.tar.xz) = 3624392 SHA256 (rust/compiler-rt-9.0.0.src.tar.xz) = 56e4cd96dd1d8c346b07b4d6b255f976570c6f2389697347a6c3dcb9e820d10e SIZE (rust/compiler-rt-9.0.0.src.tar.xz) = 1993084 -SHA256 (rust/2019-09-26/rustc-1.38.0-armv7-unknown-freebsd.tar.gz) = 95e33dda5c68ff0a8452472079f852e449bbcdbaf60ef0aca8068bd23d81f4d2 -SIZE (rust/2019-09-26/rustc-1.38.0-armv7-unknown-freebsd.tar.gz) = 38588675 -SHA256 (rust/2019-09-26/rust-std-1.38.0-armv7-unknown-freebsd.tar.gz) = d7e7671fe7c0aa53c6df4ca60547e6518416bd8497fc1f75c92366468f607d1b -SIZE (rust/2019-09-26/rust-std-1.38.0-armv7-unknown-freebsd.tar.gz) = 197638533 -SHA256 (rust/2019-09-26/cargo-0.39.0-armv7-unknown-freebsd.tar.gz) = c49fef9d921ff02b700bb302147dd1c9b32d2afdfc92beedf574d075a27e36cb -SIZE (rust/2019-09-26/cargo-0.39.0-armv7-unknown-freebsd.tar.gz) = 4835740 -SHA256 (rust/2019-09-26/rustc-1.38.0-i686-unknown-freebsd.tar.gz) = 1e4c148ffb38fdf8f3de3e6355ea418056e40749c4a29af1a447019b04891817 -SIZE (rust/2019-09-26/rustc-1.38.0-i686-unknown-freebsd.tar.gz) = 50284685 -SHA256 (rust/2019-09-26/rust-std-1.38.0-i686-unknown-freebsd.tar.gz) = 7eb02bd86f78dc0748d45a41748c0dfa145aab33d552a14dae2fce22f9d0f9b6 -SIZE (rust/2019-09-26/rust-std-1.38.0-i686-unknown-freebsd.tar.gz) = 218440878 -SHA256 (rust/2019-09-26/cargo-0.39.0-i686-unknown-freebsd.tar.gz) = 57179ee4f61be55a978aff61cea7475fe31dcac4d763e735637219a661a812fa -SIZE (rust/2019-09-26/cargo-0.39.0-i686-unknown-freebsd.tar.gz) = 6669103 -SHA256 (rust/2019-09-26/rustc-1.38.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = d6654031b77b9e90b0a3b2d2e5d702ea6f52b50b6589606043036e1780192da9 -SIZE (rust/2019-09-26/rustc-1.38.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 48397197 -SHA256 (rust/2019-09-26/rust-std-1.38.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 4a7a1cbfd4aa169528e4aad4c46a1690db4d5477c73e2e857bce9d3735f8b76f -SIZE (rust/2019-09-26/rust-std-1.38.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 196472426 -SHA256 (rust/2019-09-26/cargo-0.39.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 1b23312ae307293c5e53282d799bf7688269d9ed3946729cf8886710581284b0 -SIZE (rust/2019-09-26/cargo-0.39.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 5676205 -SHA256 (rust/2019-09-26/rustc-1.38.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 8d877ef738ee01548b1be69a7bf6f4619a0909a7a4db12ab414441b32763b9af -SIZE (rust/2019-09-26/rustc-1.38.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 39853681 -SHA256 (rust/2019-09-26/rust-std-1.38.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 2c5da67f44b5bc8cf4c5f58d11e7200ef5d64a66416d9cdf6b5bc4f55774b8ba -SIZE (rust/2019-09-26/rust-std-1.38.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 193639233 -SHA256 (rust/2019-09-26/cargo-0.39.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 4a91b5db28538504992462ea65945419d28fe6ee5fa3a48b23055b4a2f3edc91 -SIZE (rust/2019-09-26/cargo-0.39.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 4604255 +SHA256 (rust/2019-09-26/rustc-1.38.0-armv7-unknown-freebsd.tar.xz) = ff3f711829f0b90493f2992c207cfd4270503bd8c843e87e08e05a6778cb9d27 +SIZE (rust/2019-09-26/rustc-1.38.0-armv7-unknown-freebsd.tar.xz) = 24787468 +SHA256 (rust/2019-09-26/rust-std-1.38.0-armv7-unknown-freebsd.tar.xz) = a1cf96df349d80a41237ff5d05102bf177ff168a2a6c90555818ce51b8aa7e92 +SIZE (rust/2019-09-26/rust-std-1.38.0-armv7-unknown-freebsd.tar.xz) = 167337984 +SHA256 (rust/2019-09-26/cargo-0.39.0-armv7-unknown-freebsd.tar.xz) = cce45b73eb45470320e2987e3593628a041dac1ea30052768654437cffe002f1 +SIZE (rust/2019-09-26/cargo-0.39.0-armv7-unknown-freebsd.tar.xz) = 3108548 +SHA256 (rust/2019-09-26/rustc-1.38.0-i686-unknown-freebsd.tar.xz) = 9a493a8655b9d3e69209a1abe55f25ee78ad2ce9eca856290091d1795a10e51f +SIZE (rust/2019-09-26/rustc-1.38.0-i686-unknown-freebsd.tar.xz) = 34147964 +SHA256 (rust/2019-09-26/rust-std-1.38.0-i686-unknown-freebsd.tar.xz) = 4abe9994980461dfa73834bf2faab5d0f8f9655b644cdca60ac8a10c6e02322b +SIZE (rust/2019-09-26/rust-std-1.38.0-i686-unknown-freebsd.tar.xz) = 187369152 +SHA256 (rust/2019-09-26/cargo-0.39.0-i686-unknown-freebsd.tar.xz) = 7d7a8c3e2a8445b466d387dcbb507f9ac46f409be1bafc1b3ac39cfca18db4a5 +SIZE (rust/2019-09-26/cargo-0.39.0-i686-unknown-freebsd.tar.xz) = 4860804 +SHA256 (rust/2019-09-26/rustc-1.38.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 2857509d0d6f805d3aea98cc590d873a9ce2edd578fbb55947478f99729462d2 +SIZE (rust/2019-09-26/rustc-1.38.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 28965588 +SHA256 (rust/2019-09-26/rust-std-1.38.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = b7d6cc495982f1ad61c374d481f7e8a8dd6c4a33b0819d945d49e21724fb0fac +SIZE (rust/2019-09-26/rust-std-1.38.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 162577000 +SHA256 (rust/2019-09-26/cargo-0.39.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 5ff7b32e7181dc1170b38c0b8c49bd25d8d2f6681edd10f77b6f1f3ce9c95c62 +SIZE (rust/2019-09-26/cargo-0.39.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 3405136 +SHA256 (rust/2019-09-26/rustc-1.38.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 196f1cd3bc0d897eebf91ca27e8ffa7ab572db2314a1945a46c63d797f6d664b +SIZE (rust/2019-09-26/rustc-1.38.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 24239572 +SHA256 (rust/2019-09-26/rust-std-1.38.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 0ac8a495b698eb6133e353520ae84514c7bbd9be7b77b38020675f416bdd5db4 +SIZE (rust/2019-09-26/rust-std-1.38.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 161764580 +SHA256 (rust/2019-09-26/cargo-0.39.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 4ab55f0a19306b55b03743b2f726b6d939e1a4e8686be89f52e98023b585f114 +SIZE (rust/2019-09-26/cargo-0.39.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 2733760 Index: head/lang/rust/files/patch-src_bootstrap_bootstrap.py =================================================================== --- head/lang/rust/files/patch-src_bootstrap_bootstrap.py (nonexistent) +++ head/lang/rust/files/patch-src_bootstrap_bootstrap.py (revision 517808) @@ -0,0 +1,81 @@ +https://github.com/rust-lang/rust/commit/8d56bcc59c92 + +--- src/bootstrap/bootstrap.py.orig 2019-11-04 15:45:21 UTC ++++ src/bootstrap/bootstrap.py +@@ -102,10 +102,10 @@ def verify(path, sha_path, verbose): + return verified + + +-def unpack(tarball, dst, verbose=False, match=None): ++def unpack(tarball, tarball_suffix, dst, verbose=False, match=None): + """Unpack the given tarball file""" + print("extracting", tarball) +- fname = os.path.basename(tarball).replace(".tar.gz", "") ++ fname = os.path.basename(tarball).replace(tarball_suffix, "") + with contextlib.closing(tarfile.open(tarball)) as tar: + for member in tar.getnames(): + if "/" not in member: +@@ -331,6 +331,18 @@ class RustBuild(object): + self.use_vendored_sources = '' + self.verbose = False + ++ def support_xz(): ++ try: ++ with tempfile.NamedTemporaryFile(delete=False) as temp_file: ++ temp_path = temp_file.name ++ with tarfile.open(temp_path, "w:xz") as tar: ++ pass ++ return True ++ except tarfile.CompressionError: ++ return False ++ ++ self.tarball_suffix = '.tar.xz' if support_xz() else '.tar.gz' ++ + def download_stage0(self): + """Fetch the build system for Rust, written in Rust + +@@ -349,12 +361,13 @@ class RustBuild(object): + self.program_out_of_date(self.rustc_stamp())): + if os.path.exists(self.bin_root()): + shutil.rmtree(self.bin_root()) +- filename = "rust-std-{}-{}.tar.gz".format( +- rustc_channel, self.build) ++ filename = "rust-std-{}-{}{}".format( ++ rustc_channel, self.build, self.tarball_suffix) + pattern = "rust-std-{}".format(self.build) + self._download_stage0_helper(filename, pattern) + +- filename = "rustc-{}-{}.tar.gz".format(rustc_channel, self.build) ++ filename = "rustc-{}-{}{}".format(rustc_channel, self.build, ++ self.tarball_suffix) + self._download_stage0_helper(filename, "rustc") + self.fix_executable("{}/bin/rustc".format(self.bin_root())) + self.fix_executable("{}/bin/rustdoc".format(self.bin_root())) +@@ -365,14 +378,15 @@ class RustBuild(object): + # libraries/binaries that are included in rust-std with + # the system MinGW ones. + if "pc-windows-gnu" in self.build: +- filename = "rust-mingw-{}-{}.tar.gz".format( +- rustc_channel, self.build) ++ filename = "rust-mingw-{}-{}{}".format( ++ rustc_channel, self.build, self.tarball_suffix) + self._download_stage0_helper(filename, "rust-mingw") + + if self.cargo().startswith(self.bin_root()) and \ + (not os.path.exists(self.cargo()) or + self.program_out_of_date(self.cargo_stamp())): +- filename = "cargo-{}-{}.tar.gz".format(cargo_channel, self.build) ++ filename = "cargo-{}-{}{}".format(cargo_channel, self.build, ++ self.tarball_suffix) + self._download_stage0_helper(filename, "cargo") + self.fix_executable("{}/bin/cargo".format(self.bin_root())) + with output(self.cargo_stamp()) as cargo_stamp: +@@ -388,7 +402,7 @@ class RustBuild(object): + tarball = os.path.join(rustc_cache, filename) + if not os.path.exists(tarball): + get("{}/{}".format(url, filename), tarball, verbose=self.verbose) +- unpack(tarball, self.bin_root(), match=pattern, verbose=self.verbose) ++ unpack(tarball, self.tarball_suffix, self.bin_root(), match=pattern, verbose=self.verbose) + + @staticmethod + def fix_executable(fname): Property changes on: head/lang/rust/files/patch-src_bootstrap_bootstrap.py ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/lang/rust-nightly/distinfo =================================================================== --- head/lang/rust-nightly/distinfo (revision 517807) +++ head/lang/rust-nightly/distinfo (revision 517808) @@ -1,15 +1,15 @@ TIMESTAMP = 1573940325 SHA256 (rust/2019-11-17/rustc-nightly-src.tar.xz) = 2bfb02e9ee363763d26def70a8fd09b8a1ecf77063adc47ab01b6c1ce80646c4 SIZE (rust/2019-11-17/rustc-nightly-src.tar.xz) = 93647956 -SHA256 (rust/2019-11-06/rustc-beta-x86_64-unknown-freebsd.tar.gz) = 0df08afaecf4fc97fa38bff16c27ebece22abfc7da381f5dde563f1f2c90f4e9 -SIZE (rust/2019-11-06/rustc-beta-x86_64-unknown-freebsd.tar.gz) = 50671425 -SHA256 (rust/2019-11-06/rust-std-beta-x86_64-unknown-freebsd.tar.gz) = 80492aca01cb0d3b18d7c4f8e48c5bbf9716a96bbf1bcfca791eb6d617aabf8f -SIZE (rust/2019-11-06/rust-std-beta-x86_64-unknown-freebsd.tar.gz) = 23162282 -SHA256 (rust/2019-11-06/cargo-beta-x86_64-unknown-freebsd.tar.gz) = 0cae91b6b628a10b427152b1b902e39cfd6236ed5053c8dc97467593694740ab -SIZE (rust/2019-11-06/cargo-beta-x86_64-unknown-freebsd.tar.gz) = 6760338 -SHA256 (rust/2019-11-06/rustc-beta-i686-unknown-freebsd.tar.gz) = 6bbe292e34b8b420c980e9ffa44ab652b3d517ece35da58dd65da184663d63d0 -SIZE (rust/2019-11-06/rustc-beta-i686-unknown-freebsd.tar.gz) = 51141819 -SHA256 (rust/2019-11-06/rust-std-beta-i686-unknown-freebsd.tar.gz) = a8078449cd3224c2f6e117c866a61737e088b99f7438c447c72f4fa29d930e22 -SIZE (rust/2019-11-06/rust-std-beta-i686-unknown-freebsd.tar.gz) = 23129341 -SHA256 (rust/2019-11-06/cargo-beta-i686-unknown-freebsd.tar.gz) = 5fbf0760ab45eeb95e7b0766e846660a20742b96992b6dc200e66d5a52a5de5d -SIZE (rust/2019-11-06/cargo-beta-i686-unknown-freebsd.tar.gz) = 6552828 +SHA256 (rust/2019-11-06/rustc-beta-x86_64-unknown-freebsd.tar.xz) = ed72f49a205f71ba8b3b9f5ab44f16c69697a8552bbc19874beb2bf930d94f67 +SIZE (rust/2019-11-06/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 34059716 +SHA256 (rust/2019-11-06/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = ea1c3b6fbcaaffae21e15cb9ac9db050f3183a9214ef5da89f6ace98c63ac584 +SIZE (rust/2019-11-06/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 17296548 +SHA256 (rust/2019-11-06/cargo-beta-x86_64-unknown-freebsd.tar.xz) = f8cce957d635e981fb6a0dfec0547cfa5e7377c2351822b5f1d926c13c5be68e +SIZE (rust/2019-11-06/cargo-beta-x86_64-unknown-freebsd.tar.xz) = 4909756 +SHA256 (rust/2019-11-06/rustc-beta-i686-unknown-freebsd.tar.xz) = 80188459fa594e3088a29fd3adf2ce06a7a753121e5dbb4118711dbf4c13be39 +SIZE (rust/2019-11-06/rustc-beta-i686-unknown-freebsd.tar.xz) = 34946924 +SHA256 (rust/2019-11-06/rust-std-beta-i686-unknown-freebsd.tar.xz) = 929789b5f67a92a4b068a4e949b9f1a6d4aeee92ac56699144965c8150bd8edb +SIZE (rust/2019-11-06/rust-std-beta-i686-unknown-freebsd.tar.xz) = 17325204 +SHA256 (rust/2019-11-06/cargo-beta-i686-unknown-freebsd.tar.xz) = bda668c5ed89d528538748ddc6718363e8cdf826f6a9a121f9db181ee2ddf0c6 +SIZE (rust/2019-11-06/cargo-beta-i686-unknown-freebsd.tar.xz) = 4837340 Index: head/lang/rust-nightly/files/patch-src_bootstrap_bootstrap.py =================================================================== --- head/lang/rust-nightly/files/patch-src_bootstrap_bootstrap.py (revision 517807) +++ head/lang/rust-nightly/files/patch-src_bootstrap_bootstrap.py (nonexistent) @@ -1,23 +0,0 @@ -Disable https://github.com/rust-lang/rust/commit/8d56bcc59c92 until -master port drops Python 2.x support. - ---- src/bootstrap/bootstrap.py.orig 2019-11-13 20:12:18 UTC -+++ src/bootstrap/bootstrap.py -@@ -360,7 +360,7 @@ class RustBuild(object): - self.program_out_of_date(self.rustc_stamp())): - if os.path.exists(self.bin_root()): - shutil.rmtree(self.bin_root()) -- tarball_suffix = '.tar.xz' if support_xz() else '.tar.gz' -+ tarball_suffix = '.tar.gz' - filename = "rust-std-{}-{}{}".format( - rustc_channel, self.build, tarball_suffix) - pattern = "rust-std-{}".format(self.build) -@@ -385,7 +385,7 @@ class RustBuild(object): - if self.cargo().startswith(self.bin_root()) and \ - (not os.path.exists(self.cargo()) or - self.program_out_of_date(self.cargo_stamp())): -- tarball_suffix = '.tar.xz' if support_xz() else '.tar.gz' -+ tarball_suffix = '.tar.gz' - filename = "cargo-{}-{}{}".format(cargo_channel, self.build, - tarball_suffix) - self._download_stage0_helper(filename, "cargo", tarball_suffix) Property changes on: head/lang/rust-nightly/files/patch-src_bootstrap_bootstrap.py ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property