summary refs log tree commit diff
path: root/pkgs/os-specific/linux/udev
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2008-08-08 19:54:48 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2008-08-08 19:54:48 +0000
commit537fa9185ab15382e4929724286c32a4b65950d3 (patch)
tree4f6cb9c09e2c559ba64e09d1bbb2fc89eeed2b41 /pkgs/os-specific/linux/udev
parenta9d19f45db93c154669a1def320101b0ac79b9d3 (diff)
downloadnixpkgs-537fa9185ab15382e4929724286c32a4b65950d3.tar
nixpkgs-537fa9185ab15382e4929724286c32a4b65950d3.tar.gz
nixpkgs-537fa9185ab15382e4929724286c32a4b65950d3.tar.bz2
nixpkgs-537fa9185ab15382e4929724286c32a4b65950d3.tar.lz
nixpkgs-537fa9185ab15382e4929724286c32a4b65950d3.tar.xz
nixpkgs-537fa9185ab15382e4929724286c32a4b65950d3.tar.zst
nixpkgs-537fa9185ab15382e4929724286c32a4b65950d3.zip
* Some awful hackery to get volume_id to build with klibc. We'll need
  it for mounting by label in the initrd.

svn path=/nixpkgs/trunk/; revision=12558
Diffstat (limited to 'pkgs/os-specific/linux/udev')
-rw-r--r--pkgs/os-specific/linux/udev/default.nix22
1 files changed, 15 insertions, 7 deletions
diff --git a/pkgs/os-specific/linux/udev/default.nix b/pkgs/os-specific/linux/udev/default.nix
index ccdb60f6c55..a36883cc36c 100644
--- a/pkgs/os-specific/linux/udev/default.nix
+++ b/pkgs/os-specific/linux/udev/default.nix
@@ -10,14 +10,22 @@ stdenv.mkDerivation {
 
   # "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/ata_id extras/edd_id extras/floppy extras/path_id extras/scsi_id extras/usb_id ${if stdenv ? isKlibc then "" else "extras/cdrom_id extras/volume_id"}"
-      INSTALL='install -c' DESTDIR=/)
+  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 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
-  '';
+      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)