aboutsummaryrefslogtreecommitdiff
path: root/lang/rust
diff options
context:
space:
mode:
Diffstat (limited to 'lang/rust')
-rw-r--r--lang/rust/Makefile32
-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.rs75
-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.c25
7 files changed, 139 insertions, 171 deletions
diff --git a/lang/rust/Makefile b/lang/rust/Makefile
index dfa0dc4ed126..586ce27dd5ca 100644
--- a/lang/rust/Makefile
+++ b/lang/rust/Makefile
@@ -1,5 +1,5 @@
PORTNAME= rust
-PORTVERSION?= 1.88.0
+PORTVERSION?= 1.91.1
PORTREVISION?= 0
CATEGORIES= lang
MASTER_SITES= https://static.rust-lang.org/dist/:src \
@@ -38,7 +38,7 @@ MAKE_ENV= DESTDIR=${STAGEDIR} \
TEST_ENV= ${MAKE_ENV} \
ALLOW_NONZERO_RLIMIT_CORE=1
-CONFLICTS_INSTALL?= rust-nightly
+CONFLICTS_INSTALL?= rust-nightly rust188
# rustc stashes intermediary files in TMPDIR (default /tmp) which
# might cause issues for users that for some reason space limit
@@ -47,7 +47,7 @@ CONFLICTS_INSTALL?= rust-nightly
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-05-15
-RUST_BOOTSTRAP_VERSION?= 1.87.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 833397cfa5cc..5d30b20178ea 100644
--- a/lang/rust/distinfo
+++ b/lang/rust/distinfo
@@ -1,51 +1,51 @@
-TIMESTAMP = 1751532290
-SHA256 (rust/rustc-1.88.0-src.tar.xz) = 0c1dcbb4f762513d021e1a282c0ac58c0a423642b3a6bf581cafb5414df4193e
-SIZE (rust/rustc-1.88.0-src.tar.xz) = 283294344
-SHA256 (rust/2025-05-15/rustc-1.87.0-aarch64-unknown-freebsd.tar.xz) = 6d7a7fe409d84019a6681a7c5bbe804c2a71444dffa482c277f7303afbbac1bb
-SIZE (rust/2025-05-15/rustc-1.87.0-aarch64-unknown-freebsd.tar.xz) = 68494832
-SHA256 (rust/2025-05-15/rust-std-1.87.0-aarch64-unknown-freebsd.tar.xz) = 85fbfeab2bee94cddc8f237324de6ac0b65511b61427611bb600f589cd83269f
-SIZE (rust/2025-05-15/rust-std-1.87.0-aarch64-unknown-freebsd.tar.xz) = 25085332
-SHA256 (rust/2025-05-15/cargo-1.87.0-aarch64-unknown-freebsd.tar.xz) = f6fad164c4b3107c531036c9f4aea79f1d5b3138a9212839082068ec14e8069a
-SIZE (rust/2025-05-15/cargo-1.87.0-aarch64-unknown-freebsd.tar.xz) = 8864360
-SHA256 (rust/2025-05-15/rustc-1.87.0-x86_64-unknown-freebsd.tar.xz) = 37f413c5af70d678598844e206329f24c3047d38cc43f162a0c6db14b6a5de0c
-SIZE (rust/2025-05-15/rustc-1.87.0-x86_64-unknown-freebsd.tar.xz) = 63790236
-SHA256 (rust/2025-05-15/rust-std-1.87.0-x86_64-unknown-freebsd.tar.xz) = 037b982e3cdf2af304647a8dbaf83c310605cbd131b2fd2c436f0a4284581325
-SIZE (rust/2025-05-15/rust-std-1.87.0-x86_64-unknown-freebsd.tar.xz) = 26183840
-SHA256 (rust/2025-05-15/cargo-1.87.0-x86_64-unknown-freebsd.tar.xz) = 9cdffc039d2b449619b81dcd494c399180507faee2b7b5a18ff8fd59aa6215d3
-SIZE (rust/2025-05-15/cargo-1.87.0-x86_64-unknown-freebsd.tar.xz) = 10021928
-SHA256 (rust/2025-05-15/rustc-1.87.0-armv7-unknown-freebsd.tar.xz) = 0115525ad2c7df25ef25338a986e42a0c028ae53cf0c6dbf31a9313197c96832
-SIZE (rust/2025-05-15/rustc-1.87.0-armv7-unknown-freebsd.tar.xz) = 68671404
-SHA256 (rust/2025-05-15/rust-std-1.87.0-armv7-unknown-freebsd.tar.xz) = d37a4ede26f8334b96982321dfa94dbefe50da2cc39fae4ddbeae077e8aded1a
-SIZE (rust/2025-05-15/rust-std-1.87.0-armv7-unknown-freebsd.tar.xz) = 24274380
-SHA256 (rust/2025-05-15/cargo-1.87.0-armv7-unknown-freebsd.tar.xz) = 86a86b4661fbbd70ff9c052c4729c01132767785597599f818d6607dc6544b1c
-SIZE (rust/2025-05-15/cargo-1.87.0-armv7-unknown-freebsd.tar.xz) = 9116332
-SHA256 (rust/2025-05-15/rustc-1.87.0-i686-unknown-freebsd.tar.xz) = eda4511359f500204726fdca40bd88292c83144d2a4f566c083ac41f8121358a
-SIZE (rust/2025-05-15/rustc-1.87.0-i686-unknown-freebsd.tar.xz) = 76629816
-SHA256 (rust/2025-05-15/rust-std-1.87.0-i686-unknown-freebsd.tar.xz) = dfe0645c3913a1852561ab141f01dd90ec678080400d112361c5ade6b324fba2
-SIZE (rust/2025-05-15/rust-std-1.87.0-i686-unknown-freebsd.tar.xz) = 25965172
-SHA256 (rust/2025-05-15/cargo-1.87.0-i686-unknown-freebsd.tar.xz) = a536712e4fd1919b397a2427b5d2080f06d4e9d3f9ef96a4e0ffae8497a3cd6c
-SIZE (rust/2025-05-15/cargo-1.87.0-i686-unknown-freebsd.tar.xz) = 10599524
-SHA256 (rust/2025-05-15/rustc-1.87.0-powerpc-unknown-freebsd.tar.xz) = 55eb2f9e15ae7ef4ef8df383f578048e13d81f587ea3689bd708908bf9d4af97
-SIZE (rust/2025-05-15/rustc-1.87.0-powerpc-unknown-freebsd.tar.xz) = 69260664
-SHA256 (rust/2025-05-15/rust-std-1.87.0-powerpc-unknown-freebsd.tar.xz) = bdcaab8444e42a645815b92fe0ea9eb3718c63a42e15eba4f481a13996bb79d0
-SIZE (rust/2025-05-15/rust-std-1.87.0-powerpc-unknown-freebsd.tar.xz) = 23412632
-SHA256 (rust/2025-05-15/cargo-1.87.0-powerpc-unknown-freebsd.tar.xz) = c605ad5c7e73b38c575989796a4dca24bac92f3034703bbed5f4b5d954aa9739
-SIZE (rust/2025-05-15/cargo-1.87.0-powerpc-unknown-freebsd.tar.xz) = 9219908
-SHA256 (rust/2025-05-15/rustc-1.87.0-powerpc64-unknown-freebsd.tar.xz) = 04b22a1eacb30dc7d16d9751baca92a2cec72010c85fc4927267e3b42c0094d3
-SIZE (rust/2025-05-15/rustc-1.87.0-powerpc64-unknown-freebsd.tar.xz) = 67746940
-SHA256 (rust/2025-05-15/rust-std-1.87.0-powerpc64-unknown-freebsd.tar.xz) = a21922d860f19e0b4c642207274c588df1341c6ff622050a0653bb82be40bda6
-SIZE (rust/2025-05-15/rust-std-1.87.0-powerpc64-unknown-freebsd.tar.xz) = 23282608
-SHA256 (rust/2025-05-15/cargo-1.87.0-powerpc64-unknown-freebsd.tar.xz) = 07aca5c0e8dcc8aaea3b7b16751d6191373105d445f73e46139eb16066a146ca
-SIZE (rust/2025-05-15/cargo-1.87.0-powerpc64-unknown-freebsd.tar.xz) = 9295388
-SHA256 (rust/2025-05-15/rustc-1.87.0-powerpc64le-unknown-freebsd.tar.xz) = a99e6b9e9713c530337633a5e36d214ae687ba638b7f04c07a9cf659c245c781
-SIZE (rust/2025-05-15/rustc-1.87.0-powerpc64le-unknown-freebsd.tar.xz) = 71448916
-SHA256 (rust/2025-05-15/rust-std-1.87.0-powerpc64le-unknown-freebsd.tar.xz) = 8bd9ba04fe0cf194a1004abca0bc9420a47d0491131c4f6c0b0d8a89ad5b96ea
-SIZE (rust/2025-05-15/rust-std-1.87.0-powerpc64le-unknown-freebsd.tar.xz) = 23330908
-SHA256 (rust/2025-05-15/cargo-1.87.0-powerpc64le-unknown-freebsd.tar.xz) = 9a67120c2776d181c1f32e68f8e55a0d05543f439feeb08c1d8ce6d96a1771da
-SIZE (rust/2025-05-15/cargo-1.87.0-powerpc64le-unknown-freebsd.tar.xz) = 9794732
-SHA256 (rust/2025-05-15/rustc-1.87.0-riscv64gc-unknown-freebsd.tar.xz) = b4b5c71211e2873461b4fd3108668dfd108e220d7012ed9e2b962912d91a9f19
-SIZE (rust/2025-05-15/rustc-1.87.0-riscv64gc-unknown-freebsd.tar.xz) = 78845668
-SHA256 (rust/2025-05-15/rust-std-1.87.0-riscv64gc-unknown-freebsd.tar.xz) = e79ac7a4449f934b0b6d5699e3080aef3d2d665a128f701a786e847634dd8abf
-SIZE (rust/2025-05-15/rust-std-1.87.0-riscv64gc-unknown-freebsd.tar.xz) = 23480648
-SHA256 (rust/2025-05-15/cargo-1.87.0-riscv64gc-unknown-freebsd.tar.xz) = 316fac9c44a37d85ae18a40290f5ce3b064e5326fff3574119322ba191109205
-SIZE (rust/2025-05-15/cargo-1.87.0-riscv64gc-unknown-freebsd.tar.xz) = 11690508
+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 dbcbe5771fdd..000000000000
--- a/lang/rust/files/patch-vendor_cc.rs
+++ /dev/null
@@ -1,75 +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.0.99/src/tool.rs.orig 2024-05-09 18:20:47 UTC
-+++ vendor/cc-1.0.99/src/tool.rs
-@@ -151,9 +151,7 @@ impl Tool {
-
- match (clang, accepts_cl_style_flags, gcc) {
- (clang_cl, true, _) => Ok(ToolFamily::Msvc { clang_cl }),
-- (true, false, _) => Ok(ToolFamily::Clang {
-- zig_cc: is_zig_cc(path, cargo_output),
-- }),
-+ (true, false, _) => Ok(ToolFamily::Gnu),
- (false, false, true) => Ok(ToolFamily::Gnu),
- (false, false, false) => {
- cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__` or `_MSC_VER`, fallback to treating it as GNU");
---- vendor/cc-1.2.0/src/tool.rs.orig 2024-05-09 18:20:47 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.16/src/tool.rs.orig 2024-05-09 18:20:47 UTC
-+++ vendor/cc-1.2.16/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.17/src/tool.rs.orig 2024-05-09 18:20:47 UTC
-+++ vendor/cc-1.2.17/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.21/src/tool.rs.orig 2024-05-09 18:20:47 UTC
-+++ vendor/cc-1.2.21/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");
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 87c398a91538..e8ade04d557a 100644
--- a/lang/rust/files/patch-vendor_openssl_crypto_threads__pthread.c
+++ b/lang/rust/files/patch-vendor_openssl_crypto_threads__pthread.c
@@ -1,9 +1,7 @@
/usr/ports/security/openssl34/files/patch-crypto_threads__pthread.c
-+ fix dup IMPL_fallback_atomic_exchange_n (this code was removed in
-https://github.com/openssl/openssl/commit/65787e2dc219685c30539c6f60eb6b64b890bf6f)
---- vendor/openssl-src-300.4.2+3.4.1/openssl/crypto/threads_pthread.c.orig 2025-05-09 22:37:37.000000000 +0200
-+++ vendor/openssl-src-300.4.2+3.4.1/openssl/crypto/threads_pthread.c 2025-05-21 14:44:18.563852000 +0200
+--- vendor/openssl-src-300.5.0+3.5.0/openssl/crypto/threads_pthread.c.orig 2025-05-09 22:37:37.000000000 +0200
++++ vendor/openssl-src-300.5.0+3.5.0/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
@@ -15,13 +13,16 @@ https://github.com/openssl/openssl/commit/65787e2dc219685c30539c6f60eb6b64b890bf
#if defined(OPENSSL_THREADS) && !defined(CRYPTO_TDEBUG) && !defined(OPENSSL_SYS_WINDOWS)
# if defined(OPENSSL_SYS_UNIX)
-@@ -210,8 +214,7 @@ IMPL_fallback_atomic_exchange_n(prcu_cb_item)
- pthread_mutex_unlock(&atomic_sim_lock); \
- return ret; \
- }
--
--IMPL_fallback_atomic_exchange_n(uint64_t)
-+IMPL_fallback_atomic_compare_exchange_n(uint64_t)
+--- 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
- # define ATOMIC_COMPARE_EXCHANGE_N(t, p, e, d, s, f) fallback_atomic_compare_exchange_n_##t(p, e, d, s, f)
++#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)