2013-03-26 10:02:29 +00:00
|
|
|
/* 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
|
2010-04-19 15:21:52 +01:00
|
|
|
*/
|
2020-03-29 19:57:50 +01:00
|
|
|
{ nixpkgs ? { outPath = (import ../../lib).cleanSource ../..; revCount = 1234; shortRev = "abcdef"; revision = "0000000000000000000000000000000000000000"; }
|
2013-03-26 10:57:44 +00:00
|
|
|
, officialRelease ? false
|
2017-08-03 13:09:30 +01:00
|
|
|
# The platforms for which we build Nixpkgs.
|
2017-08-06 09:53:26 +01:00
|
|
|
, supportedSystems ? [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" ]
|
2017-08-03 13:09:30 +01:00
|
|
|
, limitedSupportedSystems ? [ "i686-linux" ]
|
|
|
|
# Strip most of attributes when evaluating to spare memory usage
|
2020-02-10 15:25:33 +00:00
|
|
|
, scrubJobs ? true
|
2017-08-03 13:09:30 +01:00
|
|
|
# Attributes passed to nixpkgs. Don't build packages marked as unfree.
|
2020-02-10 15:25:33 +00:00
|
|
|
, nixpkgsArgs ? { config = { allowUnfree = false; inHydra = true; }; }
|
2013-03-26 10:57:44 +00:00
|
|
|
}:
|
|
|
|
|
2017-02-27 16:20:25 +00:00
|
|
|
with import ./release-lib.nix { inherit supportedSystems scrubJobs nixpkgsArgs; };
|
2008-11-28 10:56:36 +00:00
|
|
|
|
2013-03-26 10:57:44 +00:00
|
|
|
let
|
2017-08-03 13:09:30 +01:00
|
|
|
|
|
|
|
systemsWithAnySupport = supportedSystems ++ limitedSupportedSystems;
|
|
|
|
|
2022-01-11 10:31:58 +00:00
|
|
|
supportDarwin = lib.genAttrs [
|
|
|
|
"x86_64"
|
|
|
|
"aarch64"
|
|
|
|
] (arch: builtins.elem "${arch}-darwin" systemsWithAnySupport);
|
2018-07-04 16:21:33 +01:00
|
|
|
|
2022-07-26 22:22:27 +01:00
|
|
|
nonPackageJobs =
|
2021-05-31 15:12:17 +01:00
|
|
|
{ tarball = import ./make-tarball.nix { inherit pkgs nixpkgs officialRelease supportedSystems; };
|
2013-03-26 10:57:44 +00:00
|
|
|
|
2020-11-04 12:53:25 +00:00
|
|
|
metrics = import ./metrics.nix { inherit pkgs nixpkgs; };
|
2016-03-24 16:36:26 +00:00
|
|
|
|
2018-10-05 15:46:58 +01:00
|
|
|
manual = import ../../doc { inherit pkgs nixpkgs; };
|
2017-04-25 01:12:43 +01:00
|
|
|
lib-tests = import ../../lib/tests/release.nix { inherit pkgs; };
|
2020-03-26 01:54:23 +00:00
|
|
|
pkgs-lib-tests = import ../pkgs-lib/tests { inherit pkgs; };
|
2014-08-24 10:02:23 +01:00
|
|
|
|
2022-01-11 10:31:58 +00:00
|
|
|
darwin-tested = if supportDarwin.x86_64 then pkgs.releaseTools.aggregate
|
2017-04-10 17:29:11 +01:00
|
|
|
{ name = "nixpkgs-darwin-${jobs.tarball.version}";
|
|
|
|
meta.description = "Release-critical builds for the Nixpkgs darwin channel";
|
|
|
|
constituents =
|
|
|
|
[ jobs.tarball
|
|
|
|
jobs.cabal2nix.x86_64-darwin
|
2017-09-18 18:48:16 +01:00
|
|
|
jobs.ghc.x86_64-darwin
|
|
|
|
jobs.git.x86_64-darwin
|
|
|
|
jobs.go.x86_64-darwin
|
2018-05-01 16:36:29 +01:00
|
|
|
jobs.mariadb.x86_64-darwin
|
2017-09-18 18:48:16 +01:00
|
|
|
jobs.nix.x86_64-darwin
|
2020-01-08 14:47:09 +00:00
|
|
|
jobs.nixpkgs-review.x86_64-darwin
|
2017-10-13 23:50:50 +01:00
|
|
|
jobs.nix-info.x86_64-darwin
|
2017-10-17 14:51:51 +01:00
|
|
|
jobs.nix-info-tested.x86_64-darwin
|
2017-09-18 18:48:16 +01:00
|
|
|
jobs.openssh.x86_64-darwin
|
|
|
|
jobs.openssl.x86_64-darwin
|
2018-12-30 22:50:49 +00:00
|
|
|
jobs.pandoc.x86_64-darwin
|
2017-09-18 18:48:16 +01:00
|
|
|
jobs.postgresql.x86_64-darwin
|
|
|
|
jobs.python3.x86_64-darwin
|
|
|
|
jobs.ruby.x86_64-darwin
|
2017-04-10 17:29:11 +01:00
|
|
|
jobs.rustc.x86_64-darwin
|
2020-02-29 00:02:19 +00:00
|
|
|
# blocking ofBorg CI 2020-02-28
|
|
|
|
# jobs.stack.x86_64-darwin
|
2017-09-18 18:48:16 +01:00
|
|
|
jobs.stdenv.x86_64-darwin
|
|
|
|
jobs.vim.x86_64-darwin
|
2020-01-08 12:17:54 +00:00
|
|
|
jobs.cachix.x86_64-darwin
|
2017-09-18 18:48:16 +01:00
|
|
|
|
2018-07-11 21:48:47 +01:00
|
|
|
# UI apps
|
2019-03-09 01:06:22 +00:00
|
|
|
# jobs.firefox-unwrapped.x86_64-darwin
|
2018-07-11 21:48:47 +01:00
|
|
|
jobs.qt5.qtmultimedia.x86_64-darwin
|
|
|
|
jobs.inkscape.x86_64-darwin
|
2018-12-30 22:50:49 +00:00
|
|
|
jobs.gimp.x86_64-darwin
|
2018-07-11 21:48:47 +01:00
|
|
|
jobs.emacs.x86_64-darwin
|
2018-11-07 18:59:30 +00:00
|
|
|
jobs.wireshark.x86_64-darwin
|
2018-08-18 07:45:28 +01:00
|
|
|
jobs.transmission-gtk.x86_64-darwin
|
2018-07-11 21:48:47 +01:00
|
|
|
|
|
|
|
# Tests
|
2019-04-29 09:07:20 +01:00
|
|
|
/*
|
2017-09-18 18:48:16 +01:00
|
|
|
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
|
2017-08-03 23:18:59 +01:00
|
|
|
jobs.tests.macOSSierraShared.x86_64-darwin
|
2018-09-16 18:53:45 +01:00
|
|
|
jobs.tests.patch-shebangs.x86_64-darwin
|
2019-04-29 09:07:20 +01:00
|
|
|
*/
|
2017-04-10 17:29:11 +01:00
|
|
|
];
|
2018-07-04 16:21:33 +01:00
|
|
|
} else null;
|
2017-04-10 17:29:11 +01:00
|
|
|
|
2016-10-12 17:11:13 +01:00
|
|
|
unstable = pkgs.releaseTools.aggregate
|
|
|
|
{ name = "nixpkgs-${jobs.tarball.version}";
|
|
|
|
meta.description = "Release-critical builds for the Nixpkgs unstable channel";
|
|
|
|
constituents =
|
|
|
|
[ jobs.tarball
|
2021-09-27 15:33:23 +01:00
|
|
|
jobs.metrics
|
2016-10-12 17:11:13 +01:00
|
|
|
jobs.manual
|
2017-04-25 01:12:43 +01:00
|
|
|
jobs.lib-tests
|
2020-03-26 01:54:23 +00:00
|
|
|
jobs.pkgs-lib-tests
|
2016-10-12 17:11:13 +01:00
|
|
|
jobs.stdenv.x86_64-linux
|
2021-12-12 00:22:17 +00:00
|
|
|
jobs.cargo.x86_64-linux
|
|
|
|
jobs.go.x86_64-linux
|
2016-10-12 17:11:13 +01:00
|
|
|
jobs.linux.x86_64-linux
|
2018-12-30 22:50:49 +00:00
|
|
|
jobs.pandoc.x86_64-linux
|
2016-10-12 17:11:13 +01:00
|
|
|
jobs.python3.x86_64-linux
|
2020-01-08 14:47:09 +00:00
|
|
|
# Needed by contributors to test PRs (by inclusion of the PR template)
|
|
|
|
jobs.nixpkgs-review.x86_64-linux
|
2017-10-13 23:50:50 +01:00
|
|
|
# Needed for support
|
|
|
|
jobs.nix-info.x86_64-linux
|
2017-10-17 14:51:51 +01:00
|
|
|
jobs.nix-info-tested.x86_64-linux
|
2019-09-03 23:49:40 +01:00
|
|
|
# Ensure that X11/GTK are in order.
|
2022-05-26 14:45:38 +01:00
|
|
|
jobs.firefox-unwrapped.x86_64-linux
|
2020-01-08 12:17:54 +00:00
|
|
|
jobs.cachix.x86_64-linux
|
2017-09-18 18:48:16 +01:00
|
|
|
|
2019-04-29 09:07:20 +01:00
|
|
|
/*
|
2017-09-18 18:48:16 +01:00
|
|
|
jobs.tests.cc-wrapper.x86_64-linux
|
2018-05-02 20:19:28 +01:00
|
|
|
jobs.tests.cc-wrapper-gcc7.x86_64-linux
|
|
|
|
jobs.tests.cc-wrapper-gcc8.x86_64-linux
|
2018-05-11 02:10:06 +01:00
|
|
|
|
|
|
|
# broken see issue #40038
|
|
|
|
|
2017-09-18 18:48:16 +01:00
|
|
|
jobs.tests.cc-wrapper-clang.x86_64-linux
|
|
|
|
jobs.tests.cc-wrapper-libcxx.x86_64-linux
|
2018-02-19 04:37:38 +00:00
|
|
|
jobs.tests.cc-wrapper-clang-5.x86_64-linux
|
|
|
|
jobs.tests.cc-wrapper-libcxx-5.x86_64-linux
|
2018-02-19 19:01:42 +00:00
|
|
|
jobs.tests.cc-wrapper-clang-6.x86_64-linux
|
|
|
|
jobs.tests.cc-wrapper-libcxx-6.x86_64-linux
|
2017-11-30 19:10:41 +00:00
|
|
|
jobs.tests.cc-multilib-gcc.x86_64-linux
|
|
|
|
jobs.tests.cc-multilib-clang.x86_64-linux
|
2017-09-18 18:48:16 +01:00
|
|
|
jobs.tests.stdenv-inputs.x86_64-linux
|
2018-09-16 18:53:45 +01:00
|
|
|
jobs.tests.patch-shebangs.x86_64-linux
|
2019-04-29 09:07:20 +01:00
|
|
|
*/
|
2018-07-04 16:21:33 +01:00
|
|
|
]
|
2023-01-05 18:26:38 +00:00
|
|
|
# FIXME: reintroduce aarch64-darwin after this builds again
|
|
|
|
++ lib.collect lib.isDerivation (removeAttrs jobs.stdenvBootstrapTools [ "aarch64-darwin" ])
|
2022-01-11 10:31:58 +00:00
|
|
|
++ lib.optionals supportDarwin.x86_64 [
|
2018-07-04 16:21:33 +01:00
|
|
|
jobs.stdenv.x86_64-darwin
|
2021-12-12 00:22:17 +00:00
|
|
|
jobs.cargo.x86_64-darwin
|
2022-02-01 12:06:46 +00:00
|
|
|
jobs.cachix.x86_64-darwin
|
2021-12-12 00:22:17 +00:00
|
|
|
jobs.go.x86_64-darwin
|
2018-07-04 16:21:33 +01:00
|
|
|
jobs.python3.x86_64-darwin
|
2020-01-08 14:47:09 +00:00
|
|
|
jobs.nixpkgs-review.x86_64-darwin
|
2018-07-04 16:21:33 +01:00
|
|
|
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
|
2019-04-29 09:07:20 +01:00
|
|
|
/*
|
2018-07-04 16:21:33 +01:00
|
|
|
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
|
2017-09-18 18:48:16 +01:00
|
|
|
jobs.tests.stdenv-inputs.x86_64-darwin
|
|
|
|
jobs.tests.macOSSierraShared.x86_64-darwin
|
2018-09-16 18:53:45 +01:00
|
|
|
jobs.tests.patch-shebangs.x86_64-darwin
|
2019-04-29 09:07:20 +01:00
|
|
|
*/
|
2018-07-04 16:21:33 +01:00
|
|
|
];
|
2016-10-12 17:11:13 +01:00
|
|
|
};
|
2017-08-06 11:35:34 +01:00
|
|
|
|
|
|
|
stdenvBootstrapTools = with lib;
|
|
|
|
genAttrs systemsWithAnySupport
|
|
|
|
(system: {
|
2017-06-26 21:56:03 +01:00
|
|
|
inherit
|
|
|
|
(import ../stdenv/linux/make-bootstrap-tools.nix {
|
2022-07-27 05:04:24 +01:00
|
|
|
pkgs = import ../.. {
|
|
|
|
localSystem = { inherit system; };
|
|
|
|
};
|
2017-06-26 21:56:03 +01:00
|
|
|
})
|
2017-08-06 11:35:34 +01:00
|
|
|
dist test;
|
|
|
|
})
|
|
|
|
# darwin is special in this
|
2022-01-11 10:31:58 +00:00
|
|
|
// optionalAttrs supportDarwin.x86_64 {
|
2017-08-06 11:35:34 +01:00
|
|
|
x86_64-darwin =
|
|
|
|
let
|
2022-07-27 05:04:24 +01:00
|
|
|
bootstrap = import ../stdenv/darwin/make-bootstrap-tools.nix {
|
|
|
|
localSystem = { system = "x86_64-darwin"; };
|
|
|
|
};
|
2017-08-06 11:35:34 +01:00
|
|
|
in {
|
|
|
|
# Lightweight distribution and test
|
|
|
|
inherit (bootstrap) dist test;
|
|
|
|
# Test a full stdenv bootstrap from the bootstrap tools definition
|
2021-10-22 17:29:23 +01:00
|
|
|
inherit (bootstrap.test-pkgs) stdenv;
|
2017-08-06 11:35:34 +01:00
|
|
|
};
|
2022-01-11 10:31:58 +00:00
|
|
|
} // optionalAttrs supportDarwin.aarch64 {
|
2021-04-28 09:21:54 +01:00
|
|
|
# Cross compiled bootstrap tools
|
|
|
|
aarch64-darwin =
|
|
|
|
let
|
2022-07-27 05:04:24 +01:00
|
|
|
bootstrap = import ../stdenv/darwin/make-bootstrap-tools.nix {
|
|
|
|
localSystem = { system = "x86_64-darwin"; };
|
|
|
|
crossSystem = { system = "aarch64-darwin"; };
|
|
|
|
};
|
2021-04-28 09:21:54 +01:00
|
|
|
in {
|
|
|
|
# Distribution only for now
|
|
|
|
inherit (bootstrap) dist;
|
|
|
|
};
|
2017-08-06 11:35:34 +01:00
|
|
|
};
|
|
|
|
|
2022-07-26 22:22:27 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
# Do not allow attribute collision between jobs inserted in
|
|
|
|
# 'nonPackageAttrs' and jobs pulled in from 'pkgs'.
|
|
|
|
# Conflicts usually cause silent job drops like in
|
|
|
|
# https://github.com/NixOS/nixpkgs/pull/182058
|
|
|
|
jobs = lib.attrsets.unionOfDisjoint
|
|
|
|
nonPackageJobs
|
|
|
|
(mapTestOn ((packagePlatforms pkgs) // {
|
2015-09-15 10:46:20 +01:00
|
|
|
haskell.compiler = packagePlatforms pkgs.haskell.compiler;
|
2015-05-29 10:25:26 +01:00
|
|
|
haskellPackages = packagePlatforms pkgs.haskellPackages;
|
2018-07-13 00:07:32 +01:00
|
|
|
idrisPackages = packagePlatforms pkgs.idrisPackages;
|
2019-12-29 12:14:16 +00:00
|
|
|
agdaPackages = packagePlatforms pkgs.agdaPackages;
|
2011-08-06 11:28:24 +01:00
|
|
|
|
2021-08-01 17:19:11 +01:00
|
|
|
pkgsLLVM.stdenv = [ "x86_64-linux" "aarch64-linux" ];
|
2020-06-05 07:04:09 +01:00
|
|
|
pkgsMusl.stdenv = [ "x86_64-linux" "aarch64-linux" ];
|
|
|
|
pkgsStatic.stdenv = [ "x86_64-linux" "aarch64-linux" ];
|
|
|
|
|
2020-01-17 15:48:42 +00:00
|
|
|
tests = packagePlatforms pkgs.tests;
|
|
|
|
|
2016-08-28 17:18:44 +01:00
|
|
|
# Language packages disabled in https://github.com/NixOS/nixpkgs/commit/ccd1029f58a3bb9eca32d81bf3f33cb4be25cc66
|
2015-11-24 09:14:16 +00:00
|
|
|
|
2019-08-07 23:52:22 +01:00
|
|
|
#emacsPackages = packagePlatforms pkgs.emacsPackages;
|
2016-08-28 17:18:44 +01:00
|
|
|
#rPackages = packagePlatforms pkgs.rPackages;
|
2016-02-10 12:50:31 +00:00
|
|
|
ocamlPackages = { };
|
|
|
|
perlPackages = { };
|
2017-05-07 20:35:43 +01:00
|
|
|
|
2017-08-17 22:12:51 +01:00
|
|
|
darwin = packagePlatforms pkgs.darwin // {
|
|
|
|
cf-private = {};
|
|
|
|
xcode = {};
|
|
|
|
};
|
2015-02-25 18:27:23 +00:00
|
|
|
} ));
|
2010-08-10 01:09:29 +01:00
|
|
|
|
2013-03-26 10:57:44 +00:00
|
|
|
in jobs
|