summary refs log tree commit diff
path: root/pkgs/top-level/haskell-packages.nix
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2018-01-04 16:18:02 -0500
committerJohn Ericson <John.Ericson@Obsidian.Systems>2018-01-21 23:31:04 -0500
commit81553124cf32e9d515da5f1c2f1b07e09886d8cf (patch)
tree25e5b28b2e232a63525b14bd4bf807601f54305d /pkgs/top-level/haskell-packages.nix
parent8560c025bc995577c9f9399fe8f9e7c1db5cd75f (diff)
downloadnixpkgs-81553124cf32e9d515da5f1c2f1b07e09886d8cf.tar
nixpkgs-81553124cf32e9d515da5f1c2f1b07e09886d8cf.tar.gz
nixpkgs-81553124cf32e9d515da5f1c2f1b07e09886d8cf.tar.bz2
nixpkgs-81553124cf32e9d515da5f1c2f1b07e09886d8cf.tar.lz
nixpkgs-81553124cf32e9d515da5f1c2f1b07e09886d8cf.tar.xz
nixpkgs-81553124cf32e9d515da5f1c2f1b07e09886d8cf.tar.zst
nixpkgs-81553124cf32e9d515da5f1c2f1b07e09886d8cf.zip
haskell infra: nativeGhc != ghc.bootPkgs.ghc
There's no reason to wait for non-binary native to *build* cross ghc,
but we want a nix-built GHC for Setup.hs or things won't work.
Diffstat (limited to 'pkgs/top-level/haskell-packages.nix')
-rw-r--r--pkgs/top-level/haskell-packages.nix40
1 files changed, 25 insertions, 15 deletions
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index bac386c48f4..9fb71df53fe 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -128,48 +128,58 @@ in rec {
   };
 
   # Always get compilers from `buildPackages`
-  packages = let inherit (buildPackages.haskell) compiler; in {
+  packages = let bh = buildPackages.haskell; in {
 
     ghc7103 = callPackage ../development/haskell-modules {
-      ghc = compiler.ghc7103;
+      buildHaskellPackages = bh.packages.ghc7103;
+      ghc = bh.compiler.ghc7103;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-7.10.x.nix { };
     };
     ghc7103Binary = callPackage ../development/haskell-modules {
-      ghc = compiler.ghc7103Binary;
+      buildHaskellPackages = bh.packages.ghc7103Binary;
+      ghc = bh.compiler.ghc7103Binary;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-7.10.x.nix { };
     };
     ghc802 = callPackage ../development/haskell-modules {
-      ghc = compiler.ghc802;
+      buildHaskellPackages = bh.packages.ghc802;
+      ghc = bh.compiler.ghc802;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.0.x.nix { };
     };
-    ghc822 = callPackage ../development/haskell-modules {
-      ghc = compiler.ghc822;
+    ghc821Binary = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghc821Binary;
+      ghc = bh.compiler.ghc821Binary;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.2.x.nix { };
     };
-    ghc821Binary = callPackage ../development/haskell-modules {
-      ghc = compiler.ghc821Binary;
+    ghc822 = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghc822;
+      ghc = bh.compiler.ghc822;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.2.x.nix { };
     };
     ghc841 = callPackage ../development/haskell-modules {
-      ghc = compiler.ghc841;
+      buildHaskellPackages = bh.packages.ghc841;
+      ghc = bh.compiler.ghc841;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.4.x.nix { };
     };
     ghcHEAD = callPackage ../development/haskell-modules {
-      ghc = compiler.ghcHEAD;
+      buildHaskellPackages = bh.packages.ghcHEAD;
+      ghc = bh.compiler.ghcHEAD;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-head.nix { };
     };
-    ghcjs = callPackage ../development/haskell-modules {
-      ghc = compiler.ghcjs;
+    ghcjs = callPackage ../development/haskell-modules rec {
+      buildHaskellPackages = ghc.bootPkgs;
+      ghc = bh.compiler.ghcjs;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-7.10.x.nix { };
       packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { };
     };
-    ghcjsHEAD = callPackage ../development/haskell-modules {
-      ghc = compiler.ghcjsHEAD;
+    ghcjsHEAD = callPackage ../development/haskell-modules rec {
+      buildHaskellPackages = ghc.bootPkgs;
+      ghc = bh.compiler.ghcjsHEAD;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.0.x.nix { };
       packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { };
     };
     ghcHaLVM240 = callPackage ../development/haskell-modules {
-      ghc = compiler.ghcHaLVM240;
+      buildHaskellPackages = bh.packages.ghcHaLVM240;
+      ghc = bh.compiler.ghcHaLVM240;
       compilerConfig = callPackage ../development/haskell-modules/configuration-halvm-2.4.0.nix { };
     };