Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / libmanette / default.nix
bloba9e18f4023207e5bf5b0e6518521f4703bd706c9
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
20 stdenv.mkDerivation rec {
21   pname = "libmanette";
22   version = "0.2.6";
24   outputs = [ "out" "dev" ] ++ lib.optional withIntrospection "devdoc";
26   src = fetchurl {
27     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
28     sha256 = "1b3bcdkk5xd5asq797cch9id8692grsjxrc1ss87vv11m1ck4rb3";
29   };
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   ];
46   buildInputs = [
47     glib
48     libevdev
49   ] ++ lib.optionals withIntrospection [
50     libgudev
51   ];
53   mesonFlags = [
54     (lib.mesonBool "doc" withIntrospection)
55     (lib.mesonEnable "gudev" withIntrospection)
56     (lib.mesonBool "introspection" withIntrospection)
57     (lib.mesonBool "vapi" withIntrospection)
58   ];
60   doCheck = true;
62   passthru = {
63     updateScript = gnome.updateScript {
64       packageName = pname;
65       versionPolicy = "odd-unstable";
66     };
67   };
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   };