fix broken myEnv
svn path=/nixpkgs/trunk/; revision=15382
This commit is contained in:
parent
c4d720c3d1
commit
cd9c9a2431
@ -45,7 +45,7 @@ mkDerivation {
|
|||||||
name = "env-${name}";
|
name = "env-${name}";
|
||||||
phases = "buildPhase";
|
phases = "buildPhase";
|
||||||
setupNew = substituteAll {
|
setupNew = substituteAll {
|
||||||
src = ../../stdenv/generic/setup-new.sh;
|
src = ../../stdenv/generic/setup.sh;
|
||||||
preHook="";
|
preHook="";
|
||||||
postHook="";
|
postHook="";
|
||||||
initialPath= (import ../../stdenv/common-path.nix) { inherit pkgs; };
|
initialPath= (import ../../stdenv/common-path.nix) { inherit pkgs; };
|
||||||
|
@ -1,58 +0,0 @@
|
|||||||
# idea: provide nix environment for your developement actions
|
|
||||||
# experimental
|
|
||||||
|
|
||||||
/*
|
|
||||||
# example:
|
|
||||||
# add postgresql to environment and create ctags (tagfiles can be extracted from TAG_FILES)
|
|
||||||
# add this to your ~/.nixpkgs/config.nix
|
|
||||||
|
|
||||||
devEnvs = pkgs : with pkgs; with sourceAndTags;
|
|
||||||
let simple = { name, buildInputs ? [], cTags ? [] }:
|
|
||||||
pkgs.myEnvFun {
|
|
||||||
inherit name stdenv;
|
|
||||||
buildInputs = buildInputs
|
|
||||||
++ map (x : sourceWithTagsDerivation ( (addCTaggingInfo x ).passthru.sourceWithTags ) ) cTags;
|
|
||||||
extraCmds = ". ~/.bashrc; cd $PWD
|
|
||||||
# configure should find them
|
|
||||||
export LDFLAGS=$NIX_LDFLAGS
|
|
||||||
export CFLAGS=$NIX_CFLAGS_COMPILE
|
|
||||||
";
|
|
||||||
preBuild = "export TAG_FILES";
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
postgresql = simple {
|
|
||||||
name = "postgresql";
|
|
||||||
buildInputs = [postgresql];
|
|
||||||
cTags = [postgresql ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
Put this into your .bashrc
|
|
||||||
loadEnv(){ . "${HOME}/.nix-profile/dev-envs/${1}" }
|
|
||||||
then install and
|
|
||||||
$ loadEnv postgresql
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
args: args.stdenv.mkDerivation (
|
|
||||||
{ extraCmds =""; } // {
|
|
||||||
phases = "buildPhase";
|
|
||||||
buildPhase = ''
|
|
||||||
eval "$preBuild"
|
|
||||||
name=${args.name}
|
|
||||||
o=$out/dev-envs/$name
|
|
||||||
ensureDir `dirname $o`
|
|
||||||
echo "
|
|
||||||
OLDPATH=\$PATH " >> $o
|
|
||||||
export | grep -v HOME= | grep -v PATH= | grep -v PWD= | grep -v TEMP= | grep -v TMP= >> $o
|
|
||||||
echo "
|
|
||||||
PATH=$PATH:$OLDPATH
|
|
||||||
for i in \$buildInputs; do
|
|
||||||
export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$i/lib
|
|
||||||
done
|
|
||||||
export PATH=\$PATH:\$OLDPATH
|
|
||||||
$extraCmds
|
|
||||||
echo env $name loaded
|
|
||||||
" >> $o
|
|
||||||
'';
|
|
||||||
} // args // { name = "${args.name}-env"; } )
|
|
Loading…
x
Reference in New Issue
Block a user