diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix index 553bb9463ede..d39a71e16da9 100644 --- a/pkgs/development/libraries/libinput/default.nix +++ b/pkgs/development/libraries/libinput/default.nix @@ -2,12 +2,12 @@ , 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 +, 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; +assert testsSupport -> check != null && valgrind != null && python3Packages != null; let mkFlag = optSet: flag: "-D${flag}=${stdenv.lib.boolToString optSet}"; @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig meson ninja ] ++ optionals documentationSupport [ doxygen graphviz ] - ++ optionals testsSupport [ check valgrind ]; + ++ optionals testsSupport [ check valgrind python3Packages.pyparsing ]; buildInputs = [ libevdev mtdev libwacom ] ++ optionals eventGUISupport [ cairo glib gtk3 ]; @@ -42,6 +42,16 @@ stdenv.mkDerivation rec { patches = [ ./udev-absolute-path.patch ]; + preBuild = '' + # meson setup-hook changes the directory so the files are located one level up + patchShebangs ../udev/parse_hwdb.py + patchShebangs ../test/symbols-leak-test.in + ''; + + doCheck = testsSupport; + + checkPhase = "meson test"; + meta = { description = "Handles input devices in Wayland compositors and provides a generic X.Org input driver"; homepage = http://www.freedesktop.org/wiki/Software/libinput;