configure script prints out this ominous warning:
WARNING: PolicyKit is disabled. You need to manually edit the hal.conf
file to lock down the service. Failure to do so allows any
caller to make hald do work on their behalf which may be
a huge SECURITY HOLE. I repeat: YOU NEED TO EDIT THE FILE
hal.conf to match your distro/site to avoid NASTY SECURITY HOLES.
Note that HAL only builds with the old PolicyKit (it looks for
polkit.pc). Reverted ConsoleKit to the last version that used the
old PolicyKit for this reason.
svn path=/nixpkgs/trunk/; revision=17432
45 lines
1.4 KiB
Nix
45 lines
1.4 KiB
Nix
args: with args;
|
|
|
|
assert stdenv ? glibc;
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "hal-0.5.13";
|
|
|
|
src = fetchurl {
|
|
url = "http://hal.freedesktop.org/releases/${name}.tar.gz";
|
|
sha256 = "1by8z7vy1c1m3iyh57rlqx6rah5gj6kx3ba30s9305bnffij5kzb";
|
|
};
|
|
|
|
buildInputs = [
|
|
pkgconfig python pciutils expat libusb dbus.libs dbus_glib glib
|
|
libuuid perl perlXMLParser gettext zlib gperf
|
|
consolekit policykit
|
|
# !!! libsmbios is broken; it doesn't install headers.
|
|
];
|
|
|
|
# !!! Hm, maybe the pci/usb.ids location should be in /etc, so that
|
|
# we don't have to rebuild HAL when we update the PCI/USB IDs.
|
|
configureFlags = ''
|
|
--with-pci-ids=${pciutils}/share
|
|
--with-usb-ids=${usbutils}/share
|
|
--localstatedir=/var
|
|
--with-eject=${eject}/bin/eject
|
|
--with-linux-input-header=${stdenv.glibc}/include/linux/input.h
|
|
'';
|
|
|
|
propagatedBuildInputs = [libusb libsmbios];
|
|
|
|
preConfigure = ''
|
|
for i in hald/linux/probing/probe-smbios.c hald/linux/osspec.c \
|
|
hald/linux/coldplug.c hald/linux/blockdev.c \
|
|
tools/hal-storage-mount.c ./tools/hal-storage-shared.c
|
|
do
|
|
substituteInPlace $i \
|
|
--replace /usr/sbin/dmidecode ${dmidecode}/sbin/dmidecode \
|
|
--replace /sbin/udevadm ${udev}/sbin/udevadm \
|
|
--replace /bin/mount ${utillinuxng}/bin/mount \
|
|
--replace /bin/umount ${utillinuxng}/bin/umount
|
|
done
|
|
'';
|
|
}
|