From b148543c3e1eb59995034b881be638744acc43e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andres=20L=C3=B6h?= Date: Sun, 19 Apr 2009 11:44:37 +0000 Subject: [PATCH] Towards Haskell Platform support. svn path=/nixpkgs/trunk/; revision=15148 --- .../libraries/haskell/HUnit/default.nix | 11 ++++ .../libraries/haskell/QuickCheck/default.nix | 11 ++++ .../libraries/haskell/cabal/cabal.nix | 2 +- .../libraries/haskell/haskell-src/default.nix | 12 +++++ .../libraries/haskell/html/default.nix | 2 +- .../libraries/haskell/mtl/default.nix | 2 +- .../libraries/haskell/network/default.nix | 12 +++++ .../libraries/haskell/parallel/default.nix | 11 ++++ .../libraries/haskell/parsec/default.nix | 2 +- .../libraries/haskell/regex-base/default.nix | 4 +- .../haskell/regex-compat/default.nix | 6 +-- .../libraries/haskell/regex-posix/default.nix | 6 +-- .../libraries/haskell/xhtml/default.nix | 11 ++++ .../tools/parsing/happy/happy-1.18.2.nix | 13 +++++ pkgs/top-level/haskell-packages.nix | 52 +++++++++++++++++-- 15 files changed, 140 insertions(+), 17 deletions(-) create mode 100644 pkgs/development/libraries/haskell/HUnit/default.nix create mode 100644 pkgs/development/libraries/haskell/QuickCheck/default.nix create mode 100644 pkgs/development/libraries/haskell/haskell-src/default.nix create mode 100644 pkgs/development/libraries/haskell/network/default.nix create mode 100644 pkgs/development/libraries/haskell/parallel/default.nix create mode 100644 pkgs/development/libraries/haskell/xhtml/default.nix create mode 100644 pkgs/development/tools/parsing/happy/happy-1.18.2.nix 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.