diff options
Diffstat (limited to 'lang/rust')
| -rw-r--r-- | lang/rust/Makefile | 30 | ||||
| -rw-r--r-- | lang/rust/distinfo | 102 | ||||
| -rw-r--r-- | lang/rust/files/patch-src_bootstrap_src_core_build__steps_install.rs | 8 | ||||
| -rw-r--r-- | lang/rust/files/patch-vendor_cc.rs | 140 | ||||
| -rw-r--r-- | lang/rust/files/patch-vendor_git2-0.19.0_src_lib.rs | 18 | ||||
| -rw-r--r-- | lang/rust/files/patch-vendor_openssl-probe_src_lib.rs | 50 | ||||
| -rw-r--r-- | lang/rust/files/patch-vendor_openssl_crypto_threads__pthread.c | 13 |
7 files changed, 138 insertions, 223 deletions
diff --git a/lang/rust/Makefile b/lang/rust/Makefile index f4f9f1222023..586ce27dd5ca 100644 --- a/lang/rust/Makefile +++ b/lang/rust/Makefile @@ -1,5 +1,5 @@ PORTNAME= rust -PORTVERSION?= 1.89.0 +PORTVERSION?= 1.91.1 PORTREVISION?= 0 CATEGORIES= lang MASTER_SITES= https://static.rust-lang.org/dist/:src \ @@ -47,7 +47,7 @@ CONFLICTS_INSTALL?= rust-nightly rust188 TMPDIR?= ${WRKDIR} OPTIONS_DEFINE= DOCS GDB LTO PORT_LLVM SOURCES WASM -OPTIONS_DEFAULT= DOCS SOURCES WASM +OPTIONS_DEFAULT= DOCS SOURCES OPTIONS_DEFINE_i386= SSE2 OPTIONS_DEFAULT_i386= SSE2 @@ -65,14 +65,15 @@ DOCS_VARS_OFF= _RUST_BUILD_DOCS=false GDB_RUN_DEPENDS= ${LOCALBASE}/bin/gdb:devel/gdb PORT_LLVM_USES= llvm:min=19,lib,noexport PORT_LLVM_MAKE_ENV= RUSTFLAGS="-Lnative=${LOCALBASE}/lib" +WASM_USES= llvm:min=19,lib,noexport SOURCES_VARS= _COMPONENTS+=rust-src-${_PACKAGE_VERS} \ _RUST_TOOLS+=src WASM_VARS= _COMPONENTS+="rust-analysis-${_PACKAGE_VERS}-wasm32-unknown-unknown rust-std-${_PACKAGE_VERS}-wasm32-unknown-unknown" \ _RUST_TARGETS+=wasm32-unknown-unknown # See WRKSRC/src/stage0 for the date and version values -BOOTSTRAPS_DATE?= 2025-06-26 -RUST_BOOTSTRAP_VERSION?= 1.88.0 +BOOTSTRAPS_DATE?= 2025-09-18 +RUST_BOOTSTRAP_VERSION?= 1.90.0 CARGO_VENDOR_DIR?= ${WRKSRC}/vendor @@ -173,6 +174,11 @@ do-configure: @${ECHO_CMD} 'cargo="${WRKDIR}/bootstrap/bin/cargo"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'rustc="${WRKDIR}/bootstrap/bin/rustc"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'tools=[${_RUST_TOOLS:@.tool.@"${.tool.}"@:ts,}]' >> ${WRKSRC}/config.toml +.if defined(WITH_CCACHE_BUILD) && !defined(NO_CCACHE) + @${ECHO_CMD} 'ccache="${CCACHE_BIN}"' >> ${WRKSRC}/config.toml +.else + @${ECHO_CMD} 'ccache=false' >> ${WRKSRC}/config.toml +.endif @${ECHO_CMD} '[install]' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'prefix="${PREFIX}"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'sysconfdir="${PREFIX}/etc"' >> ${WRKSRC}/config.toml @@ -196,11 +202,6 @@ do-configure: .if ${PORT_OPTIONS:MLTO} @${ECHO_CMD} 'thin-lto=true' >> ${WRKSRC}/config.toml .endif -.if defined(WITH_CCACHE_BUILD) && !defined(NO_CCACHE) - @${ECHO_CMD} 'ccache="${CCACHE_BIN}"' >> ${WRKSRC}/config.toml -.else - @${ECHO_CMD} 'ccache=false' >> ${WRKSRC}/config.toml -.endif @${ECHO_CMD} 'ninja=true' >> ${WRKSRC}/config.toml .if ${ARCH} == powerpc # Rust doesn't call the system compiler with the full version of the target. @@ -217,16 +218,25 @@ do-configure: .if ${ARCH} == powerpc @${ECHO_CMD} 'cc="${WRKDIR}/cc-wrapper"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'cxx="${WRKDIR}/cxx-wrapper"' >> ${WRKSRC}/config.toml + @${ECHO_CMD} 'linker="${CC}"' >> ${WRKSRC}/config.toml +.else +# base clang doesn't support wasm32-unknown-unknown, use llvm from ports +.if ${_target} == "wasm32-unknown-unknown" + @${ECHO_CMD} 'cc="${LOCALBASE}/bin/clang${LLVM_VERSION}"' >> ${WRKSRC}/config.toml + @${ECHO_CMD} 'cxx="${LOCALBASE}/bin/clang++${LLVM_VERSION}"' >> ${WRKSRC}/config.toml + @${ECHO_CMD} 'linker="${LOCALBASE}/bin/clang${LLVM_VERSION}"' >> ${WRKSRC}/config.toml .else @${ECHO_CMD} 'cc="${CC}"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'cxx="${CXX}"' >> ${WRKSRC}/config.toml -.endif @${ECHO_CMD} 'linker="${CC}"' >> ${WRKSRC}/config.toml +.endif +.endif # powerpc .if ${PORT_OPTIONS:MPORT_LLVM} @${ECHO_CMD} 'llvm-config="${LOCALBASE}/bin/${LLVM_CONFIG}"' >> ${WRKSRC}/config.toml .endif .endfor @${ECHO_CMD} '[dist]' >> ${WRKSRC}/config.toml + @${ECHO_CMD} 'compression-formats=["xz"]' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'src-tarball=false' >> ${WRKSRC}/config.toml do-build: diff --git a/lang/rust/distinfo b/lang/rust/distinfo index e4f7c8b1d055..5d30b20178ea 100644 --- a/lang/rust/distinfo +++ b/lang/rust/distinfo @@ -1,51 +1,51 @@ -TIMESTAMP = 1755503845 -SHA256 (rust/rustc-1.89.0-src.tar.xz) = 0b9d55610d8270e06c44f459d1e2b7918a5e673809c592abed9b9c600e33d95a -SIZE (rust/rustc-1.89.0-src.tar.xz) = 267487572 -SHA256 (rust/2025-06-26/rustc-1.88.0-aarch64-unknown-freebsd.tar.xz) = 67172d0cdc6d52a02f483c46c12e4ba33312974c62db46b43ecd3b1f3b43d132 -SIZE (rust/2025-06-26/rustc-1.88.0-aarch64-unknown-freebsd.tar.xz) = 67731064 -SHA256 (rust/2025-06-26/rust-std-1.88.0-aarch64-unknown-freebsd.tar.xz) = 1575d764a1490626776b4ab2001a4aa16a3e1d89dfdc9f283e42a54e392d1ac6 -SIZE (rust/2025-06-26/rust-std-1.88.0-aarch64-unknown-freebsd.tar.xz) = 25194144 -SHA256 (rust/2025-06-26/cargo-1.88.0-aarch64-unknown-freebsd.tar.xz) = 3babd56a24e9fede664b8f4374eb10455f84336e580dd9bbd43bec30f7edd5bc -SIZE (rust/2025-06-26/cargo-1.88.0-aarch64-unknown-freebsd.tar.xz) = 8880928 -SHA256 (rust/2025-06-26/rustc-1.88.0-x86_64-unknown-freebsd.tar.xz) = 3ef42208bf53295061c4a058fa480512ea19ecb651266ab6640d5aa453a7083d -SIZE (rust/2025-06-26/rustc-1.88.0-x86_64-unknown-freebsd.tar.xz) = 63955284 -SHA256 (rust/2025-06-26/rust-std-1.88.0-x86_64-unknown-freebsd.tar.xz) = 8ce82d28c71abfebdcd80cda50fc6ca5e4d275675f7cd9c6948b2695504b7657 -SIZE (rust/2025-06-26/rust-std-1.88.0-x86_64-unknown-freebsd.tar.xz) = 26263140 -SHA256 (rust/2025-06-26/cargo-1.88.0-x86_64-unknown-freebsd.tar.xz) = bc1418734bb07f72941ed013b2362e1728ec1b04bb57310617135ae3c598f559 -SIZE (rust/2025-06-26/cargo-1.88.0-x86_64-unknown-freebsd.tar.xz) = 10114468 -SHA256 (rust/2025-06-26/rustc-1.88.0-armv7-unknown-freebsd.tar.xz) = bd9e99725e5dee3f7f389222e98bacc507fed08d865bc903bb5dfd3662c2dedb -SIZE (rust/2025-06-26/rustc-1.88.0-armv7-unknown-freebsd.tar.xz) = 68041072 -SHA256 (rust/2025-06-26/rust-std-1.88.0-armv7-unknown-freebsd.tar.xz) = 531e4433569e18481fd786eabf3c321c09e2052eaef3df1c32e962b4cfe29e9c -SIZE (rust/2025-06-26/rust-std-1.88.0-armv7-unknown-freebsd.tar.xz) = 24377108 -SHA256 (rust/2025-06-26/cargo-1.88.0-armv7-unknown-freebsd.tar.xz) = 78a903b07855caf8c0671516a79f29b1a646f0d1b6147e0cc1930c29ee5dcf13 -SIZE (rust/2025-06-26/cargo-1.88.0-armv7-unknown-freebsd.tar.xz) = 9172844 -SHA256 (rust/2025-06-26/rustc-1.88.0-i686-unknown-freebsd.tar.xz) = 775ad2c77c0a3268ed062503cb5c173a988522e576630aeab7050b7dae2ab225 -SIZE (rust/2025-06-26/rustc-1.88.0-i686-unknown-freebsd.tar.xz) = 76553540 -SHA256 (rust/2025-06-26/rust-std-1.88.0-i686-unknown-freebsd.tar.xz) = af621a50d65c78b84356c0c69cd3b557fc0ed12c653a10c54d23035265bac876 -SIZE (rust/2025-06-26/rust-std-1.88.0-i686-unknown-freebsd.tar.xz) = 25898736 -SHA256 (rust/2025-06-26/cargo-1.88.0-i686-unknown-freebsd.tar.xz) = 21c27c8b3c8d17b0ba5b6dbba3800944d8a88c36e7437f527fc391019c2b2e58 -SIZE (rust/2025-06-26/cargo-1.88.0-i686-unknown-freebsd.tar.xz) = 10724288 -SHA256 (rust/2025-06-26/rustc-1.88.0-powerpc-unknown-freebsd.tar.xz) = e0a65f62a77c1dc566a1207a3f7c1ef6086b5f288c6fd512a6726648d6618bb3 -SIZE (rust/2025-06-26/rustc-1.88.0-powerpc-unknown-freebsd.tar.xz) = 69209400 -SHA256 (rust/2025-06-26/rust-std-1.88.0-powerpc-unknown-freebsd.tar.xz) = a0c153d21656da59a6e9dedc6823e7ea3443a63b20a5c5cafc5cbaca1aed3fea -SIZE (rust/2025-06-26/rust-std-1.88.0-powerpc-unknown-freebsd.tar.xz) = 23355452 -SHA256 (rust/2025-06-26/cargo-1.88.0-powerpc-unknown-freebsd.tar.xz) = cdd57cca7f144245c836a86a59bdb823792f58c0192af398854de0ee8115c04b -SIZE (rust/2025-06-26/cargo-1.88.0-powerpc-unknown-freebsd.tar.xz) = 9289100 -SHA256 (rust/2025-06-26/rustc-1.88.0-powerpc64-unknown-freebsd.tar.xz) = 4e5fee68df5d3a4f5bab892f6174af9d8da9394c9964c436578faf428cbd5bbd -SIZE (rust/2025-06-26/rustc-1.88.0-powerpc64-unknown-freebsd.tar.xz) = 67654832 -SHA256 (rust/2025-06-26/rust-std-1.88.0-powerpc64-unknown-freebsd.tar.xz) = 2c714953eff5dcd21c858d898f6e252e40ab9693a09ffabdcd66fcb36d0e7d37 -SIZE (rust/2025-06-26/rust-std-1.88.0-powerpc64-unknown-freebsd.tar.xz) = 23401704 -SHA256 (rust/2025-06-26/cargo-1.88.0-powerpc64-unknown-freebsd.tar.xz) = 57e9aa16c4ee7fe284e54ec01a84caf08ef3139fd4f22c2f05e13f810dae76af -SIZE (rust/2025-06-26/cargo-1.88.0-powerpc64-unknown-freebsd.tar.xz) = 9336784 -SHA256 (rust/2025-06-26/rustc-1.88.0-powerpc64le-unknown-freebsd.tar.xz) = 1cb12bc1f6edb054b3656a7439a76c88cf80cdb6eb1695f9de89b1c4aa05bf14 -SIZE (rust/2025-06-26/rustc-1.88.0-powerpc64le-unknown-freebsd.tar.xz) = 70776456 -SHA256 (rust/2025-06-26/rust-std-1.88.0-powerpc64le-unknown-freebsd.tar.xz) = 994fc09c860c757b1c1fcb0c1bf340d03a57f50e2c01f90fec06c81b053bc37f -SIZE (rust/2025-06-26/rust-std-1.88.0-powerpc64le-unknown-freebsd.tar.xz) = 23532512 -SHA256 (rust/2025-06-26/cargo-1.88.0-powerpc64le-unknown-freebsd.tar.xz) = 0da207963f267df74448c3d5ac88c0b190db9984dc1acc9db8e21cab4e1913b9 -SIZE (rust/2025-06-26/cargo-1.88.0-powerpc64le-unknown-freebsd.tar.xz) = 9845780 -SHA256 (rust/2025-06-26/rustc-1.88.0-riscv64gc-unknown-freebsd.tar.xz) = 06270fe10241b8aa7e50cee4c35372afb2f05f073aa4a7d2b2f9ab2a1a74d1c7 -SIZE (rust/2025-06-26/rustc-1.88.0-riscv64gc-unknown-freebsd.tar.xz) = 77696432 -SHA256 (rust/2025-06-26/rust-std-1.88.0-riscv64gc-unknown-freebsd.tar.xz) = cb2f7535dde028a80630e7af8de74121e5c0fe61239fbd46b91fa0b9ce7dd793 -SIZE (rust/2025-06-26/rust-std-1.88.0-riscv64gc-unknown-freebsd.tar.xz) = 23559976 -SHA256 (rust/2025-06-26/cargo-1.88.0-riscv64gc-unknown-freebsd.tar.xz) = fcc3c82e832d7561e7de38d84f5415fc4d2d246f7b1ee5cf21567fb2ca296d90 -SIZE (rust/2025-06-26/cargo-1.88.0-riscv64gc-unknown-freebsd.tar.xz) = 11619296 +TIMESTAMP = 1762850628 +SHA256 (rust/rustc-1.91.1-src.tar.xz) = 66401bb815e236cc6b2aacbbe23b61b286c1fe27a67902e7c0222cfe77b3dbab +SIZE (rust/rustc-1.91.1-src.tar.xz) = 270957016 +SHA256 (rust/2025-09-18/rustc-1.90.0-aarch64-unknown-freebsd.tar.xz) = a2309a06485b18ba8fa7d2bc70363b5d0e609dfa229c08d174e0dda1df7f7c6c +SIZE (rust/2025-09-18/rustc-1.90.0-aarch64-unknown-freebsd.tar.xz) = 51922812 +SHA256 (rust/2025-09-18/rust-std-1.90.0-aarch64-unknown-freebsd.tar.xz) = d4886646c149e6c1947af9af086a27dac4bb91ae3a6732ddc8a4ecf7a89d0031 +SIZE (rust/2025-09-18/rust-std-1.90.0-aarch64-unknown-freebsd.tar.xz) = 25737340 +SHA256 (rust/2025-09-18/cargo-1.90.0-aarch64-unknown-freebsd.tar.xz) = 24a32547e1416ebf8d4dc52695150ec314b3aad990ab8983770a59ca1e1da78a +SIZE (rust/2025-09-18/cargo-1.90.0-aarch64-unknown-freebsd.tar.xz) = 9662808 +SHA256 (rust/2025-09-18/rustc-1.90.0-x86_64-unknown-freebsd.tar.xz) = 28bc004ab6841693ffc02f19a9f9da120a275cdde916a2e9e28437960a0d95c7 +SIZE (rust/2025-09-18/rustc-1.90.0-x86_64-unknown-freebsd.tar.xz) = 47615700 +SHA256 (rust/2025-09-18/rust-std-1.90.0-x86_64-unknown-freebsd.tar.xz) = 3115acf7d011067afd9b899b251e90d125190f4c664747eb1eafa6b36881c036 +SIZE (rust/2025-09-18/rust-std-1.90.0-x86_64-unknown-freebsd.tar.xz) = 26727916 +SHA256 (rust/2025-09-18/cargo-1.90.0-x86_64-unknown-freebsd.tar.xz) = 21c4ab33cebadcb0c81c3bd91aacb0d5851d1a34e7032c3190ffd939ac823880 +SIZE (rust/2025-09-18/cargo-1.90.0-x86_64-unknown-freebsd.tar.xz) = 10981908 +SHA256 (rust/2025-09-18/rustc-1.90.0-armv7-unknown-freebsd.tar.xz) = 6677b3e02c017f5661342dea089f002f39a7646c3092e429daac49c6db5b3c5c +SIZE (rust/2025-09-18/rustc-1.90.0-armv7-unknown-freebsd.tar.xz) = 51933284 +SHA256 (rust/2025-09-18/rust-std-1.90.0-armv7-unknown-freebsd.tar.xz) = db33d92e16acc889339c9119aa405a483667dac8c0767fa7f8d037cbe3cebac8 +SIZE (rust/2025-09-18/rust-std-1.90.0-armv7-unknown-freebsd.tar.xz) = 24912324 +SHA256 (rust/2025-09-18/cargo-1.90.0-armv7-unknown-freebsd.tar.xz) = 9231f46b590579a0780c4e9ca07e4e3039dacb10fe07ded148d819c72bfe68d8 +SIZE (rust/2025-09-18/cargo-1.90.0-armv7-unknown-freebsd.tar.xz) = 9999704 +SHA256 (rust/2025-09-18/rustc-1.90.0-i686-unknown-freebsd.tar.xz) = ae4fb58e00e2996cf11390eb17096300c04ac0ca6ba7168688e70275de915e54 +SIZE (rust/2025-09-18/rustc-1.90.0-i686-unknown-freebsd.tar.xz) = 59013056 +SHA256 (rust/2025-09-18/rust-std-1.90.0-i686-unknown-freebsd.tar.xz) = ff18a19226ffca459a2d1fbd029ed022e048d6c80bffcb8bf0e7b2e181045d96 +SIZE (rust/2025-09-18/rust-std-1.90.0-i686-unknown-freebsd.tar.xz) = 26528240 +SHA256 (rust/2025-09-18/cargo-1.90.0-i686-unknown-freebsd.tar.xz) = b26dc3676ab36893a95e3b544acdf40b8fbb51fed589d8e4197adcaafb618aa4 +SIZE (rust/2025-09-18/cargo-1.90.0-i686-unknown-freebsd.tar.xz) = 11624984 +SHA256 (rust/2025-09-18/rustc-1.90.0-powerpc-unknown-freebsd.tar.xz) = a0c7255137ce84c9ab0ebb94d9dd35e53eca412cffd0f155298b83da91ecc890 +SIZE (rust/2025-09-18/rustc-1.90.0-powerpc-unknown-freebsd.tar.xz) = 52852384 +SHA256 (rust/2025-09-18/rust-std-1.90.0-powerpc-unknown-freebsd.tar.xz) = 6e4cb4a1ff7a1ee63f5b57ee22daa297137ac2e08bb7ac3163702f49ce661be8 +SIZE (rust/2025-09-18/rust-std-1.90.0-powerpc-unknown-freebsd.tar.xz) = 23820420 +SHA256 (rust/2025-09-18/cargo-1.90.0-powerpc-unknown-freebsd.tar.xz) = ac58aa3c7f4d18ad6f2bc3420aae0ce3abab3fc52f6f838c0129e664933ae05e +SIZE (rust/2025-09-18/cargo-1.90.0-powerpc-unknown-freebsd.tar.xz) = 10065824 +SHA256 (rust/2025-09-18/rustc-1.90.0-powerpc64-unknown-freebsd.tar.xz) = d1357bd141a8f68655a12056059e4bd1c6af8c8420ba579bf9908793ba8936ed +SIZE (rust/2025-09-18/rustc-1.90.0-powerpc64-unknown-freebsd.tar.xz) = 52207452 +SHA256 (rust/2025-09-18/rust-std-1.90.0-powerpc64-unknown-freebsd.tar.xz) = 78095956c2bc08177dc6c38b096faf64fddf8d70526c491bada7ea7c934badcc +SIZE (rust/2025-09-18/rust-std-1.90.0-powerpc64-unknown-freebsd.tar.xz) = 23804160 +SHA256 (rust/2025-09-18/cargo-1.90.0-powerpc64-unknown-freebsd.tar.xz) = 9fa65616166d8534b5438441cc6eeb319be2581173389bf0f7fcdd11b3df0ea4 +SIZE (rust/2025-09-18/cargo-1.90.0-powerpc64-unknown-freebsd.tar.xz) = 10181856 +SHA256 (rust/2025-09-18/rustc-1.90.0-powerpc64le-unknown-freebsd.tar.xz) = 5bfe9c7c224420c647c23855379887c425834a51b521197dbf7232d7311aa618 +SIZE (rust/2025-09-18/rustc-1.90.0-powerpc64le-unknown-freebsd.tar.xz) = 54859868 +SHA256 (rust/2025-09-18/rust-std-1.90.0-powerpc64le-unknown-freebsd.tar.xz) = 3df7248efbb7d1768015435324acd48ac998ced0b11c83a9923ddb8cfbf1bc96 +SIZE (rust/2025-09-18/rust-std-1.90.0-powerpc64le-unknown-freebsd.tar.xz) = 23930892 +SHA256 (rust/2025-09-18/cargo-1.90.0-powerpc64le-unknown-freebsd.tar.xz) = 7d9d0c5fe1d438731a13578cbce021d37618b575ba5e866bcf8a7141c99d5682 +SIZE (rust/2025-09-18/cargo-1.90.0-powerpc64le-unknown-freebsd.tar.xz) = 10758944 +SHA256 (rust/2025-09-18/rustc-1.90.0-riscv64gc-unknown-freebsd.tar.xz) = 9fe439641e95be416c0e43226a69a0665fa2349ce39390a30f98ff3707365c53 +SIZE (rust/2025-09-18/rustc-1.90.0-riscv64gc-unknown-freebsd.tar.xz) = 60870560 +SHA256 (rust/2025-09-18/rust-std-1.90.0-riscv64gc-unknown-freebsd.tar.xz) = 9e65e2bb709a5d6b07f7643ae909352948913bb907304c47b29a9ff45d02a421 +SIZE (rust/2025-09-18/rust-std-1.90.0-riscv64gc-unknown-freebsd.tar.xz) = 24241224 +SHA256 (rust/2025-09-18/cargo-1.90.0-riscv64gc-unknown-freebsd.tar.xz) = 872cd083f7a4a4a622084a6d6cfb36d3acd28a381df8c705a284bbc055ab73f4 +SIZE (rust/2025-09-18/cargo-1.90.0-riscv64gc-unknown-freebsd.tar.xz) = 12337788 diff --git a/lang/rust/files/patch-src_bootstrap_src_core_build__steps_install.rs b/lang/rust/files/patch-src_bootstrap_src_core_build__steps_install.rs index 6d7f6d612496..5cfec3ce509c 100644 --- a/lang/rust/files/patch-src_bootstrap_src_core_build__steps_install.rs +++ b/lang/rust/files/patch-src_bootstrap_src_core_build__steps_install.rs @@ -6,12 +6,12 @@ docs first. --- src/bootstrap/src/core/build_steps/install.rs.orig 2022-05-01 20:28:31 UTC +++ src/bootstrap/src/core/build_steps/install.rs -@@ -138,7 +138,7 @@ macro_rules! install { +@@ -204,7 +204,7 @@ install!((self, builder, _config), } install!((self, builder, _config), -- Docs, path = "src/doc", _config.docs, only_hosts: false, { -+ Docs, path = "src/doc", _config.docs, only_hosts: true, { +- Docs, path = "src/doc", _config.docs, IS_HOST: false, { ++ Docs, path = "src/doc", _config.docs, IS_HOST: true, { let tarball = builder.ensure(dist::Docs { host: self.target }).expect("missing docs"); - install_sh(builder, "docs", self.compiler.stage, Some(self.target), &tarball); + install_sh(builder, "docs", self.build_compiler, Some(self.target), &tarball); }; diff --git a/lang/rust/files/patch-vendor_cc.rs b/lang/rust/files/patch-vendor_cc.rs deleted file mode 100644 index 4a763326e4f6..000000000000 --- a/lang/rust/files/patch-vendor_cc.rs +++ /dev/null @@ -1,140 +0,0 @@ -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-1.1.18/src/tool.rs.orig 2025-06-08 20:17:28 UTC -+++ vendor/cc-1.1.18/src/tool.rs -@@ -174,9 +174,7 @@ impl Tool { - - match (clang, accepts_cl_style_flags, gcc, emscripten, vxworks) { - (clang_cl, true, _, false, false) => Ok(ToolFamily::Msvc { clang_cl }), -- (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Clang { -- zig_cc: is_zig_cc(path, cargo_output), -- }), -+ (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Gnu), - (false, false, true, _, false) | (_, _, _, _, true) => Ok(ToolFamily::Gnu), - (false, false, false, false, false) => { - cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__`, `__EMSCRIPTEN__` or `__VXWORKS__`, also does not accept cl style flag `-?`, fallback to treating it as GNU"); ---- vendor/cc-1.2.0/src/tool.rs.orig 2024-12-10 13:16:09 UTC -+++ vendor/cc-1.2.0/src/tool.rs -@@ -174,9 +174,7 @@ impl Tool { - - match (clang, accepts_cl_style_flags, gcc, emscripten, vxworks) { - (clang_cl, true, _, false, false) => Ok(ToolFamily::Msvc { clang_cl }), -- (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Clang { -- zig_cc: is_zig_cc(path, cargo_output), -- }), -+ (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Gnu), - (false, false, true, _, false) | (_, _, _, _, true) => Ok(ToolFamily::Gnu), - (false, false, false, false, false) => { - cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__`, `__EMSCRIPTEN__` or `__VXWORKS__`, also does not accept cl style flag `-?`, fallback to treating it as GNU"); ---- vendor/cc-1.2.13/src/tool.rs.orig 2025-04-01 18:22:03 UTC -+++ vendor/cc-1.2.13/src/tool.rs -@@ -141,9 +141,7 @@ impl Tool { - - match (clang, accepts_cl_style_flags, gcc, emscripten, vxworks) { - (clang_cl, true, _, false, false) => Ok(ToolFamily::Msvc { clang_cl }), -- (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Clang { -- zig_cc: is_zig_cc(path, cargo_output), -- }), -+ (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Gnu), - (false, false, true, _, false) | (_, _, _, _, true) => Ok(ToolFamily::Gnu), - (false, false, false, false, false) => { - cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__`, `__EMSCRIPTEN__` or `__VXWORKS__`, also does not accept cl style flag `-?`, fallback to treating it as GNU"); ---- vendor/cc-1.2.16/src/tool.rs.orig 2025-04-01 18:22:03 UTC -+++ vendor/cc-1.2.16/src/tool.rs -@@ -141,9 +141,7 @@ impl Tool { - - match (clang, accepts_cl_style_flags, gcc, emscripten, vxworks) { - (clang_cl, true, _, false, false) => Ok(ToolFamily::Msvc { clang_cl }), -- (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Clang { -- zig_cc: is_zig_cc(path, cargo_output), -- }), -+ (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Gnu), - (false, false, true, _, false) | (_, _, _, _, true) => Ok(ToolFamily::Gnu), - (false, false, false, false, false) => { - cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__`, `__EMSCRIPTEN__` or `__VXWORKS__`, also does not accept cl style flag `-?`, fallback to treating it as GNU"); ---- vendor/cc-1.2.19/src/tool.rs.orig 2025-04-01 18:22:03 UTC -+++ vendor/cc-1.2.19/src/tool.rs -@@ -141,9 +141,7 @@ impl Tool { - - match (clang, accepts_cl_style_flags, gcc, emscripten, vxworks) { - (clang_cl, true, _, false, false) => Ok(ToolFamily::Msvc { clang_cl }), -- (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Clang { -- zig_cc: is_zig_cc(path, cargo_output), -- }), -+ (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Gnu), - (false, false, true, _, false) | (_, _, _, _, true) => Ok(ToolFamily::Gnu), - (false, false, false, false, false) => { - cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__`, `__EMSCRIPTEN__` or `__VXWORKS__`, also does not accept cl style flag `-?`, fallback to treating it as GNU"); ---- vendor/cc-1.2.20/src/tool.rs.orig 2025-04-01 18:22:03 UTC -+++ vendor/cc-1.2.20/src/tool.rs -@@ -141,9 +141,7 @@ impl Tool { - - match (clang, accepts_cl_style_flags, gcc, emscripten, vxworks) { - (clang_cl, true, _, false, false) => Ok(ToolFamily::Msvc { clang_cl }), -- (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Clang { -- zig_cc: is_zig_cc(path, cargo_output), -- }), -+ (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Gnu), - (false, false, true, _, false) | (_, _, _, _, true) => Ok(ToolFamily::Gnu), - (false, false, false, false, false) => { - cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__`, `__EMSCRIPTEN__` or `__VXWORKS__`, also does not accept cl style flag `-?`, fallback to treating it as GNU"); ---- vendor/cc-1.2.23/src/tool.rs.orig 2025-04-01 18:22:03 UTC -+++ vendor/cc-1.2.23/src/tool.rs -@@ -141,9 +141,7 @@ impl Tool { - - match (clang, accepts_cl_style_flags, gcc, emscripten, vxworks) { - (clang_cl, true, _, false, false) => Ok(ToolFamily::Msvc { clang_cl }), -- (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Clang { -- zig_cc: is_zig_cc(path, cargo_output), -- }), -+ (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Gnu), - (false, false, true, _, false) | (_, _, _, _, true) => Ok(ToolFamily::Gnu), - (false, false, false, false, false) => { - cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__`, `__EMSCRIPTEN__` or `__VXWORKS__`, also does not accept cl style flag `-?`, fallback to treating it as GNU"); ---- vendor/cc-1.2.25/src/tool.rs.orig 2025-04-01 18:22:03 UTC -+++ vendor/cc-1.2.25/src/tool.rs -@@ -141,9 +141,7 @@ impl Tool { - - match (clang, accepts_cl_style_flags, gcc, emscripten, vxworks) { - (clang_cl, true, _, false, false) => Ok(ToolFamily::Msvc { clang_cl }), -- (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Clang { -- zig_cc: is_zig_cc(path, cargo_output), -- }), -+ (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Gnu), - (false, false, true, _, false) | (_, _, _, _, true) => Ok(ToolFamily::Gnu), - (false, false, false, false, false) => { - cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__`, `__EMSCRIPTEN__` or `__VXWORKS__`, also does not accept cl style flag `-?`, fallback to treating it as GNU"); ---- vendor/cc-1.2.26/src/tool.rs.orig 2025-04-01 18:22:03 UTC -+++ vendor/cc-1.2.26/src/tool.rs -@@ -141,9 +141,7 @@ impl Tool { - - match (clang, accepts_cl_style_flags, gcc, emscripten, vxworks) { - (clang_cl, true, _, false, false) => Ok(ToolFamily::Msvc { clang_cl }), -- (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Clang { -- zig_cc: is_zig_cc(path, cargo_output), -- }), -+ (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Gnu), - (false, false, true, _, false) | (_, _, _, _, true) => Ok(ToolFamily::Gnu), - (false, false, false, false, false) => { - cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__`, `__EMSCRIPTEN__` or `__VXWORKS__`, also does not accept cl style flag `-?`, fallback to treating it as GNU"); ---- vendor/cc-1.2.27/src/tool.rs.orig 2025-04-01 18:22:03 UTC -+++ vendor/cc-1.2.27/src/tool.rs -@@ -141,9 +141,7 @@ impl Tool { - - match (clang, accepts_cl_style_flags, gcc, emscripten, vxworks) { - (clang_cl, true, _, false, false) => Ok(ToolFamily::Msvc { clang_cl }), -- (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Clang { -- zig_cc: is_zig_cc(path, cargo_output), -- }), -+ (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Gnu), - (false, false, true, _, false) | (_, _, _, _, true) => Ok(ToolFamily::Gnu), - (false, false, false, false, false) => { - cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__`, `__EMSCRIPTEN__` or `__VXWORKS__`, also does not accept cl style flag `-?`, fallback to treating it as GNU"); diff --git a/lang/rust/files/patch-vendor_git2-0.19.0_src_lib.rs b/lang/rust/files/patch-vendor_git2-0.19.0_src_lib.rs deleted file mode 100644 index 1676f0c23188..000000000000 --- a/lang/rust/files/patch-vendor_git2-0.19.0_src_lib.rs +++ /dev/null @@ -1,18 +0,0 @@ ---- vendor/git2-0.20.0/src/lib.rs.orig 2025-02-21 20:02:44 UTC -+++ vendor/git2-0.20.0/src/lib.rs -@@ -759,6 +759,7 @@ fn init() { - unix, - not(target_os = "macos"), - not(target_os = "ios"), -+ not(target_os = "freebsd"), - feature = "https" - ))] - fn openssl_env_init() { -@@ -880,6 +881,7 @@ fn openssl_env_init() { - windows, - target_os = "macos", - target_os = "ios", -+ target_os = "freebsd", - not(feature = "https") - ))] - fn openssl_env_init() {} diff --git a/lang/rust/files/patch-vendor_openssl-probe_src_lib.rs b/lang/rust/files/patch-vendor_openssl-probe_src_lib.rs new file mode 100644 index 000000000000..064018790d0f --- /dev/null +++ b/lang/rust/files/patch-vendor_openssl-probe_src_lib.rs @@ -0,0 +1,50 @@ +--- vendor/openssl-probe-0.1.6/src/lib.rs ++++ vendor/openssl-probe-0.1.6/src/lib.rs +@@ -26,6 +26,7 @@ pub fn find_certs_dirs() -> Vec<PathBuf> { + /// found. + /// + /// This will only search known system locations. ++#[cfg(not(target_os = "freebsd"))] + pub fn candidate_cert_dirs() -> impl Iterator<Item = &'static Path> { + // see http://gagravarr.org/writing/openssl-certs/others.shtml + [ +@@ -52,6 +53,19 @@ pub fn candidate_cert_dirs() -> impl Iterator<Item = &'static Path> { + .map(Path::new) + .filter(|p| p.exists()) + } ++#[cfg(target_os = "freebsd")] ++pub fn candidate_cert_dirs() -> impl Iterator<Item = &'static Path> { ++ // see manpage of certctl(8): https://man.freebsd.org/cgi/man.cgi?query=certctl&sektion=8 ++ // see security/openssl* ports ++ [ ++ "/etc/ssl", ++ "/usr/local/etc/ssl", ++ "/usr/local/openssl", ++ ] ++ .iter() ++ .map(Path::new) ++ .filter(|p| p.exists()) ++} + + /// Deprecated as this isn't sound, use [`init_openssl_env_vars`] instead. + #[doc(hidden)] +@@ -169,6 +183,7 @@ pub fn probe() -> ProbeResult { + for certs_dir in candidate_cert_dirs() { + // cert.pem looks to be an openssl 1.0.1 thing, while + // certs/ca-certificates.crt appears to be a 0.9.8 thing ++ #[cfg(not(target_os = "freebsd"))] + let cert_filenames = [ + "cert.pem", + "certs.pem", +@@ -181,6 +196,11 @@ pub fn probe() -> ProbeResult { + "CARootCertificates.pem", + "tls-ca-bundle.pem", + ]; ++ #[cfg(target_os = "freebsd")] ++ let cert_filenames = [ ++ "cert.pem", ++ "ca-root-nss.crt", ++ ]; + if result.cert_file.is_none() { + result.cert_file = cert_filenames + .iter() diff --git a/lang/rust/files/patch-vendor_openssl_crypto_threads__pthread.c b/lang/rust/files/patch-vendor_openssl_crypto_threads__pthread.c index 03afdc6902f8..e8ade04d557a 100644 --- a/lang/rust/files/patch-vendor_openssl_crypto_threads__pthread.c +++ b/lang/rust/files/patch-vendor_openssl_crypto_threads__pthread.c @@ -13,3 +13,16 @@ #if defined(OPENSSL_THREADS) && !defined(CRYPTO_TDEBUG) && !defined(OPENSSL_SYS_WINDOWS) # if defined(OPENSSL_SYS_UNIX) +--- vendor/openssl-src-300.5.2+3.5.2/openssl/crypto/threads_pthread.c.orig 2025-05-09 22:37:37.000000000 +0200 ++++ vendor/openssl-src-300.5.2+3.5.2/openssl/crypto/threads_pthread.c 2025-05-21 14:44:18.563852000 +0200 +@@ -50,6 +50,10 @@ __tsan_mutex_post_lock((x), 0, 0) + # define BROKEN_CLANG_ATOMICS + #endif + ++#if defined(__FreeBSD__) && (defined(__i386__) || (defined(__powerpc__) && defined(__ILP32__))) ++#define BROKEN_CLANG_ATOMICS ++#endif ++ + #if defined(OPENSSL_THREADS) && !defined(CRYPTO_TDEBUG) && !defined(OPENSSL_SYS_WINDOWS) + + # if defined(OPENSSL_SYS_UNIX) |
