nixpkgs/pkgs/os-specific/linux/udev/default.nix
Eelco Dolstra 1fcc348a01 * Disable scsi_id on udev/klibc for now, as it doesn't compile on
Linux 2.6.26.

svn path=/nixpkgs/trunk/; revision=12578
2008-08-11 09:38:22 +00:00

38 lines
1.3 KiB
Nix

{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "udev-125";
src = fetchurl {
url = mirror://kernel/linux/utils/kernel/hotplug/udev-125.tar.bz2;
sha256 = "1w75c6vaqw8587djd8g380h1jrbj7fx9441bvvy4gj9jz21r00ks";
};
# "DESTDIR=/" is a hack to prevent "make install" from trying to
# mess with /dev.
preBuild =
''
makeFlagsArray=(prefix=$out usrbindir=$out/bin usrsbindir=$out/sbin usrlibdir=$out/lib \
mandir=$out/share/man includedir=$out/include \
EXTRAS="extras/volume_id extras/ata_id extras/edd_id extras/floppy extras/path_id ${if stdenv ? isKlibc then "" else "extras/scsi_id"} extras/usb_id ${if stdenv ? isKlibc then "" else "extras/cdrom_id"}"
INSTALL='install -c' DESTDIR=/ \
${if stdenv ? isStatic then "USE_STATIC=true SHLIB= VOLUME_ID_STATIC=true" else ""})
substituteInPlace udev_rules.c --replace /lib/udev $out/lib/udev
''
+ (if stdenv ? isStatic then
''
# `make install' would cause the shared library to be installed, which we don't build.
substituteInPlace extras/volume_id/lib/Makefile --replace 'install:' 'disabled:'
'' else "");
preInstall = ''
installFlagsArray=(udevdir=$TMPDIR/dummy)
'';
meta = {
homepage = http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html;
description = "Udev manages the /dev filesystem";
};
}