From 4911427883a4f089ac5a535d916a6297df41802c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 2 Oct 2025 16:32:23 +0200 Subject: [PATCH 1/4] goreleaser: 2.12.1 -> 2.12.5 Diff: https://github.com/goreleaser/goreleaser/compare/v2.12.1...v2.12.5 --- pkgs/by-name/go/goreleaser/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/go/goreleaser/package.nix b/pkgs/by-name/go/goreleaser/package.nix index 0d568e0c8bcb..d30a09c70ea8 100644 --- a/pkgs/by-name/go/goreleaser/package.nix +++ b/pkgs/by-name/go/goreleaser/package.nix @@ -10,16 +10,16 @@ }: buildGo125Module rec { pname = "goreleaser"; - version = "2.12.1"; + version = "2.12.5"; src = fetchFromGitHub { owner = "goreleaser"; repo = "goreleaser"; rev = "v${version}"; - hash = "sha256-OqtLj/SzzWiafTQCJWbisAscORnXfXJIkXhs8d7Cjgo="; + hash = "sha256-EHJ1ARzk6BD5D121u+1UTe90oLOovKKD+LQWLIj81Jk="; }; - vendorHash = "sha256-o1DiFHrZhgRoKXKO/SOtaYeTkqmOYgJ8EJTJvOSwS1k="; + vendorHash = "sha256-J/OwvPxC8wz/91sWWUBNkW5E71m8EPjTq3h/MOxT/3k="; ldflags = [ "-s" From 54ae3fdcd9b6e7392a1eba8294d45ed547553c5c Mon Sep 17 00:00:00 2001 From: dramforever Date: Sat, 4 Oct 2025 19:37:05 +0800 Subject: [PATCH 2/4] release.nix: Use arm64-apple-darwin in bootstrapConfigs, not aarch64 Fix this config name for consistency with non-bootstrap platform config. This also fixes a build failure of the bootstrap tools on aarch64-darwin, where a test in LLVM 21 assumes it's spelt arm64, not aarch64. Also saves on having to rebuild LLVM just for bootstrap tools, now that the config is consistent. --- pkgs/stdenv/darwin/bootstrap-files/aarch64-apple-darwin.nix | 2 ++ pkgs/top-level/release.nix | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/stdenv/darwin/bootstrap-files/aarch64-apple-darwin.nix b/pkgs/stdenv/darwin/bootstrap-files/aarch64-apple-darwin.nix index 0af9115a32e3..9d014ae3be17 100644 --- a/pkgs/stdenv/darwin/bootstrap-files/aarch64-apple-darwin.nix +++ b/pkgs/stdenv/darwin/bootstrap-files/aarch64-apple-darwin.nix @@ -1,3 +1,5 @@ +# FIXME: Changed to arm64-apple-darwin in release.nix stdenvBootstrapTools, please handle when refreshing + # Autogenerated by maintainers/scripts/bootstrap-files/refresh-tarballs.bash as: # $ ./refresh-tarballs.bash --targets=aarch64-apple-darwin # diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index ff45ccee7bce..e8ce5f1c82b6 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -22,7 +22,7 @@ supportedSystems ? builtins.fromJSON (builtins.readFile ../../ci/supportedSystems.json), # The platform triples for which we build bootstrap tools. bootstrapConfigs ? [ - "aarch64-apple-darwin" + "arm64-apple-darwin" "aarch64-unknown-linux-gnu" "aarch64-unknown-linux-musl" "i686-unknown-linux-gnu" From b0ff7e6b3af51c7fe10ced9901a0361380d1b76f Mon Sep 17 00:00:00 2001 From: dramforever Date: Sat, 4 Oct 2025 19:52:24 +0800 Subject: [PATCH 3/4] freshBootstraptools.test: Fix Clang test on Darwin Since #420382, we set an absolute default CLANG_RESOURCE_DIR for LLVM versions >= 21, which breaks the bootstrap tools because the absolute path was removed by nuke-ref while building and isn't there while bootstrapping. Pass -resource-dir explicitly while testing Clang to make it work. --- pkgs/stdenv/darwin/test-bootstrap-tools.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/stdenv/darwin/test-bootstrap-tools.nix b/pkgs/stdenv/darwin/test-bootstrap-tools.nix index fc463a1b3e07..1a950d460318 100644 --- a/pkgs/stdenv/darwin/test-bootstrap-tools.nix +++ b/pkgs/stdenv/darwin/test-bootstrap-tools.nix @@ -55,7 +55,8 @@ builtins.derivation { # The stdenv bootstrap builds the SDK in the bootstrap. Use an existing SDK to test the tools. export SDKROOT='${apple-sdk.sdkroot}' - export flags="-idirafter $SDKROOT/usr/include --sysroot=$SDKROOT -L$SDKROOT/usr/lib -L$tools/lib -DTARGET_OS_IPHONE=0" + export resource_dir="$(echo "$tools"/lib/clang/*)" # Expand wildcard + export flags="-resource-dir=$resource_dir -idirafter $SDKROOT/usr/include --sysroot=$SDKROOT -L$SDKROOT/usr/lib -L$tools/lib -DTARGET_OS_IPHONE=0" export CPP="clang -E $flags" export CC="clang $flags" @@ -77,7 +78,7 @@ builtins.derivation { # using -Wl,-flat_namespace is required to generate an error mkdir libtest/ ln -s $tools/lib/libc++.dylib libtest/ - clang++ -Wl,-flat_namespace -idirafter $SDKROOT/usr/include -isystem$tools/include/c++/v1 \ + clang++ -Wl,-flat_namespace -resource-dir=$resource_dir -idirafter $SDKROOT/usr/include -isystem$tools/include/c++/v1 \ --sysroot=$SDKROOT -L$SDKROOT/usr/lib -L./libtest -L$PWD/libSystem-boot hello3.cc tar xvf ${hello.src} From 2316285247b310c478219572ba97bb254caf6b70 Mon Sep 17 00:00:00 2001 From: dramforever Date: Sun, 5 Oct 2025 04:56:36 +0800 Subject: [PATCH 4/4] qt5.qtdeclarative: Fix build on x86_64-darwin Even though this patch is really for Qt 6, the code affected was unchanged, and the patch applies cleanly. Patch is temporarily conditional on x86_64-darwin to avoid extra rebuilds on staging-next. --- pkgs/development/libraries/qt-5/5.15/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/development/libraries/qt-5/5.15/default.nix b/pkgs/development/libraries/qt-5/5.15/default.nix index 38ecd3c90947..9c34451b9e84 100644 --- a/pkgs/development/libraries/qt-5/5.15/default.nix +++ b/pkgs/development/libraries/qt-5/5.15/default.nix @@ -65,6 +65,16 @@ let ./qtdeclarative-default-disable-qmlcache.patch # add version specific QML import path ./qtdeclarative-qml-paths.patch + ] + # FIXME: Make unconditional on next staging cycle + ++ lib.optionals (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform.isDarwin) [ + # Fix an undefined behavior, and fix random-seeming build error with Clang. See: + # - https://codereview.qt-project.org/c/qt/qtdeclarative/+/354847 + # - https://github.com/llvm/llvm-project/issues/74070 + (fetchpatch { + url = "https://github.com/qt/qtdeclarative/commit/636481a31110f1819efaf6500b25fbc395854311.patch"; + hash = "sha256-ACOG3IjR0SIlLYioODGdhkNTGNvnKu6iOihsVdzyvgo="; + }) ]; qtlocation = lib.optionals stdenv.cc.isClang [ # Fix build with Clang 16