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