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
|
|
|
*/
|
2013-03-26 10:02:29 +00:00
|
|
|
|
2016-06-22 09:39:50 +01:00
|
|
|
{ nixpkgs ? { outPath = (import ../.. {}).lib.cleanSource ../..; revCount = 1234; shortRev = "abcdef"; }
|
2013-03-26 10:57:44 +00:00
|
|
|
, officialRelease ? false
|
2017-01-14 19:25:01 +00:00
|
|
|
, # The platforms for which we build Nixpkgs.
|
2017-03-08 14:08:31 +00:00
|
|
|
supportedSystems ? [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" ]
|
2017-01-14 19:25:01 +00:00
|
|
|
, # Strip most of attributes when evaluating to spare memory usage
|
|
|
|
scrubJobs ? true
|
2017-02-27 16:20:25 +00:00
|
|
|
, # Attributes passed to nixpkgs. Don't build packages marked as unfree.
|
|
|
|
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
|
|
|
|
|
2015-10-23 12:04:10 +01:00
|
|
|
lib = pkgs.lib;
|
|
|
|
|
2013-03-26 10:57:44 +00:00
|
|
|
jobs =
|
2016-10-12 17:11:13 +01:00
|
|
|
{ tarball = import ./make-tarball.nix { inherit pkgs nixpkgs officialRelease; };
|
2013-03-26 10:57:44 +00:00
|
|
|
|
2016-03-24 16:36:26 +00:00
|
|
|
metrics = import ./metrics.nix { inherit pkgs nixpkgs; };
|
|
|
|
|
2014-08-24 10:02:23 +01:00
|
|
|
manual = import ../../doc;
|
2015-04-29 10:27:30 +01:00
|
|
|
lib-tests = import ../../lib/tests/release.nix { inherit nixpkgs; };
|
2014-08-24 10:02:23 +01:00
|
|
|
|
2017-04-10 17:29:11 +01:00
|
|
|
darwin-tested = pkgs.releaseTools.aggregate
|
|
|
|
{ name = "nixpkgs-darwin-${jobs.tarball.version}";
|
|
|
|
meta.description = "Release-critical builds for the Nixpkgs darwin channel";
|
|
|
|
constituents =
|
|
|
|
[ jobs.tarball
|
|
|
|
jobs.stdenv.x86_64-darwin
|
|
|
|
jobs.ghc.x86_64-darwin
|
|
|
|
jobs.cabal2nix.x86_64-darwin
|
|
|
|
jobs.ruby.x86_64-darwin
|
|
|
|
jobs.python.x86_64-darwin
|
|
|
|
jobs.rustc.x86_64-darwin
|
|
|
|
jobs.go.x86_64-darwin
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
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
|
|
|
|
jobs.metrics
|
|
|
|
jobs.manual
|
|
|
|
jobs.lib-tests
|
|
|
|
jobs.stdenv.x86_64-linux
|
|
|
|
jobs.stdenv.i686-linux
|
|
|
|
jobs.stdenv.x86_64-darwin
|
|
|
|
jobs.linux.x86_64-linux
|
|
|
|
jobs.linux.i686-linux
|
|
|
|
jobs.python.x86_64-linux
|
|
|
|
jobs.python.i686-linux
|
|
|
|
jobs.python.x86_64-darwin
|
|
|
|
jobs.python3.x86_64-linux
|
|
|
|
jobs.python3.i686-linux
|
|
|
|
jobs.python3.x86_64-darwin
|
|
|
|
# Many developers use nix-repl
|
|
|
|
jobs.nix-repl.x86_64-linux
|
|
|
|
jobs.nix-repl.i686-linux
|
|
|
|
jobs.nix-repl.x86_64-darwin
|
|
|
|
# Needed by travis-ci to test PRs
|
|
|
|
jobs.nox.i686-linux
|
|
|
|
jobs.nox.x86_64-linux
|
|
|
|
jobs.nox.x86_64-darwin
|
|
|
|
# Ensure that X11/GTK+ are in order.
|
|
|
|
jobs.thunderbird.x86_64-linux
|
|
|
|
jobs.thunderbird.i686-linux
|
|
|
|
# Ensure that basic stuff works on darwin
|
|
|
|
jobs.git.x86_64-darwin
|
|
|
|
jobs.mysql.x86_64-darwin
|
|
|
|
jobs.vim.x86_64-darwin
|
|
|
|
] ++ lib.collect lib.isDerivation jobs.stdenvBootstrapTools;
|
|
|
|
};
|
2017-01-18 13:54:08 +00:00
|
|
|
} // (lib.optionalAttrs (builtins.elem "i686-linux" supportedSystems) {
|
2015-10-23 12:04:10 +01:00
|
|
|
stdenvBootstrapTools.i686-linux =
|
|
|
|
{ inherit (import ../stdenv/linux/make-bootstrap-tools.nix { system = "i686-linux"; }) dist test; };
|
2017-01-18 13:54:08 +00:00
|
|
|
}) // (lib.optionalAttrs (builtins.elem "x86_64-linux" supportedSystems) {
|
2015-10-23 12:04:10 +01:00
|
|
|
stdenvBootstrapTools.x86_64-linux =
|
|
|
|
{ inherit (import ../stdenv/linux/make-bootstrap-tools.nix { system = "x86_64-linux"; }) dist test; };
|
2017-03-08 14:08:31 +00:00
|
|
|
}) // (lib.optionalAttrs (builtins.elem "aarch64-linux" supportedSystems) {
|
|
|
|
stdenvBootstrapTools.aarch64-linux =
|
|
|
|
{ inherit (import ../stdenv/linux/make-bootstrap-tools.nix { system = "aarch64-linux"; }) dist test; };
|
2017-01-18 13:54:08 +00:00
|
|
|
}) // (lib.optionalAttrs (builtins.elem "x86_64-darwin" supportedSystems) {
|
2015-10-23 12:04:10 +01:00
|
|
|
stdenvBootstrapTools.x86_64-darwin =
|
2016-01-06 12:25:05 +00:00
|
|
|
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;
|
|
|
|
};
|
2017-01-18 13:54:08 +00:00
|
|
|
}) // (mapTestOn ((packagePlatforms pkgs) // rec {
|
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;
|
2011-08-06 11:28:24 +01:00
|
|
|
|
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
|
|
|
|
2016-09-18 12:34:28 +01:00
|
|
|
#emacsPackagesNg = packagePlatforms pkgs.emacsPackagesNg;
|
2016-08-28 17:18:44 +01:00
|
|
|
#rPackages = packagePlatforms pkgs.rPackages;
|
2016-02-10 12:50:31 +00:00
|
|
|
ocamlPackages = { };
|
|
|
|
perlPackages = { };
|
2016-05-10 16:15:12 +01:00
|
|
|
pythonPackages = {
|
|
|
|
pandas = unix;
|
2016-05-11 11:35:51 +01:00
|
|
|
scikitlearn = unix;
|
2016-05-10 16:15:12 +01:00
|
|
|
};
|
2016-02-10 12:50:31 +00:00
|
|
|
python2Packages = { };
|
|
|
|
python27Packages = { };
|
|
|
|
python3Packages = { };
|
2016-05-19 11:05:39 +01:00
|
|
|
python35Packages = {
|
|
|
|
blaze = unix;
|
|
|
|
pandas = unix;
|
|
|
|
scikitlearn = unix;
|
|
|
|
};
|
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
|