This package and webkitgtk-2.46.3+abi=4.0 are a dependency for a few packages such as digikam, networkmanager-openconnect and telegram-desktop. For some reason it is being built from source instead of pulling from substitutes. Not sure whether my config overloads the definition somewhere. This is the log from nh os boot --ask
webkitgtk> building '/nix/store/wk4n1l796xy2www4hfmrpm7ycj7s8hxr-webkitgtk-2.46.3+abi=4.1.drv'
webkitgtk> building '/nix/store/cpixsb0zcds5jbnll64baxrxbz4q8178-webkitgtk-2.46.3+abi=4.0.drv'
etc-profile> building '/nix/store/fh1fdgh03mkvjiyx2r4akscfckxmsqd1-etc-profile.drv'
etc-zshenv> building '/nix/store/ijkdr46js5gz46ja3bshra1pdr14slbl-etc-zshenv.drv'
webkitgtk> Running phase: unpackPhase
webkitgtk> unpacking source archive /nix/store/3hnrs2p2nz1z8vvrh0mki0l18apazwxm-webkitgtk-2.46.3.tar.xz
webkitgtk> Running phase: unpackPhase
webkitgtk> unpacking source archive /nix/store/3hnrs2p2nz1z8vvrh0mki0l18apazwxm-webkitgtk-2.46.3.tar.xz
I have the exact same issue as reported, on the same nixpkgs revision.
Actually I’m building two versions of this package:
building '/nix/store/swbbzrvh7p4kh5qlmy34kfr6y7llgikp-webkitgtk-2.46.3+abi=4.0.drv'
building '/nix/store/c2hw2fj1gh8m0fkx8hmawxhwmgihx4in-webkitgtk-2.46.3+abi=4.1.drv'
The only overlays I personally have are for some leaf packages, nix, nix-output-monitor, nixos-option, nix-eval-jobs, and nix-fast-build.
I also have no override on this package.
I really wish there was some simpler tooling to identify why cache misses occur.
Okay turns out there is some tooling: nix-diff (third-party tool).
Apparently webkitgtk pulls in nix as a dependency, which sounds like a massive packaging bug to me.
nix run nixpkgs#nix-diff /nix/store/swbbzrvh7p4kh5qlmy34kfr6y7llgikp-webkitgtk-2.46.3+abi=4.0.drv $(nix-store --query --deriver $(nix build github:nixos/nixpkgs/nixos-unstable#webkitgtk_4_0 --print-out-paths --no-link))
- /nix/store/swbbzrvh7p4kh5qlmy34kfr6y7llgikp-webkitgtk-2.46.3+abi=4.0.drv:{out}
+ /nix/store/nzfcz8mqw3jk1l4ksvadpbazvs98nlsa-webkitgtk-2.46.3+abi=4.0.drv:{out}
• The input derivation named `geoclue-2.7.2` differs
- /nix/store/2xxmgwlmrbnf2pg1r826vcmjm0rmbvq5-geoclue-2.7.2.drv:{dev}
+ /nix/store/x616m3921rr1mv1wijp545wainhjsb01-geoclue-2.7.2.drv:{dev}
• The input derivation named `nix-update-1.5.2` differs
- /nix/store/xjs6v3naznyfimk2ynw64cpgl68sxply-nix-update-1.5.2.drv:{out}
+ /nix/store/rc1kgxbi17jngznbil4v9d9bpmcbm48y-nix-update-1.5.2.drv:{out}
• The set of input derivation names do not match:
- lix-2.91.1
+ nix-2.24.10
• The input derivation named `nix-prefetch-git` differs
- /nix/store/l4vq4a4mqjfyxrd46zcxm508jrczlcrg-nix-prefetch-git.drv:{out}
+ /nix/store/zh8wl0rryfirrakclchldyd95dvxbj92-nix-prefetch-git.drv:{out}
• The set of input derivation names do not match:
- lix-2.91.1
+ nix-2.24.10
# snip ...
• The input derivation named `nixpkgs-review-2.12.0` differs
- /nix/store/yyma7xyq3l1g01x9rsabf7kcy9h3azqd-nixpkgs-review-2.12.0.drv:{out}
+ /nix/store/xlah2n89a6zy99sph6cycxkn6yzw761y-nixpkgs-review-2.12.0.drv:{out}
• The set of input derivation names do not match:
- lix-2.91.1
+ nix-2.24.10
Same exact issue as the above, same rev, same building of both webkitgtk-2.46.3+abi=4.1 and webkitgtk-2.46.3+abi=4.0. The former is a dependency for NetworkManager-openconnect while the latter is a dependency for lutris-unwrapped. I am not using any overlays that would affect this.
How would I use nix-diff? I’m not familiar with the tool, and I don’t know how to translate it to my flakes config. Also I’m using lix instead of nix, so that might be a point to consider.
Yeah, same here. Also overlaying nix with lix in my config
❯ nix run nixpkgs#nix-diff /nix/store/cpixsb0zcds5jbnll64baxrxbz4q8178-webkitgtk-2.46.3+abi=4.0.drv $(nix-store --query --deriver $(nix build github:nixos/nixpkgs/nixos-unstable#webkitgtk_4_0 --print-out-paths --no-link))
- /nix/store/cpixsb0zcds5jbnll64baxrxbz4q8178-webkitgtk-2.46.3+abi=4.0.drv:{out}
+ /nix/store/nzfcz8mqw3jk1l4ksvadpbazvs98nlsa-webkitgtk-2.46.3+abi=4.0.drv:{out}
• The input derivation named `geoclue-2.7.2` differs
- /nix/store/7ysvls2qmzr0mbrm4721gad3l470yxdj-geoclue-2.7.2.drv:{dev}
+ /nix/store/x616m3921rr1mv1wijp545wainhjsb01-geoclue-2.7.2.drv:{dev}
• The input derivation named `nix-update-1.5.2` differs
- /nix/store/pd7jyskpjpr0ysrdkkiwn8zvd8gcisi4-nix-update-1.5.2.drv:{out}
+ /nix/store/rc1kgxbi17jngznbil4v9d9bpmcbm48y-nix-update-1.5.2.drv:{out}
• The set of input derivation names do not match:
- lix-2.91.0
+ nix-2.24.10
• The input derivation named `nix-prefetch-git` differs
- /nix/store/fpls75lcybzjd122ix44al581fph72d6-nix-prefetch-git.drv:{out}
+ /nix/store/zh8wl0rryfirrakclchldyd95dvxbj92-nix-prefetch-git.drv:{out}
• The set of input derivation names do not match:
- nix-2.18.9
+ nix-2.24.10
• The environments do not match:
installPhase=''
install -vD /nix/store/fii9pj8nmnb750c2f191pr3x8j8w3h9x-nix-prefetch-git $out/bin/$name;
wrapProgram $out/bin/$name \
--prefix PATH : /nix/store/sf6y4arqcm100rnnl3dhpg732i774zp6-coreutils-9.5/bin:/nix/store/psjqqbj19n3fqssn38hgz4cv7b7a9alp-findutils-4.10.0/bin:/nix/store/1cd3p3kjh9c209s7832z8i3b8qcqggca-gawk-5.3.1/bin:/nix/store/j44p1p9kci9rnrr3aj9a8j8rwvfmg75k-git-2.47.0/bin:/nix/store/fr9imvb6gb7a28095w4wp9bkddxdpgfm-git-lfs-3.5.1/bin:/nix/store/13wxcn0j2wk911ahfkbvdq241rkprsv8-gnused-4.9/bin:/nix/store/wnw0qkdn4qnppaywd25xb0i265cj5pp7-nix-2.18.9/bin/nix/store/sf6y4arqcm100rnnl3dhpg732i774zp6-coreutils-9.5/bin:/nix/store/psjqqbj19n3fqssn38hgz4cv7b7a9alp-findutils-4.10.0/bin:/nix/store/1cd3p3kjh9c209s7832z8i3b8qcqggca-gawk-5.3.1/bin:/nix/store/j44p1p9kci9rnrr3aj9a8j8rwvfmg75k-git-2.47.0/bin:/nix/store/fr9imvb6gb7a28095w4wp9bkddxdpgfm-git-lfs-3.5.1/bin:/nix/store/13wxcn0j2wk911ahfkbvdq241rkprsv8-gnused-4.9/bin:/nix/store/rpl4s6srw7cgsvpa8w2ndrk1gc15i3ch-nix-2.24.10/bin \
--set HOME /homeless-shelter
''
• The input derivation named `nixpkgs-review-2.12.0` differs
- /nix/store/pxkw6kkk51vf5dyk2ppbbbfjfjldd70f-nixpkgs-review-2.12.0.drv:{out}
+ /nix/store/xlah2n89a6zy99sph6cycxkn6yzw761y-nixpkgs-review-2.12.0.drv:{out}
• The set of input derivation names do not match:
- lix-2.91.0
+ nix-2.24.10
• The environments do not match:
makeWrapperArgs=''
--prefix PATH : /nix/store/cr5qxybgx4b9v47fn56xf81awh9wbi59-lix-2.91.0/bin:/nix/store/j44p1p9kci9rnrr3aj9a8j8rwvfmg75k-git-2.47.0/bin/nix/store/rpl4s6srw7cgsvpa8w2ndrk1gc15i3ch-nix-2.24.10/bin:/nix/store/j44p1p9kci9rnrr3aj9a8j8rwvfmg75k-git-2.47.0/bin --set-default NIX_SSL_CERT_FILE /nix/store/mqvcvn7vpzsrihgj3ph39mbvyyj435bc-nss-cacert-3.104/etc/ssl/certs/ca-bundle.crt --unset PYTHONPATH
''
• Skipping environment comparison
• Skipping environment comparison
• Skipping environment comparison
to get most of the way there. In the tools that depend on nix internally, you usually don’t care whether it’s nix or lix because you don’t interact with it and stuff like nixpkgs-review will just use nom anyways.
I’m aware, and presumably any “communication” with the store is mediated by the lix daemon simply by setting that, but I’d rather not have nix in my system closure to avoid any potential issues with any nix-based tooling in case nix and lix somehow diverge. And I have my own patches for lix, it’d break eval anyway if I used the regular nix or even unpatched lix in some tooling. It really does need to be replaced throughout the nixpkgs instance in my case.