missing piece hopefully fixing server build

svn path=/nixpkgs/trunk/; revision=11820
This commit is contained in:
Marc Weber 2008-05-13 13:19:52 +00:00
parent c59433ffda
commit aa8cc3222b

View File

@ -1378,11 +1378,18 @@ let pkgs = rec {
ghcCabalDerivation = args : with args; ghcCabalDerivation = args : with args;
let buildInputs = (if (args ? buildInputs) then args.buildInputs else []) let buildInputs = (if (args ? buildInputs) then args.buildInputs else [])
++ [ ghcPkgUtil ] ++ ( if args ? pass && args.pass ? buildInputs then args.pass.buildInputs else []); ++ [ ghcPkgUtil ] ++ ( if args ? pass && args.pass ? buildInputs then args.pass.buildInputs else []);
configure = if (args ? useLocalPkgDB)
then "nix_ghc_pkg_tool join localDb\n" +
"\$CABAL_SETUP configure --package-db=localDb \$profiling \$cabalFlags"
else "\$CABAL_SETUP configure --by-env=\$PACKAGE_DB \$profiling \$cabalFlags";
in stdenv.mkDerivation ({ in stdenv.mkDerivation ({
srcDir = if (args ? srcDir) then args.srcDir else "."; srcDir = if (args ? srcDir) then args.srcDir else ".";
inherit (args) name src propagatedBuildInputs; inherit (args) name src propagatedBuildInputs;
phases = "unpackPhase patchPhase buildPhase"; phases = "unpackPhase patchPhase buildPhase";
profiling = if getConfig [ "ghc68" "profiling" ] false then "-p" else ""; profiling = if getConfig [ "ghc68" "profiling" ] false then "-p" else "";
cabalFlags = map lib.escapeShellArg
(getConfig [ "cabal" "flags" ] []
++ (if args ? cabalFlags then args.cabalFlags else []) );
# TODO remove echo line # TODO remove echo line
buildPhase =" buildPhase ="
createEmptyPackageDatabaseAndSetupHook createEmptyPackageDatabaseAndSetupHook
@ -1392,7 +1399,7 @@ let pkgs = rec {
ghc --make Setup.*hs -o setup ghc --make Setup.*hs -o setup
CABAL_SETUP=./setup CABAL_SETUP=./setup
\$CABAL_SETUP configure --by-env=\$PACKAGE_DB \$profiling " + configure +"
\$CABAL_SETUP build \$CABAL_SETUP build
\$CABAL_SETUP copy --destdir=\$out \$CABAL_SETUP copy --destdir=\$out
\$CABAL_SETUP register --gen-script \$CABAL_SETUP register --gen-script
@ -1424,19 +1431,19 @@ let pkgs = rec {
name = deriv.name + "-src-with-tags"; name = deriv.name + "-src-with-tags";
createTagFiles = [ createTagFiles = [
{ name = "${deriv.name}_haskell"; { name = "${deriv.name}_haskell";
# tagCmd = "${toString ghcsAndLibs.ghc68.ghc}/bin/hasktags --ctags `find . -type f -name \"*.*hs\"`; sort tags > \$TAG_FILE"; } # tagCmd = "${toString ghcsAndLibs.ghc68.ghc}/bin/hasktags --ignore-close-implementation --ctags `find . -type f -name \"*.*hs\"`; sort tags > \$TAG_FILE"; }
tagCmd = "${toString hasktags}/bin/hasktags-modified --ctags `find . -type f -name \"*.*hs\"`; sort tags > \$TAG_FILE"; } tagCmd = "${toString hasktags}/bin/hasktags-modified --ignore-close-implementation --ctags `find . -type f -name \"*.*hs\"`; sort tags > \$TAG_FILE"; }
]; ];
}; };
}; };
}; };
# this may change in the future # this may change in the future
ghc68extraLibs = (import ../misc/ghc68extraLibs ) { ghc68extraLibs = (import ../misc/ghc68extraLibs ) {
# lib like stuff # lib like stuff
inherit bleedingEdgeRepos fetchurl lib addHasktagsTaggingInfo ghcCabalDerivation pkgconfig unzip zlib; inherit bleedingEdgeRepos fetchurl lib addHasktagsTaggingInfo ghcCabalDerivation pkgconfig unzip zlib;
# used (non haskell) libraries (ffi etc) # used (non haskell) libraries (ffi etc)
inherit postgresql mysql sqlite gtkLibs gnome xlibs freetype getConfig libpng; inherit postgresql mysql sqlite gtkLibs gnome xlibs freetype getConfig libpng bzip2 pcre;
executables = ghc68executables; executables = ghc68executables;
wxGTK = wxGTK26; wxGTK = wxGTK26;
@ -1445,9 +1452,10 @@ let pkgs = rec {
# Executables compiled by this ghc68 - I'm too lazy to add them all as additional file in here # Executables compiled by this ghc68 - I'm too lazy to add them all as additional file in here
ghc68executables = recurseIntoAttrs (import ../misc/ghc68executables { ghc68executables = recurseIntoAttrs (import ../misc/ghc68executables {
inherit ghcCabalExecutableFun fetchurl lib bleedingEdgeRepos autoconf zlib; inherit ghcCabalExecutableFun fetchurl lib bleedingEdgeRepos autoconf zlib getConfig;
inherit X11; inherit X11;
inherit (xlibs) xmessage; inherit (xlibs) xmessage;
inherit pkgs; # passing pkgs to add the possibility for the user to add his own executables. pkgs is passed.
}); });
# the wrappers basically does one thing: It defines GHC_PACKAGE_PATH before calling ghc{i,-pkg} # the wrappers basically does one thing: It defines GHC_PACKAGE_PATH before calling ghc{i,-pkg}