summary refs log tree commit diff
path: root/pkgs/top-level/haskell-defaults.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/top-level/haskell-defaults.nix')
-rw-r--r--pkgs/top-level/haskell-defaults.nix139
1 files changed, 49 insertions, 90 deletions
diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix
index 9a064212a40..f4d513c0c68 100644
--- a/pkgs/top-level/haskell-defaults.nix
+++ b/pkgs/top-level/haskell-defaults.nix
@@ -15,19 +15,26 @@
   # Older compilers inherit the overrides from newer ones.
 
   ghcHEADPrefs = self : super : super // {
-    cabalInstall_1_20_0_3 = super.cabalInstall_1_20_0_3.override { Cabal = null; };
+    cabalInstall_1_20_0_6 = super.cabalInstall_1_20_0_6.override { Cabal = null; };
     mtl = self.mtl_2_2_1;
-    transformersCompat = super.transformersCompat_0_3_3;
   };
 
-  ghc783Prefs = self : super : ghcHEADPrefs self super // {
-    cabalInstall_1_20_0_3 = super.cabalInstall_1_20_0_3.override { Cabal = self.Cabal_1_20_0_2; };
-    codex = super.codex.override { hackageDb = super.hackageDb.override { Cabal = self.Cabal_1_20_0_2; }; };
-    MonadRandom = self.MonadRandom_0_1_13; # requires transformers >= 0.4.x
-    mtl = self.mtl_2_1_2;
+  ghc784Prefs = self : super : ghcHEADPrefs self super // {
+    cabalInstall_1_20_0_6 = super.cabalInstall_1_20_0_6.override { Cabal = self.Cabal_1_20_0_3; };
+    codex = super.codex.override { hackageDb = super.hackageDb.override { Cabal = self.Cabal_1_20_0_3; }; };
+    jailbreakCabal = super.jailbreakCabal.override { Cabal = self.Cabal_1_20_0_3; };
+    MonadRandom = self.MonadRandom_0_2_0_1; # newer versions require transformers >= 0.4.x
+    mtl = self.mtl_2_1_3_1;
+    xhtml = null;
+    transformersCompat = super.transformersCompat.override { cabal = self.cabal.override {
+      extension = self: super: { configureFlags = "-fthree " + super.configureFlags or ""; };
+    }; };
   };
 
-  ghc763Prefs = self : super : ghc783Prefs self super // {
+  ghc763Prefs = self : super : ghc784Prefs self super // {
+    Cabal_1_22_0_0 = super.Cabal_1_22_0_0.override {
+      binary = self.binary_0_7_2_2.override { cabal = self.cabal.override { extension = self: super: { doCheck = false; }; }; };
+    };
     aeson = self.aeson_0_7_0_4;
     ariadne = super.ariadne.override {
       haskellNames = self.haskellNames.override {
@@ -35,22 +42,26 @@
       };
     };
     attoparsec = self.attoparsec_0_11_3_1;
-    binaryConduit = super.binaryConduit.override { binary = self.binary_0_7_2_1; };
-    bson = super.bson.override { dataBinaryIeee754 = self.dataBinaryIeee754.override { binary = self.binary_0_7_2_1; }; };
+    binaryConduit = super.binaryConduit.override { binary = self.binary_0_7_2_2; };
+    bson = super.bson.override { dataBinaryIeee754 = self.dataBinaryIeee754.override { binary = self.binary_0_7_2_2; }; };
+    cabal2nix = super.cabal2nix.override { hackageDb = super.hackageDb.override { Cabal = self.Cabal_1_18_1_3; }; };
+    cabalInstall_1_16_0_2 = super.cabalInstall_1_16_0_2.override {
+      HTTP = self.HTTP.override { network = self.network_2_5_0_0; };
+      network = self.network_2_5_0_0;
+    };
     criterion = super.criterion.override {
       statistics = self.statistics.override {
-        vectorBinaryInstances = self.vectorBinaryInstances.override { binary = self.binary_0_7_2_1; };
+        vectorBinaryInstances = self.vectorBinaryInstances.override { binary = self.binary_0_7_2_2; };
       };
     };
-    Elm = super.Elm.override { pandoc = self.pandoc.override { zipArchive = self.zipArchive.override { binary = self.binary_0_7_2_1; }; }; };
+    entropy = super.entropy.override { cabal = self.cabal.override { Cabal = self.Cabal_1_18_1_3; }; };
     gloss = null;                       # requires base >= 4.7
-    haddock = self.haddock_2_13_2;
     modularArithmetic = null;           # requires base >= 4.7
-    pipesBinary = super.pipesBinary.override { binary = self.binary_0_7_2_1; };
-    rank1dynamic = super.rank1dynamic.override { binary = self.binary_0_7_2_1; };
-    distributedStatic = super.distributedStatic.override { binary = self.binary_0_7_2_1; };
-    networkTransport = super.networkTransport.override { binary = self.binary_0_7_2_1; };
-    distributedProcess = super.distributedProcess.override { binary = self.binary_0_7_2_1; };
+    pipesBinary = super.pipesBinary.override { binary = self.binary_0_7_2_2; };
+    rank1dynamic = super.rank1dynamic.override { binary = self.binary_0_7_2_2; };
+    distributedStatic = super.distributedStatic.override { binary = self.binary_0_7_2_2; };
+    networkTransport = super.networkTransport.override { binary = self.binary_0_7_2_2; };
+    distributedProcess = super.distributedProcess.override { binary = self.binary_0_7_2_2; };
     scientific = self.scientific_0_2_0_2;
     singletons = null;                  # requires base >= 4.7
     transformers = self.transformers_0_3_0_0; # core packagen in ghc > 7.6.x
@@ -59,32 +70,25 @@
 
   ghc742Prefs = self : super : ghc763Prefs self super // {
     aeson = self.aeson_0_7_0_4.override { blazeBuilder = self.blazeBuilder; };
-    cabalInstall_0_14_0 = super.cabalInstall_0_14_0.override {
-      HTTP = self.HTTP.override { network = self.network_2_3_0_13; };
-      network = self.network_2_3_0_13;
-    };
     extensibleExceptions = null;        # core package in ghc <= 7.4.x
     hackageDb = super.hackageDb.override { Cabal = self.Cabal_1_16_0_3; };
-    haddock = self.haddock_2_11_0;
     haskeline = super.haskeline.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    primitive = self.primitive_0_5_3_0; # later versions don't compile
     random = self.random_1_0_1_1;       # requires base >= 4.6.x
-    shelly = self.shelly_0_15_4_1;
   };
 
   ghc722Prefs = self : super : ghc742Prefs self super // {
+    cabalInstall = self.cabalInstall_1_20_0_6;
     caseInsensitive = self.caseInsensitive_1_0_0_1;
     deepseq = self.deepseq_1_3_0_2;
     DrIFT = null;                       # doesn't compile with old GHC versions
-    haddock = self.haddock_2_9_4;
     syb = self.syb_0_4_0;
   };
 
   ghc704Prefs = self : super : ghc722Prefs self super // {
-    binary = self.binary_0_7_2_1;       # core package in ghc >= 7.2.2
+    binary = self.binary_0_7_2_2;       # core package in ghc >= 7.2.2
     caseInsensitive = super.caseInsensitive; # undo the override from ghc 7.2.2
-    haddock = self.haddock_2_9_2.override { alex = self.alex_2_3_5; };
     HsSyck = self.HsSyck_0_51;
-    jailbreakCabal = super.jailbreakCabal.override { Cabal = self.Cabal_1_16_0_3; };
     random = null;                      # core package in ghc <= 7.0.x
   };
 
@@ -97,7 +101,7 @@
     deepseq = self.deepseq_1_2_0_1;
     dlist = super.dlist.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     exceptions = null;                  # none of our versions compile
-    haddock = self.haddock_2_7_2;
+    jailbreakCabal = super.jailbreakCabal.override { Cabal = self.Cabal_1_16_0_3; };
     logict = super.logict.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     monadPar = self.monadPar_0_1_0_3;
     nats = null;                        # none of our versions compile
@@ -111,6 +115,7 @@
     syb = null;                         # core package in ghc < 7
     tagged = super.tagged.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     temporary = null;                   # none of our versions compile
+    vector = super.vector_0_10_9_3;
     vectorAlgorithms = super.vectorAlgorithms.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
   };
 
@@ -118,10 +123,9 @@
     alex = self.alex_2_3_5.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     async = null;                       # none of our versions compile
     attoparsec = null;                  # none of our versions compile
-    binary = super.binary_0_7_2_1.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    binary = super.binary_0_7_2_2.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    cabalInstall_1_16_0_2 = super.cabalInstall_1_16_0_2;
     caseInsensitive = super.caseInsensitive.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
-    GLUT = self.GLUT_2_2_2_1;
-    haddock = self.haddock_2_4_2;
     happy = super.happy.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     hashable = super.hashable.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     hashtables = super.hashtables.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
@@ -129,34 +133,31 @@
     HTTP = super.HTTP.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     HUnit = super.HUnit.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     network = super.network_2_2_1_7.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
-    OpenGLRaw = self.OpenGLRaw_1_3_0_0;
-    OpenGL = self.OpenGL_2_6_0_1;
+    parsec = super.parsec.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     QuickCheck = super.QuickCheck.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     stm = self.stm_2_4_2.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     systemFilepath = super.systemFilepath.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     systemFileio = super.systemFileio.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     tar = super.tar.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     text = self.text_0_11_2_3.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
+    tfRandom = null;                    # does not compile
     time = self.time_1_1_2_4.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
     zlib = super.zlib.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
  };
 
   # Abstraction for Haskell packages collections
   packagesFun = makeOverridable
-   ({ ghcPath
-    , ghcBinary ? ghc6101Binary
+   ({ ghc
     , prefFun
     , extension ? (self : super : {})
     , profExplicit ? false, profDefault ? false
     , modifyPrio ? lowPrio
-    , extraArgs ? {}
     } :
     let haskellPackagesClass = import ./haskell-packages.nix {
-          inherit pkgs newScope modifyPrio;
+          inherit pkgs newScope ghc modifyPrio;
           enableLibraryProfiling =
             if profExplicit then profDefault
                             else config.cabal.libraryProfiling or profDefault;
-          ghc = callPackage ghcPath ({ ghc = ghcBinary; } // extraArgs);
         };
         haskellPackagesPrefsClass = self : let super = haskellPackagesClass self; in super // prefFun self super;
         haskellPackagesExtensionClass = self : let super = haskellPackagesPrefsClass self; in super // extension self super;
@@ -180,85 +181,43 @@
                                                           modifyPrio   = defaultVersionPrioFun true; };
                              };
 
-  # Binary versions of GHC
-  #
-  # GHC binaries are around for bootstrapping purposes
-
-  ghc6101Binary = lowPrio (callPackage ../development/compilers/ghc/6.10.1-binary.nix {
-    gmp = pkgs.gmp4;
-  });
-
-  ghc6102Binary = lowPrio (callPackage ../development/compilers/ghc/6.10.2-binary.nix {
-    gmp = pkgs.gmp4;
-  });
-
-  ghc6121Binary = lowPrio (callPackage ../development/compilers/ghc/6.12.1-binary.nix {
-    gmp = pkgs.gmp4;
-  });
-
-  ghc704Binary = lowPrio (callPackage ../development/compilers/ghc/7.0.4-binary.nix {
-    gmp = pkgs.gmp4;
-  });
-
-  ghc742Binary = lowPrio (callPackage ../development/compilers/ghc/7.4.2-binary.nix {
-    gmp = pkgs.gmp4;
-  });
-
-  ghc6101BinaryDarwin = if stdenv.isDarwin then ghc704Binary else ghc6101Binary;
-  ghc6121BinaryDarwin = if stdenv.isDarwin then ghc704Binary else ghc6121Binary;
-
   # Compiler configurations
   #
   # Here, we associate compiler versions with bootstrap compiler versions and
   # preference functions.
 
-  packages_ghcHEAD =
-    packages { ghcPath = ../development/compilers/ghc/head.nix;
-               ghcBinary = pkgs.haskellPackages.ghcPlain;
-               prefFun = ghcHEADPrefs;
-               extraArgs = {
-                 happy = pkgs.haskellPackages.happy;
-                 alex = pkgs.haskellPackages.alex;
-               };
-             };
-
-  packages_ghc783 =
-    packages { ghcPath = ../development/compilers/ghc/7.8.3.nix;
-               ghcBinary = ghc742Binary;
-               prefFun = ghc783Prefs;
+  packages_ghc784 =
+    packages { ghc = pkgs.haskell-ng.compiler.ghc784;
+               prefFun = ghc784Prefs;
              };
 
   packages_ghc763 =
-    packages { ghcPath = ../development/compilers/ghc/7.6.3.nix;
-               ghcBinary = ghc704Binary;
+    packages { ghc = pkgs.haskell-ng.compiler.ghc763;
                prefFun = ghc763Prefs;
              };
 
   packages_ghc742 =
-    packages { ghcPath = ../development/compilers/ghc/7.4.2.nix;
-               ghcBinary = ghc6121BinaryDarwin;
+    packages { ghc = pkgs.haskell-ng.compiler.ghc742;
                prefFun = ghc742Prefs;
              };
 
   packages_ghc722 =
-    packages { ghcPath = ../development/compilers/ghc/7.2.2.nix;
-               ghcBinary = ghc6121BinaryDarwin;
+    packages { ghc = pkgs.haskell-ng.compiler.ghc722;
                prefFun = ghc722Prefs;
              };
 
   packages_ghc704 =
-    packages { ghcPath = ../development/compilers/ghc/7.0.4.nix;
-               ghcBinary = ghc6101BinaryDarwin;
+    packages { ghc = pkgs.haskell-ng.compiler.ghc704;
                prefFun = ghc704Prefs;
              };
 
   packages_ghc6123 =
-    packages { ghcPath = ../development/compilers/ghc/6.12.3.nix;
+    packages { ghc = pkgs.haskell-ng.compiler.ghc6123;
                prefFun = ghc6123Prefs;
              };
 
   packages_ghc6104 =
-    packages { ghcPath = ../development/compilers/ghc/6.10.4.nix;
+    packages { ghc = pkgs.haskell-ng.compiler.ghc6104;
                prefFun = ghc6104Prefs;
              };