summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsternenseemann <sternenseemann@systemli.org>2022-01-11 11:31:58 +0100
committersterni <sternenseemann@systemli.org>2022-01-17 16:15:35 +0100
commit6afc3b137a34a56ce2e3e19d0cc1d45ddc77dacc (patch)
treee065fc1e0fa074de78404d6346f10c0159da156a
parentMerge pull request #153858 from NixOS/backport-153273-to-release-21.11 (diff)
downloadnixpkgs-6afc3b137a34a56ce2e3e19d0cc1d45ddc77dacc.tar.gz
release.nix: fix eval with aarch64-, but not x86_64-darwin supported
We emit a few jobs conditionally on supportDarwin which only checked for x86_64-darwin in the past. This change makes it more modular by transforming it into an attribute set which holds the two darwin arches. Jobs needing aarch64-darwin or x86_64-darwin are now only emitted if their respective platform is actually in supportedSystems. This issue was discovered because the staging-next-21.11 jobset had commented out x86_64-darwin (presumably due to a build load issue). (cherry picked from commit 533eb9866c6dfe56637f2f8c76fcca3c7b47f72f)
-rw-r--r--pkgs/top-level/release.nix13
1 files changed, 8 insertions, 5 deletions
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index fca5d3760942..1cf3b60a0f21 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -25,7 +25,10 @@ let
systemsWithAnySupport = supportedSystems ++ limitedSupportedSystems;
- supportDarwin = builtins.elem "x86_64-darwin" systemsWithAnySupport;
+ supportDarwin = lib.genAttrs [
+ "x86_64"
+ "aarch64"
+ ] (arch: builtins.elem "${arch}-darwin" systemsWithAnySupport);
jobs =
{ tarball = import ./make-tarball.nix { inherit pkgs nixpkgs officialRelease supportedSystems; };
@@ -36,7 +39,7 @@ let
lib-tests = import ../../lib/tests/release.nix { inherit pkgs; };
pkgs-lib-tests = import ../pkgs-lib/tests { inherit pkgs; };
- darwin-tested = if supportDarwin then pkgs.releaseTools.aggregate
+ darwin-tested = if supportDarwin.x86_64 then pkgs.releaseTools.aggregate
{ name = "nixpkgs-darwin-${jobs.tarball.version}";
meta.description = "Release-critical builds for the Nixpkgs darwin channel";
constituents =
@@ -128,7 +131,7 @@ let
*/
]
++ lib.collect lib.isDerivation jobs.stdenvBootstrapTools
- ++ lib.optionals supportDarwin [
+ ++ lib.optionals supportDarwin.x86_64 [
jobs.stdenv.x86_64-darwin
jobs.python.x86_64-darwin
jobs.python3.x86_64-darwin
@@ -167,7 +170,7 @@ let
dist test;
})
# darwin is special in this
- // optionalAttrs supportDarwin {
+ // optionalAttrs supportDarwin.x86_64 {
x86_64-darwin =
let
bootstrap = import ../stdenv/darwin/make-bootstrap-tools.nix { system = "x86_64-darwin"; };
@@ -178,7 +181,7 @@ let
# TODO re-enable with https://github.com/NixOS/nixpkgs/pull/126411
# inherit (bootstrap.test-pkgs) stdenv;
};
-
+ } // optionalAttrs supportDarwin.aarch64 {
# Cross compiled bootstrap tools
aarch64-darwin =
let