about summary refs log tree commit diff
path: root/pkgs/os-specific
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-03-13 23:19:02 +0000
committerLudovic Courtès <ludo@gnu.org>2012-03-13 23:19:02 +0000
commit30c215a83a4d2c32f8b2e296cd876fcbb5a1340b (patch)
tree90dd4a34c9bd73d4aaad8b74c00e7f4fa283996c /pkgs/os-specific
parent4981d6d2e7fcd97b2478f8d69974a9e03361cc6d (diff)
GNU: Add unionfs.
svn path=/nixpkgs/trunk/; revision=33054
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r--pkgs/os-specific/gnu/default.nix4
-rw-r--r--pkgs/os-specific/gnu/unionfs/default.nix42
2 files changed, 46 insertions, 0 deletions
diff --git a/pkgs/os-specific/gnu/default.nix b/pkgs/os-specific/gnu/default.nix
index 326918dd55ef7..a16aeb1c06c88 100644
--- a/pkgs/os-specific/gnu/default.nix
+++ b/pkgs/os-specific/gnu/default.nix
@@ -91,4 +91,8 @@ rec {
     samba = samba_light;
     hurd = hurdCross;
   };
+
+  unionfs = callPackage ./unionfs {
+    hurd = hurdCross;
+  };
 }
diff --git a/pkgs/os-specific/gnu/unionfs/default.nix b/pkgs/os-specific/gnu/unionfs/default.nix
new file mode 100644
index 0000000000000..5b42e7fdf2bbf
--- /dev/null
+++ b/pkgs/os-specific/gnu/unionfs/default.nix
@@ -0,0 +1,42 @@
+{ fetchgit, stdenv, hurd, machHeaders, mig }:
+
+let
+  date = "20120313";
+  rev  = "64dfa4e12d93c13b676d1cd7d86f4f4004ebfafa";
+in
+stdenv.mkDerivation rec {
+  name = "unionfs-${date}";
+
+  src = fetchgit {
+    url = "git://git.sv.gnu.org/hurd/unionfs.git";
+    sha256 = "1c3d71112cb25f8f82719a16df936e43abcb1adb77af96c1bb100a8ad0889d65";
+    inherit rev;
+  };
+
+  patchPhase =
+    '' sed -i "Makefile" \
+           -e 's|gcc|i586-pc-gnu-gcc|g ;
+               s|-std=gnu99|-std=gnu99 -fgnu89-inline|g'
+    '';
+
+  makeFlags = [ "CC=i586-pc-gnu-gcc" ];
+  buildInputs = [ hurd machHeaders mig ];
+
+  installPhase =
+    '' mkdir -p "$out/hurd"
+       cp -v unionfs "$out/hurd"
+
+       mkdir -p "$out/share/doc/${name}"
+       cp -v [A-Z]* "$out/share/doc/${name}"
+    '';
+
+  meta = {
+    description = "Union file system translator for GNU/Hurd";
+
+    homepage = http://www.gnu.org/software/hurd/hurd/translator/unionfs.html;
+
+    license = "GPLv2+";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+  };
+}