Merge pull request #4983 from manveru/fix-devShell-env

Fix devShell handling of env values including @ and %
This commit is contained in:
Eelco Dolstra 2021-07-05 13:22:32 +02:00 committed by GitHub
commit c053aecff4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 1 deletions

View file

@ -54,7 +54,7 @@ BuildEnvironment readEnvironment(const Path & path)
R"re((?:[a-zA-Z_][a-zA-Z0-9_]*))re"; R"re((?:[a-zA-Z_][a-zA-Z0-9_]*))re";
static std::string simpleStringRegex = static std::string simpleStringRegex =
R"re((?:[a-zA-Z0-9_/:\.\-\+=]*))re"; R"re((?:[a-zA-Z0-9_/:\.\-\+=@%]*))re";
static std::string dquotedStringRegex = static std::string dquotedStringRegex =
R"re((?:\$?"(?:[^"\\]|\\[$`"\\\n])*"))re"; R"re((?:\$?"(?:[^"\\]|\\[$`"\\\n])*"))re";

View file

@ -34,6 +34,8 @@ let pkgs = rec {
name = "shellDrv"; name = "shellDrv";
builder = "/does/not/exist"; builder = "/does/not/exist";
VAR_FROM_NIX = "bar"; VAR_FROM_NIX = "bar";
ASCII_PERCENT = "%";
ASCII_AT = "@";
TEST_inNixShell = if inNixShell then "true" else "false"; TEST_inNixShell = if inNixShell then "true" else "false";
inherit stdenv; inherit stdenv;
outputs = ["dev" "out"]; outputs = ["dev" "out"];