at 16.09-beta 1.7 kB view raw
1{ stdenv, fetchurl, pkgconfig 2, libevdev, mtdev, udev, libwacom 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, autoconf, automake 7}: 8 9assert documentationSupport -> doxygen != null && graphviz != null; 10assert eventGUISupport -> cairo != null && glib != null && gtk3 != null; 11assert testsSupport -> check != null && valgrind != null; 12 13let 14 mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}"; 15in 16 17with stdenv.lib; 18stdenv.mkDerivation rec { 19 name = "libinput-1.3.3"; 20 21 src = fetchurl { 22 url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz"; 23 sha256 = "1kmiv1mcrxniigdcs65w23897mczsx0hasxc6p13hjk58zzfvj1h"; 24 }; 25 26 outputs = [ "out" "dev" ]; 27 28 configureFlags = [ 29 (mkFlag documentationSupport "documentation") 30 (mkFlag eventGUISupport "event-gui") 31 (mkFlag testsSupport "tests") 32 ]; 33 34 nativeBuildInputs = [ pkgconfig ]; 35 36 buildInputs = [ libevdev mtdev libwacom autoconf automake ] 37 ++ optionals eventGUISupport [ cairo glib gtk3 ] 38 ++ optionals documentationSupport [ doxygen graphviz ] 39 ++ optionals testsSupport [ check valgrind ]; 40 41 propagatedBuildInputs = [ udev ]; 42 43 patches = [ ./udev-absolute-path.patch ]; 44 patchFlags = [ "-p0" ]; 45 46 meta = { 47 description = "Handles input devices in Wayland compositors and provides a generic X.Org input driver"; 48 homepage = http://www.freedesktop.org/wiki/Software/libinput; 49 license = licenses.mit; 50 platforms = platforms.unix; 51 maintainers = with maintainers; [ codyopel wkennington ]; 52 }; 53}