- format with nixpkgs-fmt
- use more conventional attribute ordering
- remove non-existent file from patchShebang args
- remove unnecessary if from sphinx-build binding (Nix is lazy so we do not need to null it when not used)
continuation of #109595
pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.
python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.
This reverts commit c778945806.
I believe this is exactly what brings the staging branch into
the right shape after the last merge from master (through staging-next);
otherwise part of staging changes would be lost
(due to being already reachable from master but reverted).
Running subcommands like `libinput measure` requires python and some python modules.
I previously added the dependencies in [1] but [2] accidentally moved them to checkInputs so they are not available at runtime by patchShebangs (especially since tests are disabled).
Additionally, the tools were ported from evdev python module to python-libevdev in libinput 1.14, which was missed [3] during upgrade.
Finally, other python modules are needed so let's add them as well.
[1]: https://github.com/NixOS/nixpkgs/pull/51304
[2]: de14f0c6e1
[3]: b291f2a995
If the user wants to configure libinput locally (e.g. to tune
touchpad sensitivity) the advertised[*] mechanism to do this
upstream is by adding a file /etc/libinput/local-overrides.quirks
Add --sysconfdir option to the libinput configurePhase so that we
build libinput to look for the file there instead of in libinput's
store path
[*] can't quite claim it as "supported", but it's certainly the
mechanism that's publically described. See
https://wayland.freedesktop.org/libinput/doc/latest/device-quirks.html
He prefers to contribute to his own nixpkgs fork triton.
Since he is still marked as maintainer in many packages
this leaves the wrong impression he still maintains those.
libinput switched from Doxygen to Sphinx for user docs. Since Sphinx is a Python
module, it propagates Python. And because it is listed in nativeBuildInputs,
its python binary takes precedence over the one added in buildInputs.
This results in a wrong interpreter being substituted into shebangs.
The contamination occurred previously too but libinput does not use pyparsing
dependency since 1.12.0, so it could be removed.
I prevented Sphinx from propagating Python and added some additional
dependencies to it. In the future we might want something more reusable.
While at it, I also fixed the tests.