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.
* treewide: http -> https sources
This updates the source urls of all top-level packages from http to
https where possible.
* buildtorrent: fix url and tab -> spaces
libinput builds some executables which are useful for debugging or
unusual configurations, but not necessary in normal use of the library.
(See libinput(1) and the other referenced man pages.)
Some of these programs require Python, which makes the closure
significantly larger. Splitting /libexec/ and /bin/ to a separate "bin"
output allows systems that don't need these utilities to avoid the
substantial size hit.
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/libinput/versions.
These checks were done:
- built on NixOS
- ran `/nix/store/h8pwbpjg88axygjj65y4y7lbq2z0m5lp-libinput-1.10.3/bin/libinput -h` got 0 exit code
- ran `/nix/store/h8pwbpjg88axygjj65y4y7lbq2z0m5lp-libinput-1.10.3/bin/libinput --help` got 0 exit code
- found 1.10.3 with grep in /nix/store/h8pwbpjg88axygjj65y4y7lbq2z0m5lp-libinput-1.10.3
- directory tree listing: https://gist.github.com/27c5534de9dd9c8e7237f21c2dc8e824
Semi-automatic update. These checks were performed:
- built on NixOS
- ran `/nix/store/zx5s9rsk3jh7n9vlx7824chzd54fw3nd-libinput-1.10.0/bin/libinput -h` got 0 exit code
- ran `/nix/store/zx5s9rsk3jh7n9vlx7824chzd54fw3nd-libinput-1.10.0/bin/libinput --help` got 0 exit code
- ran `/nix/store/zx5s9rsk3jh7n9vlx7824chzd54fw3nd-libinput-1.10.0/bin/libinput --version` and found version 1.10.0
- found 1.10.0 with grep in /nix/store/zx5s9rsk3jh7n9vlx7824chzd54fw3nd-libinput-1.10.0
- found 1.10.0 in filename of file in /nix/store/zx5s9rsk3jh7n9vlx7824chzd54fw3nd-libinput-1.10.0
cc "@codyopel @wkennington"
(cherry picked from commit 174644d0288b79796f95f3464b02bad075558a89)
Closes#35775