From d37dc71e3cf077fa5d24a9bf8395deae21cc4410 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 4 Mar 2020 13:55:15 +0100 Subject: nix-build: Fix ! handling This was broken by 22a754c091f765061f59bef5ce091268493bb138. https://hydra.nixos.org/eval/1573669 --- src/nix-build/nix-build.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/nix-build') diff --git a/src/nix-build/nix-build.cc b/src/nix-build/nix-build.cc index ff95ad787..27ec7d0fe 100755 --- a/src/nix-build/nix-build.cc +++ b/src/nix-build/nix-build.cc @@ -295,7 +295,8 @@ static void _main(int argc, char * * argv) try { absolute = canonPath(absPath(i), true); } catch (Error & e) {}; - if (store->isStorePath(absolute) && std::regex_match(absolute, std::regex(".*\\.drv(!.*)?"))) + auto [path, outputNames] = parsePathWithOutputs(absolute); + if (store->isStorePath(path) && hasSuffix(path, ".drv")) drvs.push_back(DrvInfo(*state, store, absolute)); else /* If we're in a #! script, interpret filenames -- cgit v1.2.3