diff options
Diffstat (limited to 'lang/rust')
| -rw-r--r-- | lang/rust/Makefile | 32 | ||||
| -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 | 75 | ||||
| -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 | 25 |
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) |
