mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-25 23:23:07 +00:00
f83a83f964
In the process of making UPower.conf customizable (#73968), it came up that UPower doesn't load its config from /etc by default. The UPower derivation is modified to make it load its config from /etc at runtime, but still install the default config to its nix store path as before. The UPower module is modified to put the config in /etc.
72 lines
1.4 KiB
Nix
72 lines
1.4 KiB
Nix
{ stdenv
|
|
, fetchurl
|
|
, pkgconfig
|
|
, libxslt
|
|
, docbook_xsl
|
|
, udev
|
|
, libgudev
|
|
, libusb1
|
|
, glib
|
|
, gobject-introspection
|
|
, gettext
|
|
, systemd
|
|
, useIMobileDevice ? true
|
|
, libimobiledevice
|
|
}:
|
|
|
|
stdenv.mkDerivation {
|
|
pname = "upower";
|
|
version = "0.99.11";
|
|
|
|
outputs = [ "out" "dev" ];
|
|
|
|
src = fetchurl {
|
|
url = https://gitlab.freedesktop.org/upower/upower/uploads/93cfe7c8d66ed486001c4f3f55399b7a/upower-0.99.11.tar.xz;
|
|
sha256 = "1vxxvmz2cxb1qy6ibszaz5bskqdy9nd9fxspj9fv3gfmrjzzzdb4";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
docbook_xsl
|
|
gettext
|
|
gobject-introspection
|
|
libxslt
|
|
pkgconfig
|
|
];
|
|
|
|
buildInputs = [
|
|
libgudev
|
|
libusb1
|
|
udev
|
|
systemd
|
|
]
|
|
++ stdenv.lib.optional useIMobileDevice libimobiledevice
|
|
;
|
|
|
|
propagatedBuildInputs = [
|
|
glib
|
|
];
|
|
|
|
configureFlags = [
|
|
"--localstatedir=/var"
|
|
"--with-backend=linux"
|
|
"--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
|
|
"--with-systemdutildir=${placeholder "out"}/lib/systemd"
|
|
"--with-udevrulesdir=${placeholder "out"}/lib/udev/rules.d"
|
|
"--sysconfdir=/etc"
|
|
];
|
|
|
|
doCheck = false; # fails with "env: './linux/integration-test': No such file or directory"
|
|
|
|
installFlags = [
|
|
"historydir=$(TMPDIR)/foo"
|
|
"sysconfdir=${placeholder "out"}/etc"
|
|
];
|
|
|
|
meta = with stdenv.lib; {
|
|
homepage = https://upower.freedesktop.org/;
|
|
description = "A D-Bus service for power management";
|
|
platforms = platforms.linux;
|
|
license = licenses.gpl2Plus;
|
|
};
|
|
}
|