Merge pull request #464 from the-kenny/my-env-exit-commands

Add cleanupCmds option to pkgs.myEnvFun. The downside is that /bin/sh remains in memory to be able to execute cleanup commands.
This commit is contained in:
Phreedom 2013-05-05 08:14:58 -07:00
commit d7e2acbe97
2 changed files with 10 additions and 2 deletions

View File

@ -59,7 +59,7 @@
{ mkDerivation, substituteAll, pkgs }:
{ stdenv ? pkgs.stdenv, name, buildInputs ? []
, propagatedBuildInputs ? [], gcc ? stdenv.gcc, cTags ? [], extraCmds ? ""
, shell ? "${pkgs.bashInteractive}/bin/bash"}:
, cleanupCmds ? "", shell ? "${pkgs.bashInteractive}/bin/bash"}:
mkDerivation {
# The setup.sh script from stdenv will expect the native build inputs in
@ -133,8 +133,15 @@ mkDerivation {
fi
rm -fr "\$tmp"
${extraCmds}
nix_cleanup() {
${cleanupCmds}
}
export PATH
echo $name loaded
trap nix_cleanup EXIT
EOF
mkdir -p $out/bin

View File

@ -10,4 +10,5 @@ export buildInputs
export NIX_STRIP_DEBUG=0
export TZ="$OLDTZ"
exec @shell@ --norc
@shell@ --norc