about summary refs log tree commit diff
path: root/pkgs/development/compilers/ghc
diff options
context:
space:
mode:
authorMarc Weber <marco-oweber@gmx.de>2008-04-11 10:25:28 +0000
committerMarc Weber <marco-oweber@gmx.de>2008-04-11 10:25:28 +0000
commitb40945afba333600207491e2a91fa1ba90dbee08 (patch)
treeab2a6c66afb749cf9005e801a66eabfd309da6c8 /pkgs/development/compilers/ghc
parent05ebf87bbf57e58a667e0fc07c04928af2d1bf3c (diff)
downloadnixlib-b40945afba333600207491e2a91fa1ba90dbee08.tar
nixlib-b40945afba333600207491e2a91fa1ba90dbee08.tar.gz
nixlib-b40945afba333600207491e2a91fa1ba90dbee08.tar.bz2
nixlib-b40945afba333600207491e2a91fa1ba90dbee08.tar.lz
nixlib-b40945afba333600207491e2a91fa1ba90dbee08.tar.xz
nixlib-b40945afba333600207491e2a91fa1ba90dbee08.tar.zst
nixlib-b40945afba333600207491e2a91fa1ba90dbee08.zip
still missing piece
svn path=/nixpkgs/trunk/; revision=11566
Diffstat (limited to 'pkgs/development/compilers/ghc')
-rw-r--r--pkgs/development/compilers/ghc/ghc-wrapper/ghc-cabal-executable-fun.nix17
1 files changed, 17 insertions, 0 deletions
diff --git a/pkgs/development/compilers/ghc/ghc-wrapper/ghc-cabal-executable-fun.nix b/pkgs/development/compilers/ghc/ghc-wrapper/ghc-cabal-executable-fun.nix
new file mode 100644
index 000000000000..1fe0dac74758
--- /dev/null
+++ b/pkgs/development/compilers/ghc/ghc-wrapper/ghc-cabal-executable-fun.nix
@@ -0,0 +1,17 @@
+args: with args;
+{ name, src, meta ? {}, libsFun, pass ? {} } : 
+let buildInputs = libsFun ((ghc68extraLibs ghcsAndLibs.ghc68) // ghcsAndLibs.ghc68.core_libs) 
+                  ++ [ ghcsAndLibs.ghc68.ghc perl ];
+in stdenv.mkDerivation ({
+  inherit name src meta;
+  phases = "unpackPhase patchPhase buildPhase";
+  # TODO The ghc must be the one having compiled the libs.. So make this obvious by not having to pass it
+  buildPhase  = ''
+    ghc --make Setup.*hs -o setup
+    ensureDir \out
+    nix_ghc_pkg_tool join local-pkg-db
+    ./setup configure --prefix=$out --package-db=local-pkg-db
+    ./setup build
+    ./setup install
+    '';
+} // pass // { buildInputs = buildInputs ++  (if pass ? buildInputs then lib.toList pass.buildInputs else []); })