aboutsummaryrefslogtreecommitdiff
path: root/lang/rust
diff options
context:
space:
mode:
Diffstat (limited to 'lang/rust')
-rw-r--r--lang/rust/Makefile30
-rw-r--r--lang/rust/distinfo102
-rw-r--r--lang/rust/files/patch-src_bootstrap_src_core_build__steps_install.rs8
-rw-r--r--lang/rust/files/patch-vendor_cc.rs140
-rw-r--r--lang/rust/files/patch-vendor_git2-0.19.0_src_lib.rs18
-rw-r--r--lang/rust/files/patch-vendor_openssl-probe_src_lib.rs50
-rw-r--r--lang/rust/files/patch-vendor_openssl_crypto_threads__pthread.c13
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)