diff options
Diffstat (limited to 'pkgs/os-specific/linux/udisks')
-rw-r--r-- | pkgs/os-specific/linux/udisks/1-default.nix (renamed from pkgs/os-specific/linux/udisks/default.nix) | 0 | ||||
-rw-r--r-- | pkgs/os-specific/linux/udisks/2-default.nix | 42 | ||||
-rw-r--r-- | pkgs/os-specific/linux/udisks/force-path.patch | 13 |
3 files changed, 55 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/udisks/default.nix b/pkgs/os-specific/linux/udisks/1-default.nix index b53af52755fa..b53af52755fa 100644 --- a/pkgs/os-specific/linux/udisks/default.nix +++ b/pkgs/os-specific/linux/udisks/1-default.nix diff --git a/pkgs/os-specific/linux/udisks/2-default.nix b/pkgs/os-specific/linux/udisks/2-default.nix new file mode 100644 index 000000000000..28cdbe189783 --- /dev/null +++ b/pkgs/os-specific/linux/udisks/2-default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchurl, pkgconfig, intltool +, expat, acl, udev, glib, libatasmart, polkit +, libxslt, docbook_xsl, utillinux, mdadm +}: + +stdenv.mkDerivation rec { + name = "udisks-2.1.0"; + + src = fetchurl { + url = "http://udisks.freedesktop.org/releases/${name}.tar.bz2"; + sha256 = "1a0mipihilscv9jwy59xrqn2kkri9p12a09anpjdld83l7jhh0ii"; + }; + + patches = [ ./force-path.patch ]; + + # FIXME remove /var/run/current-system/sw/* references + # FIXME add references to parted, cryptsetup, etc (see the sources) + postPatch = + '' + substituteInPlace src/main.c --replace \ + "@path@" \ + "${utillinux}/bin:${mdadm}/sbin:/var/run/current-system/sw/bin:/var/run/current-system/sw/sbin" + ''; + + nativeBuildInputs = [ pkgconfig intltool ]; + + propagatedBuildInputs = [ expat acl udev glib libatasmart polkit ]; # in closure anyway + + buildInputs = [ libxslt docbook_xsl ]; + + configureFlags = [ + "--localstatedir=/var" + "--with-systemdsystemunitdir=$(out)/etc/systemd/systemd" + "--with-udevdir=$(out)/lib/udev" + ]; + + 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; + }; +} diff --git a/pkgs/os-specific/linux/udisks/force-path.patch b/pkgs/os-specific/linux/udisks/force-path.patch new file mode 100644 index 000000000000..16c7ea5322fa --- /dev/null +++ b/pkgs/os-specific/linux/udisks/force-path.patch @@ -0,0 +1,13 @@ +diff -ruN udisks-2.1.0.orig/src/main.c udisks-2.1.0/src/main.c +--- udisks-2.1.0.orig/src/main.c 2013-04-02 10:43:41.629332135 +0000 ++++ udisks-2.1.0/src/main.c 2013-04-02 11:04:55.635342823 +0000 +@@ -140,8 +140,7 @@ + } + } + +- if (g_getenv ("PATH") == NULL) +- g_setenv ("PATH", "/usr/bin:/bin:/usr/sbin:/sbin", TRUE); ++ g_setenv ("PATH", "@path@", TRUE); + + udisks_notice ("udisks daemon version %s starting", PACKAGE_VERSION); + |