1{ lib, stdenv
2, fetchurl
3, meson
4, ninja
5, pkg-config
6, libxslt
7, docbook-xsl-ns
8, glib
9, gdk-pixbuf
10, gnome
11, buildPackages
12, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages
13, gobject-introspection
14}:
15
16stdenv.mkDerivation rec {
17 pname = "libnotify";
18 version = "0.8.3";
19
20 outputs = [ "out" "man" "dev" ];
21
22 src = fetchurl {
23 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
24 hash = "sha256-7o8++UYVatNAb99F/u29zZMtvSEatPFvdeuk82+y9sA=";
25 };
26
27 mesonFlags = [
28 # disable tests as we don't need to depend on GTK (2/3)
29 "-Dtests=false"
30 "-Ddocbook_docs=disabled"
31 "-Dgtk_doc=false"
32 "-Dintrospection=${if withIntrospection then "enabled" else "disabled"}"
33 ];
34
35 strictDeps = true;
36
37 nativeBuildInputs = [
38 meson
39 ninja
40 pkg-config
41 libxslt
42 docbook-xsl-ns
43 glib # for glib-mkenums needed during the build
44 ] ++ lib.optionals withIntrospection [
45 gobject-introspection
46 ];
47
48 propagatedBuildInputs = [
49 gdk-pixbuf
50 glib
51 ];
52
53 passthru = {
54 updateScript = gnome.updateScript {
55 packageName = pname;
56 versionPolicy = "none";
57 };
58 };
59
60 meta = with lib; {
61 description = "A library that sends desktop notifications to a notification daemon";
62 homepage = "https://gitlab.gnome.org/GNOME/libnotify";
63 license = licenses.lgpl21;
64 maintainers = teams.gnome.members;
65 mainProgram = "notify-send";
66 platforms = platforms.unix;
67 };
68}