From 8ab9a58e0d3ea85491ebf012cfda962d59f1b99b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 27 Dec 2006 17:47:09 +0000 Subject: [PATCH] * Split the installPhase into installPhase and fixupPhase. The fixupPhase strips binaries, runs patchelf, etc. This is so that those things still happen when somebody overrides installPhase. svn path=/nixpkgs/trunk/; revision=7494 --- pkgs/stdenv/generic/setup-new2.sh | 41 +++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a/pkgs/stdenv/generic/setup-new2.sh b/pkgs/stdenv/generic/setup-new2.sh index 3110637d262..e39a0772a32 100644 --- a/pkgs/stdenv/generic/setup-new2.sh +++ b/pkgs/stdenv/generic/setup-new2.sh @@ -655,6 +655,33 @@ installW() { eval "$installCommand" fi + eval "$postInstall" +} + + +installPhase() { + if test "$dontInstall" = 1; then + return + fi + header "installing" + startLog "install" + installW + stopLog + stopNest +} + + +# The fixup phase performs generic, package-independent, Nix-related +# stuff, like running patchelf and setting the +# propagated-build-inputs. It should rarely be overriden. +fixupW() { + if test -n "$fixupPhase"; then + eval "$fixupPhase" + return + fi + + eval "$preFixup" + if test -z "$dontStrip" -a "$NIX_STRIP_DEBUG" = 1; then find "$prefix" -name "*.a" -exec echo stripping {} \; \ -exec strip -S {} \; || fail @@ -669,17 +696,17 @@ installW() { echo "$propagatedBuildInputs" > "$out/nix-support/propagated-build-inputs" fi - eval "$postInstall" + eval "$postFixup" } -installPhase() { - if test "$dontInstall" = 1; then +fixupPhase() { + if test "$dontFixup" = 1; then return fi - header "installing" - startLog "install" - installW + header "post-installation fixup" + startLog "fixup" + fixupW stopLog stopNest } @@ -741,7 +768,7 @@ genericBuild() { if test -z "$phases"; then phases="patchPhase configurePhase buildPhase checkPhase \ - installPhase distPhase"; + installPhase fixupPhase distPhase"; fi for i in $phases; do