make a wrapper so that dunst can find dbus-launch

Prior to this change, the following would fail
  nix-shell --pure -p dunst --command dunst
while this would succeed
  nix-shell --pure -p dunst -p dbus_daemon --command dunst

because dunst tries to execve 'dbus-launch'. The same issue hit if dunst
was used inside a (user) systemd service (which is what I actually care
about).
This commit is contained in:
Anders Papitto 2015-06-03 23:42:37 -07:00
parent b7dd802f6c
commit 43ef7e2925

View File

@ -1,6 +1,7 @@
{ stdenv, fetchurl, coreutils , unzip, which, pkgconfig , dbus { stdenv, fetchurl, coreutils, unzip, which, pkgconfig, dbus
, freetype, xdg_utils , libXext, glib, pango , cairo, libX11, libnotify , freetype, xdg_utils, libXext, glib, pango, cairo, libX11, libnotify
, libxdg_basedir , libXScrnSaver, xproto, libXinerama , perl, gdk_pixbuf , libxdg_basedir, libXScrnSaver, xproto, libXinerama, perl, gdk_pixbuf
, dbus_daemon, makeWrapper
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -15,7 +16,7 @@ stdenv.mkDerivation rec {
buildInputs = buildInputs =
[ coreutils unzip which pkgconfig dbus freetype libnotify gdk_pixbuf [ coreutils unzip which pkgconfig dbus freetype libnotify gdk_pixbuf
xdg_utils libXext glib pango cairo libX11 libxdg_basedir xdg_utils libXext glib pango cairo libX11 libxdg_basedir
libXScrnSaver xproto libXinerama perl]; libXScrnSaver xproto libXinerama perl dbus_daemon makeWrapper ];
buildPhase = '' buildPhase = ''
export VERSION=${version}; export VERSION=${version};
@ -23,6 +24,11 @@ stdenv.mkDerivation rec {
make dunst; make dunst;
''; '';
postFixup = ''
wrapProgram "$out/bin/dunst" \
--prefix PATH : '${dbus_daemon}/bin'
'';
meta = { meta = {
description = "lightweight and customizable notification daemon"; description = "lightweight and customizable notification daemon";
homepage = http://www.knopwob.org/dunst/; homepage = http://www.knopwob.org/dunst/;