summary refs log tree commit diff
path: root/pkgs/top-level/release.nix
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2022-05-31 09:59:33 +0000
committerAlyssa Ross <hi@alyssa.is>2022-05-31 09:59:57 +0000
commit9ff36293d1e428cd7bf03e8d4b03611b6d361c28 (patch)
tree1ab51a42b868c55b83f6ccdb80371b9888739dd9 /pkgs/top-level/release.nix
parent1c4fcd0d4b0541e674ee56ace1053e23e562cc80 (diff)
parentddc3c396a51918043bb0faa6f676abd9562be62c (diff)
downloadnixpkgs-archive.tar
nixpkgs-archive.tar.gz
nixpkgs-archive.tar.bz2
nixpkgs-archive.tar.lz
nixpkgs-archive.tar.xz
nixpkgs-archive.tar.zst
nixpkgs-archive.zip
Last good Nixpkgs for Weston+nouveau? archive
I came this commit hash to terwiz[m] on IRC, who is trying to figure out
what the last version of Spectrum that worked on their NUC with Nvidia
graphics is.
Diffstat (limited to 'pkgs/top-level/release.nix')
-rw-r--r--pkgs/top-level/release.nix224
1 files changed, 224 insertions, 0 deletions
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
new file mode 100644
index 00000000000..0c759095f56
--- /dev/null
+++ b/pkgs/top-level/release.nix
@@ -0,0 +1,224 @@
+/* This file defines the builds that constitute the Nixpkgs.
+   Everything defined here ends up in the Nixpkgs channel.  Individual
+   jobs can be tested by running:
+
+   $ nix-build pkgs/top-level/release.nix -A <jobname>.<system>
+
+   e.g.
+
+   $ nix-build pkgs/top-level/release.nix -A coreutils.x86_64-linux
+*/
+{ 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" ]
+, limitedSupportedSystems ? [ "i686-linux" ]
+  # Strip most of attributes when evaluating to spare memory usage
+, scrubJobs ? true
+  # Attributes passed to nixpkgs. Don't build packages marked as unfree.
+, nixpkgsArgs ? { config = { allowUnfree = false; inHydra = true; }; }
+}:
+
+with import ./release-lib.nix { inherit supportedSystems scrubJobs nixpkgsArgs; };
+
+let
+
+  systemsWithAnySupport = supportedSystems ++ limitedSupportedSystems;
+
+  supportDarwin = lib.genAttrs [
+    "x86_64"
+    "aarch64"
+  ] (arch: builtins.elem "${arch}-darwin" systemsWithAnySupport);
+
+  jobs =
+    { tarball = import ./make-tarball.nix { inherit pkgs nixpkgs officialRelease supportedSystems; };
+
+      metrics = import ./metrics.nix { inherit pkgs nixpkgs; };
+
+      manual = import ../../doc { inherit pkgs nixpkgs; };
+      lib-tests = import ../../lib/tests/release.nix { inherit pkgs; };
+      pkgs-lib-tests = import ../pkgs-lib/tests { inherit pkgs; };
+
+      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 =
+            [ jobs.tarball
+              jobs.cabal2nix.x86_64-darwin
+              jobs.ghc.x86_64-darwin
+              jobs.git.x86_64-darwin
+              jobs.go.x86_64-darwin
+              jobs.mariadb.x86_64-darwin
+              jobs.nix.x86_64-darwin
+              jobs.nixpkgs-review.x86_64-darwin
+              jobs.nix-info.x86_64-darwin
+              jobs.nix-info-tested.x86_64-darwin
+              jobs.openssh.x86_64-darwin
+              jobs.openssl.x86_64-darwin
+              jobs.pandoc.x86_64-darwin
+              jobs.postgresql.x86_64-darwin
+              jobs.python2.x86_64-darwin
+              jobs.python3.x86_64-darwin
+              jobs.ruby.x86_64-darwin
+              jobs.rustc.x86_64-darwin
+              # blocking ofBorg CI 2020-02-28
+              # jobs.stack.x86_64-darwin
+              jobs.stdenv.x86_64-darwin
+              jobs.vim.x86_64-darwin
+              jobs.cachix.x86_64-darwin
+
+              # UI apps
+              # jobs.firefox-unwrapped.x86_64-darwin
+              jobs.qt5.qtmultimedia.x86_64-darwin
+              jobs.inkscape.x86_64-darwin
+              jobs.gimp.x86_64-darwin
+              jobs.emacs.x86_64-darwin
+              jobs.wireshark.x86_64-darwin
+              jobs.transmission-gtk.x86_64-darwin
+
+              # Tests
+              /*
+              jobs.tests.cc-wrapper.x86_64-darwin
+              jobs.tests.cc-wrapper-clang.x86_64-darwin
+              jobs.tests.cc-wrapper-libcxx.x86_64-darwin
+              jobs.tests.stdenv-inputs.x86_64-darwin
+              jobs.tests.macOSSierraShared.x86_64-darwin
+              jobs.tests.patch-shebangs.x86_64-darwin
+              */
+            ];
+        } else null;
+
+      unstable = pkgs.releaseTools.aggregate
+        { name = "nixpkgs-${jobs.tarball.version}";
+          meta.description = "Release-critical builds for the Nixpkgs unstable channel";
+          constituents =
+            [ jobs.tarball
+              jobs.metrics
+              jobs.manual
+              jobs.lib-tests
+              jobs.pkgs-lib-tests
+              jobs.stdenv.x86_64-linux
+              jobs.cargo.x86_64-linux
+              jobs.go.x86_64-linux
+              jobs.linux.x86_64-linux
+              jobs.pandoc.x86_64-linux
+              jobs.python2.x86_64-linux
+              jobs.python3.x86_64-linux
+              # Needed by contributors to test PRs (by inclusion of the PR template)
+              jobs.nixpkgs-review.x86_64-linux
+              # Needed for support
+              jobs.nix-info.x86_64-linux
+              jobs.nix-info-tested.x86_64-linux
+              # Ensure that X11/GTK are in order.
+              jobs.thunderbird-unwrapped.x86_64-linux
+              jobs.cachix.x86_64-linux
+
+              /*
+              jobs.tests.cc-wrapper.x86_64-linux
+              jobs.tests.cc-wrapper-gcc7.x86_64-linux
+              jobs.tests.cc-wrapper-gcc8.x86_64-linux
+
+              # broken see issue #40038
+
+              jobs.tests.cc-wrapper-clang.x86_64-linux
+              jobs.tests.cc-wrapper-libcxx.x86_64-linux
+              jobs.tests.cc-wrapper-clang-5.x86_64-linux
+              jobs.tests.cc-wrapper-libcxx-5.x86_64-linux
+              jobs.tests.cc-wrapper-clang-6.x86_64-linux
+              jobs.tests.cc-wrapper-libcxx-6.x86_64-linux
+              jobs.tests.cc-multilib-gcc.x86_64-linux
+              jobs.tests.cc-multilib-clang.x86_64-linux
+              jobs.tests.stdenv-inputs.x86_64-linux
+              jobs.tests.patch-shebangs.x86_64-linux
+              */
+            ]
+            ++ lib.collect lib.isDerivation jobs.stdenvBootstrapTools
+            ++ lib.optionals supportDarwin.x86_64 [
+              jobs.stdenv.x86_64-darwin
+              jobs.cargo.x86_64-darwin
+              jobs.cachix.x86_64-darwin
+              jobs.go.x86_64-darwin
+              jobs.python2.x86_64-darwin
+              jobs.python3.x86_64-darwin
+              jobs.nixpkgs-review.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-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
+              jobs.tests.patch-shebangs.x86_64-darwin
+              */
+            ];
+        };
+
+      stdenvBootstrapTools = with lib;
+        genAttrs systemsWithAnySupport
+          (system: {
+            inherit
+              (import ../stdenv/linux/make-bootstrap-tools.nix {
+                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 { 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 =
+            let
+              bootstrap = import ../stdenv/darwin/make-bootstrap-tools.nix { system = "x86_64-darwin"; crossSystem = "aarch64-darwin"; };
+            in {
+              # Distribution only for now
+              inherit (bootstrap) dist;
+            };
+          };
+
+    } // (mapTestOn ((packagePlatforms pkgs) // {
+      haskell.compiler = packagePlatforms pkgs.haskell.compiler;
+      haskellPackages = packagePlatforms pkgs.haskellPackages;
+      idrisPackages = packagePlatforms pkgs.idrisPackages;
+      agdaPackages = packagePlatforms pkgs.agdaPackages;
+
+      pkgsLLVM.stdenv = [ "x86_64-linux" "aarch64-linux" ];
+      pkgsMusl.stdenv = [ "x86_64-linux" "aarch64-linux" ];
+      pkgsStatic.stdenv = [ "x86_64-linux" "aarch64-linux" ];
+
+      tests = packagePlatforms pkgs.tests;
+
+      # Language packages disabled in https://github.com/NixOS/nixpkgs/commit/ccd1029f58a3bb9eca32d81bf3f33cb4be25cc66
+
+      #emacsPackages = packagePlatforms pkgs.emacsPackages;
+      #rPackages = packagePlatforms pkgs.rPackages;
+      ocamlPackages = { };
+      perlPackages = { };
+
+      darwin = packagePlatforms pkgs.darwin // {
+        cf-private = {};
+        xcode = {};
+      };
+    } ));
+
+in jobs