summary refs log tree commit diff
path: root/pkgs/top-level/haskell-packages.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/top-level/haskell-packages.nix')
-rw-r--r--pkgs/top-level/haskell-packages.nix87
1 files changed, 52 insertions, 35 deletions
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 69f3c28bc9dd..ea2e01f94589 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -89,6 +89,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   ghc703Prefs  = super : super // super.haskellPlatformDefaults_2011_2_0_1 super;
   ghc704Prefs  = super : super // super.haskellPlatformDefaults_2011_2_0_1 super; # link
   ghc721Prefs  = super : super // super.haskellPlatformDefaults_future super;
+  ghc722Prefs  = super : super // super.haskellPlatformDefaults_future super;
   ghcHEADPrefs = super : super // super.haskellPlatformDefaults_future super; # link
 
   # GHC and its wrapper
@@ -103,7 +104,17 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
                                # top of this file.
 
   ghc = callPackage ../development/compilers/ghc/wrapper.nix {
-    ghc = ghc;
+    ghc = ghc; # refers to ghcPlain
+  };
+
+  # An experimental wrapper around ghcPlain that does not automatically
+  # pick up packages from the profile, but instead has a fixed set of packages
+  # in its global database. The set of packages can be specified as an
+  # argument to this function.
+
+  ghcWithPackages = pkgs : callPackage ../development/compilers/ghc/with-packages.nix {
+    ghc = ghc; # refers to ghcPlain
+    packages = pkgs self;
   };
 
   # This is the Cabal builder, the function we use to build most Haskell
@@ -126,30 +137,30 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
     cgi          = self.cgi_3001_1_7_4; # 7.2 ok, 7.3 ok
     fgl          = self.fgl_5_4_2_4; # 7.2 ok, 7.3 ok
     GLUT         = self.GLUT_2_1_2_1; # 7.2 ok, 7.3 ok
-    haskellSrc   = self.haskellSrc_1_0_1_4; # 7.2 fails, 7.3 fails
+    haskellSrc   = self.haskellSrc_1_0_1_5; # 7.2 fails, 7.3 fails
     html         = self.html_1_0_1_2; # 7.2 ok, 7.3 ok
     HUnit        = self.HUnit_1_2_2_3; # 7.2 ok, 7.3 ok
     network      = self.network_2_3_0_7; # 7.2 ok, 7.3 ok
     OpenGL       = self.OpenGL_2_2_3_0; # 7.2 ok, 7.3 ok
     parallel     = self.parallel_3_1_0_1; # 7.2 ok, 7.3 ok
-    parsec       = self.parsec_3_1_1; # 7.2 ok, 7.3 ok
+    parsec       = self.parsec_3_1_2; # 7.2 ok, 7.3 ok
     QuickCheck   = self.QuickCheck_2_4_0_1; # 7.2 ok, 7.3 ok
     regexBase    = self.regexBase_0_93_2; # 7.2 ok, 7.3 ok
     regexCompat  = self.regexCompat_0_93_1; # 7.2 ok, 7.3 ok
     regexPosix   = self.regexPosix_0_94_4; # 7.2 ok, 7.3 ok
     stm          = self.stm_2_2_0_1; # 7.2 ok, 7.3 ok
-    syb          = self.syb_0_3_3; # 7.2 ok, 7.3 ok
+    syb          = self.syb_0_3_5; # 7.2 ok, 7.3 ok
     xhtml        = self.xhtml_3000_2_0_1; # 7.2 ok, 7.3 ok
     zlib         = self.zlib_0_5_3_1; # 7.2 ok, 7.3 ok
-    HTTP         = self.HTTP_4000_1_2; # 7.2 ok, 7.3 ok
+    HTTP         = self.HTTP_4000_2_1; # 7.2 ok, 7.3 ok
     deepseq      = self.deepseq_1_1_0_2; # 7.2 ok, 7.3 ok
     text         = self.text_0_11_1_9; # 7.2 ok, 7.3 ok
     transformers = self.transformers_0_2_2_0; # 7.2 ok, 7.3 ok
     mtl          = self.mtl_2_0_1_0; # 7.2 ok, 7.3 ok
-    random       = self.random_1_0_0_3; # 7.2 ok, 7.3 ok
+    random       = self.random_1_0_1_1; # 7.2 ok, 7.3 ok
     cabalInstall = self.cabalInstall_0_10_2; # 7.2 fails, 7.3 fails
     alex         = self.alex_3_0_1; # 7.2 ok, 7.3 ok
-    happy        = self.happy_1_18_6; # 7.2 ok, 7.3 ok
+    happy        = self.happy_1_18_8; # 7.2 ok, 7.3 ok
     haddock      = self.haddock_2_9_2; # 7.2 fails, 7.3 fails
   };
 
@@ -349,6 +360,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
     self : self.haskellPlatformArgs_2009_2_0_2 self // {
       haskellPlatform = self.haskellPlatform_2009_2_0_2;
       extensibleExceptions = self.extensibleExceptions_0_1_1_0;
+      text = self.text_0_11_0_6;
       repaExamples = null;      # don't pick this version of 'repa-examples' during nix-env -u
     };
 
@@ -359,10 +371,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   # Haskell libraries.
 
-  Agda = callPackage ../development/libraries/haskell/Agda {
-    syb = self.syb02;
-    haskellSrcExts = self.haskellSrcExts_1_9_6;
-  };
+  Agda = callPackage ../development/libraries/haskell/Agda {};
 
   ACVector = callPackage ../development/libraries/haskell/AC-Vector {};
 
@@ -386,10 +395,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   attoparsecEnumerator = callPackage ../development/libraries/haskell/attoparsec/enumerator.nix {};
 
-  attoparsecText = callPackage ../development/libraries/haskell/attoparsec-text {};
-
-  attoparsecTextEnumerator = callPackage ../development/libraries/haskell/attoparsec-text-enumerator {};
-
   authenticate = callPackage ../development/libraries/haskell/authenticate {};
 
   base16Bytestring = callPackage ../development/libraries/haskell/base16-bytestring {};
@@ -430,6 +435,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   bytestringNums = callPackage ../development/libraries/haskell/bytestring-nums {};
 
+  bytestringLexing = callPackage ../development/libraries/haskell/bytestring-lexing {};
+
   bytestringMmap = callPackage ../development/libraries/haskell/bytestring-mmap {};
 
   bytestringTrie = callPackage ../development/libraries/haskell/bytestring-trie {};
@@ -674,6 +681,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   hashedStorage = callPackage ../development/libraries/haskell/hashed-storage {};
 
+  hashtables = callPackage ../development/libraries/haskell/hashtables {};
+
   haskeline = callPackage ../development/libraries/haskell/haskeline {};
 
   haskelineClass = callPackage ../development/libraries/haskell/haskeline-class {};
@@ -682,21 +691,20 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   haskellSrc_1_0_1_3 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.3.nix {};
   haskellSrc_1_0_1_4 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.4.nix {};
-  haskellSrc = self.haskellSrc_1_0_1_3;
+  haskellSrc_1_0_1_5 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.5.nix {};
+  haskellSrc = self.haskellSrc_1_0_1_5;
 
-  # The old version is required for Agda.
-  haskellSrcExts_1_11_1 = callPackage ../development/libraries/haskell/haskell-src-exts/1.11.1.nix {};
-  haskellSrcExts_1_9_6 = callPackage ../development/libraries/haskell/haskell-src-exts/1.9.6.nix {};
-  haskellSrcExts = self.haskellSrcExts_1_11_1;
+  haskellSrcExts = callPackage ../development/libraries/haskell/haskell-src-exts/default.nix {};
 
   haskellSrcMeta = callPackage ../development/libraries/haskell/haskell-src-meta {};
 
-  HTTP_3001_1_5 = callPackage ../development/libraries/haskell/HTTP/3001.1.5.nix {};
+  hastache = callPackage ../development/libraries/haskell/hastache {};
+
   HTTP_4000_0_6 = callPackage ../development/libraries/haskell/HTTP/4000.0.6.nix {};
   HTTP_4000_0_9 = callPackage ../development/libraries/haskell/HTTP/4000.0.9.nix {};
   HTTP_4000_1_1 = callPackage ../development/libraries/haskell/HTTP/4000.1.1.nix {};
-  HTTP_4000_1_2 = callPackage ../development/libraries/haskell/HTTP/4000.1.2.nix {};
-  HTTP = self.HTTP_4000_0_6;
+  HTTP_4000_2_1 = callPackage ../development/libraries/haskell/HTTP/4000.2.1.nix {};
+  HTTP = self.HTTP_4000_2_1;
 
   hackageDb = callPackage ../development/libraries/haskell/hackage-db {};
 
@@ -802,6 +810,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
     parsec = self.parsec2;
   };
 
+  iteratee = callPackage ../development/libraries/haskell/iteratee {};
+
   ivor = callPackage ../development/libraries/haskell/ivor {};
 
   jpeg = callPackage ../development/libraries/haskell/jpeg {};
@@ -827,6 +837,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   leksahServer = callPackage ../development/libraries/haskell/leksah/leksah-server.nix {};
 
+  libmpd = callPackage ../development/libraries/haskell/libmpd {};
+
   ListLike = callPackage ../development/libraries/haskell/ListLike {};
 
   ltk = callPackage ../development/libraries/haskell/ltk {};
@@ -851,6 +863,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   MonadCatchIOTransformers = callPackage ../development/libraries/haskell/MonadCatchIO-transformers {};
 
+  monadControl_OBSOLETE = callPackage ../development/libraries/haskell/monad-control/0.2.0.3.nix {};
   monadControl = callPackage ../development/libraries/haskell/monad-control {};
 
   monadLoops = callPackage ../development/libraries/haskell/monad-loops {};
@@ -944,7 +957,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   parsec_3_1_2   = callPackage ../development/libraries/haskell/parsec/3.1.2.nix {};
   parsec2 = self.parsec_2_1_0_1;
   parsec3 = self.parsec_3_1_2;
-  parsec  = self.parsec2;
+  parsec  = self.parsec3;
 
   parsimony = callPackage ../development/libraries/haskell/parsimony {};
 
@@ -996,13 +1009,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   RangedSets = callPackage ../development/libraries/haskell/Ranged-sets {};
 
-  random_1_0_0_2_newtime = callPackage ../development/libraries/haskell/random/1.0.0.2.nix {
-    time = self.time_1_2_0_3;
-  };
-  random_1_0_0_3 = callPackage ../development/libraries/haskell/random/1.0.0.3.nix {};
-  random_1_0_1_0 = callPackage ../development/libraries/haskell/random/1.0.1.0.nix {};
+  random_1_0_1_1 = callPackage ../development/libraries/haskell/random/1.0.1.1.nix {};
   random = null; # core package until ghc-7.2.1
-  random_newtime = self.random_1_0_0_2_newtime;
 
   randomFu = callPackage ../development/libraries/haskell/random-fu {};
 
@@ -1094,7 +1102,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   syb_0_2_2 = callPackage ../development/libraries/haskell/syb/0.2.2.nix {};
   syb_0_3   = callPackage ../development/libraries/haskell/syb/0.3.nix {};
-  syb_0_3_3 = callPackage ../development/libraries/haskell/syb/0.3.3.nix {};
+  syb_0_3_5 = callPackage ../development/libraries/haskell/syb/0.3.5.nix {};
   syb02     = self.syb_0_2_2;
   syb03     = self.syb_0_3;
   syb       = null; # by default, we assume that syb ships with GHC, which is
@@ -1190,6 +1198,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   thespian = callPackage ../development/libraries/haskell/thespian {};
 
+  thExtras = callPackage ../development/libraries/haskell/th-extras {};
+
   thLift = callPackage ../development/libraries/haskell/th-lift {};
 
   threadmanager = callPackage ../development/libraries/haskell/threadmanager {};
@@ -1210,6 +1220,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   transformers_0_2_2_0 = callPackage ../development/libraries/haskell/transformers/0.2.2.0.nix {};
   transformers = self.transformers_0_2_2_0;
 
+  transformersBase = callPackage ../development/libraries/haskell/transformers-base {};
+
   tuple = callPackage ../development/libraries/haskell/tuple {};
 
   typeEquality = callPackage ../development/libraries/haskell/type-equality {};
@@ -1364,7 +1376,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   AgdaExecutable = callPackage ../development/compilers/Agda-executable {};
 
-  ehc = callPackage ../development/compilers/ehc {};
+  uhc = callPackage ../development/compilers/uhc {};
 
   epic = callPackage ../development/compilers/epic {};
 
@@ -1399,12 +1411,13 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   haddock_2_7_2 = callPackage ../development/tools/documentation/haddock/2.7.2.nix {};
   haddock_2_9_2 = callPackage ../development/tools/documentation/haddock/2.9.2.nix {};
   haddock_2_9_4 = callPackage ../development/tools/documentation/haddock/2.9.4.nix {};
-  haddock = self.haddock_2_7_2;
+  haddock = self.haddock_2_9_4;
 
   happy_1_18_4 = callPackage ../development/tools/parsing/happy/1.18.4.nix {};
   happy_1_18_5 = callPackage ../development/tools/parsing/happy/1.18.5.nix {};
   happy_1_18_6 = callPackage ../development/tools/parsing/happy/1.18.6.nix {};
-  happy = self.happy_1_18_4;
+  happy_1_18_8 = callPackage ../development/tools/parsing/happy/1.18.8.nix {};
+  happy = self.happy_1_18_8;
 
   happyMeta = callPackage ../development/tools/haskell/happy-meta {};
 
@@ -1414,6 +1427,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   hslogger = callPackage ../development/tools/haskell/hslogger {};
 
+  SourceGraph = callPackage ../development/tools/haskell/SourceGraph {};
+
   tar = callPackage ../development/tools/haskell/tar {};
 
   threadscope = callPackage ../development/tools/haskell/threadscope {};
@@ -1428,7 +1443,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   leksah = callPackage ../applications/editors/leksah {};
 
-  xmobar = callPackage ../applications/misc/xmobar {};
+  xmobar = callPackage ../applications/misc/xmobar {
+    parsec = self.parsec3;
+  };
 
   xmonad = callPackage ../applications/window-managers/xmonad {};