Conflicts:
pkgs/development/python-modules/dbt-core/default.nix
pkgs/development/python-modules/dbt-semantic-interfaces/default.nix
Still broken by pydantic 2 bump, though.
The default value of the RFKILL_INPUT Kconfig option depends on the
EXPERT option which was changed in 3b07356d2d.
However, disabling the rfkill-input module was unintentional and causes
some airplane mode buttons on laptops to not function [1].
[1]: https://github.com/NixOS/nixpkgs/issues/261880
There's no actual change to the udev rules, but I figured I'd bump it
while updating the comment to call out that there's a nixos module for
this specifically, without having to update udev packages.
> A driver to let userspace turn memfd regions into dma-bufs.
> Qemu can use this to create host dmabufs for guest framebuffers.
Enabled by Fedora and Arch.
Without the change `primusLib.glvnd.settings` fails the eval without a
chance of recovery (uncatchable error):
$ NIXPKGS_ALLOW_UNFREE=1 nix build --no-link -f. primusLib.glvnd.settings
error:
… while calling the 'derivationStrict' builtin
at /derivation-internal.nix:9:12:
8|
9| strict = derivationStrict drvAttrs;
| ^
10|
… while evaluating derivation 'nvidia-settings-545.29.06'
whose name attribute is located at pkgs/stdenv/generic/make-derivation.nix:348:7
… while evaluating attribute 'postPatch' of derivation 'nvidia-settings-545.29.06'
at pkgs/os-specific/linux/nvidia-x11/settings.nix:81:3:
80|
81| postPatch = lib.optionalString nvidia_x11.useProfiles ''
| ^
82| sed -i 's,/usr/share/nvidia/,${nvidia_x11.bin}/share/nvidia/,g' src/gtk+-2.x/ctkappprofile.c
error: attribute 'bin' missing
at pkgs/os-specific/linux/nvidia-x11/settings.nix:82:36:
81| postPatch = lib.optionalString nvidia_x11.useProfiles ''
82| sed -i 's,/usr/share/nvidia/,${nvidia_x11.bin}/share/nvidia/,g' src/gtk+-2.x/ctkappprofile.c
| ^
83| '';
After the change `builtins.tryEval` can catch errors thrown by `assert`.
Without the change `usbguard-notifier` fails the build on `staging-next`
as:
In file included from src/Notifier.hpp:24,
from src/Main.cpp:21:
src/Serializer.hpp:35:5: error: 'uint32_t' does not name a type
35 | uint32_t device_id;
| ^~~~~~~~
src/Serializer.hpp:25:1: note: 'uint32_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
24 | #include <map>
+++ |+#include <cstdint>
25 | #include <string>
Right now, hashes for 4.14 are kept (and thus also maintained by the
hardened updater) even though we don't support that anymore, the oldest
supported branch is 4.19.
To avoid having to remember too many places where to drop a kernel when
dropping an old one (next will be 4.19), the oldest kernel branch will
be determined by the lowest version number in the keys of
`kernels-org.json`. That way, it's sufficient to drop an old branch
from this file and it will be ignored on the upcoming update runs.
Yes, the code to read from that file is duplicated, but I'd expect the
min version to change way more often than 3 lines of code reading a
version from a JSON file[1].
The logic is fairly simple though: if the branch (i.e. MAJOR.MINOR) of a
kernel that's listed on kernel.org[2] is older than the oldest version
in `kernels-org.json`, it's omitted on update and a message is printed
like this:
[...]
linux_5_4: 5.4.265 is latest, skipping...
linux_4_19: 4.19.303 is latest, skipping...
4.14 is too old and not supported anymore, skipping...
Kernels that have the branch `testing` are excluded from that check and
always allowed.
[1] Also, I'm unhappy already that I can't just do a relative import in
here to deduplicate the function and for 3 lines of code it seems
like unnecessarily much effort to create a python package structure
here.
[2] Kernels that got unlisted there are too old to be added/kept here
anyways.
This one isn't 4.14 anymore and that should've been updated while
removing 4.14, but is easy to miss.
Since it's not expected that we have versions older than the oldest
mainline version from `kernels-org.json`, determine the minimum
supported version by reading it from there.
Also, this means lesser places to update when dropping old kernels.
This needs an additional change for the mainline updater to make sure
that no older versions appear there[1]. This will be implemented in
the next commit.
[1] At the time of implementing this, the oldest supported kernel was
4.19, however 4.14 wasn't EOL yet and thus still picked up by the
mainline updater.
Combines:
- bluez-firmware 1.2-9+rpt2
- firmware-nonfree 1:20230210-5+rpt2
Note that the following files. which are actually part of upstream
bluez-firmware and not RPi's firmwares, are no longer included in this
package:
- BCM2033-*.bin, BCM2033-*.hex
- BCM-LEGAL.txt
- bcm_changeba
- bcm_changeid
- bcm_hex2bin
Before the change `tests` eval failed for non-existent `displaylink`
nixos test as:
$ nix build --no-link -f. displaylink.tests
error: attribute 'displaylink' missing
72| passthru = {
73| tests = {
| ^
74| inherit (nixosTests) displaylink;
As far as I can see `displaylink` was never added to `nixos/tests/all-tests.nix`.
Without the change the eval fails as:
$ nix build --no-link -f. netbsd.libcurses
...
… while evaluating attribute 'NIX_CFLAGS_COMPILE' of derivation 'libcurses-netbsd-9.2'
error: value is a string while a list was expected
We get a dependency list with pub2nix now. We can no longer easily distinguish between development dependency dependencies and regular dependency dependencies, but we weren't doing this anyway.
Without the change build fails on `staging-next` as:
usbguard> In file included from src/Library/Base64.cpp:23:
usbguard> src/Library/Base64.hpp:34:34: error: 'uint8_t' does not name a type
usbguard> 34 | std::string base64Encode(const uint8_t* buffer, size_t buflen);
usbguard> | ^~~~~~~
usbguard> src/Library/Base64.hpp:26:1: note: 'uint8_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
usbguard> 25 | #include <string>
usbguard> +++ |+#include <cstdint>
usbguard> 26 | #include <cstddef>
The change pulls in upstream fix.