diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:36 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:47 +0000 |
commit | 36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch) | |
tree | b3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/development/libraries/libinput | |
parent | 4e31070265257dc67d120c27e0f75c2344fdfa9a (diff) | |
parent | abf060725d7614bd3b9f96764262dfbc2f9c2199 (diff) | |
download | nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2 nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip |
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libinput')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libinput/default.nix | 55 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libinput/udev-absolute-path.patch | 11 |
2 files changed, 66 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libinput/default.nix b/nixpkgs/pkgs/development/libraries/libinput/default.nix new file mode 100644 index 000000000000..1a903978fb8d --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libinput/default.nix @@ -0,0 +1,55 @@ +{ stdenv, fetchurl, pkgconfig, meson, ninja +, libevdev, mtdev, udev, libwacom +, documentationSupport ? false, doxygen ? null, graphviz ? null # Documentation +, eventGUISupport ? false, cairo ? null, glib ? null, gtk3 ? null # GUI event viewer support +, testsSupport ? false, check ? null, valgrind ? null, python3Packages ? null +}: + +assert documentationSupport -> doxygen != null && graphviz != null; +assert eventGUISupport -> cairo != null && glib != null && gtk3 != null; +assert testsSupport -> check != null && valgrind != null && python3Packages != null; + +let + mkFlag = optSet: flag: "-D${flag}=${stdenv.lib.boolToString optSet}"; +in + +with stdenv.lib; +stdenv.mkDerivation rec { + name = "libinput-${version}"; + version = "1.12.3"; + + src = fetchurl { + url = "https://www.freedesktop.org/software/libinput/${name}.tar.xz"; + sha256 = "0mg2zqbjcgj0aq7d9nwawvyhx43vakilahrc83hrfyif3a3gyrpj"; + }; + + outputs = [ "bin" "out" "dev" ]; + + mesonFlags = [ + (mkFlag documentationSupport "documentation") + (mkFlag eventGUISupport "debug-gui") + (mkFlag testsSupport "tests") + "--libexecdir=${placeholder "bin"}/libexec" + ]; + + nativeBuildInputs = [ pkgconfig meson ninja python3Packages.python ] + ++ optionals documentationSupport [ doxygen graphviz ] + ++ optionals testsSupport [ check valgrind python3Packages.pyparsing ]; + + buildInputs = [ libevdev mtdev libwacom ] + ++ optionals eventGUISupport [ cairo glib gtk3 ]; + + propagatedBuildInputs = [ udev ]; + + patches = [ ./udev-absolute-path.patch ]; + + doCheck = testsSupport; + + meta = { + description = "Handles input devices in Wayland compositors and provides a generic X.Org input driver"; + homepage = http://www.freedesktop.org/wiki/Software/libinput; + license = licenses.mit; + platforms = platforms.unix; + maintainers = with maintainers; [ codyopel wkennington ]; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/libinput/udev-absolute-path.patch b/nixpkgs/pkgs/development/libraries/libinput/udev-absolute-path.patch new file mode 100644 index 000000000000..5c85b8639486 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libinput/udev-absolute-path.patch @@ -0,0 +1,11 @@ +--- a/meson.build ++++ b/meson.build +@@ -100,7 +100,7 @@ + args : model_quirks) + + udev_rules_config = configuration_data() +-udev_rules_config.set('UDEV_TEST_PATH', '') ++udev_rules_config.set('UDEV_TEST_PATH', dir_udev + '/') + configure_file(input : 'udev/80-libinput-device-groups.rules.in', + output : '80-libinput-device-groups.rules', + install : true, |