Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 17.09 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-${version}"; 20 version = "1.7.3"; 21 22 src = fetchurl { 23 url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz"; 24 sha256 = "07fbzxddvhjcch43hdxb24sj7ri96zzpcjalvsicmw0i4wnn2v89"; 25 }; 26 27 outputs = [ "out" "dev" ]; 28 29 configureFlags = [ 30 (mkFlag documentationSupport "documentation") 31 (mkFlag eventGUISupport "event-gui") 32 (mkFlag testsSupport "tests") 33 ]; 34 35 nativeBuildInputs = [ pkgconfig ]; 36 37 buildInputs = [ libevdev mtdev libwacom autoconf automake ] 38 ++ optionals eventGUISupport [ cairo glib gtk3 ] 39 ++ optionals documentationSupport [ doxygen graphviz ] 40 ++ optionals testsSupport [ check valgrind ]; 41 42 propagatedBuildInputs = [ udev ]; 43 44 patches = [ ./udev-absolute-path.patch ]; 45 patchFlags = [ "-p0" ]; 46 47 meta = { 48 description = "Handles input devices in Wayland compositors and provides a generic X.Org input driver"; 49 homepage = http://www.freedesktop.org/wiki/Software/libinput; 50 license = licenses.mit; 51 platforms = platforms.unix; 52 maintainers = with maintainers; [ codyopel wkennington ]; 53 }; 54}