2010-07-21 14:02:12 +02:00
|
|
|
{ stdenv, fetchurl, gperf, pkgconfig, glib, acl
|
|
|
|
, libusb, usbutils, pciutils }:
|
2008-07-31 16:46:11 +02:00
|
|
|
|
2009-08-12 15:36:36 +02:00
|
|
|
assert stdenv ? glibc;
|
|
|
|
|
2009-08-11 23:00:42 +02:00
|
|
|
stdenv.mkDerivation rec {
|
2011-08-18 15:04:55 +02:00
|
|
|
name = "udev-173";
|
2008-02-04 14:04:16 +01:00
|
|
|
|
2008-07-06 22:56:58 +02:00
|
|
|
src = fetchurl {
|
2009-08-11 23:00:42 +02:00
|
|
|
url = "mirror://kernel/linux/utils/kernel/hotplug/${name}.tar.bz2";
|
2011-08-18 15:04:55 +02:00
|
|
|
sha256 = "1bxadi4bi11v8ipzj22wknv8hsb0wgdb99bx3w9w33rgl4aq78bh";
|
2005-08-19 16:11:05 +02:00
|
|
|
};
|
2008-07-06 22:56:58 +02:00
|
|
|
|
2010-07-21 14:02:12 +02:00
|
|
|
buildInputs = [ gperf pkgconfig glib acl libusb usbutils ];
|
2009-08-11 23:00:42 +02:00
|
|
|
|
2010-07-21 14:02:12 +02:00
|
|
|
configureFlags =
|
|
|
|
''
|
|
|
|
--with-pci-ids-path=${pciutils}/share/pci.ids
|
2011-08-18 15:04:55 +02:00
|
|
|
--enable-udev_acl --enable-edd
|
|
|
|
--disable-introspection --libexecdir=$(out)/lib/udev
|
2010-07-21 14:02:12 +02:00
|
|
|
--with-firmware-path=/root/test-firmware:/var/run/current-system/firmware
|
|
|
|
'';
|
2009-08-11 23:00:42 +02:00
|
|
|
|
2011-07-07 19:14:58 +02:00
|
|
|
# Workaround for the Linux kernel headers being too old.
|
|
|
|
NIX_CFLAGS_COMPILE = "-DBTN_TRIGGER_HAPPY=0x2c0";
|
2011-08-18 15:04:55 +02:00
|
|
|
|
2009-08-11 23:00:42 +02:00
|
|
|
postInstall =
|
2008-08-08 21:54:48 +02:00
|
|
|
''
|
2009-08-11 23:00:42 +02:00
|
|
|
# The path to rule_generator.functions in write_cd_rules and
|
|
|
|
# write_net_rules is broken. Also, don't store the mutable
|
|
|
|
# persistant rules in /etc/udev/rules.d but in
|
|
|
|
# /var/lib/udev/rules.d.
|
2011-08-18 15:04:55 +02:00
|
|
|
for i in $out/lib/udev/write_cd_rules $out/lib/udev/write_net_rules; do
|
2009-08-11 23:00:42 +02:00
|
|
|
substituteInPlace $i \
|
2011-08-18 15:04:55 +02:00
|
|
|
--replace /lib/udev $out/lib/udev \
|
2009-08-11 23:00:42 +02:00
|
|
|
--replace /etc/udev/rules.d /var/lib/udev/rules.d
|
|
|
|
done
|
2008-02-04 14:04:16 +01:00
|
|
|
|
2009-08-11 23:00:42 +02:00
|
|
|
# Don't set PATH to /bin:/sbin; won't work in NixOS.
|
2011-08-18 15:04:55 +02:00
|
|
|
sed -e '/PATH=/d' -i $out/lib/udev/rule_generator.functions
|
2009-08-17 02:35:18 +02:00
|
|
|
|
2011-08-18 15:04:55 +02:00
|
|
|
ln -sv $out/lib/ConsoleKit $out/etc/ConsoleKit
|
2011-02-11 14:30:39 +01:00
|
|
|
|
2011-08-18 15:04:55 +02:00
|
|
|
rm -frv $out/share/gtk-doc
|
2009-08-11 23:00:42 +02:00
|
|
|
'';
|
2011-08-18 15:04:55 +02:00
|
|
|
|
2011-10-27 17:13:26 +02:00
|
|
|
patches = [ ./custom-rules.patch ] ++
|
|
|
|
stdenv.lib.optional (stdenv.system == "armv5tel-linux") ./pre-accept4-kernel.patch;
|
2011-08-18 15:04:55 +02:00
|
|
|
|
2008-02-04 14:04:16 +01:00
|
|
|
meta = {
|
|
|
|
homepage = http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html;
|
|
|
|
description = "Udev manages the /dev filesystem";
|
|
|
|
};
|
2005-08-19 16:11:05 +02:00
|
|
|
}
|