btrbk: add mainProgram (#356350)
[NixPkgs.git] / pkgs / by-name / li / libmanette / package.nix
blob594ba202a6e1cccfb7ee82ba9b27106ffeffdf3d
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.9";
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     hash = "sha256-KTZr5UUvYKdMZfxk/+LXTt3U5uaCTCzvpWekO9kraI8=";
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 = "Simple GObject game controller library";
71     mainProgram = "manette-test";
72     homepage = "https://gnome.pages.gitlab.gnome.org/libmanette/";
73     license = licenses.lgpl21Plus;
74     maintainers = teams.gnome.members;
75     platforms = platforms.unix;
76   };