builtins.path results are not added to inputSrcs

#392
Opened by qyliss at 2024-04-03T12·51+00

derivation {
  name = "test";
  system = builtins.currentSystem;
  builder = "/bin/sh";
  args = [ "-c" "cd ${builtins.path { path = /var/empty; }} > $out" ];
}

cppnix produces:

Derive(
  [("out", "/nix/store/1ipf2dfpyrgjnw3ni436jrrdcy8j09sf-test", "", "")],
  [],
  ["/nix/store/9ljssglw74jabzzsqsl3lim4d5jgh4ya-empty"],
  "aarch64-linux",
  "/bin/sh",
  ["-c", "cd /nix/store/9ljssglw74jabzzsqsl3lim4d5jgh4ya-empty > $out"],
  [
    ("builder", "/bin/sh"),
    ("name", "test"),
    ("out", "/nix/store/1ipf2dfpyrgjnw3ni436jrrdcy8j09sf-test"),
    ("system", "aarch64-linux")
  ]
)

tvix produces:

Derive(
  [("out", "/nix/store/a66cmyvgamb198h3v4js72k9r5fqm2ry-test", "", "")],
  [],
  [],
  "aarch64-linux",
  "/bin/sh",
  ["-c", "cd /nix/store/9ljssglw74jabzzsqsl3lim4d5jgh4ya-empty > $out"],
  [
    ("builder", "/bin/sh"),
    ("name", "test"),
    ("out", "/nix/store/a66cmyvgamb198h3v4js72k9r5fqm2ry-test"),
    ("system", "aarch64-linux")
  ]
)

Note that the third argument to Derive() (inputSrcs) does not contain the path on tvix. Inputs aside from builtins.path results do get added to inputSrcs by tvix.

  1. Fixed by cl/11351.

    qyliss at 2024-04-04T08·51+00

  2. qyliss closed this issue at 2024-04-04T08·51+00