about 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.nix223
1 files changed, 0 insertions, 223 deletions
diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix
deleted file mode 100644
index 7540244b9bc6d..0000000000000
--- a/pkgs/top-level/haskell-defaults.nix
+++ /dev/null
@@ -1,223 +0,0 @@
-# Haskell / GHC infrastructure in Nixpkgs
-#
-# In this file, we
-#
-#    * define sets of default package versions for each GHC compiler version,
-#    * associate GHC versions with bootstrap compiler versions and package defaults.
-#
-# The actual Haskell packages are composed in haskell-packages.nix. There is
-# more documentation in there.
-
-{ makeOverridable, lowPrio, hiPrio, stdenv, pkgs, newScope, config, callPackage } : rec {
-
-  # haskell-packages.nix provides the latest possible version of every package,
-  # and this file overrides those version choices per compiler when appropriate.
-  # Older compilers inherit the overrides from newer ones.
-
-  ghcHEADPrefs = self : super : super // {
-    cabalInstall_1_20_0_6 = super.cabalInstall_1_20_0_6.override { Cabal = null; };
-    mtl = self.mtl_2_2_1;
-  };
-
-  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 : 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 {
-        haskellPackages = self.haskellPackages.override { Cabal = self.Cabal_1_18_1_3; };
-      };
-    };
-    attoparsec = self.attoparsec_0_11_3_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; }; };
-    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_2; };
-      };
-    };
-    entropy = super.entropy.override { cabal = self.cabal.override { Cabal = self.Cabal_1_18_1_3; }; };
-    gloss = null;                       # requires base >= 4.7
-    modularArithmetic = null;           # requires base >= 4.7
-    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
-    zipArchive = super.zipArchive_0_2_2_1;    # works without binary 0.7.x
-  };
-
-  ghc742Prefs = self : super : ghc763Prefs self super // {
-    aeson = self.aeson_0_7_0_4.override { blazeBuilder = self.blazeBuilder; };
-    extensibleExceptions = null;        # core package in ghc <= 7.4.x
-    hackageDb = super.hackageDb.override { Cabal = self.Cabal_1_16_0_3; };
-    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
-  };
-
-  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
-    syb = self.syb_0_4_0;
-  };
-
-  ghc704Prefs = self : super : ghc722Prefs self super // {
-    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
-    HsSyck = self.HsSyck_0_51;
-    random = null;                      # core package in ghc <= 7.0.x
-  };
-
-  ghc6123Prefs = self : super : ghc704Prefs self super // {
-    alex = self.alex_3_1_3;
-    async = self.async_2_0_1_4;
-    attoparsec = self.attoparsec_0_10_4_0;
-    cabalInstall = self.cabalInstall_1_16_0_2;
-    cgi = self.cgi_3001_1_7_5;
-    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
-    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
-    networkUri = super.networkUri.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
-    parallel = self.parallel_3_2_0_3;
-    primitive = self.primitive_0_5_0_1;
-    reflection = super.reflection.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
-    scientific = null;                  # none of our versions compile
-    split = self.split_0_1_4_3;
-    stm = self.stm_2_4_2;
-    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; }; };
-  };
-
-  ghc6104Prefs = self : super : ghc6123Prefs self super // {
-    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_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; }; };
-    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; }; };
-    hsyslog = super.hsyslog.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
-    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; }; };
-    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
-   ({ ghc
-    , prefFun
-    , extension ? (self : super : {})
-    , profExplicit ? false, profDefault ? false
-    , modifyPrio ? lowPrio
-    } :
-    let haskellPackagesClass = import ./haskell-packages.nix {
-          inherit pkgs newScope ghc modifyPrio;
-          enableLibraryProfiling =
-            if profExplicit then profDefault
-                            else config.cabal.libraryProfiling or profDefault;
-        };
-        haskellPackagesPrefsClass = self : let super = haskellPackagesClass self; in super // prefFun self super;
-        haskellPackagesExtensionClass = self : let super = haskellPackagesPrefsClass self; in super // extension self super;
-        haskellPackages = haskellPackagesExtensionClass haskellPackages;
-    in haskellPackages);
-
-  defaultVersionPrioFun =
-    profDefault :
-    if config.cabal.libraryProfiling or false == profDefault
-      then (x : x)
-      else lowPrio;
-
-  packages = args : let r = packagesFun args;
-                    in  r // { lowPrio     = r.override { modifyPrio   = lowPrio; };
-                               highPrio    = r.override { modifyPrio   = hiPrio; };
-                               noProfiling = r.override { profDefault  = false;
-                                                          profExplicit = true;
-                                                          modifyPrio   = defaultVersionPrioFun false; };
-                               profiling   = r.override { profDefault  = true;
-                                                          profExplicit = true;
-                                                          modifyPrio   = defaultVersionPrioFun true; };
-                             };
-
-  # Compiler configurations
-  #
-  # Here, we associate compiler versions with bootstrap compiler versions and
-  # preference functions.
-
-  packages_ghc784 =
-    packages { ghc = pkgs.haskell-ng.compiler.ghc784;
-               prefFun = ghc784Prefs;
-             };
-
-  packages_ghc763 =
-    packages { ghc = pkgs.haskell-ng.compiler.ghc763;
-               prefFun = ghc763Prefs;
-             };
-
-  packages_ghc742 =
-    packages { ghc = pkgs.haskell-ng.compiler.ghc742;
-               prefFun = ghc742Prefs;
-             };
-
-  packages_ghc722 =
-    packages { ghc = pkgs.haskell-ng.compiler.ghc722;
-               prefFun = ghc722Prefs;
-             };
-
-  packages_ghc704 =
-    packages { ghc = pkgs.haskell-ng.compiler.ghc704;
-               prefFun = ghc704Prefs;
-             };
-
-  packages_ghc6123 =
-    packages { ghc = pkgs.haskell-ng.compiler.ghc6123;
-               prefFun = ghc6123Prefs;
-             };
-
-  packages_ghc6104 =
-    packages { ghc = pkgs.haskell-ng.compiler.ghc6104;
-               prefFun = ghc6104Prefs;
-             };
-
-}