From nobody Thu Oct 03 13:05:46 2024 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XKBkM0zYhz5YJqv; Thu, 03 Oct 2024 13:05:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XKBkL58qwz4Rcp; Thu, 3 Oct 2024 13:05:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727960746; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eDgbsJ4nur45G2SLYgx4CKvjuTy/nH3x8ZBzwJsfUcU=; b=eBnC/vv5CCYQ3ba7pNqaGkkTjdI0jh3YXEe5BwXfx4U6lnOEXfMKHmZ+QgtYzXk1wuf0oT pZ+5driI/3uwjv5vrh2DWFrD++2PYInkr4oscS/0SdC+6GHNaUeR3GN5Qse0N0AMZvXjNY AN4OZD/JhhMkH3lBpho8+pptZWQayZNKjTIuqLfspH2dITGal/1T6BY//lgPxSrVQikkxR zy5S0/Iydkh2O5ODSFfB5KLLY5s61BBcYfH53no5LKsvC7sGvTcr2Enpuob6NQshj+TYHO 3C9XTt0S5Aj3xPOfxvoeMGqJA0fJ6iZFLtp3pOmDgIYsLMrT5bN37c2ToiTTAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727960746; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eDgbsJ4nur45G2SLYgx4CKvjuTy/nH3x8ZBzwJsfUcU=; b=oqMWGew5AjBpuyDOIlpcPtpdaQHeCtBNNog9tJfWw0b8RUKIFQeOfLhJ1y45OXrPEYPpfi YWrzmnqnexkY+wM7puTB2boe/xSm3GzTvDi6mCbuSzX8lhoBi6V6jKSewqOTT4purb7Eeq x7YpIOEdICUT6BsYPCD+p1GdBUaIGCdfzRDXTNac1/iFMKQi2ApIEMCwPqx9NzYGFUEH9O 2CSS/pKGT6EkVarEBVvWMqSqNGn9nN/aNUHQ/6gTDd7RPgwHKK9khq4nk8ggAmmyqMXVCZ q8iSpuqnfxhMNAnRC/80E8ZfezuTIzrokRvuqL9EIMYDdTgv+qQYaj89UOfLyg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727960746; a=rsa-sha256; cv=none; b=Absq6kCEEpQxnbvJUCG7R4HpsjueFaH86YVq5bsfJRYL6Zwif+OLBK/t01aPYf9YglPaCx Oi7cs3aRnzQQIioWq/KOaUzylj3rpv1XjvuXUMma/8RmU7M5N5hPebeVZWg/fJ1fX4gF3c KwhUoY5fU8DK6x+6TljQEBsVwOE8qaM4mQjuuGfFmdPPXTLkIK17NvKI8Gq8jrfncED76h bhvN2fCyYPiJkorACmeiK0AD2KqIliO6TriByYR/WH1eDp8o+Us2DCLCb1tNCjQo3y3rVu l8tkUa0b4ndQ9WIlhj6aORomMUxuy6bo31VfY+nVD+QWIKDR9NVpghrpS6q78A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XKBkL4fRDzrcG; Thu, 3 Oct 2024 13:05:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 493D5kqc014463; Thu, 3 Oct 2024 13:05:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 493D5kfG014460; Thu, 3 Oct 2024 13:05:46 GMT (envelope-from git) Date: Thu, 3 Oct 2024 13:05:46 GMT Message-Id: <202410031305.493D5kfG014460@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Mikael Urankar Subject: git: 9e25c683b8a7 - main - lang/rust-nightly: Update to 1.83.0 List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-main@freebsd.org Sender: owner-dev-commits-ports-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mikael X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9e25c683b8a78259e80fc0bacddc5ff9087031b3 Auto-Submitted: auto-generated The branch main has been updated by mikael: URL: https://cgit.FreeBSD.org/ports/commit/?id=9e25c683b8a78259e80fc0bacddc5ff9087031b3 commit 9e25c683b8a78259e80fc0bacddc5ff9087031b3 Author: Mikael Urankar AuthorDate: 2024-10-02 08:38:54 +0000 Commit: Mikael Urankar CommitDate: 2024-10-03 13:05:35 +0000 lang/rust-nightly: Update to 1.83.0 --- lang/rust-nightly/Makefile | 6 +- lang/rust-nightly/distinfo | 18 ++-- .../files/no-hardlinks/patch-src_bootstrap_lib.rs | 28 ------ .../no-hardlinks/patch-src_bootstrap_native.rs | 39 ------- ...ompiler_rustc__target_src_abi_call_powerpc64.rs | 11 ++ ...get_src_spec_targets_i686__unknown__freebsd.rs} | 4 +- .../patch-library_backtrace_src_backtrace_mod.rs | 10 ++ ...src_tools_cargo_src_cargo_sources_git_source.rs | 10 +- lang/rust-nightly/files/patch-vendor_cc.rs | 112 ++++++--------------- .../patch-vendor_nix-0.28.0_src_sys_signal.rs | 20 ++++ lang/rust-nightly/update.sh | 9 +- lang/rust/Makefile | 11 +- 12 files changed, 100 insertions(+), 178 deletions(-) diff --git a/lang/rust-nightly/Makefile b/lang/rust-nightly/Makefile index b3b8ab296639..145d7130fb04 100644 --- a/lang/rust-nightly/Makefile +++ b/lang/rust-nightly/Makefile @@ -1,5 +1,5 @@ # Run update.sh to update to the latest nightly -PORTVERSION= 1.80.0.${NIGHTLY_DATE:C,-,,g} +PORTVERSION= 1.83.0.${NIGHTLY_DATE:C,-,,g} # Always set PORTREVISION explicitly as otherwise it is inherited from lang/rust PORTREVISION= 0 PKGNAMESUFFIX= -nightly @@ -14,8 +14,8 @@ MASTERDIR= ${.CURDIR}/../rust PATCHDIR= ${.CURDIR}/files DISTINFO_FILE= ${.CURDIR}/distinfo -NIGHTLY_DATE= 2024-05-07 -BOOTSTRAPS_DATE= 2024-04-29 +NIGHTLY_DATE= 2024-10-01 +BOOTSTRAPS_DATE= 2024-09-22 RUST_BOOTSTRAP_VERSION= beta .include "${MASTERDIR}/Makefile" diff --git a/lang/rust-nightly/distinfo b/lang/rust-nightly/distinfo index b5947b78c52b..3008e4b71ccc 100644 --- a/lang/rust-nightly/distinfo +++ b/lang/rust-nightly/distinfo @@ -1,9 +1,9 @@ -TIMESTAMP = 1715170997 -SHA256 (rust/2024-05-07/rustc-nightly-src.tar.xz) = 980396ea6f15b926155ffaab4d56f70a0729a18a98ed99fe11004b5709855458 -SIZE (rust/2024-05-07/rustc-nightly-src.tar.xz) = 162781340 -SHA256 (rust/2024-04-29/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 786f40030dbe5e6897aafe4bda44770920b2010b93fc5ce86574774e531e2eff -SIZE (rust/2024-04-29/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 75473648 -SHA256 (rust/2024-04-29/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 69626178bc5309afc8a02c941bd77e70e1aa6917ffb6bf0d67a57d921b5c664a -SIZE (rust/2024-04-29/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 27096208 -SHA256 (rust/2024-04-29/cargo-beta-x86_64-unknown-freebsd.tar.xz) = 7fab806227d1a3be817602abb121ac7e039ba0bbf81e0a1d47bdcccca74203c6 -SIZE (rust/2024-04-29/cargo-beta-x86_64-unknown-freebsd.tar.xz) = 9257888 +TIMESTAMP = 1727858204 +SHA256 (rust/2024-10-01/rustc-nightly-src.tar.xz) = 46c2d963da26229b8cdeed978b5c9affa091486015d474c1f8a754282a332d1a +SIZE (rust/2024-10-01/rustc-nightly-src.tar.xz) = 353516056 +SHA256 (rust/2024-09-22/rustc-beta-x86_64-unknown-freebsd.tar.xz) = aeabedce922b315fb872127a6102a76e9fe5e1932b14a7210f31191f9a85488b +SIZE (rust/2024-09-22/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 81004732 +SHA256 (rust/2024-09-22/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 8749c2ae47644c16f62a310500ab91e5403a25c3e023a2c6e25cfa16217c98e9 +SIZE (rust/2024-09-22/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 28846744 +SHA256 (rust/2024-09-22/cargo-beta-x86_64-unknown-freebsd.tar.xz) = 7912a49f7a181145b71a197014e3de6594b216959cd7c95a003fcd13854cb056 +SIZE (rust/2024-09-22/cargo-beta-x86_64-unknown-freebsd.tar.xz) = 9536628 diff --git a/lang/rust-nightly/files/no-hardlinks/patch-src_bootstrap_lib.rs b/lang/rust-nightly/files/no-hardlinks/patch-src_bootstrap_lib.rs deleted file mode 100644 index 081c2056ad2c..000000000000 --- a/lang/rust-nightly/files/no-hardlinks/patch-src_bootstrap_lib.rs +++ /dev/null @@ -1,28 +0,0 @@ -Attempt to fix intermittent "can't find crate for `std`" build failures - -The location of rustc (found via env::current_exe()) is used to -find the right libstd. However it might have been "copied" by -creating a hard link to the new location instead. Like /proc/curproc/file, -KERN_PROC_PATHNAME (used internally by current_exe()) can return -any of the file's multiple paths. Most of the time it returns the -right rustc path and the build will succeed but occasionally it -will return the "wrong" path and the build fails with: - - error[E0463]: can't find crate for `std` - -If this is right a viable workaround should be to never create hard -links during the build, so let's try that. - ---- src/bootstrap/lib.rs.orig 2020-07-23 20:16:43 UTC -+++ src/bootstrap/lib.rs -@@ -1173,10 +1173,6 @@ impl Build { - if metadata.file_type().is_symlink() { - let link = t!(fs::read_link(src)); - t!(symlink_file(link, dst)); -- } else if let Ok(()) = fs::hard_link(src, dst) { -- // Attempt to "easy copy" by creating a hard link -- // (symlinks don't work on windows), but if that fails -- // just fall back to a slow `copy` operation. - } else { - if let Err(e) = fs::copy(src, dst) { - panic!("failed to copy `{}` to `{}`: {}", src.display(), dst.display(), e) diff --git a/lang/rust-nightly/files/no-hardlinks/patch-src_bootstrap_native.rs b/lang/rust-nightly/files/no-hardlinks/patch-src_bootstrap_native.rs deleted file mode 100644 index 1484fdeee67e..000000000000 --- a/lang/rust-nightly/files/no-hardlinks/patch-src_bootstrap_native.rs +++ /dev/null @@ -1,39 +0,0 @@ -There seems to be some kind of race when using llvm-config-wrapper -for building rust-lld. Attempt to improve reliability of the build -by not using it. llvm-config-wrapper is a hack in the first place -that is only really needed on Windows. - ---- src/bootstrap/native.rs.orig 2022-05-01 20:28:31 UTC -+++ src/bootstrap/native.rs -@@ -918,22 +918,6 @@ impl Step for Lld { - let mut cfg = cmake::Config::new(builder.src.join("src/llvm-project/lld")); - configure_cmake(builder, target, &mut cfg, true, LdFlags::default()); - -- // This is an awful, awful hack. Discovered when we migrated to using -- // clang-cl to compile LLVM/LLD it turns out that LLD, when built out of -- // tree, will execute `llvm-config --cmakedir` and then tell CMake about -- // that directory for later processing. Unfortunately if this path has -- // forward slashes in it (which it basically always does on Windows) -- // then CMake will hit a syntax error later on as... something isn't -- // escaped it seems? -- // -- // Instead of attempting to fix this problem in upstream CMake and/or -- // LLVM/LLD we just hack around it here. This thin wrapper will take the -- // output from llvm-config and replace all instances of `\` with `/` to -- // ensure we don't hit the same bugs with escaping. It means that you -- // can't build on a system where your paths require `\` on Windows, but -- // there's probably a lot of reasons you can't do that other than this. -- let llvm_config_shim = env::current_exe().unwrap().with_file_name("llvm-config-wrapper"); -- - // Re-use the same flags as llvm to control the level of debug information - // generated for lld. - let profile = match (builder.config.llvm_optimize, builder.config.llvm_release_debuginfo) { -@@ -945,7 +929,7 @@ impl Step for Lld { - cfg.out_dir(&out_dir) - .profile(profile) - .env("LLVM_CONFIG_REAL", &llvm_config) -- .define("LLVM_CONFIG_PATH", llvm_config_shim) -+ .define("LLVM_CONFIG_PATH", &llvm_config) - .define("LLVM_INCLUDE_TESTS", "OFF"); - - // While we're using this horrible workaround to shim the execution of diff --git a/lang/rust-nightly/files/patch-compiler_rustc__target_src_abi_call_powerpc64.rs b/lang/rust-nightly/files/patch-compiler_rustc__target_src_abi_call_powerpc64.rs new file mode 100644 index 000000000000..2524e1872984 --- /dev/null +++ b/lang/rust-nightly/files/patch-compiler_rustc__target_src_abi_call_powerpc64.rs @@ -0,0 +1,11 @@ +--- compiler/rustc_target/src/abi/call/powerpc64.rs.orig 2020-03-09 22:11:17 UTC ++++ compiler/rustc_target/src/abi/call/powerpc64.rs +@@ -123,7 +123,7 @@ where + ELFv2 + } else { + match cx.data_layout().endian { +- Endian::Big => ELFv1, ++ Endian::Big => ELFv2, + Endian::Little => ELFv2, + } + }; diff --git a/lang/rust-nightly/files/patch-compiler_rustc__target_src_spec_i686__unknown__freebsd.rs b/lang/rust-nightly/files/patch-compiler_rustc__target_src_spec_targets_i686__unknown__freebsd.rs similarity index 86% rename from lang/rust-nightly/files/patch-compiler_rustc__target_src_spec_i686__unknown__freebsd.rs rename to lang/rust-nightly/files/patch-compiler_rustc__target_src_spec_targets_i686__unknown__freebsd.rs index c1f57467f264..45d479133343 100644 --- a/lang/rust-nightly/files/patch-compiler_rustc__target_src_spec_i686__unknown__freebsd.rs +++ b/lang/rust-nightly/files/patch-compiler_rustc__target_src_spec_targets_i686__unknown__freebsd.rs @@ -1,4 +1,6 @@ ---- compiler/rustc_target/src/spec/targets/i686_unknown_freebsd.rs.orig 2023-11-27 08:52:00 UTC +i386 should be pentiumpro (no SSE2, no ...) + +--- compiler/rustc_target/src/spec/targets/i686_unknown_freebsd.rs.orig 2023-12-22 11:18:00 UTC +++ compiler/rustc_target/src/spec/targets/i686_unknown_freebsd.rs @@ -2,7 +2,7 @@ pub fn target() -> Target { diff --git a/lang/rust-nightly/files/patch-library_backtrace_src_backtrace_mod.rs b/lang/rust-nightly/files/patch-library_backtrace_src_backtrace_mod.rs new file mode 100644 index 000000000000..9731c97fc809 --- /dev/null +++ b/lang/rust-nightly/files/patch-library_backtrace_src_backtrace_mod.rs @@ -0,0 +1,10 @@ +--- library/backtrace/src/backtrace/mod.rs.orig 2024-10-02 09:23:54.876659000 +0200 ++++ library/backtrace/src/backtrace/mod.rs 2024-10-02 09:23:44.139133000 +0200 +@@ -176,6 +176,7 @@ cfg_if::cfg_if! { + unix, + not(target_os = "emscripten"), + not(all(target_os = "ios", target_arch = "arm")), ++ not(all(target_os = "freebsd", target_arch = "riscv64")), + ), + all( + target_env = "sgx", diff --git a/lang/rust-nightly/files/patch-src_tools_cargo_src_cargo_sources_git_source.rs b/lang/rust-nightly/files/patch-src_tools_cargo_src_cargo_sources_git_source.rs index fc3b22aebde1..3add18d71b22 100644 --- a/lang/rust-nightly/files/patch-src_tools_cargo_src_cargo_sources_git_source.rs +++ b/lang/rust-nightly/files/patch-src_tools_cargo_src_cargo_sources_git_source.rs @@ -13,7 +13,7 @@ be stabilized first. It will be available in Rust 1.56. --- src/tools/cargo/src/cargo/sources/git/source.rs.orig 2021-10-04 20:59:57 UTC +++ src/tools/cargo/src/cargo/sources/git/source.rs -@@ -195,6 +195,9 @@ impl<'cfg> Source for GitSource<'cfg> { +@@ -205,6 +205,9 @@ impl<'cfg> Source for GitSource<'cfg> { kind: QueryKind, f: &mut dyn FnMut(IndexSummary), ) -> Poll> { @@ -23,14 +23,14 @@ be stabilized first. It will be available in Rust 1.56. if let Some(src) = self.path_source.as_mut() { src.query(dep, kind, f) } else { -@@ -217,6 +220,10 @@ impl<'cfg> Source for GitSource<'cfg> { - fn block_until_ready(&mut self) -> CargoResult<()> { +@@ -228,6 +231,10 @@ impl<'cfg> Source for GitSource<'cfg> { if self.path_source.is_some() { self.mark_used(None)?; -+ return Ok(()); + return Ok(()); + } + + if std::env::var("CARGO_FREEBSD_PORTS_SKIP_GIT_UPDATE").is_ok() { - return Ok(()); ++ return Ok(()); } + let git_fs = self.config.git_path(); diff --git a/lang/rust-nightly/files/patch-vendor_cc.rs b/lang/rust-nightly/files/patch-vendor_cc.rs index 5b6888c4c087..efecd8bd3a76 100644 --- a/lang/rust-nightly/files/patch-vendor_cc.rs +++ b/lang/rust-nightly/files/patch-vendor_cc.rs @@ -8,92 +8,24 @@ until LLVM can be updated to use libc++ by default. https://reviews.llvm.org/D77776 ---- vendor/cc-1.0.73/src/lib.rs.orig 2021-03-04 20:58:54 UTC -+++ vendor/cc-1.0.73/src/lib.rs -@@ -2659,24 +2659,7 @@ impl Tool { - } - - fn with_features(path: PathBuf, clang_driver: Option<&str>, cuda: bool) -> Self { -- // Try to detect family of the tool from its name, falling back to Gnu. -- let family = if let Some(fname) = path.file_name().and_then(|p| p.to_str()) { -- if fname.contains("clang-cl") { -- ToolFamily::Msvc { clang_cl: true } -- } else if fname.ends_with("cl") || fname == "cl.exe" { -- ToolFamily::Msvc { clang_cl: false } -- } else if fname.contains("clang") { -- match clang_driver { -- Some("cl") => ToolFamily::Msvc { clang_cl: true }, -- _ => ToolFamily::Clang, -- } -- } else { -- ToolFamily::Gnu -- } -- } else { -- ToolFamily::Gnu -- }; -- -+ let family = ToolFamily::Gnu; - Tool { - path: path, - cc_wrapper_path: None, +cc-1.1.10/ cc-1.1.22/ ---- vendor/cc-1.0.79/src/lib.rs.orig 2021-03-04 20:58:54 UTC -+++ vendor/cc-1.0.79/src/lib.rs -@@ -2659,24 +2659,7 @@ impl Tool { - } +--- vendor/cc-1.0.105/src/tool.rs.orig 2024-05-09 18:20:47 UTC ++++ vendor/cc-1.0.105/src/tool.rs +@@ -151,9 +151,7 @@ impl Tool { - fn with_features(path: PathBuf, clang_driver: Option<&str>, cuda: bool) -> Self { -- // Try to detect family of the tool from its name, falling back to Gnu. -- let family = if let Some(fname) = path.file_name().and_then(|p| p.to_str()) { -- if fname.contains("clang-cl") { -- ToolFamily::Msvc { clang_cl: true } -- } else if fname.ends_with("cl") || fname == "cl.exe" { -- ToolFamily::Msvc { clang_cl: false } -- } else if fname.contains("clang") { -- match clang_driver { -- Some("cl") => ToolFamily::Msvc { clang_cl: true }, -- _ => ToolFamily::Clang, -- } -- } else { -- ToolFamily::Gnu -- } -- } else { -- ToolFamily::Gnu -- }; -- -+ let family = ToolFamily::Gnu; - Tool { - path: path, - cc_wrapper_path: None, + 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.0.90/src/tool.rs.orig 2024-03-18 11:23:17 UTC -+++ vendor/cc-1.0.90/src/tool.rs -@@ -122,22 +122,7 @@ impl Tool { - }; - - // Try to detect family of the tool from its name, falling back to Gnu. -- let family = if let Some(fname) = path.file_name().and_then(|p| p.to_str()) { -- if fname.contains("clang-cl") { -- ToolFamily::Msvc { clang_cl: true } -- } else if fname.ends_with("cl") || fname == "cl.exe" { -- ToolFamily::Msvc { clang_cl: false } -- } else if fname.contains("clang") { -- match clang_driver { -- Some("cl") => ToolFamily::Msvc { clang_cl: true }, -- _ => ToolFamily::Clang, -- } -- } else { -- detect_family(&path) -- } -- } else { -- detect_family(&path) -- }; -+ let family = ToolFamily::Gnu; - - Tool { - path, ---- vendor/cc-1.0.92/src/tool.rs.orig 2024-05-09 18:20:47 UTC -+++ vendor/cc-1.0.92/src/tool.rs +--- vendor/cc-1.1.10/src/tool.rs.orig 2024-05-09 18:20:47 UTC ++++ vendor/cc-1.1.10/src/tool.rs @@ -151,9 +151,7 @@ impl Tool { match (clang, accepts_cl_style_flags, gcc) { @@ -105,3 +37,17 @@ https://reviews.llvm.org/D77776 (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.1.22/src/tool.rs.orig 2024-10-02 09:43:22.970422000 +0200 ++++ vendor/cc-1.1.22/src/tool.rs 2024-10-02 09:50:42.836352000 +0200 +@@ -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-nightly/files/patch-vendor_nix-0.28.0_src_sys_signal.rs b/lang/rust-nightly/files/patch-vendor_nix-0.28.0_src_sys_signal.rs new file mode 100644 index 000000000000..fbe6d4e5a216 --- /dev/null +++ b/lang/rust-nightly/files/patch-vendor_nix-0.28.0_src_sys_signal.rs @@ -0,0 +1,20 @@ +--- vendor/nix-0.28.0/src/sys/signal.rs.orig 2024-06-14 14:06:00 UTC ++++ vendor/nix-0.28.0/src/sys/signal.rs +@@ -1099,7 +1099,7 @@ pub type type_of_thread_id = libc::lwpid_t; + #[cfg(target_os = "freebsd")] + pub type type_of_thread_id = libc::lwpid_t; + /// Identifies a thread for [`SigevNotify::SigevThreadId`] +-#[cfg(all(not(target_os = "hurd"), any(target_env = "gnu", target_env = "uclibc")))] ++#[cfg(all(not(any(target_os = "freebsd", target_os = "hurd")), any(target_env = "gnu", target_env = "uclibc")))] + pub type type_of_thread_id = libc::pid_t; + + /// Specifies the notification method used by a [`SigEvent`] +@@ -1349,7 +1349,7 @@ mod sigevent { + sev.sigev_value.sival_ptr = si_value as *mut libc::c_void; + sev._sigev_un._threadid = thread_id; + } +- #[cfg(any(target_env = "gnu", target_env = "uclibc"))] ++ #[cfg(all(not(target_os = "freebsd"), any(target_env = "gnu", target_env = "uclibc")))] + SigevNotify::SigevThreadId{signal, thread_id, si_value} => { + sev.sigev_notify = libc::SIGEV_THREAD_ID; + sev.sigev_signo = signal as libc::c_int; diff --git a/lang/rust-nightly/update.sh b/lang/rust-nightly/update.sh index 2a8f325ad255..6c8452b92343 100644 --- a/lang/rust-nightly/update.sh +++ b/lang/rust-nightly/update.sh @@ -14,10 +14,11 @@ fetch -qo /tmp/channel-rust-nightly.toml https://static.rust-lang.org/dist/chann new_commit=$(> ${WRKSRC}/config.toml @${ECHO_CMD} '[llvm]' >> ${WRKSRC}/config.toml +.if defined(NIGHTLY_DATE) + @${ECHO_CMD} 'download-ci-llvm = false' >> ${WRKSRC}/config.toml +.endif .if ${PORT_OPTIONS:MLTO} @${ECHO_CMD} 'thin-lto=true' >> ${WRKSRC}/config.toml .endif @@ -228,10 +231,6 @@ do-configure: .endfor @${ECHO_CMD} '[dist]' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'src-tarball=false' >> ${WRKSRC}/config.toml -.if defined(NIGHTLY_DATE) -# Don't abort if optional tools fail to build - @${ECHO_CMD} 'missing-tools=true' >> ${WRKSRC}/config.toml -.endif do-build: @cd ${WRKSRC} && \