Webkit 2.36.3 keeps trying to build from source (NixOS 22.05)

I currently have webkitgtk as a buildInput for another package and whenever I try to install that package it tries to build webkitgtk from source. Not sure how to debug why though.

My current channels are the following and I believe that in this case everything should be going through the nixos channel by default.

nixos https://nixos.org/channels/nixos-22.05
unstable https://nixos.org/channels/nixos-unstable

Output I see

these 3 derivations will be built:
  /nix/store/bg30d01il3278s2qg5hg1pm478rd599d-webkitgtk-2.36.3.drv
  /nix/store/9jmkkndiwawszgqsb3ig4khv7qpvlzy3-NetworkManager-openconnect-1.2.8.drv
  /nix/store/d0idlqv2n3rmjsmjg16ic7pdmxbzviv0-binary-eater.drv
building '/nix/store/bg30d01il3278s2qg5hg1pm478rd599d-webkitgtk-2.36.3.drv'...
unpacking sources
unpacking source archive /nix/store/65kl305q2jvacnaxm05j92305ivsb3z1-webkitgtk-2.36.3.tar.xz

I eval’d webkitgtk.drvPath on every released revision of 22.05 and the last 15 revisions of unstable, for both x86_64-linux and aarch64-linux (you didn’t mention what platform you’re on), and none of them matched the /nix/store/bg30d01il3278s2qg5hg1pm478rd599d-webkitgtk-2.36.3.drv that you’re trying to build.

#!/usr/bin/env bash

set -e

function evalRevs() {
    while read rev _; do
        echo -n "$rev: "
        nix eval --system "$1" github:NixOS/nixpkgs/$rev#webkitgtk.drvPath 2> /dev/null
    done
}

{
    curl https://channels.nix.gsc.io/nixos-22.05/history-v2 | evalRevs x86_64-linux
    curl https://channels.nix.gsc.io/nixos-22.05/history-v2 | evalRevs aarch64-linux
    curl https://channels.nix.gsc.io/nixos-unstable/history-v2 | tail -n 15 | evalRevs x86_64-linux
    curl https://channels.nix.gsc.io/nixos-unstable/history-v2 | tail -n 15 | evalRevs aarch64-linux
} | grep bg30d01il3278s2qg5hg1pm478rd599d

So I see two possibilities. 1) You have an overlay that is modifying one of its dependencies. 2) You are not using the channels you think you are, and are using something like the master or release-22.05 branches from GitHub by mistake somehow.

Sorry, I should have mentioned this. I am using x86_64-linux. Your points match what I was thinking, and I looked in hydra to see what builds were made. Noticed that none of them matched my derivation for webkitgtk. I do have a couple of overlays but don’t know how they could impact a webkitgtk dependency. Will post back after debugging more.

I dunno if this exactly would work, but something like it might point you in the right direction:

# modify this line if necessary to eval your config,
# but note that I'm trying to eval nixos, not nixpkgs
drv=$(nix-instantiate "<nixos/nixos>" -A pkgs.webkitgtk)
nix path-info --store https://cache.nixos.org $(nix-store -q --outputs $(nix-store -q --references $drv))

It should spit out complaints about the immediate dependencies of webkitgtk that aren’t on the cache.

Also are you aware of the great tool nix-diff? That’s my go-to solution for these kind of problems.

The resulting diff usually provides me enough context to figure out where the problem is coming from.

1 Like

Thanks, there seem to be quite a few. A bit confused about this… Disabled all the overlays I defined.

❯ drv=$(nix-instantiate "<nixos/nixos>" -A pkgs.webkitgtk)
warning: you did not specify '--add-root'; the result might be removed by the garbage collector

~ took 2s 
❯ nix --extra-experimental-features nix-command path-info --store https://cache.nixos.org $(nix-store -q --outputs $(nix-store -q --references $drv))
/nix/store/4h7k5d08a41vvmc8whmb7jfbghs4y26b-libtasn1-4.18.0
/nix/store/40iwnlr30ykqm5ynm0bbk6bsjjc750ad-bash-5.1-p16
/nix/store/c1h2br2ddpy7qswsjdnx6ismb0h38ibg-p11-kit-0.24.1
/nix/store/0837scszksx5v4ssxvr7pv43i9w3zrph-p11-kit-0.24.1-bin
/nix/store/f031q8z8qpxms2wz313fw7c23zklj80a-libgpg-error-1.42
/nix/store/09qk63yrd1hbsavj5yzrnykpr6hj5gsd-libgpg-error-1.42-dev
/nix/store/1a77yh2zszpqcz7q1k0i1z5xpqximc6s-woff2-1.0.2-lib
/nix/store/5dpz4gs6qc2ppkan80fi9w461l26fbh1-libGL-1.4.0
/nix/store/2mz0066lqjclasxpgh4f02avlh7wk2v3-libepoxy-1.5.10
/nix/store/6p5p4npgi4jads04kazvvbw72m2kka5m-pcre-8.45
/nix/store/nkmc0d5rchv8a4cn79c8p8vx72g7skf0-glib-2.72.2
/nix/store/w2qjjvhwnwhass0q540myhpy5mgxdy54-libxml2-2.9.14
/nix/store/yb8z23a857pj619b9lwfbq28ylxrb7r2-wayland-1.20.0
/nix/store/piz05w00ryv11jbwvr43dsgnc0xshw8v-libxkbcommon-1.4.0
/nix/store/1jbih74lf48mkvy4l1lkiv3wzpwi8a7s-gtk+3-3.24.34
/nix/store/ghrk4fjbml2sw7rll3bpj19ad2dl1agi-nettle-3.7.3
/nix/store/1lhggmsxz73c306rzcibww54396k39j9-gnutls-3.7.3
/nix/store/jnxcd9y0ad5iik0smny97bw4dl147h4g-libXtst-1.2.3
/nix/store/22p6hrdxbsl4bxf13p9qg3k8ydj202fw-at-spi2-core-2.44.1
/nix/store/dijrcqmqiac6vb7zlyr5kdspxwiyzm1r-gst-plugins-base-1.20.1
/nix/store/23spq233caxi151l2v9izpnlrvr4wnfx-gst-plugins-base-1.20.1-dev
/nix/store/2hai574babj0k1l489wqvfmfri6drd0s-pcre-8.45-doc
/nix/store/2iyfbbm6nw7kgqrsxnjzw0qrgz88624v-libGL-1.4.0-dev
/nix/store/2qdwkg3wr6r8xs9qwp6nbx6l10067vig-libxml2-2.9.14-man
/nix/store/2swsigmri78kvw3ms41jk3cgkddbb17r-libXdmcp-1.1.3
/nix/store/2vkyhqj822p8fbmysnhsi1vlr7blb0am-gtk+3-3.24.34-devdoc
/nix/store/324l971b7mc0lz8pw7c42xczmsahjsrg-fix-bubblewrap-paths.patch
/nix/store/h8xspsb1ncspskxknd52lpkzkaqxdw9r-libseccomp-2.5.3-lib
/nix/store/ldax5vvji2qqzi2yz51x8p8m74ryrsxp-libgcrypt-1.10.1
/nix/store/675hhg94xrfil460prl1fq90xhvjmyms-systemd-250.4
/nix/store/3399c1isar954bqk8sbgriaahavwfzc0-systemd-250.4-dev
/nix/store/kv8pn26ml8y5gpn5mddnkd5ajhdyldjr-libwpe-1.12.0
/nix/store/38dz4bknhvc7ip60c5p559hpad93xpfh-wpebackend-fdo-1.12.0
/nix/store/45ki7129cl533cqwr6441nmicdpsx8vf-libxml2-2.9.14-doc
/nix/store/rn74ygmkis3sy0lns67msqydjvnf5lfc-gobject-introspection-1.72.0
/nix/store/4lk6jx3zkimy651hyrb2vg87rnbwk7ji-sqlite-3.38.5
/nix/store/x0dihk0hk5yc50fzr0hy9iir4vcc4kcp-libsoup-2.74.2
/nix/store/4ha0g8dpkyp464nhgy0brylk514zmnm3-geoclue-2.5.7
/nix/store/4hqj2mm9r1zai29cinydlpxnr82bngxh-glu-9.0.2
/nix/store/80i001ag97fc3x88bggrzmprng71j6f8-gnutls-3.7.3-bin
/nix/store/n15ajja6ba6fkk8k764vlwh5fiiva3gh-nettle-3.7.3-dev
/nix/store/4rwr62iwr3029bazs5jffkgw65k3mri4-gnutls-3.7.3-dev
/nix/store/565w6b55fknm7377jxjvlvc114qv2bw0-libnotify-0.7.12
/nix/store/9xwy5qjj3r0hryicdv0sz078cxms9nb8-harfbuzz-icu-3.3.2
/nix/store/5djkykqv19dknya9hv9jkdzxxfy75p43-harfbuzz-icu-3.3.2-dev
/nix/store/9b5774d1a4l75hinl3x6w48kqdskimah-libxml2-2.9.14-bin
/nix/store/mn54xk8znflfiqdcj5qn9w5zz8n4687h-libxml2-2.9.14-dev
/nix/store/prdfc19zf5zlg9mpsi556q1v3dlfy8r9-libxml2-2.9.14-py
/nix/store/5fh7hw4k64zinj0317983kp9bypnh7af-libxslt-1.1.35-py
/nix/store/5gf8qha1wb06rz1gi8ja9432cd5srhwm-xdg-dbus-proxy-0.1.4
/nix/store/5ijpzafdxjlda23wm830qs4a9013k98m-gnutls-3.7.3-man
/nix/store/5ip81ybmwd73xqk8jckmkw5c66cakjz8-gnutls-3.7.3-devdoc
/nix/store/5jk9zrlqbsks4dk5vvrcvvjn44p521ab-wayland-1.20.0-doc
/nix/store/5l1dyda96i5fnqz8snd9knwzi6kks9fw-libsecret-0.20.5
/nix/store/5plr1zabwg6dgcv4636kwx302898x4r3-perl-5.34.1-man
/nix/store/5wa16gl0r24mg7jb7qhnl9zd4q1dhmc8-libsecret-0.20.5-devdoc
/nix/store/65kl305q2jvacnaxm05j92305ivsb3z1-webkitgtk-2.36.3.tar.xz
/nix/store/95xa1hlw6byvcxsdcvi9hc6q9xm00skp-sqlite-3.38.5-bin
/nix/store/6kfhz85ddl09jhzg7g5ybv4q0m36xkaj-sqlite-3.38.5-dev
/nix/store/d2l2fvnm1lcm9gcv765dn482lgmdyzlj-mesa-22.0.4
/nix/store/ri9l82lfkaiaw3rvp6iq63y8h8h6gl4l-mesa-22.0.4-drivers
/nix/store/6njyq9vq69yfmd5ipyy3zll59gvq918b-mesa-22.0.4-opencl
/nix/store/6vvylsdxx9ggx315x2ss75amy4r02jz0-perl5.34.1-File-Copy-Recursive-0.45
/nix/store/717kkirdpgyjcbwl29ma80n6b8dwpfih-bash-5.1-p16-man
/nix/store/z2zhiij28pvdrrw437h2b36g4j0j4cpp-pcre-8.45-bin
/nix/store/71zqd8i9cwl62f0sffybm1naljyk6chl-pcre-8.45-dev
/nix/store/76c313l0wynxdgfmxgjjhmncg13vpi8x-libXdamage-1.1.5
/nix/store/8fxwjg6q1a29cq6xpawisciy28i8p8h2-libXdamage-1.1.5-dev
/nix/store/wb8bhqzqjm8van1i554zbx53cggplyvy-mesa-22.0.4-dev
/nix/store/74gvd03rjbqv99301wlwm0k99i98dni0-mesa-22.0.4-driversdev
/nix/store/7a8bkf14r68i0yj0w3chci4s3r7x433f-gettext-0.21-info
/nix/store/ksnv8c9x5c5wrwj9921j6aibzvrmzcar-libidn-1.38
/nix/store/7ih930127h6djiw46yplcck54k4h45d2-libidn-1.38-bin
/nix/store/7qi7blhwkii6rnagk8v8vji092f4zclg-libxslt-1.1.35
/nix/store/7r9phvkav218az7sl7q3qkyka7i0p51b-stdenv-linux
/nix/store/gwlgfywzqypv91rxw916v81mpzhckdz5-python3-3.9.13
/nix/store/8vmnidjx8fd44n5w05ldd4085ildayz4-glib-2.72.2-bin
/nix/store/g8a9i38ad572qzc8pcbvybwvvx33wnh6-gettext-0.21
/nix/store/nffakga5zfdy4mghxmi07lxgyaknnkq2-glib-2.72.2-dev
/nix/store/8p0r61avzq2dyn4va3xi241pj1kjm5gb-gobject-introspection-1.72.0-dev
/nix/store/i4nq9cwixq9dm3m62qgb72qxrdvx7a7v-libmanette-0.2.6
/nix/store/8rd6b4ynlsvcr16jwhj72rf2dbf2s9xr-libmanette-0.2.6-dev
/nix/store/99mmc6xp20pv2diak3cmk96565ry5pgw-libxkbcommon-1.4.0-dev
/nix/store/9iyi63irnmi9rqprx0hqrjrapvlrbm8d-fdo-backend-path.patch
/nix/store/9kqa1msr4lvi7r5640yggypi6h32gy9g-libnotify-0.7.12-man
/nix/store/9krlzvny65gdc8s7kpb6lkx8cd02c25b-default-builder.sh
/nix/store/9m1kf0wlinq80hzn5wiffy2kk4z994b5-libgcrypt-1.10.1-info
/nix/store/9pm3rzxxal2f143nihcwglrigqspafp6-bash-5.1-p16-info
/nix/store/9wffdw0war8y4zz0dawrj48zcmyww8av-gobject-introspection-1.72.0-man
/nix/store/ajn9rcngjp796k52n5nl9x361j4gc2h1-libidn-1.38-devdoc
/nix/store/anhinjnxdil8zskc2adc2rccq52hcwr6-libepoxy-1.5.10-dev
/nix/store/b9188lwwhi83x3279zzrrwdwpnr98ds1-gettext-0.21-man
/nix/store/ijhv43rbmsrhj4d2bigx4mfsf1pxfm86-lcms2-2.13.1
/nix/store/md90343ncka839mv00zb4xis1yyhh8hj-lcms2-2.13.1-bin
/nix/store/byzd88q5mqkviv4s2ikgmiv91mi1kd14-lcms2-2.13.1-dev
/nix/store/d3d2mvb3kybgbh3qn0yh5r8k46d4gizw-libwebp-1.2.1
/nix/store/v8y51ykfazakc7d63qfsyaphq9yzcb85-openjpeg-2.4.0
/nix/store/msy978bm56vrc7p516bvclaq5x780g63-gst-plugins-bad-1.20.1
/nix/store/c0fh67jh895h9djp6k3d3wp8c3d7clxh-gst-plugins-bad-1.20.1-dev
/nix/store/c9dc7nd7wky7v262wj17qh4f7kvdzsn4-libseccomp-2.5.3-man
/nix/store/cjkp8hr8lnry1c3fscyz68dicb6vcbq9-wayland-1.20.0-bin
/nix/store/ckssrn3b55lfrqymcjad7qh3ri36ibrq-openjpeg-2.4.0-dev
/nix/store/cw8pbczckq9b56hlw1a5y4kjgw6qchxa-libXt-1.2.1
/nix/store/cx43vz99axng1cpp872ixxc4d47p67id-libidn-1.38-info
/nix/store/dlg2ji6fz3g1q5h4y7gcsv1rnhc5lqks-glib-2.72.2-debug
/nix/store/dyngr1m5klqln5ysd7y4f379fiqkz7gh-p11-kit-0.24.1-dev
/nix/store/sd2lsg9x67m6fahvimsm6qrs7cgxp7qk-wayland-1.20.0-dev
/nix/store/f1s5zgfz87kr3i06zknjfp4w8dmwfx5j-gtk+3-3.24.34-dev
/nix/store/f5wf20h4s0fsmkblrf03shvhiib0y8cr-libgpg-error-1.42-info
/nix/store/lbdlmxnvgl1bmrlijip5y5xha6ld6lgz-enchant-2.3.2
/nix/store/fhw8vk1aj0vkcsx8n353r3390q05ihk1-enchant-2.3.2-dev
/nix/store/gdsrqqs6caw287ycirp91jg7j2r00945-perl-5.34.1
/nix/store/gvfnj5clfklbnp605xyw2x9gr1jsh5zv-libseccomp-2.5.3
/nix/store/gw4hy7shi0mavsjfmy3g9kqknrw60max-gperf-3.1
/nix/store/h3rq7lmqcsv4sj0mw4dx4rgs1ynxa706-libXdmcp-1.1.3-doc
/nix/store/h4kcvjv8760dq6g9fi67qcmm8gq5pvyz-libgcrypt-1.10.1-dev
/nix/store/h561rls25iblhvq45v91hqbd8nqdb97q-ruby-2.7.6-devdoc
/nix/store/h5syp2hqwllnnngi3rwf3j5y2qxjxcnw-geoclue-2.5.7-dev
/nix/store/h80b1fmfi6x3g135zndc46nz5fa34bq0-libsecret-0.20.5-dev
/nix/store/hixgagndq9rzzh3ciypcf14cgvqaz08g-libidn-1.38-dev
/nix/store/hwfgc5xid4g5xg6vcfc9dg210mkhjfsq-libXt-1.2.1-dev
/nix/store/i6ipir2y19s85h7jiqglv8grb4i7c8vd-wayland-1.20.0-debug
/nix/store/ikmqczy0y20n04a2b8qfflzwihv8139g-separate-debug-info.sh
/nix/store/irywcji99ijkyp41317c0mk45gmbn5rc-geoclue-2.5.7-devdoc
/nix/store/iv5jrfv644hjky7vzcjn5grxjj0ddrax-libtasn1-4.18.0-dev
/nix/store/j013yhkkjmdmizjfngazj7s2bapi3if4-sqlite-3.38.5-debug
/nix/store/jrcfyidklsfa7y7wmgxlmvam56h32jd1-glib-2.72.2-devdoc
/nix/store/k6qd2i4c8cj17q1xc9bj8m9hja48fv6n-libxslt-1.1.35-bin
/nix/store/k9164icp6kx7ygabgar74bps6qxyb8am-libtasn1-4.18.0-devdoc
/nix/store/kym16fmc510mqa88dhqvii05b22zhvzl-mesa-22.0.4-osmesa
/nix/store/l3qr4r4c0dvsv335kvh3hg55sss43ind-libxslt-1.1.35-man
/nix/store/l8kwxp7x04ra7xr8y4ihx9s7wp9rkfra-perl5.34.1-File-Copy-Recursive-0.45-devdoc
/nix/store/lh6qkfavrnxnr3j570i0jgks9fawji93-gtk+3-3.24.34-debug
/nix/store/lxl7gr4ggc2darh3lpmmnyr8y2r7pb9h-ninja-1.10.2
/nix/store/lya1231jkayqnv4ww2r5spwqwd0331qa-libseccomp-2.5.3-pythonsrc
/nix/store/m67v2jz4agxr837l49y33rfvcnnbr1az-libnotify-0.7.12-dev
/nix/store/n8gvlg12cmxw3a37nvbafhri9pp4l494-ruby-2.7.6
/nix/store/ndn1lxbqxqm0nflni5a5f0sd040vyq79-woff2-1.0.2
/nix/store/nrpa0jgp3slqdm8y59jn8m0lnqn3rbin-wayland-1.20.0-man
/nix/store/p4nnlqr96935kk3x1wf7m44icxwwn9a9-glu-9.0.2-dev
/nix/store/pi1dqss5ixpmggncajvllw0vyvwy8390-libXt-1.2.1-devdoc
/nix/store/qaqds47xxvdjgg6kas7x1bwqyy09vv11-bash-5.1-p16-dev
/nix/store/qhi51x31bpbhairbppafwij9rgvkyz6j-libglvnd-headers.patch
/nix/store/qklja5z41qppv00s6fp5k3xqxn03p8hw-libxslt-1.1.35-dev
/nix/store/qkpk2k76ywf0sx694qq5pipy5xacz305-bash-5.1-p16-doc
/nix/store/r6d2w1kyjdnmlj877mavcy091csc6qw5-pcre-8.45-man
/nix/store/rvpak5f3gfkih0c80mn09qf8z3dq7cdy-bison-3.8.2
/nix/store/s3r8ybb85vzh1hhn35f36zmslyxhicf2-gobject-introspection-1.72.0-devdoc
/nix/store/sqqcxmihy6y27sjdv68ar35cgvyb54b7-woff2-1.0.2-dev
/nix/store/v5yripbdygspgiv2bmlymd2al4j9d9vb-libXdmcp-1.1.3-dev
/nix/store/v8yf5yaxf8i27k5v90g52ja006i27jl9-libpthread-stubs-0.4
/nix/store/vgsmq225ak7nr17azf3dy63wdbppk3g7-libsoup-2.74.2-dev
/nix/store/vlipk0z8jvcmjp583qvnrrbsrijb5njm-libseccomp-2.5.3-dev
/nix/store/vricq7h5ivf59sf61bpvlqhq66mwvn9a-pkg-config-wrapper-0.29.2
/nix/store/vrkp3hjvzsjbxkc633h0rjm7v21c2avz-at-spi2-core-2.44.1-dev
/nix/store/vw4swzwcqn6rif8frdha6wdwfrcw2z64-perl-5.34.1-devdoc
/nix/store/vwh46wj0bz4hrcyn59di18mykaxr69gv-cmake-3.22.3
/nix/store/w2j2wf5i2inrj2filw3386ppmilpcrkh-pkg-config-wrapper-0.29.2-doc
/nix/store/wcdk46pr8xw8ydp335i0s9g75lk33p8d-libxslt-1.1.35-doc
/nix/store/wix1zfm0b15difip8al86rxdx4kj9946-pkg-config-wrapper-0.29.2-man
/nix/store/wk2gh8qnjzp3gaqayry4hh456x0ykbhy-gettext-0.21-doc
/nix/store/x0qz5kqr8g63d7pxxi49b5pa2jxpcf0s-bubblewrap-0.6.2
/nix/store/x7psyfrzm519ji8r0fvblzb7mqrp1k73-harfbuzz-icu-3.3.2-devdoc
/nix/store/xrx0ym53gyhafgqn3imc8f2g1l1acspj-python3-3.9.13-debug
/nix/store/ymq83c4vam8a62gpg51kzvw9ar2qfmws-systemd-250.4-man
/nix/store/z0h3zsmv0c9qw2ky1hrqz2lh5g9q0zg4-libxkbcommon-1.4.0-doc
/nix/store/z9dnfkbwxdajv2sbwdw3ql0arc8623sk-libmanette-0.2.6-devdoc

For nix-diff to work, do I have to the derivation path built locally? One of the issues I have is building webkitgtk is an intense build job, which is why I want to rely on the cache. Tried it out in general and seems really useful.

EDIT: just read the README more carefully. Let me play with nix-instantiate.

This was helpful. Thanks so much.

nix-diff /nix/store/bg30d01il3278s2qg5hg1pm478rd599d-webkitgtk-2.36.3.drv /nix/store/nc6s68w808xqi61m2ksgyfzp2gcvpiry-webkitgtk-2.36.3.drv
- /nix/store/bg30d01il3278s2qg5hg1pm478rd599d-webkitgtk-2.36.3.drv:{out}
+ /nix/store/nc6s68w808xqi61m2ksgyfzp2gcvpiry-webkitgtk-2.36.3.drv:{out}
• The input derivation named `geoclue-2.5.7` differs
  - /nix/store/pphfssd07i2sf1229f07nhv6bph2jbih-geoclue-2.5.7.drv:{dev}
  + /nix/store/jgfk3jfljd7871v4nsy5sgy04jyyq1vy-geoclue-2.5.7.drv:{dev}
  • The input derivation named `glib-networking-2.72.0` differs
    - /nix/store/0p22yapy1br5y8ykha7qzalz1gf5ngi4-glib-networking-2.72.0.drv:{out}
    + /nix/store/vdhlz9vp2zl072x2zx7q5wl5psb137mk-glib-networking-2.72.0.drv:{out}
    • The input derivation named `libproxy-0.4.17` differs
      - /nix/store/n37kpqvddn91wb1n87gr5pavycfwdvl0-libproxy-0.4.17.drv:{dev}
      + /nix/store/w59z91mpg6g5q1v38ad47gzfrh4760rr-libproxy-0.4.17.drv:{dev}
      • The input derivation named `networkmanager-1.38.0` differs
        - /nix/store/mrmfv7sdd8sqmm4637d3rf4vjyq08z0h-networkmanager-1.38.0.drv:{dev}
        + /nix/store/4xdzga5qpjpmbkfhlvz0jx7w1jfif8qj-networkmanager-1.38.0.drv:{dev}
        • The input derivation named `fix-paths.patch` differs
          - /nix/store/i9krwm3z9p07j6jrqrhdcyvn7ghjkrxl-fix-paths.patch.drv:{out}
          + /nix/store/jfz0kl0wvwybfi8xy1qaqxpnijv6aal6-fix-paths.patch.drv:{out}
          • The set of input derivation names do not match:
              - openconnect-9.01
              + openconnect-8.20
          • The environments do not match:
              openconnect=''
              /nix/store/cdab6n9vjg2y3fmhjg6q8f5ra35jlb38-openconnect-9.01/nix/store/zjhja40j7yq7klcdb0vpi1pmzscvk1x6-openconnect-8.20
          ''
        • Skipping environment comparison
      • Skipping environment comparison
    • Skipping environment comparison
  • Skipping environment comparison
• Skipping environment comparison

This makes sense because I am working on some development work for openconnect. What doesn’t really make sense to me is why networkmanager is a buildInput for libproxy. Also, changing openconnect with an overlay should not impact networkmanager.

Once I disable my openconnect overlay. this behaves as expected… (sorry, I forgot about this. nix-diff is amazing)

copying path '/nix/store/nhgqm00yirr9hb7zlll0s9y4ikaik05g-webkitgtk-2.36.3-dev' from 'https://cache.nixos.org'...

openconnect shouldn’t really be an input for networkmanager tbh as well.

That’s great news, glad I could be of help!

1 Like

Thanks to both you and @ElvishJerricco. Learned quite a bit from all the comments both of you provided. His example helped me pick up nix-instantiate usage (went through the manpage too).

NetworkManager requires the openconnect program so if we want to make that feature work, the most reliable way is to patch it in the source code. If we wanted to decouple it we would need to patch NM to look for the program on PATH and then have NixOS module add it to PATH of all the relevant NM services.

In the past, I have also talked with NM maintainers about the possibility of moving the VPN dependencies to the VPN plug-ins (e.g. GNOME / NetworkManager-openconnect · GitLab) and I believe they were not against it but we still have not gotten around to it.

1 Like
Hosted by Flying Circus.