Add cleanupCmds option to pkgs.myEnvFun

This option allows the user to specify commands to run when the shell
exits. This can be used to cleanup operations done in `extraCmds'.

Signed-off-by: Moritz Ulrich <moritz@tarn-vedra.de>
This commit is contained in:
Moritz Ulrich 2013-04-13 19:10:50 +02:00
parent 50f3625f70
commit d84bfa78e1
2 changed files with 10 additions and 2 deletions

View File

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

View File

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