From 034dba13e28ccd11f19568fa796383f0b793ba11 Mon Sep 17 00:00:00 2001 From: DPorts Builder Date: Thu, 31 Oct 2019 05:32:26 -0700 Subject: [PATCH] Update lang/rust to version 1.38.0 --- lang/rust/Makefile | 173 +++++++----------- lang/rust/Makefile.DragonFly | 4 +- lang/rust/distinfo | 20 +- ...lvm-project_llvm_lib_Support_Unix_Path.inc | 11 +- lang/rust/files/extra-patch-arm-compiler-rt | 43 +++++ ...s_std__detect_src_detect_os_freebsd_arm.rs | 30 --- ...td__detect_src_detect_os_freebsd_auxvec.rs | 89 --------- ...s_std__detect_src_detect_os_freebsd_mod.rs | 20 -- ...d__detect_src_detect_os_freebsd_powerpc.rs | 30 --- .../files/patch-vendor_libgit2-sys_lib.rs | 30 +++ 10 files changed, 157 insertions(+), 293 deletions(-) create mode 100644 lang/rust/files/extra-patch-arm-compiler-rt delete mode 100644 lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_arm.rs delete mode 100644 lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_auxvec.rs delete mode 100644 lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_mod.rs delete mode 100644 lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_powerpc.rs create mode 100644 lang/rust/files/patch-vendor_libgit2-sys_lib.rs diff --git a/lang/rust/Makefile b/lang/rust/Makefile index c0141cbb01d..701d2c2536f 100644 --- a/lang/rust/Makefile +++ b/lang/rust/Makefile @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= rust -PORTVERSION?= 1.37.0 +PORTVERSION?= 1.38.0 PORTREVISION?= 0 CATEGORIES= lang MASTER_SITES= https://static.rust-lang.org/dist/:src \ @@ -10,79 +10,83 @@ MASTER_SITES= https://static.rust-lang.org/dist/:src \ LOCAL/tobik/rust:rust_bootstrap \ https://static.rust-lang.org/dist/:cargo_bootstrap \ LOCAL/tobik/rust:cargo_bootstrap \ - https://github.com/llvm/llvm-project/releases/download/llvmorg-8.0.1/:compiler_rt + 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}.tar.gz:rust_bootstrap \ + ${_RUST_STD_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz:rust_bootstrap \ + ${_CARGO_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz:cargo_bootstrap \ ${DISTFILES_${ARCH}} -DISTFILES_armv6= compiler-rt-8.0.1.src.tar.xz:compiler_rt +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= APACHE20 MIT LICENSE_COMB= dual -LICENSE_FILE_APACHE= ${WRKSRC}/LICENSE-APACHE +LICENSE_FILE_APACHE20= ${WRKSRC}/LICENSE-APACHE LICENSE_FILE_MIT= ${WRKSRC}/LICENSE-MIT -BUILD_DEPENDS= cmake:devel/cmake -LIB_DEPENDS= libcurl.so:ftp/curl \ - libgit2.so:devel/libgit2 \ - libssh2.so:security/libssh2 - +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= libedit pkgconfig python:build ssl tar:xz + CONFLICTS_INSTALL?= rust-nightly -# See WRKSRC/src/stage0.txt for this date and version values. -BOOTSTRAPS_DATE?= 2019-07-04 -BOOTSTRAPS_SUFFIX?= ${BOOTSTRAPS_SUFFIX_${ARCH}} -BOOTSTRAPS_SUFFIX_powerpc64?= -elfv1 +EXTRA_PATCHES+= ${EXTRA_PATCHES_${ARCH}} +EXTRA_PATCHES_armv6= ${PATCHDIR}/extra-patch-arm-compiler-rt +EXTRA_PATCHES_armv7= ${PATCHDIR}/extra-patch-arm-compiler-rt -RUST_BOOTSTRAP_VERSION?= 1.36.0 -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} +PLIST_FILES= lib/rustlib/components \ + lib/rustlib/rust-installer-version -CARGO_BOOTSTRAP_VERSION?= 0.37.0 -CARGO_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/cargo-${CARGO_BOOTSTRAP_VERSION_${ARCH}:U${CARGO_BOOTSTRAP_VERSION}}-${RUST_TARGET} +OPTIONS_DEFINE= DOCS GDB SOURCES +GDB_DESC= Install ports gdb (necessary for debugging rust programs) +SOURCES_DESC= Install source files -CARGO_VENDOR_DIR?= ${WRKSRC}/vendor +DOCS_VARS_OFF= _RUST_BUILD_DOCS=false +DOCS_VARS= _RUST_BUILD_DOCS=true +GDB_RUN_DEPENDS= ${LOCALBASE}/bin/gdb:devel/gdb -# Rust's target arch string is different from *BSD arch strings -RUST_ARCH_aarch64= aarch64 -RUST_ARCH_x86_64= x86_64 -RUST_ARCH_armv6= armv6 -RUST_ARCH_armv7= armv7 -RUST_ARCH_i386= i686 -RUST_ARCH_powerpc64= powerpc64 -RUST_ARCH_x86_64= x86_64 # dragonfly -RUST_TARGET= ${RUST_ARCH_${ARCH}}-unknown-${OPSYS:tl} -LLVM_TARGET= ${ARCH:C/armv.*/ARM/:S/aarch64/AArch64/:S/powerpc64/PowerPC/} -PLIST_SUB+= RUST_TARGET=${RUST_TARGET} +# See WRKSRC/src/stage0.txt for the date and version values. +BOOTSTRAPS_DATE?= 2019-08-15 +RUST_BOOTSTRAP_VERSION?= 1.37.0 +CARGO_BOOTSTRAP_VERSION?= 0.38.0 +COMPILER_RT_VERSION?= 9.0.0 -USES= compiler gmake libedit pkgconfig python:2.7,build ssl tar:xz +BOOTSTRAPS_SUFFIX?= ${BOOTSTRAPS_SUFFIX_${ARCH}} +BOOTSTRAPS_SUFFIX_powerpc64?= -elfv1 -OPTIONS_DEFINE= DOCS GDB SOURCES -GDB_DESC= Install ports gdb (necessary for debugging rust programs) -SOURCES_DESC= Install source files +CARGO_VENDOR_DIR?= ${WRKSRC}/vendor -GDB_RUN_DEPENDS= ${LOCALBASE}/bin/gdb:devel/gdb +# Rust's target arch string might be different from *BSD arch strings +_RUST_ARCH_x86_64= 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/} -PLIST_FILES= lib/rustlib/components \ - lib/rustlib/rust-installer-version +_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 ${ARCH} == powerpc64 -# The bootstrap is hardcoded to use gcc8 +# 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+= gcc8:lang/gcc8 +BUILD_DEPENDS+= gcc9:lang/gcc9 USE_GCC= yes .endif @@ -104,14 +108,14 @@ 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 -.if ${ARCH} == armv6 - ${LN} -sf ${WRKDIR}/compiler-rt-8.0.1.src ${WRKSRC}/src/llvm-project/compiler-rt + ${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 +.if ${ARCH} == armv6 || ${ARCH} == armv7 + ${LN} -sf ${WRKDIR}/compiler-rt-${COMPILER_RT_VERSION}.src ${WRKSRC}/src/llvm-project/compiler-rt .endif post-patch: @@ -136,8 +140,8 @@ post-patch-SOURCES-off: @${REINPLACE_CMD} -e 's/config.tools.*"src".*/false;/' \ ${WRKSRC}/src/bootstrap/install.rs -.if defined(WITH_CCACHE_BUILD) && !defined(NO_CCACHE) && !defined(NOCCACHE) -CCACHE_VALUE= "${CCACHE_WRAPPER_PATH:C,/libexec/ccache$,,}/bin/ccache" +.if defined(WITH_CCACHE_BUILD) && !defined(NO_CCACHE) +CCACHE_VALUE= "${CCACHE_BIN}" .else CCACHE_VALUE= false .endif @@ -149,15 +153,16 @@ do-configure: -e 's,%MANDIR%,${MANPREFIX}/man,' \ -e 's,%PYTHON_CMD%,${PYTHON_CMD},' \ -e 's,%CHANNEL%,${PKGNAMESUFFIX:Ustable:S/^-//},' \ - -e 's,%TARGET%,${RUST_TARGET},' \ + -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}",' \ + @${REINPLACE_CMD} -e 's,^#targets =.*,targets = "${_LLVM_TARGET}",' \ -e 's,^#experimental-targets =.*,experimental-targets = "",' \ ${WRKSRC}/config.toml .endif @@ -165,12 +170,6 @@ do-configure: ${WRKSRC}/src/librustc_llvm/build.rs \ ${WRKSRC}/src/bootstrap/native.rs -post-configure-DOCS-on: - ${REINPLACE_CMD} -e 's,%DOCS%,true,' ${WRKSRC}/config.toml - -post-configure-DOCS-off: - ${REINPLACE_CMD} -e 's,%DOCS%,false,' ${WRKSRC}/config.toml - do-build: cd ${WRKSRC} && \ ${SETENV} ${X_PY_ENV} \ @@ -245,58 +244,20 @@ do-test: .if !defined(_RUST_MAKESUM_GUARD) makesum: - ${MAKE} -D_RUST_MAKESUM_GUARD makesum ARCH=${ONLY_FOR_ARCHS:O:[1]} + ${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}} ${DISTINFO_FILE}.${arch} >> ${DISTINFO_FILE} + ${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} + ${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} ${DISTINFO_FILE}.powerpc64-elfv2 >> ${DISTINFO_FILE} + ${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 -BOOTSTRAPS_SOURCE_PKG_FBSDVER= 10 -BOOTSTRAPS_SOURCE_PKG_FBSDVER_aarch64= 11 -BOOTSTRAPS_SOURCE_PKG_FBSDVER_armv6= 11 -BOOTSTRAPS_SOURCE_PKG_FBSDVER_armv7= 12 -BOOTSTRAPS_SOURCE_PKG_FBSDVER_powerpc64= 11 -BOOTSTRAPS_SOURCE_PKG_REV= -BOOTSTRAPS_SOURCE_PKG_URL= https://pkg.freebsd.org/FreeBSD:${BOOTSTRAPS_SOURCE_PKG_FBSDVER_${ARCH}:U${BOOTSTRAPS_SOURCE_PKG_FBSDVER}}:${ARCH}/latest/All/rust-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}${BOOTSTRAPS_SOURCE_PKG_REV}.txz -BOOTSTRAPS_SOURCE_PKG= ${_DISTDIR}/${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/rust-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${ARCH}.txz - -package-to-bootstraps: ${BOOTSTRAPS_SOURCE_PKG} - ${MKDIR} ${WRKDIR}/bootstraps - ${RM} -r ${WRKDIR}/bootstraps/usr - ${EXTRACT_CMD} \ - -C ${WRKDIR}/bootstraps \ - --strip-components 3 \ - ${EXTRACT_BEFORE_ARGS} ${BOOTSTRAPS_SOURCE_PKG} ${LOCALBASE} -# `rustc` bootstrap. - ${RM} -r ${WRKDIR}/bootstraps/rustc-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET} - ${MKDIR} ${WRKDIR}/bootstraps/rustc-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET} - cd ${WRKDIR}/bootstraps/rustc-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET} && \ - ${MKDIR} rustc/bin rustc/lib && \ - ${MV} ${WRKDIR}/bootstraps/bin/rust* rustc/bin && \ - ${MV} ${WRKDIR}/bootstraps/lib/*.so rustc/lib - ${TAR} -cz --format=ustar -C ${WRKDIR}/bootstraps \ - -f ${_DISTDIR}/${RUSTC_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz \ - rustc-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET} -# `rust-std` bootstrap. - ${RM} -r ${WRKDIR}/bootstraps/rust-std-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET} - ${MKDIR} ${WRKDIR}/bootstraps/rust-std-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET} - cd ${WRKDIR}/bootstraps/rust-std-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET} && \ - ${MKDIR} rust-std-${RUST_TARGET}/lib/rustlib/${RUST_TARGET} && \ - ${MV} ${WRKDIR}/bootstraps/lib/rustlib/${RUST_TARGET}/lib rust-std-${RUST_TARGET}/lib/rustlib/${RUST_TARGET} - ${TAR} -cz --format=ustar -C ${WRKDIR}/bootstraps \ - -f ${_DISTDIR}/${RUST_STD_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz \ - rust-std-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${RUST_TARGET} - -${BOOTSTRAPS_SOURCE_PKG}: - ${MKDIR} ${@:H} - ${FETCH_CMD} -o $@ ${BOOTSTRAPS_SOURCE_PKG_URL} - .include diff --git a/lang/rust/Makefile.DragonFly b/lang/rust/Makefile.DragonFly index 0fffc185075..c520970b1f3 100644 --- a/lang/rust/Makefile.DragonFly +++ b/lang/rust/Makefile.DragonFly @@ -1,11 +1,11 @@ MASTER_SITES+= https://leaf.dragonflybsd.org/~mneumann/rust/:rust_bootstrap \ https://leaf.dragonflybsd.org/~mneumann/rust/:cargo_bootstrap -RUST_BOOTSTRAP_VERSION= 1.36.0 +RUST_BOOTSTRAP_VERSION= 1.37.0 # non static bootstrap X_PY_ENV+="RUST_BACKTRACE=1" # required to build libssh2-sys X_PY_ENV+="LIBSSH2_SYS_USE_PKG_CONFIG=1" -X_PY_ENV+="LD_LIBRARY_PATH=${WRKSRC}/build/${RUST_TARGET}/stage0/lib:/usr/lib/gcc80" +X_PY_ENV+="LD_LIBRARY_PATH=${WRKSRC}/build/${_RUST_TARGET}/stage0/lib:/usr/lib/gcc80" diff --git a/lang/rust/distinfo b/lang/rust/distinfo index d8f032ac38d..8574bc10183 100644 --- a/lang/rust/distinfo +++ b/lang/rust/distinfo @@ -1,11 +1,9 @@ -TIMESTAMP = 1567322590 -SHA256 (rust/rustc-1.37.0-src.tar.xz) = 10abffac50a729cf74cef6dd03193a2f4647541bd19ee9281be9e5b12ca8cdfd -SIZE (rust/rustc-1.37.0-src.tar.xz) = 98654252 -SHA256 (rust/2019-07-04/rustc-1.36.0-x86_64-unknown-dragonfly.tar.gz) = 1fd980c2610bae363f8aa0ebc7bcfde93b00fc4534d10be2b46c1c53a7ce4a2a -SIZE (rust/2019-07-04/rustc-1.36.0-x86_64-unknown-dragonfly.tar.gz) = 81888796 -SHA256 (rust/2019-07-04/rust-std-1.36.0-x86_64-unknown-dragonfly.tar.gz) = 74589068f2ee3efeed0f261bce775d17e32998b675acf4b86471cdf8eecaf1b2 -SIZE (rust/2019-07-04/rust-std-1.36.0-x86_64-unknown-dragonfly.tar.gz) = 81509917 -SHA256 (rust/2019-07-04/cargo-0.37.0-x86_64-unknown-dragonfly.tar.gz) = 113685d4a43bb7a848cb03a747b8ff7c45085625fb9a64f94e5f0eda0339c9bf -SIZE (rust/2019-07-04/cargo-0.37.0-x86_64-unknown-dragonfly.tar.gz) = 6720799 -SHA256 (rust/compiler-rt-8.0.1.src.tar.xz) = 11828fb4823387d820c6715b25f6b2405e60837d12a7469e7a8882911c721837 -SIZE (rust/compiler-rt-8.0.1.src.tar.xz) = 1954204 +TIMESTAMP = 1572477599 +SHA256 (rust/rustc-1.38.0-src.tar.xz) = 3a7991aa4cb44ef941d71636e45a95468b520dc6fc7cf725364925bd3e3d3a34 +SIZE (rust/rustc-1.38.0-src.tar.xz) = 96163304 +SHA256 (rust/2019-08-15/rustc-1.37.0-x86_64-unknown-dragonfly.tar.gz) = 276ef37d4255d025366e510a491d7c2b5b4a338ae93aa5eb2b821f1ba3dbc8d4 +SIZE (rust/2019-08-15/rustc-1.37.0-x86_64-unknown-dragonfly.tar.gz) = 70771688 +SHA256 (rust/2019-08-15/rust-std-1.37.0-x86_64-unknown-dragonfly.tar.gz) = 61770beca7f679e51db5c2b6d23e64c07d3f4e39b757f66b1fbb2762fc23e8fa +SIZE (rust/2019-08-15/rust-std-1.37.0-x86_64-unknown-dragonfly.tar.gz) = 73495377 +SHA256 (rust/2019-08-15/cargo-0.38.0-x86_64-unknown-dragonfly.tar.gz) = 5d6aa2765fe5332e6b803a9192ed2a9ca2b012409af155fcb11e3447d8552668 +SIZE (rust/2019-08-15/cargo-0.38.0-x86_64-unknown-dragonfly.tar.gz) = 6034328 diff --git a/lang/rust/dragonfly/patch-src_llvm-project_llvm_lib_Support_Unix_Path.inc b/lang/rust/dragonfly/patch-src_llvm-project_llvm_lib_Support_Unix_Path.inc index 1be9f882e8c..06aeb33f8cc 100644 --- a/lang/rust/dragonfly/patch-src_llvm-project_llvm_lib_Support_Unix_Path.inc +++ b/lang/rust/dragonfly/patch-src_llvm-project_llvm_lib_Support_Unix_Path.inc @@ -1,11 +1,12 @@ ---- src/llvm-project/llvm/lib/Support/Unix/Path.inc.orig 2019-02-12 15:22:48 UTC +--- src/llvm-project/llvm/lib/Support/Unix/Path.inc.orig 2019-09-09 18:30:53 UTC +++ src/llvm-project/llvm/lib/Support/Unix/Path.inc -@@ -56,13 +56,13 @@ +@@ -56,13 +56,14 @@ #include #if !defined(__APPLE__) && !defined(__OpenBSD__) && !defined(__FreeBSD__) && \ -- !defined(__linux__) && !defined(__FreeBSD_kernel__) -+ !defined(__linux__) && !defined(__FreeBSD_kernel__) && !defined(__DragonFly__) +- !defined(__linux__) && !defined(__FreeBSD_kernel__) && !defined(_AIX) ++ !defined(__linux__) && !defined(__FreeBSD_kernel__) && !defined(_AIX) && \ ++ !defined(__DragonFly__) #include #define STATVFS statvfs #define FSTATVFS fstatvfs @@ -16,7 +17,7 @@ #include #include #elif defined(__linux__) -@@ -85,7 +85,7 @@ +@@ -93,7 +94,7 @@ typedef uint_t uint; #define STATVFS_F_FRSIZE(vfs) static_cast(vfs.f_bsize) #endif diff --git a/lang/rust/files/extra-patch-arm-compiler-rt b/lang/rust/files/extra-patch-arm-compiler-rt new file mode 100644 index 00000000000..48a112abcd5 --- /dev/null +++ b/lang/rust/files/extra-patch-arm-compiler-rt @@ -0,0 +1,43 @@ +https://reviews.llvm.org/D68045 + +--- src/llvm-project/compiler-rt/lib/builtins/atomic.c.orig 2019-09-09 18:30:53 UTC ++++ src/llvm-project/compiler-rt/lib/builtins/atomic.c +@@ -51,9 +51,11 @@ static const long SPINLOCK_MASK = SPINLOCK_COUNT - 1; + //////////////////////////////////////////////////////////////////////////////// + #ifdef __FreeBSD__ + #include +-#include ++// clang-format off + #include ++#include + #include ++// clang-format on + typedef struct _usem Lock; + __inline static void unlock(Lock *l) { + __c11_atomic_store((_Atomic(uint32_t) *)&l->_count, 1, __ATOMIC_RELEASE); +--- src/llvm-project/compiler-rt/lib/builtins/clear_cache.c.orig 2019-09-09 18:30:53 UTC ++++ src/llvm-project/compiler-rt/lib/builtins/clear_cache.c +@@ -23,8 +23,10 @@ uintptr_t GetCurrentProcess(void); + #endif + + #if defined(__FreeBSD__) && defined(__arm__) +-#include ++// clang-format off + #include ++#include ++// clang-format on + #endif + + #if defined(__NetBSD__) && defined(__arm__) +@@ -32,8 +34,10 @@ uintptr_t GetCurrentProcess(void); + #endif + + #if defined(__OpenBSD__) && defined(__mips__) +-#include ++// clang-format off + #include ++#include ++// clang-format on + #endif + + #if defined(__linux__) && defined(__mips__) diff --git a/lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_arm.rs b/lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_arm.rs deleted file mode 100644 index e04640b9d92..00000000000 --- a/lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_arm.rs +++ /dev/null @@ -1,30 +0,0 @@ ---- src/stdsimd/crates/std_detect/src/detect/os/freebsd/arm.rs.orig 2019-04-25 17:33:21 UTC -+++ src/stdsimd/crates/std_detect/src/detect/os/freebsd/arm.rs -@@ -0,0 +1,27 @@ -+//! Run-time feature detection for ARM on FreeBSD -+ -+use crate::detect::{Feature, cache}; -+use super::{auxvec}; -+ -+/// Performs run-time feature detection. -+#[inline] -+pub fn check_for(x: Feature) -> bool { -+ cache::test(x as u32, detect_features) -+} -+ -+/// Try to read the features from the auxiliary vector -+fn detect_features() -> cache::Initializer { -+ let mut value = cache::Initializer::default(); -+ let enable_feature = |value: &mut cache::Initializer, f, enable| { -+ if enable { -+ value.set(f as u32); -+ } -+ }; -+ -+ if let Ok(auxv) = auxvec::auxv() { -+ enable_feature(&mut value, Feature::neon, auxv.hwcap & 0x00001000 != 0); -+ enable_feature(&mut value, Feature::pmull, auxv.hwcap2 & 0x00000002 != 0); -+ return value; -+ } -+ value -+} diff --git a/lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_auxvec.rs b/lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_auxvec.rs deleted file mode 100644 index 61210ce561d..00000000000 --- a/lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_auxvec.rs +++ /dev/null @@ -1,89 +0,0 @@ ---- src/stdsimd/crates/std_detect/src/detect/os/freebsd/auxvec.rs.orig 2019-04-25 17:33:21 UTC -+++ src/stdsimd/crates/std_detect/src/detect/os/freebsd/auxvec.rs -@@ -0,0 +1,86 @@ -+//! Parses ELF auxiliary vectors. -+#![cfg_attr(any(target_arch = "arm", target_arch = "powerpc64"), allow(dead_code))] -+ -+/// Key to access the CPU Hardware capabilities bitfield. -+pub(crate) const AT_HWCAP: usize = 25; -+/// Key to access the CPU Hardware capabilities 2 bitfield. -+pub(crate) const AT_HWCAP2: usize = 26; -+ -+/// Cache HWCAP bitfields of the ELF Auxiliary Vector. -+/// -+/// If an entry cannot be read all the bits in the bitfield are set to zero. -+/// This should be interpreted as all the features being disabled. -+#[derive(Debug, Copy, Clone)] -+pub(crate) struct AuxVec { -+ pub hwcap: usize, -+ pub hwcap2: usize, -+} -+ -+/// ELF Auxiliary Vector -+/// -+/// The auxiliary vector is a memory region in a running ELF program's stack -+/// composed of (key: usize, value: usize) pairs. -+/// -+/// The keys used in the aux vector are platform dependent. For FreeBSD, they are -+/// defined in [sys/elf_common.h][elf_common_h]. The hardware capabilities of a given -+/// CPU can be queried with the `AT_HWCAP` and `AT_HWCAP2` keys. -+/// -+/// Note that run-time feature detection is not invoked for features that can -+/// be detected at compile-time. -+/// -+/// [elf_common.h]: https://svnweb.freebsd.org/base/release/12.0.0/sys/sys/elf_common.h?revision=341707 -+pub(crate) fn auxv() -> Result { -+ if let Ok(hwcap) = archauxv(AT_HWCAP) { -+ if let Ok(hwcap2) = archauxv(AT_HWCAP2) { -+ if hwcap != 0 && hwcap2 != 0 { -+ return Ok(AuxVec { hwcap, hwcap2 }); -+ } -+ } -+ } -+ Err(()) -+} -+ -+/// Tries to read the `key` from the auxiliary vector. -+fn archauxv(key: usize) -> Result { -+ use crate::mem; -+ -+ #[derive (Copy, Clone)] -+ #[repr(C)] -+ pub struct Elf_Auxinfo { -+ pub a_type: usize, -+ pub a_un: unnamed, -+ } -+ #[derive (Copy, Clone)] -+ #[repr(C)] -+ pub union unnamed { -+ pub a_val: libc::c_long, -+ pub a_ptr: *mut libc::c_void, -+ pub a_fcn: Option ()>, -+ } -+ -+ let mut auxv: [Elf_Auxinfo; 27] = -+ [Elf_Auxinfo{a_type: 0, a_un: unnamed{a_val: 0,},}; 27]; -+ -+ let mut len: libc::c_uint = mem::size_of_val(&auxv) as libc::c_uint; -+ -+ unsafe { -+ let mut mib = [libc::CTL_KERN, libc::KERN_PROC, libc::KERN_PROC_AUXV, libc::getpid()]; -+ -+ let ret = libc::sysctl(mib.as_mut_ptr(), -+ mib.len() as u32, -+ &mut auxv as *mut _ as *mut _, -+ &mut len as *mut _ as *mut _, -+ 0 as *mut libc::c_void, -+ 0, -+ ); -+ -+ if ret != -1 { -+ for i in 0..auxv.len() { -+ if auxv[i].a_type == key { -+ return Ok(auxv[i].a_un.a_val as usize); -+ } -+ } -+ } -+ } -+ return Ok(0); -+} diff --git a/lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_mod.rs b/lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_mod.rs deleted file mode 100644 index c7b6bd5bac4..00000000000 --- a/lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_mod.rs +++ /dev/null @@ -1,20 +0,0 @@ ---- src/stdsimd/crates/std_detect/src/detect/os/freebsd/mod.rs.orig 2019-05-20 12:10:32 UTC -+++ src/stdsimd/crates/std_detect/src/detect/os/freebsd/mod.rs -@@ -1,9 +1,17 @@ - //! Run-time feature detection on FreeBSD - -+mod auxvec; -+ - cfg_if! { - if #[cfg(target_arch = "aarch64")] { - mod aarch64; - pub use self::aarch64::check_for; -+ } else if #[cfg(target_arch = "arm")] { -+ mod arm; -+ pub use self::arm::check_for; -+ } else if #[cfg(target_arch = "powerpc64")] { -+ mod powerpc; -+ pub use self::powerpc::check_for; - } else { - use crate::arch::detect::Feature; - /// Performs run-time feature detection. diff --git a/lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_powerpc.rs b/lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_powerpc.rs deleted file mode 100644 index 352ba56708f..00000000000 --- a/lang/rust/files/patch-src_stdsimd_crates_std__detect_src_detect_os_freebsd_powerpc.rs +++ /dev/null @@ -1,30 +0,0 @@ ---- src/stdsimd/crates/std_detect/src/detect/os/freebsd/powerpc.rs.orig 2019-04-25 17:33:21 UTC -+++ src/stdsimd/crates/std_detect/src/detect/os/freebsd/powerpc.rs -@@ -0,0 +1,27 @@ -+//! Run-time feature detection for PowerPC on FreeBSD. -+ -+use crate::detect::{Feature, cache}; -+use super::{auxvec}; -+ -+/// Performs run-time feature detection. -+#[inline] -+pub fn check_for(x: Feature) -> bool { -+ cache::test(x as u32, detect_features) -+} -+ -+fn detect_features() -> cache::Initializer { -+ let mut value = cache::Initializer::default(); -+ let enable_feature = |value: &mut cache::Initializer, f, enable| { -+ if enable { -+ value.set(f as u32); -+ } -+ }; -+ -+ if let Ok(auxv) = auxvec::auxv() { -+ enable_feature(&mut value, Feature::altivec, auxv.hwcap & 0x10000000 != 0); -+ enable_feature(&mut value, Feature::vsx, auxv.hwcap & 0x00000080 != 0); -+ enable_feature(&mut value, Feature::power8, auxv.hwcap2 & 0x80000000 != 0); -+ return value; -+ } -+ value -+} diff --git a/lang/rust/files/patch-vendor_libgit2-sys_lib.rs b/lang/rust/files/patch-vendor_libgit2-sys_lib.rs new file mode 100644 index 00000000000..3f342b41b92 --- /dev/null +++ b/lang/rust/files/patch-vendor_libgit2-sys_lib.rs @@ -0,0 +1,30 @@ +Revert to libgit2 0.28 API per https://github.com/rust-lang/git2-rs/issues/458 + +--- vendor/libgit2-sys/lib.rs.orig 2019-08-16 20:27:18 UTC ++++ vendor/libgit2-sys/lib.rs +@@ -331,7 +331,6 @@ pub struct git_remote_callbacks { + pub push_negotiation: Option, + pub transport: Option, + pub payload: *mut c_void, +- pub resolve_url: Option, + } + + #[repr(C)] +@@ -385,8 +384,6 @@ pub type git_push_negotiation = + + pub type git_push_update_reference_cb = + extern "C" fn(*const c_char, *const c_char, *mut c_void) -> c_int; +-pub type git_url_resolve_cb = +- extern "C" fn(*mut git_buf, *const c_char, c_int, *mut c_void) -> c_int; + + #[repr(C)] + pub struct git_push_update { +@@ -2233,7 +2230,7 @@ extern "C" { + source: *const git_tree, + ) -> c_int; + pub fn git_treebuilder_clear(bld: *mut git_treebuilder); +- pub fn git_treebuilder_entrycount(bld: *mut git_treebuilder) -> size_t; ++ pub fn git_treebuilder_entrycount(bld: *mut git_treebuilder) -> c_uint; + pub fn git_treebuilder_free(bld: *mut git_treebuilder); + pub fn git_treebuilder_get( + bld: *mut git_treebuilder, -- 2.41.0