about summary refs log tree commit diff
path: root/pkgs/top-level/release.nix
diff options
context:
space:
mode:
authorStéphan Kochen <git@stephank.nl>2023-01-01 20:24:02 +0100
committerStéphan Kochen <git@stephank.nl>2023-02-11 20:11:55 +0100
commitc3693fbfd5a3f17db8be11cd3dba80481e7813c7 (patch)
treec7674be10abccb19c9d720c47b6dc116007e5f4e /pkgs/top-level/release.nix
parent487e2955f8d0540d4230ba1a740d705d25a577c3 (diff)
stdenvBootstrapTools: native aarch64-darwin build
Diffstat (limited to 'pkgs/top-level/release.nix')
-rw-r--r--pkgs/top-level/release.nix47
1 files changed, 18 insertions, 29 deletions
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 374a308ac1417..407ec2c3a0ed1 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -11,7 +11,7 @@
 { nixpkgs ? { outPath = (import ../../lib).cleanSource ../..; revCount = 1234; shortRev = "abcdef"; revision = "0000000000000000000000000000000000000000"; }
 , officialRelease ? false
   # The platforms for which we build Nixpkgs.
-, supportedSystems ? [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" ]
+, supportedSystems ? [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]
 , limitedSupportedSystems ? [ "i686-linux" ]
   # Strip most of attributes when evaluating to spare memory usage
 , scrubJobs ? true
@@ -164,44 +164,33 @@ let
         };
 
       stdenvBootstrapTools = with lib;
-        genAttrs systemsWithAnySupport
-          (system: {
-            inherit
-              (import ../stdenv/linux/make-bootstrap-tools.nix {
+        genAttrs systemsWithAnySupport (system:
+          if hasSuffix "-linux" system then
+            let
+              bootstrap = import ../stdenv/linux/make-bootstrap-tools.nix {
                 pkgs = import ../.. {
                   localSystem = { inherit system; };
                 };
-              })
-              dist test;
-          })
-        # darwin is special in this
-        // optionalAttrs supportDarwin.x86_64 {
-          x86_64-darwin =
-            let
-              bootstrap = import ../stdenv/darwin/make-bootstrap-tools.nix {
-                localSystem = { system = "x86_64-darwin"; };
               };
             in {
-              # Lightweight distribution and test
               inherit (bootstrap) dist test;
-              # Test a full stdenv bootstrap from the bootstrap tools definition
-              inherit (bootstrap.test-pkgs) stdenv;
-            };
-        } // optionalAttrs supportDarwin.aarch64 {
-          # Cross compiled bootstrap tools
-          aarch64-darwin =
+            }
+          else if hasSuffix "-darwin" system then
             let
               bootstrap = import ../stdenv/darwin/make-bootstrap-tools.nix {
-                localSystem = { system = "x86_64-darwin"; };
-                crossSystem = { system = "aarch64-darwin"; };
+                localSystem = { inherit system; };
               };
             in {
-              # Distribution only for now
-              inherit (bootstrap) dist;
-            };
-          };
-
-       };
+              # Lightweight distribution and test
+              inherit (bootstrap) dist test;
+              # Test a full stdenv bootstrap from the bootstrap tools definition
+              # TODO: Re-enable once the new bootstrap-tools are in place.
+              #inherit (bootstrap.test-pkgs) stdenv;
+            }
+          else
+            abort "No bootstrap implementation for system: ${system}"
+        );
+    };
 
   # Do not allow attribute collision between jobs inserted in
   # 'nonPackageAttrs' and jobs pulled in from 'pkgs'.