diff options
Diffstat (limited to 'lang')
8 files changed, 145 insertions, 231 deletions
diff --git a/lang/rust/Makefile b/lang/rust/Makefile index 44badba43059..76fe9b3fde60 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,14 +10,16 @@ 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 \ ${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/:.*//} @@ -29,6 +31,7 @@ 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 @@ -38,10 +41,14 @@ LIB_DEPENDS= libcurl.so:ftp/curl \ libgit2.so:devel/libgit2 \ libssh2.so:security/libssh2 -USES= libedit pkgconfig python:2.7,build ssl tar:xz +USES= libedit pkgconfig python:build ssl tar:xz CONFLICTS_INSTALL?= rust-nightly +EXTRA_PATCHES+= ${EXTRA_PATCHES_${ARCH}} +EXTRA_PATCHES_armv6= ${PATCHDIR}/extra-patch-arm-compiler-rt +EXTRA_PATCHES_armv7= ${PATCHDIR}/extra-patch-arm-compiler-rt + PLIST_FILES= lib/rustlib/components \ lib/rustlib/rust-installer-version @@ -54,9 +61,10 @@ 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-07-04 -RUST_BOOTSTRAP_VERSION?= 1.36.0 -CARGO_BOOTSTRAP_VERSION?= 0.37.0 +BOOTSTRAPS_DATE?= 2019-08-15 +RUST_BOOTSTRAP_VERSION?= 1.37.0 +CARGO_BOOTSTRAP_VERSION?= 0.38.0 +COMPILER_RT_VERSION?= 9.0.0 BOOTSTRAPS_SUFFIX?= ${BOOTSTRAPS_SUFFIX_${ARCH}} BOOTSTRAPS_SUFFIX_powerpc64?= -elfv1 @@ -76,9 +84,9 @@ _CARGO_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/cargo-${CARGO_B .include <bsd.port.pre.mk> .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 @@ -106,8 +114,8 @@ post-extract: ${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 +.if ${ARCH} == armv6 || ${ARCH} == armv7 + ${LN} -sf ${WRKDIR}/compiler-rt-${COMPILER_RT_VERSION}.src ${WRKSRC}/src/llvm-project/compiler-rt .endif post-patch: @@ -236,18 +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}:U${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:Upowerpc64} ${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 .include <bsd.port.post.mk> diff --git a/lang/rust/distinfo b/lang/rust/distinfo index 6a16c17f5b26..675691860200 100644 --- a/lang/rust/distinfo +++ b/lang/rust/distinfo @@ -1,47 +1,47 @@ -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-aarch64-unknown-freebsd.tar.gz) = 8eec2d7750c96030b6b95eec2bc9ed1b7194780628d6017f615c2effdcc3b928 -SIZE (rust/2019-07-04/rustc-1.36.0-aarch64-unknown-freebsd.tar.gz) = 68458486 -SHA256 (rust/2019-07-04/rust-std-1.36.0-aarch64-unknown-freebsd.tar.gz) = 3c1e46be0c1d42bec5538eccc07e948d65743a160417856bf6d5885cede31c98 -SIZE (rust/2019-07-04/rust-std-1.36.0-aarch64-unknown-freebsd.tar.gz) = 77059731 -SHA256 (rust/2019-07-04/cargo-0.37.0-aarch64-unknown-freebsd.tar.gz) = 2fb56bb2a1420ea66e6f75f37d1c0d808c2943401d70650696d463ad90e78af9 -SIZE (rust/2019-07-04/cargo-0.37.0-aarch64-unknown-freebsd.tar.gz) = 6144087 -SHA256 (rust/2019-07-04/rustc-1.36.0-x86_64-unknown-freebsd.tar.gz) = c2dd0cec49b054ed9439762fb31555b8df9a3d81747b194f7d3afbc6d8adb8de -SIZE (rust/2019-07-04/rustc-1.36.0-x86_64-unknown-freebsd.tar.gz) = 79088915 -SHA256 (rust/2019-07-04/rust-std-1.36.0-x86_64-unknown-freebsd.tar.gz) = a2a923cbfa3481af66c22673cac38e7cb70e26333318ad59c27b8b6ac16a84fe -SIZE (rust/2019-07-04/rust-std-1.36.0-x86_64-unknown-freebsd.tar.gz) = 87112148 -SHA256 (rust/2019-07-04/cargo-0.37.0-x86_64-unknown-freebsd.tar.gz) = ae237412a5de0d01cc8aa065e00f604e72fadf85dd350d16b73a15d6ff7393f2 -SIZE (rust/2019-07-04/cargo-0.37.0-x86_64-unknown-freebsd.tar.gz) = 6651104 -SHA256 (rust/2019-07-04/rustc-1.36.0-armv6-unknown-freebsd.tar.gz) = 30af064165ada8defaa8bd1e63265944fb37c69172249723bd2747203ad7cbf0 -SIZE (rust/2019-07-04/rustc-1.36.0-armv6-unknown-freebsd.tar.gz) = 71286638 -SHA256 (rust/2019-07-04/rust-std-1.36.0-armv6-unknown-freebsd.tar.gz) = 6c35036131a110c858e7cb83657cd1b25ffae4cc65708f4e5a6e31325ef96edd -SIZE (rust/2019-07-04/rust-std-1.36.0-armv6-unknown-freebsd.tar.gz) = 79061925 -SHA256 (rust/2019-07-04/cargo-0.37.0-armv6-unknown-freebsd.tar.gz) = e4fa3e76ab448eb8bfdf323b4de976a6f07c35d0eca91cc2bf480b41faa157ec -SIZE (rust/2019-07-04/cargo-0.37.0-armv6-unknown-freebsd.tar.gz) = 5544892 -SHA256 (rust/compiler-rt-8.0.1.src.tar.xz) = 11828fb4823387d820c6715b25f6b2405e60837d12a7469e7a8882911c721837 -SIZE (rust/compiler-rt-8.0.1.src.tar.xz) = 1954204 -SHA256 (rust/2019-07-04/rustc-1.36.0-armv7-unknown-freebsd.tar.gz) = c652bfb82d0e640e24a91aef39e9eeeedc0bd0b5b828546f9ef47bbae6a279bd -SIZE (rust/2019-07-04/rustc-1.36.0-armv7-unknown-freebsd.tar.gz) = 70165782 -SHA256 (rust/2019-07-04/rust-std-1.36.0-armv7-unknown-freebsd.tar.gz) = 8750ff6013261b68f692413c7db97fabac6a83583b4c16c2175ebb6a81c1d0c6 -SIZE (rust/2019-07-04/rust-std-1.36.0-armv7-unknown-freebsd.tar.gz) = 78322763 -SHA256 (rust/2019-07-04/cargo-0.37.0-armv7-unknown-freebsd.tar.gz) = f092d15bbfe91423efffa2d20c77e5ca9655aac4c41bd1943cf632aff1a92bf1 -SIZE (rust/2019-07-04/cargo-0.37.0-armv7-unknown-freebsd.tar.gz) = 5463628 -SHA256 (rust/2019-07-04/rustc-1.36.0-i686-unknown-freebsd.tar.gz) = 4ac319c56b360a1c9418cc1862ed86366c79155dbcfdd0a9852b98e0bc4dcd0e -SIZE (rust/2019-07-04/rustc-1.36.0-i686-unknown-freebsd.tar.gz) = 80314139 -SHA256 (rust/2019-07-04/rust-std-1.36.0-i686-unknown-freebsd.tar.gz) = 3387dff03da9babc28861892f41b08ff58bc51bea2d0e84ac0a045e84999eebf -SIZE (rust/2019-07-04/rust-std-1.36.0-i686-unknown-freebsd.tar.gz) = 87744414 -SHA256 (rust/2019-07-04/cargo-0.37.0-i686-unknown-freebsd.tar.gz) = 3c4cef06939123951649c9ffcef7ba104cc3bc63c2b3243a7a7228749c58f37c -SIZE (rust/2019-07-04/cargo-0.37.0-i686-unknown-freebsd.tar.gz) = 6553782 -SHA256 (rust/2019-07-04/rustc-1.36.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 98b0f27977a5412852044bc7ef2e95dfb5eced140c73a0ed0faf5841cecbaf83 -SIZE (rust/2019-07-04/rustc-1.36.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 78638311 -SHA256 (rust/2019-07-04/rust-std-1.36.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 197bb8ce6944eddc7c18d20f7c2721e35abb3458678ef60d287941ca01e244ed -SIZE (rust/2019-07-04/rust-std-1.36.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 81520259 -SHA256 (rust/2019-07-04/cargo-0.37.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 17d9345621caa47015843b811019e16b32020c053fb72c3f3a6909e42d548f6c -SIZE (rust/2019-07-04/cargo-0.37.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 7388067 -SHA256 (rust/2019-07-04/rustc-1.36.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 7581410a224e3649fc75cbb302c46fa0d59d571f3c6b9556682ab1411872db83 -SIZE (rust/2019-07-04/rustc-1.36.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 72163495 -SHA256 (rust/2019-07-04/rust-std-1.36.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = edd4584a9583fb699dbf23797151d1d78bdf1e1d1389d715acbdefc5fcf5dc7c -SIZE (rust/2019-07-04/rust-std-1.36.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 79921640 -SHA256 (rust/2019-07-04/cargo-0.37.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 408fb3a5b2127ca369d5e5fe5768d475820916aa4e84150bdb939d0d155d5e32 -SIZE (rust/2019-07-04/cargo-0.37.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 5701853 +TIMESTAMP = 1569482113 +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-aarch64-unknown-freebsd.tar.gz) = ebdd6e51cc8d3b73de59bcf609b6b0fd9f255d6c0b4c982c5d9609775b0269ff +SIZE (rust/2019-08-15/rustc-1.37.0-aarch64-unknown-freebsd.tar.gz) = 56866730 +SHA256 (rust/2019-08-15/rust-std-1.37.0-aarch64-unknown-freebsd.tar.gz) = 2c6181d3dca8c70623625f9c0784e992128c00b1abbfad29f70791856d308eed +SIZE (rust/2019-08-15/rust-std-1.37.0-aarch64-unknown-freebsd.tar.gz) = 68907067 +SHA256 (rust/2019-08-15/cargo-0.38.0-aarch64-unknown-freebsd.tar.gz) = 387b571a741d5e6162876ecae136366646b22d870511a47140301a1b0604a7b5 +SIZE (rust/2019-08-15/cargo-0.38.0-aarch64-unknown-freebsd.tar.gz) = 5422359 +SHA256 (rust/2019-08-15/rustc-1.37.0-x86_64-unknown-freebsd.tar.gz) = a4dd357a0b39abf1ebbe8a0f64973c3b0c5bc527e374c12afe51266279fc1ca6 +SIZE (rust/2019-08-15/rustc-1.37.0-x86_64-unknown-freebsd.tar.gz) = 70318740 +SHA256 (rust/2019-08-15/rust-std-1.37.0-x86_64-unknown-freebsd.tar.gz) = 8783a667ea9c46f27027d494098c51563faa734c5ddb23c6b9b3eda804eb9742 +SIZE (rust/2019-08-15/rust-std-1.37.0-x86_64-unknown-freebsd.tar.gz) = 87956779 +SHA256 (rust/2019-08-15/cargo-0.38.0-x86_64-unknown-freebsd.tar.gz) = ec5051df58aeff6720f386067c05de21bbc0f6532d74d2646f7b7bc36d341629 +SIZE (rust/2019-08-15/cargo-0.38.0-x86_64-unknown-freebsd.tar.gz) = 6712004 +SHA256 (rust/2019-08-15/rustc-1.37.0-armv6-unknown-freebsd.tar.gz) = d0b6c3422892764ebff9b3224265c47f62241d82b5974d715c0aabf845bbf586 +SIZE (rust/2019-08-15/rustc-1.37.0-armv6-unknown-freebsd.tar.gz) = 59085607 +SHA256 (rust/2019-08-15/rust-std-1.37.0-armv6-unknown-freebsd.tar.gz) = ce2b3f002457d7086870a2743e121aedc4dfb800fd9a65e6190d50f1b2e061a7 +SIZE (rust/2019-08-15/rust-std-1.37.0-armv6-unknown-freebsd.tar.gz) = 70261468 +SHA256 (rust/2019-08-15/cargo-0.38.0-armv6-unknown-freebsd.tar.gz) = 643497ec41d40168c99f327ee31cbcc0b73ea9bbb6bab523bfef2b915d13d186 +SIZE (rust/2019-08-15/cargo-0.38.0-armv6-unknown-freebsd.tar.gz) = 5716966 +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-08-15/rustc-1.37.0-armv7-unknown-freebsd.tar.gz) = b957e13bdb899f42c1c4b3cd91d18f7d4f6ab08b2492f9acf85e447f53640121 +SIZE (rust/2019-08-15/rustc-1.37.0-armv7-unknown-freebsd.tar.gz) = 58107583 +SHA256 (rust/2019-08-15/rust-std-1.37.0-armv7-unknown-freebsd.tar.gz) = c380d455923065b5067a43ec796c043dfb4241392e068a187d6d93909f1cbafb +SIZE (rust/2019-08-15/rust-std-1.37.0-armv7-unknown-freebsd.tar.gz) = 69710688 +SHA256 (rust/2019-08-15/cargo-0.38.0-armv7-unknown-freebsd.tar.gz) = 80641006fcb23de4780ac8576b9f0b235be1cb95e3d632a0976bfdd6117ee502 +SIZE (rust/2019-08-15/cargo-0.38.0-armv7-unknown-freebsd.tar.gz) = 4742625 +SHA256 (rust/2019-08-15/rustc-1.37.0-i686-unknown-freebsd.tar.gz) = 0d3a5bc51f138bfe3f7ccd4b9ccaa5aeec0d881118b7264f5e59ae8e1ce9f78a +SIZE (rust/2019-08-15/rustc-1.37.0-i686-unknown-freebsd.tar.gz) = 70857405 +SHA256 (rust/2019-08-15/rust-std-1.37.0-i686-unknown-freebsd.tar.gz) = 21fbe36d9580f68fcd65d4248ffb05a40f787a38d87792545c7946b273e91beb +SIZE (rust/2019-08-15/rust-std-1.37.0-i686-unknown-freebsd.tar.gz) = 88558002 +SHA256 (rust/2019-08-15/cargo-0.38.0-i686-unknown-freebsd.tar.gz) = e54e8e072ae5fba11ce36935cb813793ad6871b1fe1b3dfdb02a0a18e920ddda +SIZE (rust/2019-08-15/cargo-0.38.0-i686-unknown-freebsd.tar.gz) = 6593950 +SHA256 (rust/2019-08-15/rustc-1.37.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = aa4c7295731a92258c9378e24697f90a546c6a403da6fa9ff4a688878fbcced7 +SIZE (rust/2019-08-15/rustc-1.37.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 67717247 +SHA256 (rust/2019-08-15/rust-std-1.37.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = e6043fda28f881c9c7cb50cb1cd31b29552285d1e27a6e46d1c1abf707115be1 +SIZE (rust/2019-08-15/rust-std-1.37.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 72780079 +SHA256 (rust/2019-08-15/cargo-0.38.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 335216cbd2f460b337e02c1f3ef235178943194d9a41700f98d6d063d34668e7 +SIZE (rust/2019-08-15/cargo-0.38.0-powerpc64-unknown-freebsd-elfv1.tar.gz) = 5587878 +SHA256 (rust/2019-08-15/rustc-1.37.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = f0e1eca1713b14e4dad034a96c2bdfe0493afe390b5dd33bf16139691412e91b +SIZE (rust/2019-08-15/rustc-1.37.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 59832229 +SHA256 (rust/2019-08-15/rust-std-1.37.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 2c6802162b807ad2e332a4872943f9a694aa925f553ef2e61fac9def9ad73d8e +SIZE (rust/2019-08-15/rust-std-1.37.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 71174548 +SHA256 (rust/2019-08-15/cargo-0.38.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = db19655601cecbf18b9bca3d2db2545301b9d31fa353c78582eb378af6dc3966 +SIZE (rust/2019-08-15/cargo-0.38.0-powerpc64-unknown-freebsd-elfv2.tar.gz) = 4983791 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 000000000000..48a112abcd57 --- /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 <errno.h> +-#include <machine/atomic.h> ++// clang-format off + #include <sys/types.h> ++#include <machine/atomic.h> + #include <sys/umtx.h> ++// 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 <machine/sysarch.h> ++// clang-format off + #include <sys/types.h> ++#include <machine/sysarch.h> ++// clang-format on + #endif + + #if defined(__NetBSD__) && defined(__arm__) +@@ -32,8 +34,10 @@ uintptr_t GetCurrentProcess(void); + #endif + + #if defined(__OpenBSD__) && defined(__mips__) +-#include <machine/sysarch.h> ++// clang-format off + #include <sys/types.h> ++#include <machine/sysarch.h> ++// 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 e04640b9d926..000000000000 --- 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 61210ce561dd..000000000000 --- 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<AuxVec, ()> { -+ 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<usize, ()> { -+ 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<unsafe extern "C" fn() -> ()>, -+ } -+ -+ 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 c7b6bd5bac4e..000000000000 --- 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 352ba56708f0..000000000000 --- 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 000000000000..3f342b41b922 --- /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<git_push_negotiation>, + pub transport: Option<git_transport_cb>, + pub payload: *mut c_void, +- pub resolve_url: Option<git_url_resolve_cb>, + } + + #[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, |