summary refs log tree commit diff
path: root/pkgs/tools/filesystems
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/filesystems')
-rw-r--r--pkgs/tools/filesystems/ceph/0.80.nix16
-rw-r--r--pkgs/tools/filesystems/ceph/0.94.nix13
l---------[-rw-r--r--]pkgs/tools/filesystems/ceph/default.nix62
l---------pkgs/tools/filesystems/ceph/dev.nix1
-rw-r--r--pkgs/tools/filesystems/ceph/fix-pgrefdebugging.patch17
-rw-r--r--pkgs/tools/filesystems/ceph/generic.nix207
-rw-r--r--pkgs/tools/filesystems/ceph/git.nix11
-rw-r--r--pkgs/tools/filesystems/duff/default.nix2
-rw-r--r--pkgs/tools/filesystems/mp3fs/default.nix4
-rw-r--r--pkgs/tools/filesystems/mp3fs/fix-statfs-operation.patch39
-rw-r--r--pkgs/tools/filesystems/ntfs-3g/default.nix19
-rw-r--r--pkgs/tools/filesystems/reiser4progs/default.nix14
-rw-r--r--pkgs/tools/filesystems/reiserfsprogs/default.nix14
-rw-r--r--pkgs/tools/filesystems/unionfs-fuse/default.nix7
-rw-r--r--pkgs/tools/filesystems/zfstools/default.nix14
15 files changed, 347 insertions, 93 deletions
diff --git a/pkgs/tools/filesystems/ceph/0.80.nix b/pkgs/tools/filesystems/ceph/0.80.nix
new file mode 100644
index 00000000000..2faf30f570c
--- /dev/null
+++ b/pkgs/tools/filesystems/ceph/0.80.nix
@@ -0,0 +1,16 @@
+{ callPackage, fetchgit, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "0.80.9";
+
+  src = fetchgit {
+    url = "git://github.com/ceph/ceph.git";
+    rev = "refs/tags/v${version}";
+    sha256 = "0c1hwl2jzghvbrnddwbp748b02jqznvigwriqx447iz2xyrz2w8q";
+  };
+
+  patches = [
+    ./0001-Cleanup-boost-optionals.patch
+    ./fix-pgrefdebugging.patch
+  ];
+})
diff --git a/pkgs/tools/filesystems/ceph/0.94.nix b/pkgs/tools/filesystems/ceph/0.94.nix
new file mode 100644
index 00000000000..a14259184a5
--- /dev/null
+++ b/pkgs/tools/filesystems/ceph/0.94.nix
@@ -0,0 +1,13 @@
+{ callPackage, fetchgit, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "0.94.1";
+
+  src = fetchgit {
+    url = "https://github.com/ceph/ceph.git";
+    rev = "refs/tags/v${version}";
+    sha256 = "0rrl10vda4xv22al2c5ccd8v8drs26186dvkrxndvqz8p9999cjx";
+  };
+
+  patches = [ ./fix-pgrefdebugging.patch ];
+})
diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix
index 6fd6993937e..31d5e95359c 100644..120000
--- a/pkgs/tools/filesystems/ceph/default.nix
+++ b/pkgs/tools/filesystems/ceph/default.nix
@@ -1,61 +1 @@
-{ stdenv, fetchgit, autoconf, automake, makeWrapper, pkgconfig, libtool, which
-, boost, btrfsProgs, cryptopp, curl, expat, fcgi, fuse, gperftools, keyutils
-, leveldb, libaio, libatomic_ops, libedit, libuuid, linuxHeaders, openssl
-, python, snappy, udev, xfsprogs, xz
-, zfs ? null
-}:
-
-with stdenv.lib;
-let
-  wrapArgs = "--prefix PYTHONPATH : \"$(toPythonPath $out)\""
-    + " --prefix PYTHONPATH : \"$(toPythonPath ${python.modules.readline})\""
-    + " --prefix PATH : \"$out/bin\""
-    + " --prefix LD_LIBRARY_PATH : \"$out/lib\"";
-in
-stdenv.mkDerivation rec {
-  name="ceph-${version}";
-  version="0.94";
-
-  src = fetchgit {
-    url = "git://github.com/ceph/ceph.git";
-    rev = "refs/tags/v${version}";
-    sha256 = "0xqfmfg34w8yngv2qg4kwbpv9xhc8rn9hzsrgpw68f5hrs3dfimz";
-  };
-
-  patches = [
-    ./0001-Makefile-env-Don-t-force-sbin.patch
-  ];
-
-  nativeBuildInputs = [ autoconf automake makeWrapper pkgconfig libtool which ];
-  buildInputs = [
-    boost btrfsProgs cryptopp curl expat fcgi fuse gperftools keyutils
-    libatomic_ops leveldb libaio libedit libuuid linuxHeaders openssl python
-    snappy udev xfsprogs xz zfs
-  ];
-
-  preConfigure = ''
-    ./autogen.sh
-  '';
-
-  configureFlags = [
-    "--exec_prefix=$(out)"
-  ] ++ optional (zfs != null) "--with-zfs=${zfs}";
-
-  postInstall = ''
-    wrapProgram $out/bin/ceph ${wrapArgs}
-    wrapProgram $out/bin/ceph-brag ${wrapArgs}
-    wrapProgram $out/bin/ceph-rest-api ${wrapArgs}
-    wrapProgram $out/sbin/ceph-create-keys ${wrapArgs}
-    wrapProgram $out/sbin/ceph-disk ${wrapArgs}
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = http://ceph.com/;
-    description = "Distributed storage system";
-    license = licenses.lgpl21;
-    maintainers = with maintainers; [ ak wkennington ];
-    platforms = with platforms; linux;
-  };
-}
+0.94.nix
\ No newline at end of file
diff --git a/pkgs/tools/filesystems/ceph/dev.nix b/pkgs/tools/filesystems/ceph/dev.nix
new file mode 120000
index 00000000000..31d5e95359c
--- /dev/null
+++ b/pkgs/tools/filesystems/ceph/dev.nix
@@ -0,0 +1 @@
+0.94.nix
\ No newline at end of file
diff --git a/pkgs/tools/filesystems/ceph/fix-pgrefdebugging.patch b/pkgs/tools/filesystems/ceph/fix-pgrefdebugging.patch
new file mode 100644
index 00000000000..4d13a0572d8
--- /dev/null
+++ b/pkgs/tools/filesystems/ceph/fix-pgrefdebugging.patch
@@ -0,0 +1,17 @@
+diff --git a/configure.ac b/configure.ac
+index 38ab682..febb58e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -541,8 +541,10 @@ fi
+ #set pg ref debugging?
+ AC_ARG_ENABLE([pgrefdebugging],
+ 	    [AS_HELP_STRING([--enable-pgrefdebugging], [enable pg ref debugging])],
+-			[AC_DEFINE([PG_DEBUG_REFS], [1], [Defined if you want pg ref debugging])],
+-			[])
++			[], [enable_pgrefdebugging=no])
++AS_IF([test "x$enable_pgrefdebugging" = "xyes"],
++	  [AC_DEFINE([PG_DEBUG_REFS], [1], [Defined if you want pg ref debugging])],
++	  [])
+ 
+ #
+ # Java is painful
diff --git a/pkgs/tools/filesystems/ceph/generic.nix b/pkgs/tools/filesystems/ceph/generic.nix
new file mode 100644
index 00000000000..825d14c9fb1
--- /dev/null
+++ b/pkgs/tools/filesystems/ceph/generic.nix
@@ -0,0 +1,207 @@
+{ stdenv, autoconf, automake, makeWrapper, pkgconfig, libtool, which
+, boost, python, pythonPackages, libxml2, git
+
+# Optional Dependencies
+, snappy ? null, leveldb ? null, yasm ? null, fcgi ? null, expat ? null
+, curl ? null, fuse ? null, accelio ? null, libibverbs ? null, librdmacm ? null
+, libedit ? null, libatomic_ops ? null, kinetic-cpp-client ? null
+, rocksdb ? null, libs3 ? null
+
+# Mallocs
+, jemalloc ? null, gperftools ? null
+
+# Crypto Dependencies
+, cryptopp ? null
+, nss ? null, nspr ? null
+
+# Linux Only Dependencies
+, linuxHeaders, libuuid, udev, keyutils, libaio ? null, libxfs ? null
+, zfs ? null
+
+# Version specific arguments
+, version, src, patches ? [], buildInputs ? []
+, ...
+}:
+
+# We must have one crypto library
+assert cryptopp != null || (nss != null && nspr != null);
+
+with stdenv.lib;
+let
+  mkFlag = trueStr: falseStr: cond: name: val:
+    if cond == null then null else
+      "--${if cond != false then trueStr else falseStr}${name}${if val != null && cond != false then "=${val}" else ""}";
+  mkEnable = mkFlag "enable-" "disable-";
+  mkWith = mkFlag "with-" "without-";
+  mkOther = mkFlag "" "" true;
+
+  hasServer = snappy != null && leveldb != null;
+  hasMon = hasServer;
+  hasMds = hasServer;
+  hasOsd = hasServer;
+  hasRadosgw = fcgi != null && expat != null && curl != null && libedit != null;
+
+  hasXio = (stdenv.isLinux || stdenv.isFreeBSD) &&
+    versionAtLeast version "0.95" &&
+    accelio != null && libibverbs != null && librdmacm != null;
+
+  hasRocksdb = versionAtLeast version "0.95" && rocksdb != null;
+
+  # TODO: Reenable when kinetic support is fixed
+  hasKinetic = versionAtLeast version "0.95" && kinetic-cpp-client != null && false;
+
+  # Malloc implementation (can be jemalloc, tcmalloc or null)
+  malloc = if jemalloc != null then jemalloc else gperftools;
+
+  # We prefer nss over cryptopp
+  cryptoStr = if nss != null && nspr != null then "nss" else
+    if cryptopp != null then "cryptopp" else "none";
+  cryptoLibsMap = {
+    nss = [ nss nspr ];
+    cryptopp = [ cryptopp ];
+    none = [ ];
+  };
+
+  wrapArgs = "--prefix PYTHONPATH : \"$(toPythonPath $lib)\""
+    + " --prefix PYTHONPATH : \"$(toPythonPath ${python.modules.readline})\""
+    + " --prefix PYTHONPATH : \"$(toPythonPath ${pythonPackages.flask})\""
+    + " --prefix PATH : \"$out/bin\"";
+in
+stdenv.mkDerivation {
+  name="ceph-${version}";
+
+  inherit src;
+
+  patches = patches ++ [
+    ./0001-Makefile-env-Don-t-force-sbin.patch
+  ];
+
+  nativeBuildInputs = [ autoconf automake makeWrapper pkgconfig libtool which ];
+  buildInputs = buildInputs ++ cryptoLibsMap.${cryptoStr} ++ [
+    boost python libxml2 yasm libatomic_ops libs3 malloc pythonPackages.flask
+  ] ++ optional (versionAtLeast version "0.95") [
+    git                   # Used for the gitversion string
+    pythonPackages.sphinx # Used for docs
+  ] ++ optional stdenv.isLinux [
+    linuxHeaders libuuid udev keyutils libaio libxfs zfs
+  ] ++ optional hasServer [
+    snappy leveldb
+  ] ++ optional hasRadosgw [
+    fcgi expat curl fuse libedit
+  ] ++ optional hasXio [
+    accelio libibverbs librdmacm
+  ] ++ optional hasRocksdb [
+    rocksdb
+  ] ++ optional hasKinetic [
+    kinetic-cpp-client
+  ];
+
+  postPatch = ''
+    # Fix zfs pkgconfig detection
+    sed -i 's,\[zfs\],\[libzfs\],g' configure.ac
+
+    # Fix seagate kinetic linking
+    sed -i 's,libcrypto.a,-lcrypto,g' src/os/Makefile.am
+  '';
+
+  preConfigure = ''
+    # Ceph expects the arch command to be usable during configure
+    # for detecting the assembly type
+    mkdir mybin
+    echo "#${stdenv.shell} -e" >> mybin/arch
+    echo "uname -m" >> mybin/arch
+    chmod +x mybin/arch
+    PATH="$PATH:$(pwd)/mybin"
+
+    ./autogen.sh
+
+    # Fix the python site-packages install directory
+    sed -i "s,\(PYTHON\(\|_EXEC\)_PREFIX=\).*,\1'$lib',g" configure
+  '';
+
+  configureFlags = [
+    "--exec_prefix=\${out}"
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+    "--libdir=\${lib}/lib"
+    "--includedir=\${lib}/include"
+
+    (mkWith   true                         "rbd"               null)
+    (mkWith   true                         "cephfs"            null)
+    (mkWith   hasRadosgw                   "radosgw"           null)
+    (mkWith   true                         "radosstriper"      null)
+    (mkWith   hasServer                    "mon"               null)
+    (mkWith   hasServer                    "osd"               null)
+    (mkWith   hasServer                    "mds"               null)
+    (mkEnable true                         "client"            null)
+    (mkEnable hasServer                    "server"            null)
+    (mkWith   (cryptoStr == "cryptopp")    "cryptopp"          null)
+    (mkWith   (cryptoStr == "nss")         "nss"               null)
+    (mkEnable false                        "root-make-check"   null)
+    (mkWith   false                        "profiler"          null)
+    (mkWith   false                        "debug"             null)
+    (mkEnable false                        "coverage"          null)
+    (mkWith   (fuse != null)               "fuse"              null)
+    (mkWith   (malloc == jemalloc)         "jemalloc"          null)
+    (mkWith   (malloc == gperftools)       "tcmalloc"          null)
+    (mkEnable false                        "pgrefdebugging"    null)
+    (mkEnable false                        "cephfs-java"       null)
+    (mkEnable hasXio                       "xio"               null)
+    (mkWith   (libatomic_ops != null)      "libatomic-ops"     null)
+    (mkWith   true                         "ocf"               null)
+    (mkWith   hasKinetic                   "kinetic"           null)
+    (mkWith   hasRocksdb                   "librocksdb"        null)
+    (mkWith   false                        "librocksdb-static" null)
+    (mkWith   (libs3 != null)              "system-libs3"      null)
+    (mkWith   true                         "rest-bench"        null)
+  ] ++ optional stdenv.isLinux [
+    (mkWith   (libaio != null)             "libaio"            null)
+    (mkWith   (libxfs != null)             "libxfs"            null)
+    (mkWith   (zfs != null)                "libzfs"            null)
+  ];
+
+  installFlags = [ "sysconfdir=\${out}/etc" ];
+
+  outputs = [ "out" "lib" ];
+
+  postInstall = ''
+    # Wrap all of the python scripts
+    wrapProgram $out/bin/ceph ${wrapArgs}
+    wrapProgram $out/bin/ceph-brag ${wrapArgs}
+    wrapProgram $out/bin/ceph-rest-api ${wrapArgs}
+    wrapProgram $out/sbin/ceph-create-keys ${wrapArgs}
+    wrapProgram $out/sbin/ceph-disk ${wrapArgs}
+
+    # Bring in lib as a native build input
+    mkdir -p $out/nix-support
+    echo "$lib" > $out/nix-support/propagated-native-build-inputs
+
+    # Fix the python library loading
+    find $lib/lib -name \*.pyc -or -name \*.pyd -exec rm {} \;
+    for PY in $(find $lib/lib -name \*.py); do
+      LIBS="$(sed -n "s/.*find_library('\([^)]*\)').*/\1/p" "$PY")"
+
+      # Fix each find_library call
+      for LIB in $LIBS; do
+        REALLIB="$lib/lib/lib$LIB.so"
+        sed -i "s,find_library('$LIB'),'$REALLIB',g" "$PY"
+      done
+
+      # Reapply compilation optimizations
+      NAME=$(basename -s .py "$PY")
+      (cd "$(dirname $PY)"; python -c "import $NAME"; python -O -c "import $NAME")
+    done
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = http://ceph.com/;
+    description = "Distributed storage system";
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ ak wkennington ];
+    platforms = with platforms; unix;
+  };
+
+  passthru.version = version;
+}
diff --git a/pkgs/tools/filesystems/ceph/git.nix b/pkgs/tools/filesystems/ceph/git.nix
new file mode 100644
index 00000000000..8aa4bbd34bb
--- /dev/null
+++ b/pkgs/tools/filesystems/ceph/git.nix
@@ -0,0 +1,11 @@
+{ callPackage, fetchgit, git, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "2015-04-22";
+
+  src = fetchgit {
+    url = "git://github.com/ceph/ceph.git";
+    rev = "89262abc53e324f3ef4d504473a4f1d6eb337c20";
+    sha256 = "0d6hlk1nwgx9cdhvppggz6sbjc1jl8j26l9739qspw1sviac5lcb";
+  };
+})
diff --git a/pkgs/tools/filesystems/duff/default.nix b/pkgs/tools/filesystems/duff/default.nix
index 0f9bff82967..409e7a8c36f 100644
--- a/pkgs/tools/filesystems/duff/default.nix
+++ b/pkgs/tools/filesystems/duff/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    description = "Quickly find duplicate files.";
+    description = "Quickly find duplicate files";
     homepage = http://duff.dreda.org/;
     license = with licenses; zlib;
     longDescription = ''
diff --git a/pkgs/tools/filesystems/mp3fs/default.nix b/pkgs/tools/filesystems/mp3fs/default.nix
index 253f335ae4a..50242bb6388 100644
--- a/pkgs/tools/filesystems/mp3fs/default.nix
+++ b/pkgs/tools/filesystems/mp3fs/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "14ngiqg24p3a0s6hp33zjl4i46d8qn4v9id36psycq3n3csmwyx4";
   };
 
+  patches = [ ./fix-statfs-operation.patch ];
+
   buildInputs = [ flac fuse lame libid3tag pkgconfig ];
 
   enableParallelBuilding = true;
@@ -22,7 +24,7 @@ stdenv.mkDerivation rec {
       which only understands the MP3 format, or transcode files through
       simple drag-and-drop in a file browser.
     '';
-    homepage = http://khenriks.github.com/mp3fs/;
+    homepage = http://khenriks.github.io/mp3fs/;
     license = with licenses; gpl3Plus;
     platforms = with platforms; linux;
     maintainers = with maintainers; [ nckx ];
diff --git a/pkgs/tools/filesystems/mp3fs/fix-statfs-operation.patch b/pkgs/tools/filesystems/mp3fs/fix-statfs-operation.patch
new file mode 100644
index 00000000000..9b3094e6005
--- /dev/null
+++ b/pkgs/tools/filesystems/mp3fs/fix-statfs-operation.patch
@@ -0,0 +1,39 @@
+From fea072084ff9d7c4d2c688059a2462bb0e59a2ec Mon Sep 17 00:00:00 2001
+From: K Henriksson <kthenriksson@gmail.com>
+Date: Wed, 27 Aug 2014 21:55:18 -0700
+Subject: [PATCH] Fix statfs operation
+
+The statfs implementation does not properly translate names back to the
+original, since the major encoding rewrite. This corrects that, and
+should fix issue #27.
+---
+ src/fuseops.c | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/src/fuseops.c b/src/fuseops.c
+index e7b4e7e..c333cbd 100644
+--- a/src/fuseops.c
++++ b/src/fuseops.c
+@@ -337,9 +337,20 @@ static int mp3fs_statfs(const char *path, struct statvfs *stbuf) {
+     if (!origpath) {
+         goto translate_fail;
+     }
+-    
++
++    /* pass-through for regular files */
++    if (statvfs(origpath, stbuf) == 0) {
++        goto passthrough;
++    } else {
++        /* Not really an error. */
++        errno = 0;
++    }
++
++    find_original(origpath);
++
+     statvfs(origpath, stbuf);
+-    
++
++passthrough:
+     free(origpath);
+ translate_fail:
+     return -errno;
diff --git a/pkgs/tools/filesystems/ntfs-3g/default.nix b/pkgs/tools/filesystems/ntfs-3g/default.nix
index 718e941ec64..f10e05ac486 100644
--- a/pkgs/tools/filesystems/ntfs-3g/default.nix
+++ b/pkgs/tools/filesystems/ntfs-3g/default.nix
@@ -3,15 +3,15 @@
 
 stdenv.mkDerivation rec {
   pname = "ntfs-3g";
-  version = "2014.2.15";
+  version = "2015.3.14";
   name = "${pname}-${version}";
 
-  buildInputs = [libuuid] ++ stdenv.lib.optionals crypto [gnutls libgcrypt];
+  buildInputs = [ libuuid ] ++ stdenv.lib.optionals crypto [ gnutls libgcrypt ];
   nativeBuildInputs = stdenv.lib.optional crypto pkgconfig;
 
   src = fetchurl {
     url = "http://tuxera.com/opensource/ntfs-3g_ntfsprogs-${version}.tgz";
-    sha256 = "0mjv98m2j0kdzkjiqd2ra1akhb8milx8nwcx7hd26jxi1i09jc2c";
+    sha256 = "1wiqcmy07y02k3iqq56cscnhg5syisbjj9mxfaid85l3bl0rdycp";
   };
 
   patchPhase = ''
@@ -22,11 +22,14 @@ stdenv.mkDerivation rec {
       --replace /bin/umount ${utillinux}/bin/umount
   '';
 
-  configureFlags =
-    ''
-      --disable-ldconfig --exec-prefix=''${prefix} --enable-mount-helper
-      --enable-posix-acls --enable-xattr-mappings --${if crypto then "enable" else "disable"}-crypto
-    '';
+  configureFlags = [
+    "--disable-ldconfig"
+    "--exec-prefix=\${prefix}"
+    "--enable-mount-helper"
+    "--enable-posix-acls"
+    "--enable-xattr-mappings"
+    "--${if crypto then "enable" else "disable"}-crypto"
+  ];
 
   postInstall =
     ''
diff --git a/pkgs/tools/filesystems/reiser4progs/default.nix b/pkgs/tools/filesystems/reiser4progs/default.nix
index 235b2b8381b..7dfbbf66c0a 100644
--- a/pkgs/tools/filesystems/reiser4progs/default.nix
+++ b/pkgs/tools/filesystems/reiser4progs/default.nix
@@ -1,20 +1,26 @@
 {stdenv, fetchurl, libaal}:
 
-stdenv.mkDerivation {
-  name = "reiser4progs-1.0.6";
+let version = "1.0.9"; in
+stdenv.mkDerivation rec {
+  name = "reiser4progs-${version}";
 
   src = fetchurl {
-    url = http://chichkin_i.zelnet.ru/namesys/reiser4progs-1.0.6.tar.gz;
-    sha256 = "0x6m6px19hz54r8q4wwpf437qmqh44c5ddw9846isr64zs2rpld0";
+    url = "mirror://sourceforge/reiser4/reiser4-utils/${name}.tar.gz";
+    sha256 = "0d6djyd7wjvzbqj738b2z4jr5c2s30g8q8xygipyi0007g42gc7z";
   };
 
   buildInputs = [libaal];
 
+  preConfigure = ''
+    substituteInPlace configure --replace " -static" ""
+  '';
+
   preInstall = ''
     substituteInPlace Makefile --replace ./run-ldconfig true
   '';
 
   meta = {
+    inherit version;
     homepage = http://www.namesys.com/;
     description = "Reiser4 utilities";
   };
diff --git a/pkgs/tools/filesystems/reiserfsprogs/default.nix b/pkgs/tools/filesystems/reiserfsprogs/default.nix
index 0c5ec063b1a..899f9463951 100644
--- a/pkgs/tools/filesystems/reiserfsprogs/default.nix
+++ b/pkgs/tools/filesystems/reiserfsprogs/default.nix
@@ -1,22 +1,18 @@
 { stdenv, fetchurl, libuuid }:
 
+let version = "3.6.24"; in
 stdenv.mkDerivation rec {
-  name = "reiserfsprogs-3.6.21";
+  name = "reiserfsprogs-${version}";
 
   src = fetchurl {
-    url = "http://ftp.be.debian.org/pub/linux/utils/fs/reiserfs/${name}.tar.bz2";
-    sha256 = "19mqzhh6jsf2gh8zr5scqi9pyk1fwivrxncd11rqnp2148c58jam";
+    url = "https://www.kernel.org/pub/linux/kernel/people/jeffm/reiserfsprogs/v${version}/${name}.tar.xz";
+    sha256 = "0q07df9wxxih8714a3mdp61h5n347l7j2a0l351acs3xapzgwi3y";
   };
 
   buildInputs = [ libuuid ];
 
-  postInstall =
-    ''
-      ln -s reiserfsck $out/sbin/fsck.reiserfs
-      ln -s mkreiserfs $out/sbin/mkfs.reiserfs
-    '';
-
   meta = {
+    inherit version;
     homepage = http://www.namesys.com/;
     description = "ReiserFS utilities";
     license = stdenv.lib.licenses.gpl2;
diff --git a/pkgs/tools/filesystems/unionfs-fuse/default.nix b/pkgs/tools/filesystems/unionfs-fuse/default.nix
index 23340f88376..1d39108afb1 100644
--- a/pkgs/tools/filesystems/unionfs-fuse/default.nix
+++ b/pkgs/tools/filesystems/unionfs-fuse/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, cmake, fuse }:
 
 stdenv.mkDerivation rec {
-  name = "unionfs-fuse-0.26";
+  name = "unionfs-fuse-${version}";
+  version = "1.0";
 
   src = fetchurl {
-    url = "http://podgorny.cz/unionfs-fuse/releases/${name}.tar.xz";
-    sha256 = "0qpnr4czgc62vsfnmv933w62nq3xwcbnvqch72qakfgca75rsp4d";
+    url = "https://github.com/rpodgorny/unionfs-fuse/archive/v${version}.tar.gz";
+    sha256 = "02fcrjb06lxkxpk4l8arsqmai807sray24lj2nrasqaacg80ps1f";
   };
 
   patches =
diff --git a/pkgs/tools/filesystems/zfstools/default.nix b/pkgs/tools/filesystems/zfstools/default.nix
index 1c1be59f515..16df5331476 100644
--- a/pkgs/tools/filesystems/zfstools/default.nix
+++ b/pkgs/tools/filesystems/zfstools/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchgit, ruby, zfs }:
+{ stdenv, fetchFromGitHub, ruby, zfs }:
 
 stdenv.mkDerivation rec {
   name = "zfstools-${version}";
 
-  version = "0.3.1";
+  version = "0.3.2";
 
-  src = fetchgit {
-    url = https://github.com/bdrewery/zfstools.git;
-    rev = "refs/tags/v${version}";
-    sha256 = "0bhs0gn1f4z1jm631vp26sbysy4crq489q56rxqfd8ns1xsp1f5j";
+  src = fetchFromGitHub {
+    sha256 = "1dzfir9413qrmx9kqpndi3l2m09f6l1wspnwn84lm3n1g9cr46nd";
+    rev = "v${version}";
+    repo = "zfstools";
+    owner = "bdrewery";
   };
 
   buildInputs = [ ruby ];
@@ -27,6 +28,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
+    inherit version;
     homepage = https://github.com/bdrewery/zfstools;
     description = "OpenSolaris-like and compatible auto snapshotting script for ZFS";
     longDescription = ''