From b40945afba333600207491e2a91fa1ba90dbee08 Mon Sep 17 00:00:00 2001 From: Marc Weber Date: Fri, 11 Apr 2008 10:25:28 +0000 Subject: [PATCH] still missing piece svn path=/nixpkgs/trunk/; revision=11566 --- .../ghc-wrapper/ghc-cabal-executable-fun.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 pkgs/development/compilers/ghc/ghc-wrapper/ghc-cabal-executable-fun.nix 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 00000000000..1fe0dac7475 --- /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 []); })