diff options
Diffstat (limited to 'nixpkgs/pkgs/by-name/du')
-rw-r--r-- | nixpkgs/pkgs/by-name/du/dunst/package.nix | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/by-name/du/dunst/package.nix b/nixpkgs/pkgs/by-name/du/dunst/package.nix new file mode 100644 index 000000000000..f89bcd196ab3 --- /dev/null +++ b/nixpkgs/pkgs/by-name/du/dunst/package.nix @@ -0,0 +1,62 @@ +{ 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.mkDerivation (finalAttrs: { + pname = "dunst"; + version = "1.10.0"; + + src = fetchFromGitHub { + owner = "dunst-project"; + repo = "dunst"; + rev = "v${finalAttrs.version}"; + hash = "sha256-6smFUdWqOuYB0btsDgHtIpDBfHhkpIQfjyZ8wtRg1bQ="; + }; + + nativeBuildInputs = [ perl pkg-config which systemd makeWrapper ]; + + buildInputs = [ + cairo dbus gdk-pixbuf glib libX11 libXScrnSaver + libXinerama libnotify pango xorgproto librsvg libXrandr + wayland wayland-protocols + ]; + + outputs = [ "out" "man" ]; + + makeFlags = [ + "PREFIX=$(out)" + "VERSION=$(version)" + "SYSCONFDIR=$(out)/etc" + "SERVICEDIR_DBUS=$(out)/share/dbus-1/services" + "SERVICEDIR_SYSTEMD=$(out)/lib/systemd/user" + ]; + + postInstall = '' + wrapProgram $out/bin/dunst \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" + + 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" + ''; + + passthru.tests.version = testers.testVersion { package = dunst; }; + + meta = with lib; { + description = "Lightweight and customizable notification daemon"; + homepage = "https://dunst-project.org/"; + license = licenses.bsd3; + # NOTE: 'unix' or even 'all' COULD work too, I'm not sure + platforms = platforms.linux; + maintainers = with maintainers; [ domenkozar ]; + mainProgram = "dunst"; + }; +}) |