summary refs log tree commit diff
path: root/pkgs/top-level/haskell-packages.nix
diff options
context:
space:
mode:
authorDomen Kožar <domen@dev.si>2017-12-28 10:01:55 +0000
committerDomen Kožar <domen@dev.si>2017-12-28 15:11:50 +0000
commit695a026f5fb5d71593ba5b6bb7b8f91e2e6a3f53 (patch)
tree9517f7e6534dfb5526d094f32443cdb90cd4288c /pkgs/top-level/haskell-packages.nix
parent4000e6b47ea0738f19acc189f7ebb7f740b03451 (diff)
downloadnixlib-695a026f5fb5d71593ba5b6bb7b8f91e2e6a3f53.tar
nixlib-695a026f5fb5d71593ba5b6bb7b8f91e2e6a3f53.tar.gz
nixlib-695a026f5fb5d71593ba5b6bb7b8f91e2e6a3f53.tar.bz2
nixlib-695a026f5fb5d71593ba5b6bb7b8f91e2e6a3f53.tar.lz
nixlib-695a026f5fb5d71593ba5b6bb7b8f91e2e6a3f53.tar.xz
nixlib-695a026f5fb5d71593ba5b6bb7b8f91e2e6a3f53.tar.zst
nixlib-695a026f5fb5d71593ba5b6bb7b8f91e2e6a3f53.zip
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.
Diffstat (limited to 'pkgs/top-level/haskell-packages.nix')
-rw-r--r--pkgs/top-level/haskell-packages.nix27
1 files changed, 19 insertions, 8 deletions
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index a6dc825b9ba2..36d719fd2639 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -6,6 +6,9 @@ let
     "ghc6102Binary"
     "ghc704Binary"
     "ghc742Binary"
+    "ghc784Binary"
+    "ghc7103Binary"
+    "ghc821Binary"
     "ghc6104"
     "ghc6123"
     "ghc704"
@@ -63,41 +66,41 @@ in rec {
       ghc = compiler.ghc742Binary;
     };
     ghc7103 = callPackage ../development/compilers/ghc/7.10.3.nix rec {
-      bootPkgs = packages.ghc784;
+      bootPkgs = packages.ghc7103Binary;
       inherit (bootPkgs) hscolour;
     };
     ghc802 = callPackage ../development/compilers/ghc/8.0.2.nix rec {
-      bootPkgs = packages.ghc7103;
+      bootPkgs = packages.ghc7103Binary;
       inherit (bootPkgs) hscolour;
       sphinx = pkgs.python27Packages.sphinx;
     };
     ghc822 = callPackage ../development/compilers/ghc/8.2.2.nix rec {
-      bootPkgs = packages.ghc802;
+      bootPkgs = packages.ghc7103Binary;
       inherit (bootPkgs) hscolour alex happy;
       inherit buildPlatform targetPlatform;
       sphinx = pkgs.python3Packages.sphinx;
       selfPkgs = packages.ghc822;
     };
     ghcHEAD = callPackage ../development/compilers/ghc/head.nix rec {
-      bootPkgs = packages.ghc822;
+      bootPkgs = packages.ghc821Binary;
       inherit (bootPkgs) alex happy;
       inherit buildPlatform targetPlatform;
       selfPkgs = packages.ghcHEAD;
     };
     ghcjs = packages.ghc7103.callPackage ../development/compilers/ghcjs {
-      bootPkgs = packages.ghc7103;
+      bootPkgs = packages.ghc821Binary;
     };
     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 {
-      bootPkgs = packages.ghc802;
+      bootPkgs = packages.ghc7103Binary;
       inherit (bootPkgs) hscolour alex happy;
     };
 
     uhc = callPackage ../development/compilers/uhc/default.nix ({
       stdenv = pkgs.clangStdenv;
-      inherit (pkgs.haskellPackages) ghcWithPackages;
+      inherit (packages.ghc7103Binary) ghcWithPackages;
     });
 
     # The integer-simple attribute set contains all the GHC compilers
@@ -124,6 +127,10 @@ in rec {
       ghc = compiler.ghc7103;
       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 {
       ghc = compiler.ghc802;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.0.x.nix { };
@@ -132,6 +139,10 @@ in rec {
       ghc = compiler.ghc822;
       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 {
       ghc = compiler.ghcHEAD;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-head.nix { };