diff options
Diffstat (limited to 'pkgs/os-specific/linux/udisks/default.nix')
-rw-r--r-- | pkgs/os-specific/linux/udisks/default.nix | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/udisks/default.nix b/pkgs/os-specific/linux/udisks/default.nix new file mode 100644 index 000000000000..17482f698999 --- /dev/null +++ b/pkgs/os-specific/linux/udisks/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, pkgconfig, sg3_utils, udev, glib, dbus, dbus_glib +, polkit, parted, lvm2, libatasmart, intltool, libuuid, mdadm +, libxslt, docbook_xsl, utillinux, automake, autoconf }: + +stdenv.mkDerivation rec { + name = "udisks-1.0.3"; + + src = fetchurl { + url = "http://hal.freedesktop.org/releases/${name}.tar.gz"; + sha256 = "0jwavs2ag0cv46517j17943s16a8fw2lqk4k3cljgivh5aswwnyr"; + }; + + # Move 80-udisks.rules manually to make the patch smaller + prePatch = "mv -v data/80-udisks.rules{,.in}"; + + # Not written a patch that can be accepted upstream yet + postPatch = "sed -e 's@/sbin/mdadm@${mdadm}&@' -i data/80-udisks.rules.in"; + + patches = [ ./purity.patch ]; + + + buildInputs = + [ sg3_utils udev glib dbus dbus_glib polkit parted + lvm2 libatasmart intltool libuuid libxslt docbook_xsl + ]; + + buildNativeInputs = [ automake autoconf pkgconfig ]; + + configureFlags = "--localstatedir=/var"; + + preConfigure = + '' + # Ensure that udisks can find the necessary programs. + substituteInPlace src/main.c --replace \ + "/sbin:/bin:/usr/sbin:/usr/bin" \ + "${utillinux}/bin:${mdadm}/sbin:/var/run/current-system/sw/bin:/var/run/current-system/sw/sbin" + + automake + ''; + + meta = { + homepage = http://www.freedesktop.org/wiki/Software/udisks; + description = "A daemon and command-line utility for querying and manipulating storage devices"; + platforms = stdenv.lib.platforms.linux; + }; +} |