summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/os-specific/linux/hal/default.nix39
-rw-r--r--pkgs/os-specific/linux/libvolume_id/default.nix20
-rw-r--r--pkgs/os-specific/linux/usbutils/default.nix16
-rw-r--r--pkgs/top-level/all-packages.nix11
4 files changed, 83 insertions, 3 deletions
diff --git a/pkgs/os-specific/linux/hal/default.nix b/pkgs/os-specific/linux/hal/default.nix
new file mode 100644
index 00000000000..8bc74148037
--- /dev/null
+++ b/pkgs/os-specific/linux/hal/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, pkgconfig, python, pciutils, usbutils, expat
+, libusb, dbus, dbus_glib, glib, libvolume_id, perl, perlXMLParser
+, gettext
+}:
+
+stdenv.mkDerivation {
+  name = "hal-0.5.9";
+  
+  src = fetchurl {
+    url = http://people.freedesktop.org/~david/dist/hal-0.5.9.tar.gz;
+    sha256 = "178cm30kshwvs0kf5d3l9cn4hyhfv5h6c6q0qnl0jxhynvpgin35";
+  };
+  
+  buildInputs = [
+    pkgconfig python pciutils expat libusb dbus dbus_glib glib
+    libvolume_id perl perlXMLParser gettext
+  ];
+
+  # !!! 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/pci.ids
+    --with-usb-ids=${usbutils}/share/usb.ids
+    --disable-docbook-docs
+    --disable-gtk-doc
+    --localstatedir=/var
+  ";
+
+  /*
+  preInstall = "
+    installFlagsArray=(DESTDIR=$out/destdir)
+  ";
+  
+  postInstall = "
+    mv $out/destdir/$out/* $out
+    rm -rf $out/destdir
+  ";
+  */
+}
diff --git a/pkgs/os-specific/linux/libvolume_id/default.nix b/pkgs/os-specific/linux/libvolume_id/default.nix
new file mode 100644
index 00000000000..91de928994a
--- /dev/null
+++ b/pkgs/os-specific/linux/libvolume_id/default.nix
@@ -0,0 +1,20 @@
+{stdenv, fetchurl}:
+   
+stdenv.mkDerivation {
+  name = "libvolume_id-0.75.0";
+   
+  src = fetchurl {
+    url = http://www.marcuscom.com/downloads/libvolume_id-0.75.0.tar.bz2;
+    sha256 = "1n1ji2jz45ncvyv529nz8xwcz058z9z98970v9h2wwwg8ra2a1sl";
+  };
+
+  preBuild = "
+    makeFlagsArray=(prefix=$out E=echo RANLIB=ranlib INSTALL='install -c')
+  ";
+
+  # Work around a broken Makefile.
+  postInstall = "
+    rm $out/lib/libvolume_id.so.0
+    cp -f libvolume_id.so.0 $out/lib/
+  ";
+}
diff --git a/pkgs/os-specific/linux/usbutils/default.nix b/pkgs/os-specific/linux/usbutils/default.nix
index ef6559a8001..c314366ba95 100644
--- a/pkgs/os-specific/linux/usbutils/default.nix
+++ b/pkgs/os-specific/linux/usbutils/default.nix
@@ -1,10 +1,20 @@
 {stdenv, fetchurl, libusb}:
 
+let
+
+  usbids = fetchurl {
+    url = http://nix.cs.uu.nl/dist/tarballs/usb.ids.20061212.bz2;
+    sha256 = "112l4fzjn5p3y6fv3x10vbrd36n2v5n04s7pjdlkb2yqv4crp84m";
+  };
+
+in
+
 stdenv.mkDerivation {
-  name = "usbutils-0.71";
+  name = "usbutils-0.72";
   src = fetchurl {
-    url = http://nix.cs.uu.nl/dist/tarballs/usbutils-0.71.tar.gz;
-    md5 = "479d7c7098ef44cc95e7978fd71c712c";
+    url = http://heanet.dl.sourceforge.net/sourceforge/linux-usb/usbutils-0.72.tar.gz;
+    sha256 = "08s4g4sz7p3a1afvphxd7h5bbfywvp0j611y85wbhwr14i9m6f00";
   };
   buildInputs = [libusb];
+  preBuild = "bunzip2 < ${usbids} > usb.ids";
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b8e04d55499..e71c2f49c7c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2230,6 +2230,13 @@ rec {
     inherit fetchurl stdenv;
   };
 
+  hal = import ../os-specific/linux/hal {
+    inherit fetchurl stdenv pkgconfig python pciutils usbutils expat
+      libusb dbus dbus_glib libvolume_id perl perlXMLParser
+      gettext;
+    inherit (gtkLibs) glib;
+  };
+
   hdparm = import ../os-specific/linux/hdparm {
     inherit fetchurl stdenv;
   };
@@ -2373,6 +2380,10 @@ rec {
     inherit fetchurl stdenv;
   };
 
+  libvolume_id = import ../os-specific/linux/libvolume_id {
+    inherit fetchurl stdenv;
+  };
+
   lvm2 = import ../os-specific/linux/lvm2 {
     inherit fetchurl stdenv devicemapper;
   };