ghc: wire up new binary ghc for bootstrapping

This change brings development feedback loop improvement
from a couple of ghc rebuilds to only one for working on generic
builder.

To completely eliminate the rebuilds, use two nixpkgs clones
and point boot packages to the unmodified one.
This commit is contained in:
Domen Kožar 2017-12-28 10:01:55 +00:00
parent 4000e6b47e
commit 695a026f5f
No known key found for this signature in database
GPG Key ID: C2FFBCAFD2C24246
4 changed files with 19 additions and 11 deletions

View File

@ -1,7 +1,6 @@
{ stdenv { stdenv
, fetchurl, perl , fetchurl, perl
, ncurses5, gmp, libiconv , ncurses5, gmp, libiconv
, enableIntegerSimple ? false
, gcc , gcc
}: }:

View File

@ -1,7 +1,6 @@
{ stdenv { stdenv
, fetchurl, perl , fetchurl, perl
, ncurses5, gmp, libiconv , ncurses5, gmp, libiconv
, enableIntegerSimple ? false
}: }:
let let

View File

@ -1,7 +1,6 @@
{ stdenv { stdenv
, fetchurl, perl, gcc , fetchurl, perl, gcc
, ncurses5, gmp, libiconv , ncurses5, gmp, libiconv
, enableIntegerSimple ? false
}: }:
let let

View File

@ -6,6 +6,9 @@ let
"ghc6102Binary" "ghc6102Binary"
"ghc704Binary" "ghc704Binary"
"ghc742Binary" "ghc742Binary"
"ghc784Binary"
"ghc7103Binary"
"ghc821Binary"
"ghc6104" "ghc6104"
"ghc6123" "ghc6123"
"ghc704" "ghc704"
@ -63,41 +66,41 @@ in rec {
ghc = compiler.ghc742Binary; ghc = compiler.ghc742Binary;
}; };
ghc7103 = callPackage ../development/compilers/ghc/7.10.3.nix rec { ghc7103 = callPackage ../development/compilers/ghc/7.10.3.nix rec {
bootPkgs = packages.ghc784; bootPkgs = packages.ghc7103Binary;
inherit (bootPkgs) hscolour; inherit (bootPkgs) hscolour;
}; };
ghc802 = callPackage ../development/compilers/ghc/8.0.2.nix rec { ghc802 = callPackage ../development/compilers/ghc/8.0.2.nix rec {
bootPkgs = packages.ghc7103; bootPkgs = packages.ghc7103Binary;
inherit (bootPkgs) hscolour; inherit (bootPkgs) hscolour;
sphinx = pkgs.python27Packages.sphinx; sphinx = pkgs.python27Packages.sphinx;
}; };
ghc822 = callPackage ../development/compilers/ghc/8.2.2.nix rec { ghc822 = callPackage ../development/compilers/ghc/8.2.2.nix rec {
bootPkgs = packages.ghc802; bootPkgs = packages.ghc7103Binary;
inherit (bootPkgs) hscolour alex happy; inherit (bootPkgs) hscolour alex happy;
inherit buildPlatform targetPlatform; inherit buildPlatform targetPlatform;
sphinx = pkgs.python3Packages.sphinx; sphinx = pkgs.python3Packages.sphinx;
selfPkgs = packages.ghc822; selfPkgs = packages.ghc822;
}; };
ghcHEAD = callPackage ../development/compilers/ghc/head.nix rec { ghcHEAD = callPackage ../development/compilers/ghc/head.nix rec {
bootPkgs = packages.ghc822; bootPkgs = packages.ghc821Binary;
inherit (bootPkgs) alex happy; inherit (bootPkgs) alex happy;
inherit buildPlatform targetPlatform; inherit buildPlatform targetPlatform;
selfPkgs = packages.ghcHEAD; selfPkgs = packages.ghcHEAD;
}; };
ghcjs = packages.ghc7103.callPackage ../development/compilers/ghcjs { ghcjs = packages.ghc7103.callPackage ../development/compilers/ghcjs {
bootPkgs = packages.ghc7103; bootPkgs = packages.ghc821Binary;
}; };
ghcjsHEAD = packages.ghc802.callPackage ../development/compilers/ghcjs/head.nix { ghcjsHEAD = packages.ghc802.callPackage ../development/compilers/ghcjs/head.nix {
bootPkgs = packages.ghc802; bootPkgs = packages.ghc821Binary;
}; };
ghcHaLVM240 = callPackage ../development/compilers/halvm/2.4.0.nix rec { ghcHaLVM240 = callPackage ../development/compilers/halvm/2.4.0.nix rec {
bootPkgs = packages.ghc802; bootPkgs = packages.ghc7103Binary;
inherit (bootPkgs) hscolour alex happy; inherit (bootPkgs) hscolour alex happy;
}; };
uhc = callPackage ../development/compilers/uhc/default.nix ({ uhc = callPackage ../development/compilers/uhc/default.nix ({
stdenv = pkgs.clangStdenv; stdenv = pkgs.clangStdenv;
inherit (pkgs.haskellPackages) ghcWithPackages; inherit (packages.ghc7103Binary) ghcWithPackages;
}); });
# The integer-simple attribute set contains all the GHC compilers # The integer-simple attribute set contains all the GHC compilers
@ -124,6 +127,10 @@ in rec {
ghc = compiler.ghc7103; ghc = compiler.ghc7103;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-7.10.x.nix { }; compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-7.10.x.nix { };
}; };
ghc7103Binary = callPackage ../development/haskell-modules {
ghc = compiler.ghc7103Binary;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-7.10.x.nix { };
};
ghc802 = callPackage ../development/haskell-modules { ghc802 = callPackage ../development/haskell-modules {
ghc = compiler.ghc802; ghc = compiler.ghc802;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.0.x.nix { }; compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.0.x.nix { };
@ -132,6 +139,10 @@ in rec {
ghc = compiler.ghc822; ghc = compiler.ghc822;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.2.x.nix { }; compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.2.x.nix { };
}; };
ghc821Binary = callPackage ../development/haskell-modules {
ghc = compiler.ghc821Binary;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.2.x.nix { };
};
ghcHEAD = callPackage ../development/haskell-modules { ghcHEAD = callPackage ../development/haskell-modules {
ghc = compiler.ghcHEAD; ghc = compiler.ghcHEAD;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-head.nix { }; compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-head.nix { };