Hello,
I have the following overlay for the package squeekboard that mainly pins the version: https://github.com/tmarkov/nix-conf/blob/420890bb3f18da06fa32fb51d0fa857621443f40/overlays/squeekboard.nix
It used to bueld properly, but when I recenrly ran nix flake update for my flake config, and then sudo nixos-rebuild --flake . switch, it failed with the following error:
error: builder for '/nix/store/bszvgzn96941rig0pj5pp1mwnz4mszfx-squeekboard-1.15.0.drv' failed with exit code 1;
last 10 log lines:
> meson flags: --buildtype=plain --libdir=/nix/store/mqqc54y65bgc8gaw2xjb53zdhgkr9sap-squeekboard-1.15.0/lib --libexecdir=/nix/store/mqqc54y65bgc8gaw2xjb53zdhgkr9sap-squeekboard-1.15.0/libexec --bindir=/nix/store/mqqc54y65bgc8gaw2xjb53zdhgkr9sap-squeekboard-1.15.0/bin --sbindir=/nix/store/mqqc54y65bgc8gaw2xjb53zdhgkr9sap-squeekboard-1.15.0/sbin --includedir=/nix/store/mqqc54y65bgc8gaw2xjb53zdhgkr9sap-squeekboard-1.15.0/include --mandir=/nix/store/mqqc54y65bgc8gaw2xjb53zdhgkr9sap-squeekboard-1.15.0/share/man --infodir=/nix/store/mqqc54y65bgc8gaw2xjb53zdhgkr9sap-squeekboard-1.15.0/share/info --localedir=/nix/store/mqqc54y65bgc8gaw2xjb53zdhgkr9sap-squeekboard-1.15.0/share/locale -Dauto_features=enabled -Dwrap_mode=nodownload --prefix=/nix/store/mqqc54y65bgc8gaw2xjb53zdhgkr9sap-squeekboard-1.15.0 -Dnewer=true
> The Meson build system
> Version: 0.63.1
> Source dir: /build/source
> Build dir: /build/source/build
> Build type: native build
>
> meson.build:1:0: ERROR: Unknown options: "newer"
>
> A full log can be found at /build/source/build/meson-logs/meson-log.txt
For full logs, run 'nix log /nix/store/bszvgzn96941rig0pj5pp1mwnz4mszfx-squeekboard-1.15.0.drv'.
error: 1 dependencies of derivation '/nix/store/bn0ykyr75m78p0igci5i9g149pqv285d-squeekboard.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/ixnm1d04hisb6hz4wbf1rr18zxqjvlfr-system-path.drv' failed to build
The source meson.build does not require an option newer, and such is not defined in meson_options.txt.
However, if I look at the source of later versions of squeekboard, THEN I can find an option newer used in the newer meson.build and defined in the newer meson_options.txt`.
That said, I’ve double checked that my hashes in the overlay are for the older versions. I’ve also confirmed that there’s no hashes for squeekboard in flake.lock so couldn’t have changed with the nix flake update.
What could be going on here?
I did check the downloaded sources in /tmp/. They seem to be for the correct version, and meson can build then in a nix-shell spawned from the package default.nix without errors.