about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarc Weber <marco-oweber@gmx.de>2008-08-06 11:41:17 +0000
committerMarc Weber <marco-oweber@gmx.de>2008-08-06 11:41:17 +0000
commit7608d6f063d034b4f9c3ed3ee6813d0f0472df24 (patch)
tree1ff8a0672d78416778e1a62cf083dd6e626ea866
parentcc44e2bb54034ed893fb9f842cdeb15723fecbdc (diff)
downloadnixlib-7608d6f063d034b4f9c3ed3ee6813d0f0472df24.tar
nixlib-7608d6f063d034b4f9c3ed3ee6813d0f0472df24.tar.gz
nixlib-7608d6f063d034b4f9c3ed3ee6813d0f0472df24.tar.bz2
nixlib-7608d6f063d034b4f9c3ed3ee6813d0f0472df24.tar.lz
nixlib-7608d6f063d034b4f9c3ed3ee6813d0f0472df24.tar.xz
nixlib-7608d6f063d034b4f9c3ed3ee6813d0f0472df24.tar.zst
nixlib-7608d6f063d034b4f9c3ed3ee6813d0f0472df24.zip
update ghc stuff (hsp is now supported as well except hsp-xml)
svn path=/nixpkgs/trunk/; revision=12509
-rw-r--r--pkgs/development/misc/bleeding-edge-repos/default.nix14
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/happs_hsp.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/happs_hsp_template.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/haskell_src_exts.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/hjavascript.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/hjquery.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/hjscript.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/hsp.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/hspCgi.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/hsp_xml.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/libnih.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/nix_repository_manager.nix2
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/plugins.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/upstart.nix3
-rw-r--r--pkgs/misc/ghc68extraLibs/WASHNGo_Patch_ghc68211
-rw-r--r--pkgs/misc/ghc68extraLibs/default.nix75
-rw-r--r--pkgs/misc/ghc68extraLibs/hsp-darcs-patch13
-rw-r--r--pkgs/misc/ghc68extraLibs/hsx-patch10
-rw-r--r--pkgs/misc/ghc68extraLibs/plugins-darcs-patches166
-rw-r--r--pkgs/top-level/all-packages.nix4
20 files changed, 310 insertions, 21 deletions
diff --git a/pkgs/development/misc/bleeding-edge-repos/default.nix b/pkgs/development/misc/bleeding-edge-repos/default.nix
index dd6903225b29..0b3f782a96d5 100644
--- a/pkgs/development/misc/bleeding-edge-repos/default.nix
+++ b/pkgs/development/misc/bleeding-edge-repos/default.nix
@@ -36,6 +36,8 @@ args:
 
       nix_repository_manager = { type = "darcs"; url = "http://mawercer.de/~marc/repos/nix-repository-manager"; };
 
+      plugins = { type = "darcs"; url="http://code.haskell.org/~dons/code/hs-plugins/"; groups="haskell"; };
+
       # darcs repositories haskell 
       http =  { type= "darcs"; url="http://darcs.haskell.org/http/"; groups="happs"; };
       syb_with_class =  { type="darcs"; url="http://happs.org/HAppS/syb-with-class"; groups="happs"; };
@@ -45,8 +47,20 @@ args:
       happs_plugins =  { type="darcs"; url=http://happs.org/repos/HAppS-Plugins; groups="happs"; };
       happs_ixset =  { type="darcs"; url=http://happs.org/repos/HAppS-IxSet; groups="happs"; };
       happs_server =  { type="darcs"; url=http://happs.org/repos/HAppS-Server; groups="happs"; };
+      happs_hsp = { type="darcs"; url="http://code.haskell.org/HSP/happs-hsp"; groups="happs haskell hsp"; };
+      happs_hsp_template = { type="darcs"; url="http://code.haskell.org/HSP/happs-hsp-template"; groups="happs haskell hsp"; };
+      # haskell_src_exts_metaquote = { type="darcs"; url=http://code.haskell.org/~morrow/code/haskell/haskell-src-exts-metaquote; groups="happs haskell hsp"; };
+      haskell_src_exts = { type="darcs"; url=http://code.haskell.org/HSP/haskell-src-exts/; groups="happs haskell hsp"; };
+      
+      hsp = { type="darcs"; url="http://code.haskell.org/HSP/hsp"; groups="happs haskell hsp"; };
+      hsp_xml = { type="darcs"; url="http://code.haskell.org/HSP/hsp-xml"; groups="happs haskell hsp"; };
+      hspCgi = { type="darcs"; url="http://code.haskell.org/HSP/hsp-cgi"; groups="happs haskell hsp"; };
+      hjscript = { type="darcs"; url="http://code.haskell.org/HSP/hjscript"; groups="happs haskell hsp"; };
+      hjquery = { type="darcs"; url="http://code.haskell.org/HSP/hjquery"; groups="happs haskell hsp"; };
+      hjavascript = { type="darcs"; url="http://code.haskell.org/HSP/hjavascript"; groups="happs haskell hsp"; };
       takusen = { type="darcs"; url=http://darcs.haskell.org/takusen/; };
       cabal = { type="darcs"; url=http://darcs.haskell.org/cabal; };
+      haxml = { type="darcs"; url=http://www.cs.york.ac.uk/fp/darcs/HaXml; groups = "pg_haskell"; };
 
 
       # git repositories 
diff --git a/pkgs/misc/bleeding-edge-fetch-info/happs_hsp.nix b/pkgs/misc/bleeding-edge-fetch-info/happs_hsp.nix
new file mode 100644
index 000000000000..9cea2e0b3659
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/happs_hsp.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/happs_hsp.tar.gz;
+  sha256 = "cc4df8509468ec83e3f448bb1e1fe5cb7e1f2408851861df31f139778e3c8cc8";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/happs_hsp_template.nix b/pkgs/misc/bleeding-edge-fetch-info/happs_hsp_template.nix
new file mode 100644
index 000000000000..3d99a1583524
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/happs_hsp_template.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/happs_hsp_template.tar.gz;
+  sha256 = "b41336352ab878c1342c872e82354de1853366ddaf3abeb213ccad073052c9ac";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/haskell_src_exts.nix b/pkgs/misc/bleeding-edge-fetch-info/haskell_src_exts.nix
new file mode 100644
index 000000000000..ca109ff9421c
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/haskell_src_exts.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/haskell_src_exts.tar.gz;
+  sha256 = "6cb2214ee3a62083325c907e47979b5fdf6809ce0ef2cd400fba0219b3f42090";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/hjavascript.nix b/pkgs/misc/bleeding-edge-fetch-info/hjavascript.nix
new file mode 100644
index 000000000000..7e4ba331c2c0
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/hjavascript.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/hjavascript.tar.gz;
+  sha256 = "fcf76a344eda3afca9b87f8e8ae1d343953b1bdda5da062f887a47f7d5a3c0da";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/hjquery.nix b/pkgs/misc/bleeding-edge-fetch-info/hjquery.nix
new file mode 100644
index 000000000000..6a5581266666
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/hjquery.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/hjquery.tar.gz;
+  sha256 = "32691467d83acd73f733c695266fbeeb4978ee43f4380d3b3554350bfb7cbb0e";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/hjscript.nix b/pkgs/misc/bleeding-edge-fetch-info/hjscript.nix
new file mode 100644
index 000000000000..3b2ebbf6d941
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/hjscript.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/hjscript.tar.gz;
+  sha256 = "fba290645b5ada63030143137d653d34ca5874660e8ab31072a76a57933dfce2";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/hsp.nix b/pkgs/misc/bleeding-edge-fetch-info/hsp.nix
new file mode 100644
index 000000000000..c089b287b249
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/hsp.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/hsp.tar.gz;
+  sha256 = "bfaf83e5eff20226f9602c7889462f86d176b673b1cf677c280aeabb6dd560a3";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/hspCgi.nix b/pkgs/misc/bleeding-edge-fetch-info/hspCgi.nix
new file mode 100644
index 000000000000..3511fcb6bb64
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/hspCgi.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/hspCgi.tar.gz;
+  sha256 = "87bd8cb7e3ccad0147c36ce7af0f3089684b739f4149376821e258445b83f7b6";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/hsp_xml.nix b/pkgs/misc/bleeding-edge-fetch-info/hsp_xml.nix
new file mode 100644
index 000000000000..455941de8402
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/hsp_xml.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/hsp_xml.tar.gz;
+  sha256 = "203efdd5ec3784be0b1580569e56f278e102c2275350934a3b2ee4850b7ee34f";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/libnih.nix b/pkgs/misc/bleeding-edge-fetch-info/libnih.nix
new file mode 100644
index 000000000000..db92d6427352
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/libnih.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/libnih.tar.gz;
+  sha256 = "443c7af0363d1fb3b040d1903ff28cbd520c9f32634bff639263b8315b293acc";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/nix_repository_manager.nix b/pkgs/misc/bleeding-edge-fetch-info/nix_repository_manager.nix
index d915a5f5edd6..3a99365c32f7 100644
--- a/pkgs/misc/bleeding-edge-fetch-info/nix_repository_manager.nix
+++ b/pkgs/misc/bleeding-edge-fetch-info/nix_repository_manager.nix
@@ -1,3 +1,3 @@
  args: with args; fetchurl { 
   url = http://mawercer.de/~nix/repos/nix_repository_manager.tar.gz;
-  sha256 = "6422ef73ea0efceed6ee8e0c6349826813a921ef6f15f68eacc11a3cf1304b37";}
+  sha256 = "449065f8411c5628b9fe88445601558dfd9a5f87b1703df9465838ef0afb9d34";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/plugins.nix b/pkgs/misc/bleeding-edge-fetch-info/plugins.nix
new file mode 100644
index 000000000000..0e28c8b04060
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/plugins.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/plugins.tar.gz;
+  sha256 = "33206e33258b64fbb077291cd1f5f20629c6129c5541c177e51074a3082f59fa";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/upstart.nix b/pkgs/misc/bleeding-edge-fetch-info/upstart.nix
new file mode 100644
index 000000000000..76bf354d20c2
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/upstart.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/upstart.tar.gz;
+  sha256 = "3243857ce4e0cd0d6fe28dbdcaa294b5590befed79b54a306b40cb5c65b381db";}
diff --git a/pkgs/misc/ghc68extraLibs/WASHNGo_Patch_ghc682 b/pkgs/misc/ghc68extraLibs/WASHNGo_Patch_ghc682
index bc63491df6e3..21ee5be29329 100644
--- a/pkgs/misc/ghc68extraLibs/WASHNGo_Patch_ghc682
+++ b/pkgs/misc/ghc68extraLibs/WASHNGo_Patch_ghc682
@@ -53,4 +53,15 @@
  Extensions: ForeignFunctionInterface
  Exposed-Modules:
          WASH.CGI.AbstractSelector
+--- a/Setup.lhs
++++ b/Setup.lhs
+@@ -5,7 +5,7 @@ arch-tag: Main setup script
+ > import Distribution.Simple.Configure
+ > import Distribution.Simple.LocalBuildInfo
+ > import Distribution.Simple.Program
+-> import Distribution.Setup
++> import Distribution.Simple.Setup
+ > import Distribution.Text
+ > import Distribution.Verbosity
+ > import Distribution.PackageDescription
 
diff --git a/pkgs/misc/ghc68extraLibs/default.nix b/pkgs/misc/ghc68extraLibs/default.nix
index 2f7f4f7151f6..9d9d8fecb96c 100644
--- a/pkgs/misc/ghc68extraLibs/default.nix
+++ b/pkgs/misc/ghc68extraLibs/default.nix
@@ -52,6 +52,16 @@ path is /nix/store/ikrbg8w0xxnbnggbvld5af2ib1bdpcfn-hexpat-0.2.tar.gz
 
 */
 
+          # plugins doesn't compile with recent cabal
+          # plugins = { name="plugins-1.2"; src = fetchurl { url = http://hackage.haskell.org/packages/archive/plugins/1.2/plugins-1.2.tar.gz; sha256 = "1v2b3p3d2d3ab8zlzad4i6yy3zmarvkd09r71yc237xx66s7i9s5"; }; p_deps = [ x.array x.base x.cabal_darcs x.containers x.directory x.ghc x.haskellSrc x.process x.random ]; };
+          plugins_darcs = { name="plugins-darcs"; src = sourceByName "plugins"; p_deps = [ x.array x.base x.cabal_darcs x.containers x.directory x.ghc x.haskellSrc x.process x.random ]; 
+              pass = { patches = ./plugins-darcs-patches; };
+          };
+          hinotify = { name="hinitofy-0.2"; src = fetchurl{ url = http://hackage.haskell.org/packages/archive/hinotify/0.2/hinotify-0.2.tar.gz; sha256 = "1x9mnlqy8lsq3qy9d559kxwqlj32smr9an76nf5i4hj67vicw1al"; };  p_deps = [ x.base x.containers x.directory x.unix ]; };
+          harp = { name="harp-0.2.1"; src = fetchurl{ url = http://hackage.haskell.org/packages/archive/harp/0.2.1/harp-0.2.1.tar.gz; sha256 = "865e8c229e1ff89297b4348be95d93c10e373b63b7910da1e6b3330b48b96b87"; };  p_deps = [x.base]; };
+          hsx = { name="hsx-0.4.4"; src = fetchurl{ url = http://hackage.haskell.org/packages/archive/hsx/0.4.4/hsx-0.4.4.tar.gz; sha256 = "1wr70h1r8vmzs1xsiiq89h0k3gips8krp5p4s4f6vjglg3w27q7h"; };  p_deps = [x.base x.haskellSrcExt x.mtl x.haskellSrcExtDarcs]; };
+          # TODO remove
+          # haskell_src_exts_metaquote = { name = "haskell_src_exts_metaquote-darcs"; src = sourceByName "haskell_src_exts_metaquote"; p_deps = [ x.base x.mtl x.containers x.array x.pretty x.binary x.packaged_string ]; };
 
           # hint = { name="hint-0.1"; src = fetchurl { url = "http://hackage.haskell.org/packages/archive/hint/0.1/hint-0.1.tar.gz"; sha256 = "1adydl2la4lxxl6zz24lm4vbdrsi4bkpppzxhpkkmzsjhhkpf2f9"; }; p_deps = [ x.base x.ghc x.haskellSrc x.mtl ]; };
           pcreLight = { name="pcre-light-0.3.1"; src= fetchurl { url = http://hackage.haskell.org/packages/archive/pcre-light/0.3.1/pcre-light-0.3.1.tar.gz; sha256 = "1h0qhfvqjcx59zkqhvsy7vw23l4444czg2z7b2lndy6cmkqc719m"; }; p_deps = [x.base x.bytestring pcre x.haskell98 ]; 
@@ -68,6 +78,7 @@ path is /nix/store/ikrbg8w0xxnbnggbvld5af2ib1bdpcfn-hexpat-0.2.tar.gz
                         };
           };
           # hint = { name="hint-0.1"; src = fetchurl { url = "http://hackage.haskell.org/packages/archive/hint/0.1/hint-0.1.tar.gz"; sha256 = "1adydl2la4lxxl6zz24lm4vbdrsi4bkpppzxhpkkmzsjhhkpf2f9"; }; p_deps = [ x.base x.ghc x.haskellSrc x.mtl ]; };
+          bloomfilter = { name = "bloomfilter-1.2.1"; src = fetchurl { url = http://hackage.haskell.org/packages/archive/bloomfilter/1.2.1/bloomfilter-1.2.1.tar.gz; sha256 = "1d2m0w8lgpdpykdgp08bmy5jb1c89by4xnkfy2bnh8f02nb1zlsm"; }; p_deps = [ x.base x.bytestring x.containers ]; };
           timeout = { name="timeout-0.1.2"; src = fetchurl{ url = http://hackage.haskell.org/packages/archive/control-timeout/0.1.2/control-timeout-0.1.2.tar.gz; sha256 = "1g1x6c4dafckwcw48v83f3nm2sxv8kynwv8ib236ay913ycgayvg";}; p_deps = [ x.base x.time x.stm ]; };
           parsec3  = { name="parsec-3.0.0";  p_deps=[ x.base x.mtl x.bytestring ];  src = fetchurl { url = "http://hackage.haskell.org/packages/archive/parsec/3.0.0/parsec-3.0.0.tar.gz"; sha256 = "0fqryy09y8h7z0hlayg5gpavghgwa0g3bldynwl17ks8l87ykj7a"; }; };
 
@@ -155,21 +166,21 @@ path is /nix/store/ikrbg8w0xxnbnggbvld5af2ib1bdpcfn-hexpat-0.2.tar.gz
           #                          "; };
           #    };
           # I'm getting a glibc error when compiling - where does it come from ?
-          takusen = rec { name = "takusen-0.8"; p_deps = [ x.base x.mtl x.haskell98 x.time postgresql sqlite ];
-                          src =  sourceByName "takusen";
-                          pass = {
-                             inherit postgresql sqlite;
-                             patch = ./takusen_setup_patch;
-                            # no ODBC, Oracle support in nix
-                             patchPhase = "patch -p1 Setup.hs < \$patch
-                                           sed -e '/ODBC/d' -i Takusen.cabal
-                                           sed -e '/Oracle/d' -i Takusen.cabal
-                                           sed -e \"s=pg_path=\$postgresql=\" -e \"s=sqlite_path=\$sqlite=\" -i Setup.hs
-                                           sed -e \"s=configVerbose=configVerbosity=\" -e \"s=sqlite_path=\$sqlite=\" -i Setup.hs
-                                           sed -e \"s=regVerbose=regVerbosity=\" -e \"s=sqlite_path=\$sqlite=\" -i Setup.hs
-                                           ";
-                          };
-                };
+          #takusen = rec { name = "takusen-0.8"; p_deps = [ x.base x.mtl x.haskell98 x.time postgresql sqlite ];
+          #                src =  sourceByName "takusen";
+          #                pass = {
+          #                   inherit postgresql sqlite;
+          #                   patch = ./takusen_setup_patch;
+          #                  [> no ODBC, Oracle support in nix
+          #                   patchPhase = "patch -p1 Setup.hs < \$patch
+          #                                 sed -e '/ODBC/d' -i Takusen.cabal
+          #                                 sed -e '/Oracle/d' -i Takusen.cabal
+          #                                 sed -e \"s=pg_path=\$postgresql=\" -e \"s=sqlite_path=\$sqlite=\" -i Setup.hs
+          #                                 sed -e \"s=configVerbose=configVerbosity=\" -e \"s=sqlite_path=\$sqlite=\" -i Setup.hs
+          #                                 sed -e \"s=regVerbose=regVerbosity=\" -e \"s=sqlite_path=\$sqlite=\" -i Setup.hs
+          #                                 ";
+          #                };
+          #      };
           hdbc = rec { name = "hdbc-1.1.4.0"; p_deps = [ x.base x.mtl x.haskell98 x.time x.bytestring postgresql sqlite ];
                           src = fetchurl {
                             url = http://software.complete.org/hdbc/static/download_area/1.1.4.0/hdbc_1.1.4.0.tar.gz;
@@ -266,6 +277,9 @@ path is /nix/store/ikrbg8w0xxnbnggbvld5af2ib1bdpcfn-hexpat-0.2.tar.gz
           haskellSrcExt = { name = "haskell-src-exts-0.3.3.tar.gz"; src = fetchurl  { url = "http://hackage.haskell.org/packages/archive/haskell-src-exts/0.3.3/haskell-src-exts-0.3.3.tar.gz"; sha256 = "0g9ibjj1k5k3mqfx5mp8pqr0zx53pp9dkf52r8cdv18bl8xhzbpx"; }; p_deps = [ x.base x.base x.array x.pretty ]; 
                       pass = { buildInputs = (with executables; [ happy alex ] ); };
                     };
+          haskellSrcExtDarcs = { name = "haskell-src-exts-darcs"; src = sourceByName "haskell_src_exts"; p_deps = [ x.base x.base x.array x.pretty ]; 
+                      pass = { buildInputs = (with executables; [ happy alex ] ); };
+                    };
 
           # haskelldb 
           haskelldb = { name = "haskelldb-0.10"; src = fetchurl  { url = "http://hackage.haskell.org/packages/archive/haskelldb/0.10/haskelldb-0.10.tar.gz"; sha256 = "1i4kgsgajr9cijg0a2c04rn1zqwiasfvdbvs8c5qm49vkbdzm7l5"; }; p_deps = [ x.base x.haskell98 x.mtl x.pretty x.old_time x.directory x.old_locale]; 
@@ -301,6 +315,9 @@ path is /nix/store/ikrbg8w0xxnbnggbvld5af2ib1bdpcfn-hexpat-0.2.tar.gz
                        src = fetchurl { url = "http://www.haskell.org/HaXml/${name}.tar.gz";
                                         sha256 = "08d9wy0rg9m66dd10x0zvkl74l25vxdakz7xp3j88s2gd31jp1v0"; };
                  };
+          haxml_darcs = { name = "HaXml-darcs"; p_deps = [ x.base x.rts x.directory x.process x.pretty x.containers x.filepath x.haskell98 x.polyparse x.bytestring ];
+                       src = sourceByName "haxml";
+                 };
           xhtml = rec { name = "xhtml-3000.0.2.2"; p_deps = [ x.base ];
                        src = fetchurl { url = "http://hackage.haskell.org/packages/archive/xhtml/3000.0.2.2/xhtml-3000.0.2.2.tar.gz";
                                         sha256 = "112mbq26ksh7r22y09h0xvm347kba3p4ns12vj5498fqqj333878"; };
@@ -384,10 +401,28 @@ path is /nix/store/ikrbg8w0xxnbnggbvld5af2ib1bdpcfn-hexpat-0.2.tar.gz
                       #                   md5 = "956e5c293b60f4a98148fedc5fa38acc"; 
                       #                 };
                     };
-#        happs_plugins_darcs = { name="HAppS-plugins-darcs"; p_deps=[ x.base x.mtl x.hslogger x.happs_util_darcs x.happs_data_darcs x.happs_state_darcs x.containers ];
-#[>src = fetchdarcs { url = "http://happs.org/repos/HAppS-Plugins"; md5 = "693cb79017e522031c307ee5e59fc250"; };
-#                    src = bleedingEdgeRepos.sourceByName "happs_plugins";
-#                    };
+
+
+      happs_hsp_darcs = { name="happs-hsp-darcs"; src=sourceByName "happs_hsp"; p_deps=[x.base x.mtl x.bytestring x.plugins_darcs x.happs_server_darcs x.hsp_darcs x.containers x.rjson x.directory x.hinotify x.filepath]; 
+        pass = { patches = ./hsp-darcs-patch; };
+      };
+      happs_hsp_template_darcs = { name="happs-hsp-template-darcs"; src=sourceByName "happs_hsp_template"; p_deps=[ x.base x.bytestring x.filepath x.directory x.mtl x.containers x.network x.hinotify x.plugins_darcs x.rjson x.happs_server_darcs x.hsp_darcs]; };
+      hsp_darcs = { name="hsp-darcs"; src=sourceByName "hsp"; p_deps=[x.base x.mtl x.harp x.hsx x.hjscript_darcs]; 
+            pass = { inherit (x) hsx; postUnpack=''PATH=$PATH:$hsx/usr/local/bin''; };
+            };
+      #hsp_xml_darcs = { name="hsp-xml-darcs"; src=sourceByName "hsp_xml"; p_deps=[x.base x.haskell98 x.hsp_darcs x.hsx x.mtl x.harp x.haxml_darcs];
+      #      pass = { inherit (x) hsx; postUnpack=''PATH=$PATH:$hsx/usr/local/bin''; };
+      #  };
+      hspCgi_darcs = { name="hsp-cgi-darcs"; src=sourceByName "hspCgi"; p_deps=[x.base x.hsp_darcs x.network x.containers x.harp]; 
+            pass = { inherit (x) hsx; postUnpack=''PATH=$PATH:$hsx/usr/local/bin''; };
+        };
+      hjscript_darcs = { name="hjscript-darcs"; src=sourceByName "hjscript"; p_deps=[x.base x.hjavascript_darcs x.mtl x.hsx]; };
+      hjquery_darcs = { name="hjquery-darcs"; src=sourceByName "hjquery"; p_deps=[x.base x.hjscript_darcs ]; };
+      hjavascript_darcs = { name="darcs"; src=sourceByName "hjavascript"; p_deps=[x.base x.pretty]; };
+
+       #happs_plugins_darcs = { name="HAppS-plugins-darcs"; p_deps=[ x.base x.mtl x.hslogger x.happs_util_darcs x.happs_data_darcs x.happs_state_darcs x.containers ];
+                   #src = bleedingEdgeRepos.sourceByName "happs_plugins";
+                   #};
         # there is no .cabal yet 
         #happs_smtp_darcs = { name="HAppS-smtp-darcs"; p_deps=[];
                     #src = fetchdarcs { url = "http://happs.org/repos/HAppS-smtp"; md5 = "5316917e271ea1ed8ad261080bcb47db"; };
@@ -416,7 +451,7 @@ path is /nix/store/ikrbg8w0xxnbnggbvld5af2ib1bdpcfn-hexpat-0.2.tar.gz
         cabal_darcs = 
         { name=cabal_darcs_name; p_deps = with ghc.core_libs; [base rts directory process pretty containers filepath];
                   src = sourceByName "cabal";
-          pass = { dummy = 1; };
+          pass = { dummy = 2; };
         };
       } // (getConfig [ "ghc68CustomLibs" ] ( args: x : {} ) ) args x;
       #srcs_only = let x = pkgs; in map (y : y.src ) [ x.happs_util_darcs x.happs_data_darcs x.syb_with_class_darcs x.http_darcs 
diff --git a/pkgs/misc/ghc68extraLibs/hsp-darcs-patch b/pkgs/misc/ghc68extraLibs/hsp-darcs-patch
new file mode 100644
index 000000000000..488d6ef2436a
--- /dev/null
+++ b/pkgs/misc/ghc68extraLibs/hsp-darcs-patch
@@ -0,0 +1,13 @@
+diff --git a/happs-hsp.cabal b/happs-hsp.cabal
+index 9669b43..d41c7ac 100644
+--- a/happs-hsp.cabal
++++ b/happs-hsp.cabal
+@@ -1,7 +1,7 @@
+ Name:		happs-hsp
+ Version:	0.1
+ Build-Type:	Simple
+-Build-Depends:	base, mtl, bytestring, plugins, HAppS-Server, hsp
++Build-Depends:	base, mtl, bytestring, plugins, HAppS-Server, hsp, containers, RJson, directory, hinotify, filepath
+ LICENSE:	BSD3
+ Hs-Source-Dirs: src
+ 
diff --git a/pkgs/misc/ghc68extraLibs/hsx-patch b/pkgs/misc/ghc68extraLibs/hsx-patch
new file mode 100644
index 000000000000..1f97c89c778a
--- /dev/null
+++ b/pkgs/misc/ghc68extraLibs/hsx-patch
@@ -0,0 +1,10 @@
+-- - a/hsx-0.4.4/src/HSX/Transform.hs
++++ b/hsx-0.4.4/src/HSX/Transform.hs
+@@ -17,6 +17,7 @@ module HSX.Transform (
+     transform       -- :: HsModule -> HsModule
+     ) where
+ 
++import Language.Haskell.Meta.Exts.Syntax
+ import Language.Haskell.Exts.Syntax
+ import Language.Haskell.Exts.Build
+ import Data.List (union)
diff --git a/pkgs/misc/ghc68extraLibs/plugins-darcs-patches b/pkgs/misc/ghc68extraLibs/plugins-darcs-patches
new file mode 100644
index 000000000000..8265012537b9
--- /dev/null
+++ b/pkgs/misc/ghc68extraLibs/plugins-darcs-patches
@@ -0,0 +1,166 @@
+diff --git a/src/System/Plugins/Env.hs b/src/System/Plugins/Env.hs
+index 64a840c..8bb0e8d 100644
+--- a/src/System/Plugins/Env.hs
++++ b/src/System/Plugins/Env.hs
+@@ -73,7 +73,9 @@ import System.IO.Error          ( catch, ioError, isDoesNotExistError )
+ 
+ import Control.Concurrent.MVar  ( MVar(), newMVar, withMVar )
+ 
+-import Distribution.Package
++import Distribution.Package hiding (PackageName, packageName, depends)
++import Distribution.Text (display, simpleParse)
++
+ import Text.ParserCombinators.ReadP
+ 
+ import qualified Data.Map as M
+@@ -284,9 +286,9 @@ addPkgConf f = do
+ union :: PkgEnvs -> [PackageConfig] -> PkgEnvs
+ union ls ps' = 
+         let fm = emptyFM -- new FM for this package.conf
+-        in foldr (\p fm' -> if packageName_ p == "base" -- ghc doesn't supply a version with 'base'
++        in foldr (\p fm' -> if display (packageName_ p) == "base" -- ghc doesn't supply a version with 'base'
+                                                         -- for some reason.
+-                            then addToFM (addToFM fm' (packageName_ p) p) (packageName p) p
++                            then addToFM (addToFM fm' (packageName p) p) (packageName p) p
+                             else addToFM fm' (packageName p) p) fm ps' : ls
+ 
+ -- 
+@@ -330,7 +332,7 @@ addStaticPkg pkg = modifyStaticPkgEnv env $ \set -> return $ S.insert pkg set
+ 
+ isStaticPkg :: PackageName -> IO Bool
+ isStaticPkg pkg
+-    = case readP_to_S parsePackageName pkg of
++    = case reads pkg of
+         ((pkgName,_):_) -> withStaticPkgEnv env $ \set -> return $ S.member pkgName set
+         [] -> return False
+ 
+@@ -513,4 +515,3 @@ addMerge a b z = modifyMerged env $ \fm -> return $ addToFM fm (a,b) z
+ --
+ (</>) :: FilePath -> FilePath -> FilePath
+ [] </> b = b
+-a  </> b = a ++ "/" ++ b
+diff --git a/src/System/Plugins/PackageAPI.hs b/src/System/Plugins/PackageAPI.hs
+index 7ac4201..ba8db23 100644
+--- a/src/System/Plugins/PackageAPI.hs
++++ b/src/System/Plugins/PackageAPI.hs
+@@ -40,7 +40,8 @@ module System.Plugins.PackageAPI (
+ 
+ #if CABAL == 1 || __GLASGOW_HASKELL__ >= 604
+ import Distribution.InstalledPackageInfo
+-import Distribution.Package
++import Distribution.Package hiding (PackageName, packageName, depends)
++import Distribution.Text (display)
+ #else
+ import System.Plugins.Package
+ #endif
+@@ -57,9 +58,9 @@ type PackageName = String
+ 
+ type PackageConfig = InstalledPackageInfo
+ 
+-packageName = showPackageId . package
++packageName = display . package
+ packageName_ = pkgName . package
+-packageDeps = (map showPackageId) . depends
++packageDeps = (map display) . depends
+ 
+ updImportDirs f pk@(InstalledPackageInfo { importDirs = idirs }) =
+         pk { importDirs = f idirs }
+diff --git a/src/System/Plugins/ParsePkgConfCabal.hs b/src/System/Plugins/ParsePkgConfCabal.hs
+index eba427e..2f7c13b 100644
+--- a/src/System/Plugins/ParsePkgConfCabal.hs
++++ b/src/System/Plugins/ParsePkgConfCabal.hs
+@@ -6,18 +6,27 @@ module System.Plugins.ParsePkgConfCabal (
+   ) where
+ 
+ import Distribution.InstalledPackageInfo
+-import Distribution.Package
++import Distribution.Package hiding (depends)
++import Distribution.ModuleName (components, ModuleName)
++import Distribution.Text (simpleParse)
++
+ import Distribution.Version
+ 
+ import Data.Char             ( isSpace, isAlpha, isAlphaNum, isUpper, isDigit )
+-import Data.List             ( break )
++import Data.List             ( break, intercalate )
++import Data.Maybe             ( fromJust )
+ import Data.Array
++
+ #if __GLASGOW_HASKELL__ >= 503
+ import GHC.Exts
+ #else
+ import GlaExts
+ #endif
+ 
++moduleName :: [String] -> [ModuleName]
++moduleName = map (sParse "module name")  
++sParse what = (\s -> maybe (error ("couldn't parse " ++ what ++ ", string: " ++ s)) id (simpleParse s))
++
+ -- parser produced by Happy Version 1.15
+ 
+ newtype HappyAbsSyn  = HappyAbsSyn (() -> ())
+@@ -269,8 +278,8 @@ happyReduction_13 happy_x_3
+ 	case happyOut16 happy_x_3 of { happy_var_3 -> 
+ 	happyIn9
+ 		 (\p -> case happy_var_1 of
+-		        "exposedModules"    -> p{exposedModules    = happy_var_3}
+-		        "hiddenModules"     -> p{hiddenModules     = happy_var_3}
++		        "exposedModules"    -> p{exposedModules    = moduleName happy_var_3 }
++		        "hiddenModules"     -> p{hiddenModules     = moduleName happy_var_3}
+ 		        "importDirs"        -> p{importDirs        = happy_var_3}
+ 		        "libraryDirs"       -> p{libraryDirs       = happy_var_3}
+ 		        "hsLibraries"       -> p{hsLibraries       = happy_var_3}
+@@ -316,7 +325,7 @@ happyReduction_15 (happy_x_10 `HappyStk`
+ 	 = case happyOutTok happy_x_5 of { (ITstring   happy_var_5) -> 
+ 	case happyOut11 happy_x_9 of { happy_var_9 -> 
+ 	happyIn10
+-		 (PackageIdentifier{ pkgName = happy_var_5, 
++		 (PackageIdentifier{ pkgName = sParse "package name" happy_var_5, 
+ 					     pkgVersion = happy_var_9 }
+ 	) `HappyStk` happyRest}}
+ 
+diff --git a/src/System/Plugins/ParsePkgConfCabal.y_in b/src/System/Plugins/ParsePkgConfCabal.y_in
+index ddd4516..38bb068 100644
+--- a/src/System/Plugins/ParsePkgConfCabal.y_in
++++ b/src/System/Plugins/ParsePkgConfCabal.y_in
+@@ -36,12 +36,18 @@ module System.Plugins.ParsePkgConfCabal (
+   ) where
+ 
+ import Distribution.InstalledPackageInfo
+-import Distribution.Package
++import Distribution.Package hiding (depends)
+ import Distribution.Version
++import Distribution.ModuleName (components, ModuleName)
++import Distribution.Text (simpleParse)
+ 
+ import Data.Char             ( isSpace, isAlpha, isAlphaNum, isUpper, isDigit )
+-import Data.List             ( break )
++import Data.List             ( break, intercalate )
++import Data.Maybe             ( fromJust )
+ 
++moduleName :: [String] -> [ModuleName]
++moduleName = map (sParse "module name")  
++sParse what = (\s -> maybe (error ("couldn't parse " ++ what ++ ", string: " ++ s)) id (simpleParse s))
+ }
+ 
+ %token
+@@ -102,8 +108,8 @@ field	:: { PackageConfig -> PackageConfig }
+ 
+ 	| VARID '=' strlist
+ 		{\p -> case $1 of
+-		        "exposedModules"    -> p{exposedModules    = $3}
+-		        "hiddenModules"     -> p{hiddenModules     = $3}
++		        "exposedModules"    -> p{exposedModules    = moduleName $3}
++		        "hiddenModules"     -> p{hiddenModules     = moduleName $3}
+ 		        "importDirs"        -> p{importDirs        = $3}
+ 		        "libraryDirs"       -> p{libraryDirs       = $3}
+ 		        "hsLibraries"       -> p{hsLibraries       = $3}
+@@ -130,7 +136,7 @@ field	:: { PackageConfig -> PackageConfig }
+ 
+ pkgid	:: { PackageIdentifier }
+ 	: CONID '{' VARID '=' STRING ',' VARID '=' version '}'
+-			{ PackageIdentifier{ pkgName = $5, 
++			{ PackageIdentifier{ pkgName = sParse "package name" $5, 
+ 					     pkgVersion = $9 } }
+ 
+ version :: { Version }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 5556284376d2..7458b44e4e2b 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1452,6 +1452,10 @@ let pkgs = rec {
   # classic expression style.. seems to work fine
   # used now
   # srcDir contains source directory (containing the .cabal file)
+  # TODO: set --bindir=/usr/local or such (executables are installed to
+  # /usr/local/bin which is not added to path when building other packages
+  # hsp needs trhsx from hsx
+  # TODO add eval "$preBuild" phase
   ghcCabalDerivation = args : with args;
     let buildInputs =  (if (args ? buildInputs) then args.buildInputs else [])
                     ++ [ ghcPkgUtil ] ++ ( if args ? pass && args.pass ? buildInputs then args.pass.buildInputs else []);