* builtins.filterSource: pass the type of the file ("regular",

"directory", "symlink") as the second argument to the filter
  predicate.
This commit is contained in:
Eelco Dolstra 2007-01-15 08:54:51 +00:00
parent 63f3ce6d9a
commit e4b0666f8e
3 changed files with 23 additions and 2 deletions

View file

@ -3,5 +3,7 @@ derivation {
system = "@system@";
builder = "@shell@";
args = ["-e" "-x" (builtins.toFile "builder" "PATH=@testPath@; ln -s $input $out")];
input = builtins.filterSource (path: baseNameOf (toString path) != "foo") ./test-tmp/filterin;
input =
let filter = path: type: type != "symlink" && baseNameOf (toString path) != "foo";
in builtins.filterSource filter ./test-tmp/filterin;
}

View file

@ -5,9 +5,11 @@ mkdir $TEST_ROOT/filterin
mkdir $TEST_ROOT/filterin/foo
touch $TEST_ROOT/filterin/foo/bar
touch $TEST_ROOT/filterin/xyzzy
ln -s xyzzy $TEST_ROOT/filterin/link
$NIX_BIN_DIR/nix-build ./filter-source.nix -o $TEST_ROOT/filterout
set -x
test ! -e $TEST_ROOT/filterout/foo/bar
test -e $TEST_ROOT/filterout/xyzzy
test ! -L $TEST_ROOT/filterout/link