diff options
Diffstat (limited to 'lang/rust/files')
5 files changed, 67 insertions, 162 deletions
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 ef0ac3dc5c04..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.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"); ---- vendor/cc-1.2.30/src/tool.rs.orig 2025-04-01 18:22:03 UTC -+++ vendor/cc-1.2.30/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.20.2_src_lib.rs b/lang/rust/files/patch-vendor_git2-0.20.2_src_lib.rs deleted file mode 100644 index 116d0b1fd583..000000000000 --- a/lang/rust/files/patch-vendor_git2-0.20.2_src_lib.rs +++ /dev/null @@ -1,18 +0,0 @@ ---- vendor/git2-0.20.2/src/lib.rs.orig 2025-02-21 20:02:44 UTC -+++ vendor/git2-0.20.2/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) |
