at v192 1.5 kB view raw
1{ stdenv, fetchurl, pkgconfig 2, libevdev, mtdev, udev 3, documentationSupport ? false, doxygen ? null, graphviz ? null # Documentation 4, eventGUISupport ? false, cairo ? null, glib ? null, gtk3 ? null # GUI event viewer support 5, testsSupport ? false, check ? null, valgrind ? null 6}: 7 8assert documentationSupport -> doxygen != null && graphviz != null; 9assert eventGUISupport -> cairo != null && glib != null && gtk3 != null; 10assert testsSupport -> check != null && valgrind != null; 11 12let 13 mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}"; 14in 15 16with stdenv.lib; 17stdenv.mkDerivation rec { 18 name = "libinput-1.0.1"; 19 20 src = fetchurl { 21 url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz"; 22 sha256 = "17prgxxq95i2l8a00clwwmvvskbb9xza9fmym1jvlmxl358v6bs8"; 23 }; 24 25 configureFlags = [ 26 (mkFlag documentationSupport "documentation") 27 (mkFlag eventGUISupport "event-gui") 28 (mkFlag testsSupport "tests") 29 ]; 30 31 nativeBuildInputs = [ pkgconfig ]; 32 33 buildInputs = [ libevdev mtdev udev ] 34 ++ optionals eventGUISupport [ cairo glib gtk3 ] 35 ++ optionals documentationSupport [ doxygen graphviz ] 36 ++ optionals testsSupport [ check valgrind ]; 37 38 meta = { 39 description = "Handles input devices in Wayland compositors and provides a generic X.Org input driver"; 40 homepage = http://www.freedesktop.org/wiki/Software/libinput; 41 license = licenses.mit; 42 platforms = platforms.unix; 43 maintainers = with maintainers; [ codyopel wkennington ]; 44 }; 45}