nixos,nixpkgs: only build essentials on i686

This commit is contained in:
Graham Christensen 2017-08-03 08:09:30 -04:00 committed by Robin Gloster
parent eb7312ca7d
commit 7d0b001d4a
4 changed files with 32 additions and 26 deletions

View file

@ -4,7 +4,8 @@
{ nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; } { nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
, stableBranch ? false , stableBranch ? false
, supportedSystems ? [ "x86_64-linux" "i686-linux" ] , supportedSystems ? [ "x86_64-linux" ]
, limitedSupportedSystems ? [ "i686-linux" ]
}: }:
let let
@ -19,10 +20,16 @@ let
else pkgs.lib.mapAttrs (n: v: removeMaintainers v) set else pkgs.lib.mapAttrs (n: v: removeMaintainers v) set
else set; else set;
allSupportedNixpkgs = builtins.removeAttrs (removeMaintainers (import ../pkgs/top-level/release.nix {
supportedSystems = supportedSystems ++ limitedSupportedSystems;
nixpkgs = nixpkgsSrc;
})) [ "unstable" ];
in rec { in rec {
nixos = removeMaintainers (import ./release.nix { nixos = removeMaintainers (import ./release.nix {
inherit stableBranch supportedSystems; inherit stableBranch;
supportedSystems = supportedSystems ++ limitedSupportedSystems;
nixpkgs = nixpkgsSrc; nixpkgs = nixpkgsSrc;
}); });
@ -38,8 +45,11 @@ in rec {
maintainers = [ pkgs.lib.maintainers.eelco ]; maintainers = [ pkgs.lib.maintainers.eelco ];
}; };
constituents = constituents =
let all = x: map (system: x.${system}) supportedSystems; in let
[ nixos.channel all = x: map (system: x.${system})
(supportedSystems ++ limitedSupportedSystems);
in [
nixos.channel
(all nixos.dummy) (all nixos.dummy)
(all nixos.manual) (all nixos.manual)
@ -106,8 +116,8 @@ in rec {
(all nixos.tests.xfce) (all nixos.tests.xfce)
nixpkgs.tarball nixpkgs.tarball
(all nixpkgs.emacs) (all allSupportedNixpkgs.emacs)
(all nixpkgs.jdk) (all allSupportedNixpkgs.jdk)
]; ];
}); });

View file

@ -1,6 +1,6 @@
{ nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; } { nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
, stableBranch ? false , stableBranch ? false
, supportedSystems ? [ "x86_64-linux" "i686-linux" ] , supportedSystems ? [ "x86_64-linux" ]
}: }:
with import ../lib; with import ../lib;

View file

@ -2,7 +2,7 @@
the load on Hydra when testing the `stdenv-updates' branch. */ the load on Hydra when testing the `stdenv-updates' branch. */
{ nixpkgs ? { outPath = (import ../../lib).cleanSource ../..; revCount = 1234; shortRev = "abcdef"; } { nixpkgs ? { outPath = (import ../../lib).cleanSource ../..; revCount = 1234; shortRev = "abcdef"; }
, supportedSystems ? [ "x86_64-linux" "i686-linux" "x86_64-darwin" ] , supportedSystems ? [ "x86_64-linux" "x86_64-darwin" ]
}: }:
with import ./release-lib.nix { inherit supportedSystems; }; with import ./release-lib.nix { inherit supportedSystems; };

View file

@ -8,20 +8,23 @@
$ nix-build pkgs/top-level/release.nix -A coreutils.x86_64-linux $ nix-build pkgs/top-level/release.nix -A coreutils.x86_64-linux
*/ */
{ nixpkgs ? { outPath = (import ../../lib).cleanSource ../..; revCount = 1234; shortRev = "abcdef"; } { nixpkgs ? { outPath = (import ../../lib).cleanSource ../..; revCount = 1234; shortRev = "abcdef"; }
, officialRelease ? false , officialRelease ? false
, # The platforms for which we build Nixpkgs. # The platforms for which we build Nixpkgs.
supportedSystems ? [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" ] , supportedSystems ? [ "x86_64-linux" "x86_64-darwin" "aarchh64-linux" ]
, # Strip most of attributes when evaluating to spare memory usage , limitedSupportedSystems ? [ "i686-linux" ]
scrubJobs ? true # Strip most of attributes when evaluating to spare memory usage
, # Attributes passed to nixpkgs. Don't build packages marked as unfree. , scrubJobs ? true
nixpkgsArgs ? { config = { allowUnfree = false; inHydra = 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; }; with import ./release-lib.nix { inherit supportedSystems scrubJobs nixpkgsArgs; };
let let
systemsWithAnySupport = supportedSystems ++ limitedSupportedSystems;
jobs = jobs =
{ tarball = import ./make-tarball.nix { inherit pkgs nixpkgs officialRelease; }; { tarball = import ./make-tarball.nix { inherit pkgs nixpkgs officialRelease; };
@ -55,43 +58,36 @@ let
jobs.manual jobs.manual
jobs.lib-tests jobs.lib-tests
jobs.stdenv.x86_64-linux jobs.stdenv.x86_64-linux
jobs.stdenv.i686-linux
jobs.stdenv.x86_64-darwin jobs.stdenv.x86_64-darwin
jobs.linux.x86_64-linux jobs.linux.x86_64-linux
jobs.linux.i686-linux
jobs.python.x86_64-linux jobs.python.x86_64-linux
jobs.python.i686-linux
jobs.python.x86_64-darwin jobs.python.x86_64-darwin
jobs.python3.x86_64-linux jobs.python3.x86_64-linux
jobs.python3.i686-linux
jobs.python3.x86_64-darwin jobs.python3.x86_64-darwin
# Many developers use nix-repl # Many developers use nix-repl
jobs.nix-repl.x86_64-linux jobs.nix-repl.x86_64-linux
jobs.nix-repl.i686-linux
jobs.nix-repl.x86_64-darwin jobs.nix-repl.x86_64-darwin
# Needed by travis-ci to test PRs # Needed by travis-ci to test PRs
jobs.nox.i686-linux
jobs.nox.x86_64-linux jobs.nox.x86_64-linux
jobs.nox.x86_64-darwin jobs.nox.x86_64-darwin
# Ensure that X11/GTK+ are in order. # Ensure that X11/GTK+ are in order.
jobs.thunderbird.x86_64-linux jobs.thunderbird.x86_64-linux
jobs.thunderbird.i686-linux
# Ensure that basic stuff works on darwin # Ensure that basic stuff works on darwin
jobs.git.x86_64-darwin jobs.git.x86_64-darwin
jobs.mysql.x86_64-darwin jobs.mysql.x86_64-darwin
jobs.vim.x86_64-darwin jobs.vim.x86_64-darwin
] ++ lib.collect lib.isDerivation jobs.stdenvBootstrapTools; ] ++ lib.collect lib.isDerivation jobs.stdenvBootstrapTools;
}; };
} // (lib.optionalAttrs (builtins.elem "i686-linux" supportedSystems) { } // (lib.optionalAttrs (builtins.elem "i686-linux" systemsWithAnySupport) {
stdenvBootstrapTools.i686-linux = stdenvBootstrapTools.i686-linux =
{ inherit (import ../stdenv/linux/make-bootstrap-tools.nix { system = "i686-linux"; }) dist test; }; { inherit (import ../stdenv/linux/make-bootstrap-tools.nix { system = "i686-linux"; }) dist test; };
}) // (lib.optionalAttrs (builtins.elem "x86_64-linux" supportedSystems) { }) // (lib.optionalAttrs (builtins.elem "x86_64-linux" systemsWithAnySupport) {
stdenvBootstrapTools.x86_64-linux = stdenvBootstrapTools.x86_64-linux =
{ inherit (import ../stdenv/linux/make-bootstrap-tools.nix { system = "x86_64-linux"; }) dist test; }; { inherit (import ../stdenv/linux/make-bootstrap-tools.nix { system = "x86_64-linux"; }) dist test; };
}) // (lib.optionalAttrs (builtins.elem "aarch64-linux" supportedSystems) { }) // (lib.optionalAttrs (builtins.elem "aarch64-linux" systemsWithAnySupport) {
stdenvBootstrapTools.aarch64-linux = stdenvBootstrapTools.aarch64-linux =
{ inherit (import ../stdenv/linux/make-bootstrap-tools.nix { system = "aarch64-linux"; }) dist test; }; { inherit (import ../stdenv/linux/make-bootstrap-tools.nix { system = "aarch64-linux"; }) dist test; };
}) // (lib.optionalAttrs (builtins.elem "x86_64-darwin" supportedSystems) { }) // (lib.optionalAttrs (builtins.elem "x86_64-darwin" systemsWithAnySupport) {
stdenvBootstrapTools.x86_64-darwin = stdenvBootstrapTools.x86_64-darwin =
let let
bootstrap = import ../stdenv/darwin/make-bootstrap-tools.nix { system = "x86_64-darwin"; }; bootstrap = import ../stdenv/darwin/make-bootstrap-tools.nix { system = "x86_64-darwin"; };