Firefox.outPath no longer evaluates on latest nixpkgs
This appears to be a longstanding tvix bug, since nix 2.3 evaluates it just fine:
tvix-repl> (import ../. {}).third_party.nixpkgs.firefox.outPath ⠈ Evaluating… (11s) 0/0 note: while evaluating this Nix code --> [code]:1:1 | 1 | (import ../. {}).third_party.nixpkgs.firefox.outPath | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ note: while evaluating this as native code (force) --> <src-builtins/derivation.nix>:26:19 | 26 | outPath = builtins.getAttr outputName strict; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ note: while evaluating this as native code (force) --> <src-builtins/derivation.nix>:14:12 | 14 | strict = derivationStrict drvAttrs; | ^^^^^^^^^^^^^^^^^^^^^^^^^ note: while evaluating this as native code (force) --> /nix/store/fpl1r6gqz3zcf3vwl8jqc7rnbdx5p6ng-nixpkgs-src/pkgs/applications/networking/browsers/firefox/wrapper.nix:246:22 | 246 | buildCommand = '' | ______________________^ 247 | | if [ ! -x "${browser}/bin/${applicationName}" ] 248 | | then 249 | | echo "cannot find executable file \`${browser}/bin/${applicationName}'" ... | 406 | | ############################# 407 | | ''; | |________^ note: while evaluating this as native code (coerce_to_string) --> <src-builtins/derivation.nix>:26:19 | 26 | outPath = builtins.getAttr outputName strict; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ note: while evaluating this as native code (force) --> <src-builtins/derivation.nix>:14:12 | 14 | strict = derivationStrict drvAttrs; | ^^^^^^^^^^^^^^^^^^^^^^^^^ note: while evaluating this as native code (force) --> /nix/store/fpl1r6gqz3zcf3vwl8jqc7rnbdx5p6ng-nixpkgs-src/pkgs/applications/networking/browsers/firefox/common.nix:287:13 | 287 | HOST_CC = "${llvmPackagesBuildBuild.stdenv.cc}/bin/cc"; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ note: while evaluating this as native code (coerce_to_string) --> <src-builtins/derivation.nix>:26:19 | 26 | outPath = builtins.getAttr outputName strict; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ note: while evaluating this as native code (force) --> <src-builtins/derivation.nix>:14:12 | 14 | strict = derivationStrict drvAttrs; | ^^^^^^^^^^^^^^^^^^^^^^^^^ note: while evaluating this as native code (coerce_to_string) --> <src-builtins/derivation.nix>:26:19 | 26 | outPath = builtins.getAttr outputName strict; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ note: while evaluating this as native code (force) --> <src-builtins/derivation.nix>:14:12 | 14 | strict = derivationStrict drvAttrs; | ^^^^^^^^^^^^^^^^^^^^^^^^^ note: while evaluating this as native code (coerce_to_string) --> <src-builtins/derivation.nix>:26:19 | 26 | outPath = builtins.getAttr outputName strict; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ note: while evaluating this as native code (force) --> <src-builtins/derivation.nix>:14:12 | 14 | strict = derivationStrict drvAttrs; | ^^^^^^^^^^^^^^^^^^^^^^^^^ note: while evaluating this as native code (coerce_to_string) --> /nix/store/fpl1r6gqz3zcf3vwl8jqc7rnbdx5p6ng-nixpkgs-src/pkgs/development/compilers/llvm/common/default.nix:74:7 | 74 | / builtins.path { 75 | | name = builtins.baseNameOf p; 76 | | path = "${metadata.versionDir}/${p}"; 77 | | }; | |_______^ error[E006]: expected value of type 'path', but found a 'string' --> /nix/store/fpl1r6gqz3zcf3vwl8jqc7rnbdx5p6ng-nixpkgs-src/pkgs/development/compilers/llvm/common/default.nix:74:7 | 74 | / builtins.path { 75 | | name = builtins.baseNameOf p; 76 | | path = "${metadata.versionDir}/${p}"; 77 | | }; | |_______^
bisect shows 80e3c2c5d0d2138fad54896a19dc64260a066304 is the first commit that broke tvix
aspen at 2024-07-29T02·17+00
I think this might basically just be "the
path
argument tobuiltins.path
can be a string":nix-repl> builtins.path { name = "def"; path = "/home/aspen/code/depot/default.nix"; } "/nix/store/n872ya18v59pf3cf2n5i2nnxn5n6p0wk-def"
tvix-repl> builtins.path { name = "def"; path = "/home/aspen/code/depot/default.nix"; } ⠁ Evaluating… (0s) 0/0 note: while evaluating this Nix code --> [code]:1:1 | 1 | builtins.path { name = "def"; path = "/home/aspen/code/depot/default.nix"; } | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[E006]: expected value of type 'path', but found a 'string' --> [code]:1:1 | 1 | builtins.path { name = "def"; path = "/home/aspen/code/depot/default.nix"; } | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
aspen at 2024-07-29T02·24+00
Fixed by https://cl.tvl.fyi/c/depot/+/12053gT
aspen at 2024-07-29T02·46+00
- aspen closed this issue at 2024-07-29T02·46+00