{ stdenv, fetchurl, pkgconfig, glib, dbus, dbus_glib, dbus_tools, polkit , intltool, libxslt, docbook_xsl, udev, libusb1, pmutils , useSystemd ? true, systemd }: assert stdenv.isLinux; stdenv.mkDerivation rec { name = "upower-0.9.21"; src = fetchurl { url = "http://upower.freedesktop.org/releases/${name}.tar.xz"; sha256 = "1qmjvfdsm6fnmwmdz0mb8nc8i5fnvzz98j37w0ia7482f058xhhk"; }; buildInputs = [ dbus_glib polkit intltool libxslt docbook_xsl udev libusb1 ] ++ stdenv.lib.optional useSystemd systemd; nativeBuildInputs = [ pkgconfig ]; configureFlags = [ "--with-backend=linux" "--localstatedir=/var" ] ++ stdenv.lib.optional useSystemd [ "--enable-systemd" "--with-systemdsystemunitdir=$(out)/etc/systemd/system" "--with-systemdutildir=$(out)/lib/systemd/system-sleep" "--with-udevrulesdir=$(out)/lib/udev/rules.d" ]; preConfigure = '' substituteInPlace src/linux/up-backend.c \ --replace /usr/bin/pm- ${pmutils}/bin/pm- \ --replace /usr/sbin/pm- ${pmutils}/sbin/pm- substituteInPlace src/notify-upower.sh \ --replace /usr/bin/dbus-send ${dbus_tools}/bin/dbus-send ''; installFlags = "historydir=$(TMPDIR)/foo"; meta = { homepage = http://upower.freedesktop.org/; description = "A D-Bus service for power management"; platforms = stdenv.lib.platforms.linux; }; }