diff options
author | Tobias Kortkamp <tobik@FreeBSD.org> | 2020-04-23 15:32:29 +0000 |
---|---|---|
committer | Tobias Kortkamp <tobik@FreeBSD.org> | 2020-04-23 15:32:29 +0000 |
commit | 5abe8902a53b7bfd7ab482ec3f59229cdc2e812d (patch) | |
tree | daa44b3bcefdd28f130988ddbc1a68139417194d /lang/rust | |
parent | c108a6700f69ec335f794e2b36e9077f81facda9 (diff) | |
download | ports-5abe8902a53b7bfd7ab482ec3f59229cdc2e812d.tar.gz ports-5abe8902a53b7bfd7ab482ec3f59229cdc2e812d.zip |
lang/rust: Update to 1.43.0
- Add workaround to fix build when CC/CXX have "clang" in them [1]
- Respect AR to fix build with external toolchains [2]
- Force rebuild all consumers to catch regressions early
Changes: https://blog.rust-lang.org/2020/04/23/Rust-1.43.0.html
PR: 238556 [1], 245583 [2]
Reported by: Matthias Apitz <guru@unixarea.de> [1], Greg V <greg@unrelenting.technology> [2]
Tested by: mikael, pkubaj, tobik
With hat: rust
Differential Revision: https://reviews.freebsd.org/D24521
Notes
Notes:
svn path=/head/; revision=532685
Diffstat (limited to 'lang/rust')
-rw-r--r-- | lang/rust/Makefile | 36 | ||||
-rw-r--r-- | lang/rust/distinfo | 90 | ||||
-rw-r--r-- | lang/rust/files/patch-src_stdarch_crates_std__detect_src_detect_mod.rs | 11 | ||||
-rw-r--r-- | lang/rust/files/patch-vendor_cc_src_lib.rs | 42 |
4 files changed, 119 insertions, 60 deletions
diff --git a/lang/rust/Makefile b/lang/rust/Makefile index c04f93610163..cfa7f250c55a 100644 --- a/lang/rust/Makefile +++ b/lang/rust/Makefile @@ -2,10 +2,10 @@ # $FreeBSD$ PORTNAME= rust -PORTVERSION?= 1.42.0 -PORTREVISION?= 2 +PORTVERSION?= 1.43.0 +PORTREVISION?= 0 CATEGORIES= lang -MASTER_SITES= https://static.rust-lang.org/dist/:src \ +MASTER_SITES= https://dev-static.rust-lang.org/dist/:src \ LOCAL/tobik/rust:bootstrap \ https://static.rust-lang.org/dist/:bootstrap DISTNAME?= ${PORTNAME}c-${PORTVERSION}-src @@ -28,7 +28,8 @@ 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 +BUILD_DEPENDS= cmake:devel/cmake \ + libgit2>=1.0.0:devel/libgit2 LIB_DEPENDS= libcurl.so:ftp/curl \ libgit2.so:devel/libgit2 \ libssh2.so:security/libssh2 @@ -51,16 +52,17 @@ GDB_DESC= Install ports gdb (necessary for debugging rust programs) SOURCES_DESC= Install source files WASM_DESC= Build the WebAssembly target (wasm32-unknown-unknown) -DOCS_VARS_OFF= _RUST_BUILD_DOCS=false DOCS_VARS= _RUST_BUILD_DOCS=true +DOCS_VARS_OFF= _RUST_BUILD_DOCS=false GDB_RUN_DEPENDS= ${LOCALBASE}/bin/gdb:devel/gdb +WASM_VARS= _RUST_BUILD_WASM=true \ + _RUST_TARGETS+=wasm32-unknown-unknown WASM_VARS_OFF= _RUST_BUILD_WASM=false -WASM_VARS= _RUST_BUILD_WASM=true # See WRKSRC/src/stage0.txt for the date and version values. -BOOTSTRAPS_DATE?= 2020-02-29 -RUST_BOOTSTRAP_VERSION?= 1.41.1 -CARGO_BOOTSTRAP_VERSION?= 0.42.0 +BOOTSTRAPS_DATE?= 2020-03-12 +RUST_BOOTSTRAP_VERSION?= 1.42.0 +CARGO_BOOTSTRAP_VERSION?= 0.43.0 BOOTSTRAPS_SUFFIX?= ${BOOTSTRAPS_SUFFIX_${ARCH}} BOOTSTRAPS_SUFFIX_powerpc64?= -${PPC_ABI:tl} @@ -71,6 +73,7 @@ CARGO_VENDOR_DIR?= ${WRKSRC}/vendor _RUST_ARCH_amd64= x86_64 _RUST_ARCH_i386= i686 _RUST_TARGET= ${_RUST_ARCH_${ARCH}:U${ARCH}}-unknown-${OPSYS:tl} +_RUST_TARGETS= ${_RUST_TARGET} _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} @@ -144,9 +147,7 @@ do-configure: @${ECHO_CMD} 'python="${PYTHON_CMD}"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'docs=${_RUST_BUILD_DOCS}' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'verbose=2' >> ${WRKSRC}/config.toml -.if ${PORT_OPTIONS:MWASM} - @${ECHO_CMD} 'target=["${_RUST_TARGET}","wasm32-unknown-unknown"]' >> ${WRKSRC}/config.toml -.endif + @${ECHO_CMD} 'target=[${_RUST_TARGETS:@.target.@"${.target.}"@:ts,}]' >> ${WRKSRC}/config.toml @${ECHO_CMD} '[install]' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'prefix="${PREFIX}"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'sysconfdir="${PREFIX}/etc"' >> ${WRKSRC}/config.toml @@ -161,17 +162,22 @@ do-configure: .else @${ECHO_CMD} 'ccache=false' >> ${WRKSRC}/config.toml .endif - @${ECHO_CMD} '[target.${_RUST_TARGET}]' >> ${WRKSRC}/config.toml - @${ECHO_CMD} 'cc="${CC}"' >> ${WRKSRC}/config.toml - @${ECHO_CMD} 'cxx="${CXX}"' >> ${WRKSRC}/config.toml .if ${ARCH} == armv6 # fails to link with base ld.bfd: rustc_codegen_llvm.e2557spx-cgu.11:(.text._ZN89_$LT$rustc_target..abi..call..CastTarget$u20$as$u20$rustc_codegen_llvm..abi..LlvmType$GT$9llvm_type17h1296210ab461fc57E+0x54): relocation truncated to fit: R_ARM_CALL against symbol `__aeabi_uldivmod' defined in .text.__aeabi_uldivmod section in /tmp/rustcdnGbao/libcompiler_builtins-ee65b414e4115a8f.rlib(compiler_builtins-ee65b414e4115a8f.compiler_builtins.ay8p39ey-cgu.13.rcgu.o) @${PRINTF} '#!/bin/sh\nexec ${CC} -fuse-ld=lld "$$@"' > ${WRKDIR}/cc-wrapper @${CHMOD} +x ${WRKDIR}/cc-wrapper +.endif +.for _target in ${_RUST_TARGETS} + @${ECHO_CMD} '[target.${_target}]' >> ${WRKSRC}/config.toml + @${ECHO_CMD} 'ar="${AR}"' >> ${WRKSRC}/config.toml + @${ECHO_CMD} 'cc="${CC}"' >> ${WRKSRC}/config.toml + @${ECHO_CMD} 'cxx="${CXX}"' >> ${WRKSRC}/config.toml +.if ${ARCH} == armv6 @${ECHO_CMD} 'linker="${WRKDIR}/cc-wrapper"' >> ${WRKSRC}/config.toml .else @${ECHO_CMD} 'linker="${CC}"' >> ${WRKSRC}/config.toml .endif +.endfor @${ECHO_CMD} '[dist]' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'src-tarball=false' >> ${WRKSRC}/config.toml @${REINPLACE_CMD} 's,%CC%,${CC},g' \ diff --git a/lang/rust/distinfo b/lang/rust/distinfo index f45e02a85fc5..14e76b82957a 100644 --- a/lang/rust/distinfo +++ b/lang/rust/distinfo @@ -1,45 +1,45 @@ -TIMESTAMP = 1583854644 -SHA256 (rust/rustc-1.42.0-src.tar.xz) = aa5b4c0f2bac33cc26a11523fce9b0f120d2eff510ed148ae7c586501481ed04 -SIZE (rust/rustc-1.42.0-src.tar.xz) = 94186592 -SHA256 (rust/2020-02-29/rustc-1.41.1-aarch64-unknown-freebsd.tar.xz) = 450b9870656a3cc76385dc6fb3347d4192f4a75c09644d22d73641016e47ae34 -SIZE (rust/2020-02-29/rustc-1.41.1-aarch64-unknown-freebsd.tar.xz) = 25741844 -SHA256 (rust/2020-02-29/rust-std-1.41.1-aarch64-unknown-freebsd.tar.xz) = 768483484e03449718098d71d2df49859498dd089da0fbba93839490922a9f89 -SIZE (rust/2020-02-29/rust-std-1.41.1-aarch64-unknown-freebsd.tar.xz) = 13184164 -SHA256 (rust/2020-02-29/cargo-0.42.0-aarch64-unknown-freebsd.tar.xz) = 9a2327bc426e1524c62626845330bf0e38bd592bbc51c046848459b941adc948 -SIZE (rust/2020-02-29/cargo-0.42.0-aarch64-unknown-freebsd.tar.xz) = 3768016 -SHA256 (rust/2020-02-29/rustc-1.41.1-x86_64-unknown-freebsd.tar.xz) = 183bcbda3a19fb3c6be81082ed422dd97c7a8d3a4a8370268d8a8474278b9637 -SIZE (rust/2020-02-29/rustc-1.41.1-x86_64-unknown-freebsd.tar.xz) = 28096624 -SHA256 (rust/2020-02-29/rust-std-1.41.1-x86_64-unknown-freebsd.tar.xz) = 28bccebc5c0bff25ffc63850d5b19ff316d6552f843bb14936f7538f1a3ea5d4 -SIZE (rust/2020-02-29/rust-std-1.41.1-x86_64-unknown-freebsd.tar.xz) = 13800276 -SHA256 (rust/2020-02-29/cargo-0.42.0-x86_64-unknown-freebsd.tar.xz) = 4a55196e0853ba57e793cc67c85e9ae06ec2ad6cf5c3545bfd2d89abc5362825 -SIZE (rust/2020-02-29/cargo-0.42.0-x86_64-unknown-freebsd.tar.xz) = 4397816 -SHA256 (rust/2020-02-29/rustc-1.41.1-armv6-unknown-freebsd.tar.xz) = 64fc2601a9047f8605183a5f5e0870ec776e84c3a01fdca179af1d799e7ec5f8 -SIZE (rust/2020-02-29/rustc-1.41.1-armv6-unknown-freebsd.tar.xz) = 26932384 -SHA256 (rust/2020-02-29/rust-std-1.41.1-armv6-unknown-freebsd.tar.xz) = 8cd6b1f6d18c853f739438df3ee1aa45d0e904b19d01db034935267b6a7cf3d1 -SIZE (rust/2020-02-29/rust-std-1.41.1-armv6-unknown-freebsd.tar.xz) = 13197644 -SHA256 (rust/2020-02-29/cargo-0.42.0-armv6-unknown-freebsd.tar.xz) = 6af958f17914f4ca317613745f2f53fba8e7d92160d7f9cec75c0992e6504a9c -SIZE (rust/2020-02-29/cargo-0.42.0-armv6-unknown-freebsd.tar.xz) = 3826200 -SHA256 (rust/2020-02-29/rustc-1.41.1-armv7-unknown-freebsd.tar.xz) = 24d2603a1191e88f32caff98c0f30e1c0a19fc58a894fbf28e298e9753c4ed24 -SIZE (rust/2020-02-29/rustc-1.41.1-armv7-unknown-freebsd.tar.xz) = 26889080 -SHA256 (rust/2020-02-29/rust-std-1.41.1-armv7-unknown-freebsd.tar.xz) = ef5b70ee1f2f5ff5368431301d9983ae1675f02f675dbdd0c4cd238874541661 -SIZE (rust/2020-02-29/rust-std-1.41.1-armv7-unknown-freebsd.tar.xz) = 13115476 -SHA256 (rust/2020-02-29/cargo-0.42.0-armv7-unknown-freebsd.tar.xz) = c12d407e33a106ce370468f4e71cf4ca73ed5dc32fc295dcbd23340b8486832d -SIZE (rust/2020-02-29/cargo-0.42.0-armv7-unknown-freebsd.tar.xz) = 3820132 -SHA256 (rust/2020-02-29/rustc-1.41.1-i686-unknown-freebsd.tar.xz) = 9192ae6f5cff5afd7d29686694e72e1618ec9f973e29c89a267a399097d893d9 -SIZE (rust/2020-02-29/rustc-1.41.1-i686-unknown-freebsd.tar.xz) = 28774560 -SHA256 (rust/2020-02-29/rust-std-1.41.1-i686-unknown-freebsd.tar.xz) = 0416b5b7a1c6d22101802f246ef760d856d589d0f2f73898df8f1b46b4d37d43 -SIZE (rust/2020-02-29/rust-std-1.41.1-i686-unknown-freebsd.tar.xz) = 13670064 -SHA256 (rust/2020-02-29/cargo-0.42.0-i686-unknown-freebsd.tar.xz) = 64fc4a4418d96e20bc83abc38c76f3212ae6643bcd039db1dc05aacb596dc98e -SIZE (rust/2020-02-29/cargo-0.42.0-i686-unknown-freebsd.tar.xz) = 4416360 -SHA256 (rust/2020-02-29/rustc-1.41.1-powerpc64-unknown-freebsd-elfv1.tar.xz) = 3f81c55a6865da252a7184af48878c0eedf65f3c5075b019619380d26ee05f9f -SIZE (rust/2020-02-29/rustc-1.41.1-powerpc64-unknown-freebsd-elfv1.tar.xz) = 31564236 -SHA256 (rust/2020-02-29/rust-std-1.41.1-powerpc64-unknown-freebsd-elfv1.tar.xz) = 544eb40644658cb6319d3b012881b062f68474d28f441100b7aa9b2f31c7eda7 -SIZE (rust/2020-02-29/rust-std-1.41.1-powerpc64-unknown-freebsd-elfv1.tar.xz) = 13163336 -SHA256 (rust/2020-02-29/cargo-0.42.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 5a1d8683c2327305ddb5f0a2a794325b09e904451bf74c6e8aa8e8ec925eec57 -SIZE (rust/2020-02-29/cargo-0.42.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 4246988 -SHA256 (rust/2020-02-29/rustc-1.41.1-powerpc64-unknown-freebsd-elfv2.tar.xz) = 08023a907b3e69dd4689f174dd2da7e654324a35ecfc522db31d7aa9e049520d -SIZE (rust/2020-02-29/rustc-1.41.1-powerpc64-unknown-freebsd-elfv2.tar.xz) = 26407348 -SHA256 (rust/2020-02-29/rust-std-1.41.1-powerpc64-unknown-freebsd-elfv2.tar.xz) = 008e9e8426fe4f82d9b950ea325aaeaecf6b182ce061a39ebfbf3b2d9263ab16 -SIZE (rust/2020-02-29/rust-std-1.41.1-powerpc64-unknown-freebsd-elfv2.tar.xz) = 13116720 -SHA256 (rust/2020-02-29/cargo-0.42.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = a1010a8fb3e2d635f2fd81999fe2309120da9ec4db4aacb3b6e9cb8bd0a79736 -SIZE (rust/2020-02-29/cargo-0.42.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 4025124 +TIMESTAMP = 1587600298 +SHA256 (rust/rustc-1.43.0-src.tar.xz) = d0899933840369f07394b211cb0b53a5cd4634907633f0bee541133c8b75e309 +SIZE (rust/rustc-1.43.0-src.tar.xz) = 94354332 +SHA256 (rust/2020-03-12/rustc-1.42.0-aarch64-unknown-freebsd.tar.xz) = a8f1f858837b160bd63ce2526ab6add67ed6fcda56b6e5d566434b11f0e5f56f +SIZE (rust/2020-03-12/rustc-1.42.0-aarch64-unknown-freebsd.tar.xz) = 26088116 +SHA256 (rust/2020-03-12/rust-std-1.42.0-aarch64-unknown-freebsd.tar.xz) = 5d24030cf4476850c2873caa1f00580b4c9e21d71aace2318c0b3ba496e7b6a7 +SIZE (rust/2020-03-12/rust-std-1.42.0-aarch64-unknown-freebsd.tar.xz) = 13088580 +SHA256 (rust/2020-03-12/cargo-0.43.0-aarch64-unknown-freebsd.tar.xz) = e91c969f3a14a84008bb8318ba133b4f9b0d8db592ea8e8f82ca71c693e3e8b6 +SIZE (rust/2020-03-12/cargo-0.43.0-aarch64-unknown-freebsd.tar.xz) = 3778792 +SHA256 (rust/2020-03-12/rustc-1.42.0-x86_64-unknown-freebsd.tar.xz) = 57bf3f88f1ef09142c45a434a79611bb81e5366862a9f954d5ff76a5c09ef3db +SIZE (rust/2020-03-12/rustc-1.42.0-x86_64-unknown-freebsd.tar.xz) = 28223964 +SHA256 (rust/2020-03-12/rust-std-1.42.0-x86_64-unknown-freebsd.tar.xz) = c132f7024d83c717e518ff01830ec37a779db4b6f4b57d03633b8663bb7672f9 +SIZE (rust/2020-03-12/rust-std-1.42.0-x86_64-unknown-freebsd.tar.xz) = 13665440 +SHA256 (rust/2020-03-12/cargo-0.43.0-x86_64-unknown-freebsd.tar.xz) = b7d01dfc78082a3081a30acba89eeeaddb01f8e2d5dc9959f415079d53c92d18 +SIZE (rust/2020-03-12/cargo-0.43.0-x86_64-unknown-freebsd.tar.xz) = 4411904 +SHA256 (rust/2020-03-12/rustc-1.42.0-armv6-unknown-freebsd.tar.xz) = 1de050ad62ec3777ebfb35fb4fdcb28b4774549b5cbad6291e4b4d7787fe8c4e +SIZE (rust/2020-03-12/rustc-1.42.0-armv6-unknown-freebsd.tar.xz) = 27219532 +SHA256 (rust/2020-03-12/rust-std-1.42.0-armv6-unknown-freebsd.tar.xz) = eb3265f010b7ea874a7875df99d7ca699001fccc205011bef9fef6b07c44a5eb +SIZE (rust/2020-03-12/rust-std-1.42.0-armv6-unknown-freebsd.tar.xz) = 13120800 +SHA256 (rust/2020-03-12/cargo-0.43.0-armv6-unknown-freebsd.tar.xz) = 09afe625801c252d7bf84b60248776269ede2e886937f4bc3e1210e37c3bf8e2 +SIZE (rust/2020-03-12/cargo-0.43.0-armv6-unknown-freebsd.tar.xz) = 3850860 +SHA256 (rust/2020-03-12/rustc-1.42.0-armv7-unknown-freebsd.tar.xz) = 6ae842cb01ac1b8e26b90c21ae3e4cc5feb53490603c6513b14fd2e8348b5c34 +SIZE (rust/2020-03-12/rustc-1.42.0-armv7-unknown-freebsd.tar.xz) = 27377064 +SHA256 (rust/2020-03-12/rust-std-1.42.0-armv7-unknown-freebsd.tar.xz) = f24cc8db0d44d127c933c9d0c3828183b3b8701ac60f691bc81bd8bb6debc150 +SIZE (rust/2020-03-12/rust-std-1.42.0-armv7-unknown-freebsd.tar.xz) = 13074792 +SHA256 (rust/2020-03-12/cargo-0.43.0-armv7-unknown-freebsd.tar.xz) = 619572f3c0786e275ce9120a3fcc8b629a6deaedc36d79134c328cc9dc4d0293 +SIZE (rust/2020-03-12/cargo-0.43.0-armv7-unknown-freebsd.tar.xz) = 3847128 +SHA256 (rust/2020-03-12/rustc-1.42.0-i686-unknown-freebsd.tar.xz) = 48a22fce0ce707c36abc06a802f09055cf3159f038dfeb7c85b0c64783311c44 +SIZE (rust/2020-03-12/rustc-1.42.0-i686-unknown-freebsd.tar.xz) = 28924904 +SHA256 (rust/2020-03-12/rust-std-1.42.0-i686-unknown-freebsd.tar.xz) = ea808b5867263f5e5c49303d3e404df3684bb78105ffbe80c91db770f0cd8bee +SIZE (rust/2020-03-12/rust-std-1.42.0-i686-unknown-freebsd.tar.xz) = 13596844 +SHA256 (rust/2020-03-12/cargo-0.43.0-i686-unknown-freebsd.tar.xz) = b876b882513a4b6848e31788aa8181bfbece9b3e75b1ca807edb8300e539267d +SIZE (rust/2020-03-12/cargo-0.43.0-i686-unknown-freebsd.tar.xz) = 4467712 +SHA256 (rust/2020-03-12/rustc-1.42.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = bb5a93a7b72673dd36c1b36d4826118b8d5e6f4914777b10406dde9a890e5a09 +SIZE (rust/2020-03-12/rustc-1.42.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 32013656 +SHA256 (rust/2020-03-12/rust-std-1.42.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = b70b28c1630917ec0475891aef1f8ad24ae2ee7a2f3acbc0050648e4efde4b5d +SIZE (rust/2020-03-12/rust-std-1.42.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 13056600 +SHA256 (rust/2020-03-12/cargo-0.43.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = b4c4e1d998ae003d878ec79ebeb9762655fd8d1eb7ec0d06eea9eebf53732ba2 +SIZE (rust/2020-03-12/cargo-0.43.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 4303300 +SHA256 (rust/2020-03-12/rustc-1.42.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = f6fa812e3cdffffd7c9010a23fc7a33a042b490bc7763c8ef35c87a5952e5400 +SIZE (rust/2020-03-12/rustc-1.42.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 26564788 +SHA256 (rust/2020-03-12/rust-std-1.42.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 41639879c77b37feb60a85c5f935374c3d2eb95604175bc59ea3ea5a6cdafc40 +SIZE (rust/2020-03-12/rust-std-1.42.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 13032100 +SHA256 (rust/2020-03-12/cargo-0.43.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = c853af3a88baabf87bde3453f511b3c4586eb819fa7caed18b51b70d370efbf9 +SIZE (rust/2020-03-12/cargo-0.43.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 4025108 diff --git a/lang/rust/files/patch-src_stdarch_crates_std__detect_src_detect_mod.rs b/lang/rust/files/patch-src_stdarch_crates_std__detect_src_detect_mod.rs new file mode 100644 index 000000000000..9eae9f4fd08c --- /dev/null +++ b/lang/rust/files/patch-src_stdarch_crates_std__detect_src_detect_mod.rs @@ -0,0 +1,11 @@ +--- src/stdarch/crates/std_detect/src/detect/mod.rs.orig 2020-04-21 17:12:47 UTC ++++ src/stdarch/crates/std_detect/src/detect/mod.rs +@@ -100,7 +100,7 @@ cfg_if! { + } else if #[cfg(all(target_os = "linux", feature = "use_std"))] { + #[path = "os/linux/mod.rs"] + mod os; +- } else if #[cfg(target_os = "freebsd")] { ++ } else if #[cfg(all(target_os = "freebsd", feature = "use_std"))] { + #[cfg(target_arch = "aarch64")] + #[path = "os/aarch64.rs"] + mod aarch64; diff --git a/lang/rust/files/patch-vendor_cc_src_lib.rs b/lang/rust/files/patch-vendor_cc_src_lib.rs new file mode 100644 index 000000000000..0c6b6f99cbe9 --- /dev/null +++ b/lang/rust/files/patch-vendor_cc_src_lib.rs @@ -0,0 +1,42 @@ +When the compiler has "clang" in its name the cc crate will pass +an LLVM target triple to it. Rust uses a triple that lacks the OS +version and LLVM will default to FreeBSD 9 behavior, i.e., it will +default to libstdc++ which is no longer available in newer releases. + +To avoid this issue assume we have a GNU compatible toolchain instead +until LLVM can be updated to use libc++ by default. + +https://reviews.llvm.org/D77776 + +--- vendor/cc/src/lib.rs.orig 2020-04-14 08:55:10 UTC ++++ vendor/cc/src/lib.rs +@@ -2353,28 +2353,7 @@ impl Tool { + } + + fn with_features(path: PathBuf, clang_driver: Option<&str>, cuda: bool) -> Self { +- // Try to detect family of the tool from its name, falling back to Gnu. +- let family = if let Some(fname) = path.file_name().and_then(|p| p.to_str()) { +- if fname.contains("clang-cl") { +- ToolFamily::Msvc { clang_cl: true } +- } else if fname.contains("cl") +- && !fname.contains("cloudabi") +- && !fname.contains("uclibc") +- && !fname.contains("clang") +- { +- ToolFamily::Msvc { clang_cl: false } +- } else if fname.contains("clang") { +- match clang_driver { +- Some("cl") => ToolFamily::Msvc { clang_cl: true }, +- _ => ToolFamily::Clang, +- } +- } else { +- ToolFamily::Gnu +- } +- } else { +- ToolFamily::Gnu +- }; +- ++ let family = ToolFamily::Gnu; + Tool { + path: path, + cc_wrapper_path: None, |