diff options
Diffstat (limited to 'pkgs/tools/backup/zfsnap/default.nix')
-rw-r--r-- | pkgs/tools/backup/zfsnap/default.nix | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/pkgs/tools/backup/zfsnap/default.nix b/pkgs/tools/backup/zfsnap/default.nix new file mode 100644 index 000000000000..89d7414246c4 --- /dev/null +++ b/pkgs/tools/backup/zfsnap/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchFromGitHub, coreutils, installShellFiles }: + +stdenv.mkDerivation rec { + version = "2.0.0-beta3"; + pname = "zfsnap"; + + src = fetchFromGitHub { + owner = "zfsnap"; + repo = "zfsnap"; + rev = "v${version}"; + sha256 = "0670a5sghvqx32c9gfsird15mg9nqcvwxsrfcjrwc0sj7br9bd2g"; + }; + + nativeBuildInputs = [ installShellFiles ]; + + postPatch = '' + # Use zfs binaries from PATH, because often the zfs package from nixpkgs is + # not the one that should be used + substituteInPlace share/zfsnap/core.sh \ + --replace "ZFS_CMD='/sbin/zfs'" "ZFS_CMD='zfs'" \ + --replace "ZPOOL_CMD='/sbin/zpool'" "ZPOOL_CMD='zpool'" + + substituteInPlace sbin/zfsnap.sh \ + --replace "/bin/ls" "${coreutils}/bin/ls" + ''; + + installPhase = '' + mkdir -p $out/bin + mv sbin/zfsnap.sh $out/bin/zfsnap + mv share $out + installManPage man/*/* + installShellCompletion completion/*.{bash,zsh} + ''; + + meta = with stdenv.lib; { + description = "A portable, performant script to make rolling ZFS snapshots easy"; + homepage = "https://github.com/zfsnap/zfsnap"; + license = licenses.bsd3; + maintainers = with maintainers; [ woffs ]; + platforms = platforms.linux; + }; +} |