summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2018-07-04 17:21:33 +0200
committerEelco Dolstra <edolstra@gmail.com>2018-07-04 17:53:02 +0200
commit8d4068d9d16178d1454b9219d6319bf755c98dd3 (patch)
tree8f51b11aa7a4fbc10dd4a4cb918ab5ea393c9f6b
parent67d0a57ef9eedde69192e08db77751c1c1062e0e (diff)
downloadnixpkgs-8d4068d9d16178d1454b9219d6319bf755c98dd3.tar
nixpkgs-8d4068d9d16178d1454b9219d6319bf755c98dd3.tar.gz
nixpkgs-8d4068d9d16178d1454b9219d6319bf755c98dd3.tar.bz2
nixpkgs-8d4068d9d16178d1454b9219d6319bf755c98dd3.tar.lz
nixpkgs-8d4068d9d16178d1454b9219d6319bf755c98dd3.tar.xz
nixpkgs-8d4068d9d16178d1454b9219d6319bf755c98dd3.tar.zst
nixpkgs-8d4068d9d16178d1454b9219d6319bf755c98dd3.zip
pkgs/top-level/release.nix: Don't require Darwin to be supported
-rw-r--r--maintainers/scripts/all-tarballs.nix8
-rw-r--r--pkgs/top-level/make-tarball.nix4
-rw-r--r--pkgs/top-level/release.nix63
3 files changed, 38 insertions, 37 deletions
diff --git a/maintainers/scripts/all-tarballs.nix b/maintainers/scripts/all-tarballs.nix
index d981a1fa7db..6a4de8a4b95 100644
--- a/maintainers/scripts/all-tarballs.nix
+++ b/maintainers/scripts/all-tarballs.nix
@@ -6,13 +6,11 @@
    $ copy-tarballs.pl --expr 'import <nixpkgs/maintainers/scripts/all-tarballs.nix>'
 */
 
-removeAttrs (import ../../pkgs/top-level/release.nix
+import ../../pkgs/top-level/release.nix
   { # Don't apply ‘hydraJob’ to jobs, because then we can't get to the
     # dependency graph.
     scrubJobs = false;
     # No need to evaluate on i686.
     supportedSystems = [ "x86_64-linux" ];
-  })
-  [ # Remove jobs whose evaluation depends on a writable Nix store.
-    "tarball" "unstable" "darwin-tested"
-  ]
+    limitedSupportedSystems = [];
+  }
diff --git a/pkgs/top-level/make-tarball.nix b/pkgs/top-level/make-tarball.nix
index ccd7b89fc12..f7f128547ba 100644
--- a/pkgs/top-level/make-tarball.nix
+++ b/pkgs/top-level/make-tarball.nix
@@ -42,7 +42,7 @@ releaseTools.sourceTarball rec {
 
     echo 'abort "Illegal use of <nixpkgs> in Nixpkgs."' > $TMPDIR/barf.nix
 
-    # Make sure that Nixpkgs does not use <nixpkgs>
+    # Make sure that Nixpkgs does not use <nixpkgs>.
     badFiles=$(find pkgs -type f -name '*.nix' -print | xargs grep -l '^[^#]*<nixpkgs\/' || true)
     if [[ -n $badFiles ]]; then
         echo "Nixpkgs is not allowed to use <nixpkgs> to refer to itself."
@@ -101,7 +101,7 @@ releaseTools.sourceTarball rec {
     stopNest
 
     header "checking find-tarballs.nix"
-    nix-instantiate --eval --strict --show-trace --json \
+    nix-instantiate --readonly-mode --eval --strict --show-trace --json \
        ./maintainers/scripts/find-tarballs.nix \
       --arg expr 'import ./maintainers/scripts/all-tarballs.nix' > $TMPDIR/tarballs.json
     nrUrls=$(jq -r '.[].url' < $TMPDIR/tarballs.json | wc -l)
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index ca4c8ce83f3..4b8d10a48eb 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -29,6 +29,8 @@ let
 
   systemsWithAnySupport = supportedSystems ++ limitedSupportedSystems;
 
+  supportDarwin = builtins.elem "x86_64-darwin" systemsWithAnySupport;
+
   jobs =
     { tarball = import ./make-tarball.nix { inherit pkgs nixpkgs officialRelease; };
 
@@ -37,7 +39,7 @@ let
       manual = import ../../doc;
       lib-tests = import ../../lib/tests/release.nix { inherit pkgs; };
 
-      darwin-tested = pkgs.releaseTools.aggregate
+      darwin-tested = if supportDarwin then pkgs.releaseTools.aggregate
         { name = "nixpkgs-darwin-${jobs.tarball.version}";
           meta.description = "Release-critical builds for the Nixpkgs darwin channel";
           constituents =
@@ -70,7 +72,7 @@ let
               jobs.tests.stdenv-inputs.x86_64-darwin
               jobs.tests.macOSSierraShared.x86_64-darwin
             ];
-        };
+        } else null;
 
       unstable = pkgs.releaseTools.aggregate
         { name = "nixpkgs-${jobs.tarball.version}";
@@ -81,65 +83,66 @@ let
               jobs.manual
               jobs.lib-tests
               jobs.stdenv.x86_64-linux
-              jobs.stdenv.x86_64-darwin
               jobs.linux.x86_64-linux
               jobs.python.x86_64-linux
-              jobs.python.x86_64-darwin
               jobs.python3.x86_64-linux
-              jobs.python3.x86_64-darwin
               # Needed by travis-ci to test PRs
               jobs.nox.x86_64-linux
-              jobs.nox.x86_64-darwin
               # Needed for support
               jobs.nix-info.x86_64-linux
-              jobs.nix-info.x86_64-darwin
               jobs.nix-info-tested.x86_64-linux
-              jobs.nix-info-tested.x86_64-darwin
               # Ensure that X11/GTK+ are in order.
               jobs.thunderbird.x86_64-linux
-              # Ensure that basic stuff works on darwin
-              jobs.git.x86_64-darwin
-              jobs.mariadb.x86_64-darwin
-              jobs.vim.x86_64-darwin
-              # Ensure that UI stuff works on darwin
-              jobs.inkscape.x86_64-darwin
-              jobs.qt5.qtmultimedia.x86_64-darwin
 
               jobs.tests.cc-wrapper.x86_64-linux
-              jobs.tests.cc-wrapper.x86_64-darwin
               jobs.tests.cc-wrapper-gcc7.x86_64-linux
-              jobs.tests.cc-wrapper-gcc7.x86_64-darwin
               jobs.tests.cc-wrapper-gcc8.x86_64-linux
 
               # broken see issue #40038
-              # jobs.tests.cc-wrapper-gcc8.x86_64-darwin
 
               jobs.tests.cc-wrapper-clang.x86_64-linux
-              jobs.tests.cc-wrapper-clang.x86_64-darwin
               jobs.tests.cc-wrapper-libcxx.x86_64-linux
-              jobs.tests.cc-wrapper-libcxx.x86_64-darwin
               jobs.tests.cc-wrapper-clang-39.x86_64-linux
-              jobs.tests.cc-wrapper-clang-39.x86_64-darwin
               jobs.tests.cc-wrapper-libcxx-39.x86_64-linux
-              jobs.tests.cc-wrapper-libcxx-39.x86_64-darwin
               jobs.tests.cc-wrapper-clang-4.x86_64-linux
-              jobs.tests.cc-wrapper-clang-4.x86_64-darwin
               jobs.tests.cc-wrapper-libcxx-4.x86_64-linux
-              jobs.tests.cc-wrapper-libcxx-4.x86_64-darwin
               jobs.tests.cc-wrapper-clang-5.x86_64-linux
-              jobs.tests.cc-wrapper-clang-5.x86_64-darwin
               jobs.tests.cc-wrapper-libcxx-5.x86_64-linux
-              jobs.tests.cc-wrapper-libcxx-6.x86_64-darwin
               jobs.tests.cc-wrapper-clang-6.x86_64-linux
-              jobs.tests.cc-wrapper-clang-6.x86_64-darwin
               jobs.tests.cc-wrapper-libcxx-6.x86_64-linux
-              jobs.tests.cc-wrapper-libcxx-6.x86_64-darwin
               jobs.tests.cc-multilib-gcc.x86_64-linux
               jobs.tests.cc-multilib-clang.x86_64-linux
               jobs.tests.stdenv-inputs.x86_64-linux
+            ]
+            ++ lib.collect lib.isDerivation jobs.stdenvBootstrapTools
+            ++ lib.optionals supportDarwin [
+              jobs.stdenv.x86_64-darwin
+              jobs.python.x86_64-darwin
+              jobs.python3.x86_64-darwin
+              jobs.nox.x86_64-darwin
+              jobs.nix-info.x86_64-darwin
+              jobs.nix-info-tested.x86_64-darwin
+              jobs.git.x86_64-darwin
+              jobs.mariadb.x86_64-darwin
+              jobs.vim.x86_64-darwin
+              jobs.inkscape.x86_64-darwin
+              jobs.qt5.qtmultimedia.x86_64-darwin
+              jobs.tests.cc-wrapper.x86_64-darwin
+              jobs.tests.cc-wrapper-gcc7.x86_64-darwin
+              # jobs.tests.cc-wrapper-gcc8.x86_64-darwin
+              jobs.tests.cc-wrapper-clang.x86_64-darwin
+              jobs.tests.cc-wrapper-libcxx.x86_64-darwin
+              jobs.tests.cc-wrapper-clang-39.x86_64-darwin
+              jobs.tests.cc-wrapper-libcxx-39.x86_64-darwin
+              jobs.tests.cc-wrapper-clang-4.x86_64-darwin
+              jobs.tests.cc-wrapper-libcxx-4.x86_64-darwin
+              jobs.tests.cc-wrapper-clang-5.x86_64-darwin
+              jobs.tests.cc-wrapper-libcxx-6.x86_64-darwin
+              jobs.tests.cc-wrapper-clang-6.x86_64-darwin
+              jobs.tests.cc-wrapper-libcxx-6.x86_64-darwin
               jobs.tests.stdenv-inputs.x86_64-darwin
               jobs.tests.macOSSierraShared.x86_64-darwin
-            ] ++ lib.collect lib.isDerivation jobs.stdenvBootstrapTools;
+            ];
         };
 
       stdenvBootstrapTools = with lib;
@@ -152,7 +155,7 @@ let
               dist test;
           })
         # darwin is special in this
-        // optionalAttrs (builtins.elem "x86_64-darwin" systemsWithAnySupport) {
+        // optionalAttrs supportDarwin {
           x86_64-darwin =
             let
               bootstrap = import ../stdenv/darwin/make-bootstrap-tools.nix { system = "x86_64-darwin"; };