Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / misc / swaynotificationcenter / default.nix
blob065ed941c386b9b3bd2fa525089db63cb5c5628e
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , testers
5 , wrapGAppsHook
6 , bash-completion
7 , dbus
8 , dbus-glib
9 , fish
10 , gdk-pixbuf
11 , glib
12 , gobject-introspection
13 , gtk-layer-shell
14 , gtk3
15 , json-glib
16 , libgee
17 , libhandy
18 , libpulseaudio
19 , librsvg
20 , meson
21 , ninja
22 , pkg-config
23 , python3
24 , scdoc
25 , vala
26 , xvfb-run
29 stdenv.mkDerivation (finalAttrs: rec {
30   pname = "SwayNotificationCenter";
31   version = "0.9.0";
33   src = fetchFromGitHub {
34     owner = "ErikReider";
35     repo = pname;
36     rev = "v${version}";
37     hash = "sha256-mwwSTs4d9jUXUy33nSYJCRFlpH6naCmbRUSpfVacMBE=";
38   };
40   patches = [
41     ./001-backport-pr296.patch
42   ];
44   nativeBuildInputs = [
45     bash-completion
46     # cmake # currently conflicts with meson
47     fish
48     glib
49     gobject-introspection
50     meson
51     ninja
52     pkg-config
53     python3
54     scdoc
55     vala
56     wrapGAppsHook
57   ];
59   buildInputs = [
60     dbus
61     dbus-glib
62     gdk-pixbuf
63     glib
64     gtk-layer-shell
65     gtk3
66     json-glib
67     libgee
68     libhandy
69     libpulseaudio
70     librsvg
71     # systemd # ends with broken permission
72   ];
74   postPatch = ''
75     chmod +x build-aux/meson/postinstall.py
76     patchShebangs build-aux/meson/postinstall.py
78     substituteInPlace src/functions.vala --replace /usr/local/etc $out/etc
79   '';
81   passthru.tests.version = testers.testVersion {
82     package = finalAttrs.finalPackage;
83     command = "${xvfb-run}/bin/xvfb-run swaync --version";
84   };
86   meta = with lib; {
87     description = "Simple notification daemon with a GUI built for Sway";
88     homepage = "https://github.com/ErikReider/SwayNotificationCenter";
89     changelog = "https://github.com/ErikReider/SwayNotificationCenter/releases/tag/v${version}";
90     license = licenses.gpl3;
91     platforms = platforms.linux;
92     mainProgram = "swaync";
93     maintainers = with maintainers; [ berbiche pedrohlc ];
94   };