summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndres Löh2009-04-19 11:44:37 +0000
committerAndres Löh2009-04-19 11:44:37 +0000
commitb148543c3e1eb59995034b881be638744acc43e7 (patch)
tree883058f4cab36acf6a91df5647a01d9adab11bed
parent5cfba3ac68fbe20c795554bce08fd1cfdc482c8b (diff)
Towards Haskell Platform support.
svn path=/nixpkgs/trunk/; revision=15148
-rw-r--r--pkgs/development/libraries/haskell/HUnit/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/cabal/cabal.nix2
-rw-r--r--pkgs/development/libraries/haskell/haskell-src/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/html/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/mtl/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/network/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/parallel/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/parsec/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/regex-base/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/regex-compat/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/xhtml/default.nix11
-rw-r--r--pkgs/development/tools/parsing/happy/happy-1.18.2.nix13
-rw-r--r--pkgs/top-level/haskell-packages.nix52
15 files changed, 140 insertions, 17 deletions
diff --git a/pkgs/development/libraries/haskell/HUnit/default.nix b/pkgs/development/libraries/haskell/HUnit/default.nix
new file mode 100644
index 000000000000..a6f66eefad67
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HUnit/default.nix
@@ -0,0 +1,11 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "HUnit";
+  version = "1.2.0.3"; # Haskell Platform 2009.0.0
+  sha256 = "954f584f7c096c3ddef677e70b3811195bb4fd18dfdb4727a260ca7d7465de12";
+  meta = {
+    description = "A unit testing framework for Haskell";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/QuickCheck/default.nix b/pkgs/development/libraries/haskell/QuickCheck/default.nix
new file mode 100644
index 000000000000..5405e50aa6bc
--- /dev/null
+++ b/pkgs/development/libraries/haskell/QuickCheck/default.nix
@@ -0,0 +1,11 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "QuickCheck";
+  version = "1.2.0.0"; # Haskell Platform 2009.0.0
+  sha256 = "21672d817913ac7ab6d3fd7f102dd5d0f115a0826c95b9604c8c0b0171e8d4ed";
+  meta = {
+    description = "Automatic testing of Haskell programs";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/cabal/cabal.nix b/pkgs/development/libraries/haskell/cabal/cabal.nix
index c3b8037cd3be..0c976ca23220 100644
--- a/pkgs/development/libraries/haskell/cabal/cabal.nix
+++ b/pkgs/development/libraries/haskell/cabal/cabal.nix
@@ -49,7 +49,7 @@ attrs :
 
               for i in ${toString self.patchLibFiles}; do
                 echo "patching $i"
-                test -f $i && sed -i '/[eE]xtra-[lL]ibraries/ { s|\( *\)[eE]xtra-[lL]ibraries.*|&\n\1extra-lib-dirs: ${toString self.extraLibDirs}| }' $i
+                test -f $i && sed -i '/[eE]xtra-[lL]ibraries/ { s|^\( *\)[eE]xtra-[lL]ibraries.*|&\n\1extra-lib-dirs: ${toString self.extraLibDirs}| }' $i
               done
               for i in Setup.hs Setup.lhs; do
                 test -f $i && ghc --make $i
diff --git a/pkgs/development/libraries/haskell/haskell-src/default.nix b/pkgs/development/libraries/haskell/haskell-src/default.nix
new file mode 100644
index 000000000000..365138b28a76
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskell-src/default.nix
@@ -0,0 +1,12 @@
+{cabal, happy}:
+
+cabal.mkDerivation (self : {
+  pname = "haskell-src";
+  version = "1.0.1.3"; # Haskell Platform 2009.0.0
+  sha256 = "a7872900acd2293775a6bdc6dc8f70438ccd80e62d2d1e2394ddff15b1883e89";
+  extraBuildInputs = [happy];
+  meta = {
+    description = "Manipulating Haskell source code";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/html/default.nix b/pkgs/development/libraries/haskell/html/default.nix
index 52c29e74e0b4..024985c82699 100644
--- a/pkgs/development/libraries/haskell/html/default.nix
+++ b/pkgs/development/libraries/haskell/html/default.nix
@@ -2,7 +2,7 @@
 
 cabal.mkDerivation (self : {
   pname = "html";
-  version = "1.0.1.2";
+  version = "1.0.1.2"; # Haskell Platform 2009.0.0
   sha256 = "0c35495ea33d65e69c69bc7441ec8e1af69fbb43433c2aa3406c0a13a3ab3061";
   meta = {
     description = "HTML combinator library";
diff --git a/pkgs/development/libraries/haskell/mtl/default.nix b/pkgs/development/libraries/haskell/mtl/default.nix
index c195d5cd7c3e..5881a2cd3df7 100644
--- a/pkgs/development/libraries/haskell/mtl/default.nix
+++ b/pkgs/development/libraries/haskell/mtl/default.nix
@@ -2,7 +2,7 @@
 
 cabal.mkDerivation (self : {
   pname = "mtl";
-  version = "1.1.0.2";
+  version = "1.1.0.2"; # Haskell Platform 2009.0.0
   sha256 = "a225aaf2b1e337f40c31e5c42f95eec9a4608322b0e4c135d2b31b8421a58d36";
   meta = {
     description = "Monad transformer library";
diff --git a/pkgs/development/libraries/haskell/network/default.nix b/pkgs/development/libraries/haskell/network/default.nix
new file mode 100644
index 000000000000..16f4ce12d7a2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/network/default.nix
@@ -0,0 +1,12 @@
+{cabal, parsec}:
+
+cabal.mkDerivation (self : {
+  pname = "network";
+  version = "2.2.1"; # Haskell Platform 2009.0.0
+  sha256 = "111e4963a0a979570993e79511a778b267ef58df35320d1ddda61a869259b63c";
+  propagatedBuildInputs = [parsec];
+  meta = {
+    description = "Networking-related facilities";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/parallel/default.nix b/pkgs/development/libraries/haskell/parallel/default.nix
new file mode 100644
index 000000000000..065344d75fa3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/parallel/default.nix
@@ -0,0 +1,11 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "parallel";
+  version = "1.1.0.1"; # Haskell Platform 2009.0.0
+  sha256 = "0885086660268f3626effacb29a02b5c81f3e5a8dfa99dabe0981ddbc407999f";
+  meta = {
+    description = "parallel programming library";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/parsec/default.nix b/pkgs/development/libraries/haskell/parsec/default.nix
index 6b1d9ef2e3ba..e0564d5720d9 100644
--- a/pkgs/development/libraries/haskell/parsec/default.nix
+++ b/pkgs/development/libraries/haskell/parsec/default.nix
@@ -2,7 +2,7 @@
 
 cabal.mkDerivation (self : {
   pname = "parsec";
-  version = "2.1.0.1";
+  version = "2.1.0.1"; # Haskell Platform 2009.0.0
   sha256 = "2d85e5b5c8b2b1f341037ce67e1db7fa47b31c083136796cfef9e5b945c656df";
   meta = {
     description = "Monadic parser combinators";
diff --git a/pkgs/development/libraries/haskell/regex-base/default.nix b/pkgs/development/libraries/haskell/regex-base/default.nix
index b82729057e7d..afb08ebee0d8 100644
--- a/pkgs/development/libraries/haskell/regex-base/default.nix
+++ b/pkgs/development/libraries/haskell/regex-base/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "regex-base";
-  version = "0.93.1";
-  sha256 = "24a0e76ab308517a53d2525e18744d9058835626ed4005599ecd8dd4e07f3bef";
+  version = "0.72.0.2"; # Haskell Platform 2009.0.0
+  sha256 = "38a4901b942fea646a422d52c52ef14eec4d6561c258b3c54cd96a8a354141ee";
   propagatedBuildInputs = [mtl];
   meta = {
     description = "Replaces/Ehances Text.Regex";
diff --git a/pkgs/development/libraries/haskell/regex-compat/default.nix b/pkgs/development/libraries/haskell/regex-compat/default.nix
index 43c715d91854..85a725264f82 100644
--- a/pkgs/development/libraries/haskell/regex-compat/default.nix
+++ b/pkgs/development/libraries/haskell/regex-compat/default.nix
@@ -2,11 +2,11 @@
 
 cabal.mkDerivation (self : {
   pname = "regex-compat";
-  version = "0.92";
-  sha256 = "430d251bd704071fca1e38c9b250543f00d4e370382ed552ac3d7407d4f27936";
+  version = "0.71.0.1"; # Haskell Platform 2009.0.0
+  sha256 = "904552f7d690686b2602f37494827d09b09fc0a8a2565522b61847bec8d1de8d";
   propagatedBuildInputs = [regexBase regexPosix];
   meta = {
-    description = "Replaces/Ehances Text.Regex";
+    description = "Replaces/Enhances Text.Regex";
   };
 })  
 
diff --git a/pkgs/development/libraries/haskell/regex-posix/default.nix b/pkgs/development/libraries/haskell/regex-posix/default.nix
index 3ee1f48d25aa..07980b1a1e12 100644
--- a/pkgs/development/libraries/haskell/regex-posix/default.nix
+++ b/pkgs/development/libraries/haskell/regex-posix/default.nix
@@ -2,11 +2,11 @@
 
 cabal.mkDerivation (self : {
   pname = "regex-posix";
-  version = "0.94.1";
-  sha256 = "63e76de0610d35f1b576ae65a25a38e04e758ed64b9b3512de95bdffd649485c";
+  version = "0.72.0.3"; # Haskell Platform 2009.0.0
+  sha256 = "327ab87f3d4f5315a9414331eb382b8b997de8836d577c3f7d232c574606feb1";
   extraBuildInputs = [regexBase];
   meta = {
-    description = "Replaces/Ehances Text.Regex";
+    description = "Replaces/Enhances Text.Regex";
   };
 })  
 
diff --git a/pkgs/development/libraries/haskell/xhtml/default.nix b/pkgs/development/libraries/haskell/xhtml/default.nix
new file mode 100644
index 000000000000..916b57e32639
--- /dev/null
+++ b/pkgs/development/libraries/haskell/xhtml/default.nix
@@ -0,0 +1,11 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "xhtml";
+  version = "3000.2.0.1"; # Haskell Platform 2009.0.0
+  sha256 = "60d7a44ae6d607475e2d60c5bf9909b8a3bd88850d52b08ff1532aa6d58bec96";
+  meta = {
+    description = "An XHTML combinator library";
+  };
+})  
+
diff --git a/pkgs/development/tools/parsing/happy/happy-1.18.2.nix b/pkgs/development/tools/parsing/happy/happy-1.18.2.nix
new file mode 100644
index 000000000000..889630a5e9b1
--- /dev/null
+++ b/pkgs/development/tools/parsing/happy/happy-1.18.2.nix
@@ -0,0 +1,13 @@
+{cabal, mtl, perl}:
+
+cabal.mkDerivation (self : {
+  pname = "happy";
+  version = "1.18.2"; # Haskell Platform 2009.0.0
+  name = self.fname;
+  sha256 = "7515922f3cfd32cd844a0abfefe0b4871f403f0d869b8644bf9cbfc0b67996ae";
+  extraBuildInputs = [perl];
+  propagatedBuildInputs = [mtl];
+  meta = {
+    description = "Happy is a parser generator for Haskell";
+  };
+})
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 3c6049bd3c49..448b5e0c8908 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -27,14 +27,14 @@ rec {
     inherit cabal;
   };
 
-  maybench = import ../development/libraries/haskell/maybench {
-    inherit cabal benchpress;
-  };
-
   binary = import ../development/libraries/haskell/binary {
     inherit cabal;
   };
 
+  cgi = import ../development/libraries/haskell/cgi {
+    inherit cabal mtl network parsec xhtml;
+  };
+
   Crypto = import ../development/libraries/haskell/Crypto {
     inherit cabal;
   };
@@ -43,11 +43,19 @@ rec {
     inherit (pkgs) libedit;
     inherit cabal;
   };
+
+  fgl = import ../development/libraries/haskell/fgl {
+    inherit cabal mtl;
+  };
   
   gtk2hs = import ../development/libraries/haskell/gtk2hs {
     inherit (pkgs) pkgconfig stdenv fetchurl cairo ghc;
     inherit (pkgs.gnome) gtk glib GConf libglade libgtkhtml gtkhtml;
   };
+
+  haskellSrc = import ../development/libraries/haskell/haskell-src {
+    inherit cabal happy;
+  };
   
   HTTP = import ../development/libraries/haskell/HTTP {
     inherit cabal;
@@ -83,6 +91,14 @@ rec {
     inherit cabal;
   };
 
+  HUnit = import ../development/libraries/haskell/HUnit {
+    inherit cabal;
+  };
+
+  maybench = import ../development/libraries/haskell/maybench {
+    inherit cabal benchpress;
+  };
+
   monadlab = import ../development/libraries/haskell/monadlab {
     inherit cabal;
   };
@@ -91,6 +107,14 @@ rec {
     inherit cabal;
   };
 
+  network = import ../development/libraries/haskell/network {
+    inherit cabal parsec;
+  };
+
+  parallel = import ../development/libraries/haskell/parallel {
+    inherit cabal;
+  };
+
   parsec = import ../development/libraries/haskell/parsec {
     inherit cabal;
   };
@@ -100,6 +124,10 @@ rec {
     inherit (pkgs) pcre;
   };
 
+  QuickCheck = import ../development/libraries/haskell/QuickCheck {
+    inherit cabal;
+  };
+
   regexBase = import ../development/libraries/haskell/regex-base {
     inherit cabal mtl;
   };
@@ -112,6 +140,10 @@ rec {
     inherit cabal regexBase;
   };
 
+  stm = import ../development/libraries/haskell/stm {
+    inherit cabal;
+  };
+
   uuagc = import ../development/tools/haskell/uuagc {
     inherit cabal uulib;
   };
@@ -135,6 +167,10 @@ rec {
     xineramaSupport = true;
   };
 
+  xhtml = import ../development/libraries/haskell/xhtml {
+    inherit cabal;
+  };
+
   zlib = import ../development/libraries/haskell/zlib {
     inherit cabal zlib;
   };
@@ -175,11 +211,17 @@ rec {
     inherit cabal;
   });
 
-  happy = import ../development/tools/parsing/happy/happy-1.17.nix {
+  happy = happy1182;
+
+  happy117 = import ../development/tools/parsing/happy/happy-1.17.nix {
     inherit cabal;
     inherit (pkgs) perl;
   };
 
+  happy1182 = import ../development/tools/parsing/happy/happy-1.18.2.nix {
+    inherit cabal mtl;
+    inherit (pkgs) perl;
+  };
 
   # Applications.