summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/tools/filesystems/mergerfs/tools.nix36
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 38 insertions, 0 deletions
diff --git a/pkgs/tools/filesystems/mergerfs/tools.nix b/pkgs/tools/filesystems/mergerfs/tools.nix
new file mode 100644
index 000000000000..01f0de25a900
--- /dev/null
+++ b/pkgs/tools/filesystems/mergerfs/tools.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, coreutils, makeWrapper
+, rsync, python3, pythonPackages }:
+
+stdenv.mkDerivation rec {
+  name = "mergerfs-tools-${version}";
+  version = "20171221";
+
+  src = fetchFromGitHub {
+    owner = "trapexit";
+    repo = "mergerfs-tools";
+    rev = "9b4fe0097b5b51e1a7411a26eb344a24cc8ce1b4";
+    sha256 = "0qrixh3j58gzkmc8r2sgzgy56gm8bmhakwlc2gjb0yrpa1213na1";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ python3 ];
+
+  makeFlags = [
+    "INSTALL=${coreutils}/bin/install"
+    "PREFIX=$(out)"
+  ];
+
+  postInstall = with stdenv.lib; ''
+    wrapProgram $out/bin/mergerfs.balance --prefix PATH : ${makeBinPath [ rsync ]}
+    wrapProgram $out/bin/mergerfs.dup --prefix PATH : ${makeBinPath [ rsync ]}
+    wrapProgram $out/bin/mergerfs.mktrash --prefix PATH : ${makeBinPath [ pythonPackages.xattr ]}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Optional tools to help manage data in a mergerfs pool";
+    homepage = https://github.com/trapexit/mergerfs-tools;
+    license = licenses.isc;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ jfrankenau ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 0926d01d0bf1..af43c4ec8a47 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -10919,6 +10919,8 @@ with pkgs;
 
   mergerfs = callPackage ../tools/filesystems/mergerfs { };
 
+  mergerfs-tools = callPackage ../tools/filesystems/mergerfs/tools.nix { };
+
   ## libGL/libGLU/Mesa stuff
 
   # Default libGL implementation, should provide headers and libGL.so/libEGL.so/... to link agains them