frigate: fix event preview (#372427)
[NixPkgs.git] / pkgs / by-name / dc / dconf / package.nix
blobe98add24382e20ce3f2cbc96378de5fdbc20e365
2   lib,
3   stdenv,
4   fetchurl,
5   meson,
6   mesonEmulatorHook,
7   ninja,
8   python3,
9   vala,
10   libxslt,
11   pkg-config,
12   glib,
13   bash-completion,
14   dbus,
15   gnome,
16   gtk-doc,
17   docbook-xsl-nons,
18   docbook_xml_dtd_42,
19   nixosTests,
20   buildPackages,
21   gobject-introspection,
22   withIntrospection ?
23     lib.meta.availableOn stdenv.hostPlatform gobject-introspection
24     && stdenv.hostPlatform.emulatorAvailable buildPackages,
25   withDocs ? withIntrospection,
28 stdenv.mkDerivation rec {
29   pname = "dconf";
30   version = "0.40.0";
32   outputs = [
33     "out"
34     "lib"
35     "dev"
36   ] ++ lib.optional withDocs "devdoc";
38   src = fetchurl {
39     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
40     sha256 = "0cs5nayg080y8pb9b7qccm1ni8wkicdmqp1jsgc22110r6j24zyg";
41   };
43   nativeBuildInputs =
44     [
45       meson
46       ninja
47       pkg-config
48       python3
49       libxslt
50       glib
51       docbook-xsl-nons
52       docbook_xml_dtd_42
53       gtk-doc
54     ]
55     ++ lib.optionals (withDocs && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
56       mesonEmulatorHook # gtkdoc invokes the host binary to produce documentation
57     ];
59   buildInputs =
60     [
61       glib
62       bash-completion
63       dbus
64     ]
65     ++ lib.optionals withIntrospection [
66       vala
67     ];
69   mesonFlags = [
70     "--sysconfdir=/etc"
71     (lib.mesonBool "gtk_doc" withDocs)
72     (lib.mesonBool "vapi" withIntrospection)
73   ];
75   nativeCheckInputs = [
76     dbus # for dbus-daemon
77   ];
79   doCheck =
80     !stdenv.hostPlatform.isAarch32 && !stdenv.hostPlatform.isAarch64 && !stdenv.hostPlatform.isDarwin;
82   postPatch = ''
83     chmod +x meson_post_install.py tests/test-dconf.py
84     patchShebangs meson_post_install.py
85     patchShebangs tests/test-dconf.py
86   '';
88   passthru = {
89     updateScript = gnome.updateScript {
90       packageName = pname;
91       versionPolicy = "odd-unstable";
92     };
93     tests = { inherit (nixosTests) dconf; };
94   };
96   meta = with lib; {
97     homepage = "https://gitlab.gnome.org/GNOME/dconf";
98     license = licenses.lgpl21Plus;
99     platforms = platforms.unix;
100     maintainers = teams.gnome.members;
101     mainProgram = "dconf";
102   };