about summary refs log tree commit diff
path: root/pkgs/by-name/du/dunst/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/du/dunst/package.nix')
-rw-r--r--pkgs/by-name/du/dunst/package.nix77
1 files changed, 59 insertions, 18 deletions
diff --git a/pkgs/by-name/du/dunst/package.nix b/pkgs/by-name/du/dunst/package.nix
index f89bcd196ab3d..f01f65c862831 100644
--- a/pkgs/by-name/du/dunst/package.nix
+++ b/pkgs/by-name/du/dunst/package.nix
@@ -1,28 +1,69 @@
-{ stdenv, lib, fetchFromGitHub, makeWrapper
-, pkg-config, which, perl, jq, libXrandr, coreutils
-, cairo, dbus, systemd, gdk-pixbuf, glib, libX11, libXScrnSaver
-, wayland, wayland-protocols
-, libXinerama, libnotify, pango, xorgproto, librsvg
-, testers, dunst
+{ stdenv
+, lib
+, fetchFromGitHub
+, makeWrapper
+, pkg-config
+, which
+, perl
+, jq
+, libXrandr
+, coreutils
+, cairo
+, dbus
+, systemd
+, gdk-pixbuf
+, glib
+, libX11
+, libXScrnSaver
+, wayland
+, wayland-protocols
+, libXinerama
+, libnotify
+, pango
+, xorgproto
+, librsvg
+, testers
+, dunst
+, withX11 ? true
+, withWayland ? true
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "dunst";
-  version = "1.10.0";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "dunst-project";
     repo = "dunst";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-6smFUdWqOuYB0btsDgHtIpDBfHhkpIQfjyZ8wtRg1bQ=";
+    hash = "sha256-eiFvvavXGNcHZnEGwlTLxRqFNdkvEZMwNIkVyDn1V6o=";
   };
 
-  nativeBuildInputs = [ perl pkg-config which systemd makeWrapper ];
+  nativeBuildInputs = [
+    perl
+    pkg-config
+    which
+    systemd
+    makeWrapper
+  ];
 
   buildInputs = [
-    cairo dbus gdk-pixbuf glib libX11 libXScrnSaver
-    libXinerama libnotify pango xorgproto librsvg libXrandr
-    wayland wayland-protocols
+    cairo
+    dbus
+    gdk-pixbuf
+    glib
+    libnotify
+    pango
+    librsvg
+  ] ++ lib.optionals withX11 [
+    libX11
+    libXScrnSaver
+    libXinerama
+    xorgproto
+    libXrandr
+  ] ++ lib.optionals withWayland [
+    wayland
+    wayland-protocols
   ];
 
   outputs = [ "out" "man" ];
@@ -33,7 +74,9 @@ stdenv.mkDerivation (finalAttrs: {
     "SYSCONFDIR=$(out)/etc"
     "SERVICEDIR_DBUS=$(out)/share/dbus-1/services"
     "SERVICEDIR_SYSTEMD=$(out)/lib/systemd/user"
-  ];
+  ]
+  ++ lib.optional (!withX11) "X11=0"
+  ++ lib.optional (!withWayland) "WAYLAND=0";
 
   postInstall = ''
     wrapProgram $out/bin/dunst \
@@ -42,10 +85,8 @@ stdenv.mkDerivation (finalAttrs: {
     wrapProgram $out/bin/dunstctl \
       --prefix PATH : "${lib.makeBinPath [ coreutils dbus ]}"
 
-    install -D contrib/_dunst.zshcomp $out/share/zsh/site-functions/_dunst
-    install -D contrib/_dunstctl.zshcomp $out/share/zsh/site-functions/_dunstctl
-    substituteInPlace $out/share/zsh/site-functions/_dunstctl \
-      --replace "jq -M" "${jq}/bin/jq -M"
+    substituteInPlace $out/share/zsh/site-functions/_dunstctl $out/share/fish/vendor_completions.d/{dunstctl,dunstify} \
+      --replace-fail "jq" "${lib.getExe jq}"
   '';
 
   passthru.tests.version = testers.testVersion { package = dunst; };
@@ -56,7 +97,7 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.bsd3;
     # NOTE: 'unix' or even 'all' COULD work too, I'm not sure
     platforms = platforms.linux;
-    maintainers = with maintainers; [ domenkozar ];
+    maintainers = with maintainers; [ domenkozar gepbird ];
     mainProgram = "dunst";
   };
 })