persistent-evdev: init at unstable-2022-01-14
4.1 KiB
Release 22.11 (“Raccoon”, 2022.11/??)
Support is planned until the end of June 2023, handing over to 23.05.
Highlights
In addition to numerous new and upgraded packages, this release has the following highlights:
-
During cross-compilation, tests are now executed if the test suite can be executed by the build platform. This is the case when doing “native” cross-compilation where the build and host platforms are largely the same, but the nixpkgs' cross compilation infrastructure is used, e.g.
pkgsStatic
andpkgsLLVM
. Another possibility is that the build platform is a superset of the host platform, e.g. when cross-compiling fromx86_64-unknown-linux
toi686-unknown-linux
. The predicate gating test suite execution is the newly addedcanExecute
predicate: You can e.g. check ifstdenv.buildPlatform
can execute binaries built forstdenv.hostPlatform
(i.e. produced bystdenv.cc
) by evaluatingstdenv.buildPlatform.canExecute stdenv.hostPlatform
. -
PHP now defaults to PHP 8.1, updated from 8.0.
New Services
-
appvm, Nix based app VMs. Available as virtualisation.appvm.
-
dragonflydb, a modern replacement for Redis and Memcached. Available as services.dragonflydb.
-
infnoise, a hardware True Random Number Generator dongle. Available as services.infnoise.
-
persistent-evdev, a daemon to add virtual proxy devices that mirror a physical input device but persist even if the underlying hardware is hot-plugged. Available as services.persistent-evdev.
Backward Incompatibilities
-
The
isCompatible
predicate checking CPU compatibility is no longer exposed by the platform sets generated usinglib.systems.elaborate
. In most cases you will want to use the newcanExecute
predicate instead which also considers the kernel / syscall interface. It is briefly described in the release's highlights section.lib.systems.parse.isCompatible
still exists, but has changed semantically: Architectures with differing endianness modes are no longer considered compatible. -
The
isPowerPC
predicate, found onplatform
attrsets (hostPlatform
,buildPlatform
,targetPlatform
, etc) has been removed in order to reduce confusion. The predicate was was defined such that it matches only the 32-bit big-endian members of the POWER/PowerPC family, despite having a name which would imply a broader set of systems. If you were using this predicate, you can replacefoo.isPowerPC
with(with foo; isPower && is32bit && isBigEndian)
.
Other Notable Changes
-
A new module was added for the Saleae Logic device family, providing the options
hardware.saleae-logic.enable
andhardware.saleae-logic.package
. -
Matrix Synapse now requires entries in the
state_group_edges
table to be unique, in order to prevent accidentally introducing duplicate information (for example, because a database backup was restored multiple times). If your Synapse database already has duplicate rows in this table, this could fail with an error and require manual remediation. -
memtest86+ was updated from 5.00-coreboot-002 to 6.00-beta2. It is now the upstream version from https://www.memtest.org/, as coreboot's fork is no longer available.