about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/libinput
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:36 +0000
committerAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:47 +0000
commit36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch)
treeb3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/development/libraries/libinput
parent4e31070265257dc67d120c27e0f75c2344fdfa9a (diff)
parentabf060725d7614bd3b9f96764262dfbc2f9c2199 (diff)
downloadnixlib-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.nix55
-rw-r--r--nixpkgs/pkgs/development/libraries/libinput/udev-absolute-path.patch11
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,