at 24.05-pre 76 lines 1.8 kB view raw
1{ lib, stdenv 2, fetchurl 3, ninja 4, meson 5, mesonEmulatorHook 6, pkg-config 7, vala 8, gobject-introspection 9, buildPackages 10, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages 11, gtk-doc 12, docbook-xsl-nons 13, docbook_xml_dtd_43 14, glib 15, libgudev 16, libevdev 17, gnome 18}: 19 20stdenv.mkDerivation rec { 21 pname = "libmanette"; 22 version = "0.2.6"; 23 24 outputs = [ "out" "dev" ] ++ lib.optional withIntrospection "devdoc"; 25 26 src = fetchurl { 27 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 28 sha256 = "1b3bcdkk5xd5asq797cch9id8692grsjxrc1ss87vv11m1ck4rb3"; 29 }; 30 31 nativeBuildInputs = [ 32 meson 33 ninja 34 pkg-config 35 glib 36 ] ++ lib.optionals withIntrospection [ 37 vala 38 gobject-introspection 39 gtk-doc 40 docbook-xsl-nons 41 docbook_xml_dtd_43 42 ] ++ lib.optionals (withIntrospection && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ 43 mesonEmulatorHook 44 ]; 45 46 buildInputs = [ 47 glib 48 libevdev 49 ] ++ lib.optionals withIntrospection [ 50 libgudev 51 ]; 52 53 mesonFlags = [ 54 (lib.mesonBool "doc" withIntrospection) 55 (lib.mesonEnable "gudev" withIntrospection) 56 (lib.mesonBool "introspection" withIntrospection) 57 (lib.mesonBool "vapi" withIntrospection) 58 ]; 59 60 doCheck = true; 61 62 passthru = { 63 updateScript = gnome.updateScript { 64 packageName = pname; 65 versionPolicy = "odd-unstable"; 66 }; 67 }; 68 69 meta = with lib; { 70 description = "A simple GObject game controller library"; 71 homepage = "https://gnome.pages.gitlab.gnome.org/libmanette/"; 72 license = licenses.lgpl21Plus; 73 maintainers = teams.gnome.members; 74 platforms = platforms.unix; 75 }; 76}