From 7d0b001d4a5653ce87f6e10475fba8e3c55d2af8 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Thu, 3 Aug 2017 08:09:30 -0400 Subject: [PATCH] nixos,nixpkgs: only build essentials on i686 --- nixos/release-combined.nix | 22 ++++++++++++++++------ nixos/release.nix | 2 +- pkgs/top-level/release-small.nix | 2 +- pkgs/top-level/release.nix | 32 ++++++++++++++------------------ 4 files changed, 32 insertions(+), 26 deletions(-) diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index ecbd317cb9a4..26e689a7c92d 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -4,7 +4,8 @@ { nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; } , stableBranch ? false -, supportedSystems ? [ "x86_64-linux" "i686-linux" ] +, supportedSystems ? [ "x86_64-linux" ] +, limitedSupportedSystems ? [ "i686-linux" ] }: let @@ -19,10 +20,16 @@ let else pkgs.lib.mapAttrs (n: v: removeMaintainers v) set else set; + allSupportedNixpkgs = builtins.removeAttrs (removeMaintainers (import ../pkgs/top-level/release.nix { + supportedSystems = supportedSystems ++ limitedSupportedSystems; + nixpkgs = nixpkgsSrc; + })) [ "unstable" ]; + in rec { nixos = removeMaintainers (import ./release.nix { - inherit stableBranch supportedSystems; + inherit stableBranch; + supportedSystems = supportedSystems ++ limitedSupportedSystems; nixpkgs = nixpkgsSrc; }); @@ -38,8 +45,11 @@ in rec { maintainers = [ pkgs.lib.maintainers.eelco ]; }; constituents = - let all = x: map (system: x.${system}) supportedSystems; in - [ nixos.channel + let + all = x: map (system: x.${system}) + (supportedSystems ++ limitedSupportedSystems); + in [ + nixos.channel (all nixos.dummy) (all nixos.manual) @@ -106,8 +116,8 @@ in rec { (all nixos.tests.xfce) nixpkgs.tarball - (all nixpkgs.emacs) - (all nixpkgs.jdk) + (all allSupportedNixpkgs.emacs) + (all allSupportedNixpkgs.jdk) ]; }); diff --git a/nixos/release.nix b/nixos/release.nix index 0dbdadf97816..9604da5a4d70 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -1,6 +1,6 @@ { nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; } , stableBranch ? false -, supportedSystems ? [ "x86_64-linux" "i686-linux" ] +, supportedSystems ? [ "x86_64-linux" ] }: with import ../lib; diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix index f329f2460d71..40218a2b7025 100644 --- a/pkgs/top-level/release-small.nix +++ b/pkgs/top-level/release-small.nix @@ -2,7 +2,7 @@ the load on Hydra when testing the `stdenv-updates' branch. */ { 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; }; diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 9e4c204c25df..3b45035d1147 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -8,20 +8,23 @@ $ nix-build pkgs/top-level/release.nix -A coreutils.x86_64-linux */ - { nixpkgs ? { outPath = (import ../../lib).cleanSource ../..; revCount = 1234; shortRev = "abcdef"; } , officialRelease ? false -, # The platforms for which we build Nixpkgs. - supportedSystems ? [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-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; }; } + # The platforms for which we build Nixpkgs. +, supportedSystems ? [ "x86_64-linux" "x86_64-darwin" "aarchh64-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; + jobs = { tarball = import ./make-tarball.nix { inherit pkgs nixpkgs officialRelease; }; @@ -55,43 +58,36 @@ let 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; }; - } // (lib.optionalAttrs (builtins.elem "i686-linux" supportedSystems) { + } // (lib.optionalAttrs (builtins.elem "i686-linux" systemsWithAnySupport) { stdenvBootstrapTools.i686-linux = { 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 = { 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 = { 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 = let bootstrap = import ../stdenv/darwin/make-bootstrap-tools.nix { system = "x86_64-darwin"; };