diff options
author | xeji <36407913+xeji@users.noreply.github.com> | 2019-02-24 12:02:11 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-24 12:02:11 +0100 |
commit | 631bc2c99f1441d2dd460769a7144efdfc7dca8f (patch) | |
tree | 15d79101e19543b11bd0d20eb2dd303be677e046 /pkgs/tools/backup | |
parent | ed239c3947314d89596295a360850054bf783cfd (diff) | |
parent | c03098d0873e57670396d2d2399dcffdf703f561 (diff) | |
download | nixlib-631bc2c99f1441d2dd460769a7144efdfc7dca8f.tar nixlib-631bc2c99f1441d2dd460769a7144efdfc7dca8f.tar.gz nixlib-631bc2c99f1441d2dd460769a7144efdfc7dca8f.tar.bz2 nixlib-631bc2c99f1441d2dd460769a7144efdfc7dca8f.tar.lz nixlib-631bc2c99f1441d2dd460769a7144efdfc7dca8f.tar.xz nixlib-631bc2c99f1441d2dd460769a7144efdfc7dca8f.tar.zst nixlib-631bc2c99f1441d2dd460769a7144efdfc7dca8f.zip |
Merge pull request #55488 from winpat/add_dirvish
dirvish: init at 1.2.1
Diffstat (limited to 'pkgs/tools/backup')
-rw-r--r-- | pkgs/tools/backup/dirvish/default.nix | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/pkgs/tools/backup/dirvish/default.nix b/pkgs/tools/backup/dirvish/default.nix new file mode 100644 index 000000000000..829dca52dfe5 --- /dev/null +++ b/pkgs/tools/backup/dirvish/default.nix @@ -0,0 +1,62 @@ +{ fetchurl, stdenv, makeWrapper, perl, rsync, perlPackages }: + +stdenv.mkDerivation rec { + name = "dirvish-1.2.1"; + src = fetchurl { + url = "http://dirvish.org/${name}.tgz"; + sha256 = "6b7f29c3541448db3d317607bda3eb9bac9fb3c51f970611ffe27e9d63507dcd"; + }; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ perl ] ++ (with perlPackages; [ GetoptLong TimeParseDate TimePeriod ]); + + executables = [ "dirvish" "dirvish-runall" "dirvish-expire" "dirvish-locate" ]; + manpages = [ "dirvish.8" "dirvish-runall.8" "dirvish-expire.8" "dirvish-locate.8" "dirvish.conf.5" ]; + + buildPhase = '' + HEADER="#!${perl}/bin/perl + + \$CONFDIR = \"/etc/dirvish\"; + + " + + for executable in $executables; do + ( + echo "$HEADER" + cat $executable.pl loadconfig.pl + ) > $executable + chmod +x $executable + done + ''; + + installPhase = '' + mkdir -p $out/bin + cp --target-directory=$out/bin $executables + + for manpage in $manpages; do + if [[ $manpage =~ \.([[:digit:]]+)$ ]]; then + section=''${BASH_REMATCH[1]} + mkdir -p $out/man/man$section + cp --target-directory=$out/man/man$section $manpage + else + echo "Couldn't determine man page section by filename" + exit 1 + fi + done + ''; + + postFixup = '' + for executable in $executables; do + wrapProgram $out/bin/$executable \ + --set PERL5LIB "$PERL5LIB" + done + ''; + + meta = with stdenv.lib; { + description = "Dirvish is a fast, disk based, rotating network backup system"; + homepage = http://dirvish.org/; + license = stdenv.lib.licenses.osl2; + platforms = platforms.linux; + maintainers = [ maintainers.winpat ]; + }; +} |