From 2d5e8e267b58f531f00b043c9e3dbaefad62a4a1 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 4 Dec 2012 14:30:34 +0100 Subject: [PATCH] =?UTF-8?q?Add=20a=20test=20for=20=E2=80=98nix-env=20--set?= =?UTF-8?q?-flag=20active=20...=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- corepkgs/buildenv.nix | 2 +- corepkgs/buildenv.pl | 2 +- tests/user-envs.sh | 10 +++++++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/corepkgs/buildenv.nix b/corepkgs/buildenv.nix index 9237783792..c52a0ea93d 100644 --- a/corepkgs/buildenv.nix +++ b/corepkgs/buildenv.nix @@ -13,7 +13,7 @@ derivation { # !!! grmbl, need structured data for passing this in a clean way. derivations = map (d: - [ (if d.meta.active or true then "1" else "0") + [ (d.meta.active or "true") (d.meta.priority or 5) (builtins.length d.outputs) ] ++ map (output: builtins.getAttr output d) d.outputs) diff --git a/corepkgs/buildenv.pl b/corepkgs/buildenv.pl index 3d79e50316..ea517687bd 100644 --- a/corepkgs/buildenv.pl +++ b/corepkgs/buildenv.pl @@ -134,7 +134,7 @@ while (scalar @derivations) { for (my $n = 0; $n < $outputs; $n++) { my $path = shift @derivations; $pkgs{$path} = - { active => int($active) + { active => $active ne "false" , priority => int($priority) }; } } diff --git a/tests/user-envs.sh b/tests/user-envs.sh index 2bc9bee50b..465d2fc55d 100644 --- a/tests/user-envs.sh +++ b/tests/user-envs.sh @@ -22,6 +22,14 @@ test "$(nix-env -p $profiles/test -q '*' | wc -l)" -eq 1 nix-env -p $profiles/test -q '*' | grep -q foo-1.0 test "$($profiles/test/bin/foo)" = "foo-1.0" +# Disable foo. +nix-env -p $profiles/test --set-flag active false foo +! [ -e "$profiles/test/bin/foo" ] + +# Enable foo. +nix-env -p $profiles/test --set-flag active true foo +[ -e "$profiles/test/bin/foo" ] + # Store the path of foo-1.0. outPath10=$(nix-env -p $profiles/test -q --out-path --no-name '*' | grep foo-1.0) echo "foo-1.0 = $outPath10" @@ -67,7 +75,7 @@ if nix-env -p $profiles/test -q '*' | grep -q bar; then false; fi # Count generations. nix-env -p $profiles/test --list-generations -test "$(nix-env -p $profiles/test --list-generations | wc -l)" -eq 5 +test "$(nix-env -p $profiles/test --list-generations | wc -l)" -eq 7 # Install foo-1.0, now using its store path. echo $outPath10