diff options
Diffstat (limited to 'pkgs/top-level/haskell-defaults.nix')
-rw-r--r-- | pkgs/top-level/haskell-defaults.nix | 223 |
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; - }; - -} |