diff options
author | Marc Weber <marco-oweber@gmx.de> | 2008-08-06 11:41:17 +0000 |
---|---|---|
committer | Marc Weber <marco-oweber@gmx.de> | 2008-08-06 11:41:17 +0000 |
commit | 7608d6f063d034b4f9c3ed3ee6813d0f0472df24 (patch) | |
tree | 1ff8a0672d78416778e1a62cf083dd6e626ea866 | |
parent | cc44e2bb54034ed893fb9f842cdeb15723fecbdc (diff) | |
download | nixlib-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
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 []); |