diff options
author | Arseniy Seroka <jagajaga@users.noreply.github.com> | 2016-03-24 23:10:40 +0300 |
---|---|---|
committer | Arseniy Seroka <jagajaga@users.noreply.github.com> | 2016-03-24 23:10:40 +0300 |
commit | 23585829764622bd87a770a70d0e4ba6f5ec08a3 (patch) | |
tree | 17275421d2ec8f9a3a85221bd9f720aeb5bab74b | |
parent | 311ddcbd7a77fbbf89da5403a0b095718b81d802 (diff) | |
parent | 3ff417cbb71ce875367d9a5b8341a7ce16a41664 (diff) | |
download | nixlib-23585829764622bd87a770a70d0e4ba6f5ec08a3.tar nixlib-23585829764622bd87a770a70d0e4ba6f5ec08a3.tar.gz nixlib-23585829764622bd87a770a70d0e4ba6f5ec08a3.tar.bz2 nixlib-23585829764622bd87a770a70d0e4ba6f5ec08a3.tar.lz nixlib-23585829764622bd87a770a70d0e4ba6f5ec08a3.tar.xz nixlib-23585829764622bd87a770a70d0e4ba6f5ec08a3.tar.zst nixlib-23585829764622bd87a770a70d0e4ba6f5ec08a3.zip |
Merge pull request #14045 from otwieracz/master
znapzend: added
-rw-r--r-- | lib/maintainers.nix | 1 | ||||
-rw-r--r-- | nixos/modules/module-list.nix | 1 | ||||
-rw-r--r-- | nixos/modules/services/backup/znapzend.nix | 36 | ||||
-rw-r--r-- | pkgs/tools/backup/znapzend/default.nix | 72 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 | ||||
-rw-r--r-- | pkgs/top-level/perl-packages.nix | 40 |
6 files changed, 145 insertions, 7 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix index cbf7e02d3f4d..5fccdcb4ae38 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -251,6 +251,7 @@ olcai = "Erik Timan <dev@timan.info>"; orbitz = "Malcolm Matalka <mmatalka@gmail.com>"; osener = "Ozan Sener <ozan@ozansener.com>"; + otwieracz = "Slawomir Gonet <slawek@otwiera.cz>"; oxij = "Jan Malakhovski <oxij@oxij.org>"; page = "Carles Pagès <page@cubata.homelinux.net>"; paholg = "Paho Lurie-Gregg <paho@paholg.com>"; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 3dd60ad99dca..d317333f9631 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -114,6 +114,7 @@ ./services/backup/rsnapshot.nix ./services/backup/sitecopy-backup.nix ./services/backup/tarsnap.nix + ./services/backup/znapzend.nix ./services/cluster/fleet.nix ./services/cluster/kubernetes.nix ./services/cluster/panamax.nix diff --git a/nixos/modules/services/backup/znapzend.nix b/nixos/modules/services/backup/znapzend.nix new file mode 100644 index 000000000000..648089f90b7b --- /dev/null +++ b/nixos/modules/services/backup/znapzend.nix @@ -0,0 +1,36 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.znapzend; +in +{ + options = { + services.znapzend = { + enable = mkEnableOption "ZnapZend daemon"; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [ pkgs.znapzend ]; + + systemd.services = { + "znapzend" = { + description = "ZnapZend - ZFS Backup System"; + after = [ "zfs.target" ]; + + path = with pkgs; [ znapzend zfs mbuffer openssh ]; + + script = '' + znapzend + ''; + + reload = '' + /bin/kill -HUP $MAINPID + ''; + }; + }; + + }; +} diff --git a/pkgs/tools/backup/znapzend/default.nix b/pkgs/tools/backup/znapzend/default.nix new file mode 100644 index 000000000000..1534a0bab0a3 --- /dev/null +++ b/pkgs/tools/backup/znapzend/default.nix @@ -0,0 +1,72 @@ +{ stdenv, fetchFromGitHub, zfs, mbuffer, perl, perlPackages, wget, autoconf, automake }: + +let + version = "0.15.3"; + checksum = "1xk0lgb23kv1cl0wc2rav75hjrjigd0cp3hjw9gxab835vsvnkq0"; +in +stdenv.mkDerivation rec { + name = "znapzend-${version}"; + + src = fetchFromGitHub{ + owner = "oetiker"; + repo = "znapzend"; + rev = "v${version}"; + sha256 = checksum; + }; + + buildInputs = [ perl perlPackages.TestHarness perlPackages.Mojolicious + perlPackages.TAPParserSourceHandlerpgTAP perlPackages.MojoIOLoopForkCall + perlPackages.IOPipely wget ]; + + nativeBuildInputs = [ autoconf automake ]; + + preConfigure = '' + sed -i 's/^SUBDIRS =.*$/SUBDIRS = lib/' Makefile.am + + grep -v thirdparty/Makefile configure.ac > configure.ac.tmp + mv configure.ac.tmp configure.ac + + autoconf + ''; + + preBuild = '' + aclocal + automake + ''; + + postInstall = '' + substituteInPlace $out/bin/znapzend --replace "${perl}/bin/perl" \ + "${perl}/bin/perl \ + -I${perlPackages.TestHarness}/${perl.libPrefix} \ + -I${perlPackages.Mojolicious}/${perl.libPrefix} \ + -I${perlPackages.TAPParserSourceHandlerpgTAP}/${perl.libPrefix} \ + -I${perlPackages.MojoIOLoopForkCall}/${perl.libPrefix} \ + -I${perlPackages.IOPipely}/${perl.libPrefix} \ + " + substituteInPlace $out/bin/znapzendzetup --replace "${perl}/bin/perl" \ + "${perl}/bin/perl \ + -I${perlPackages.TestHarness}/${perl.libPrefix} \ + -I${perlPackages.Mojolicious}/${perl.libPrefix} \ + -I${perlPackages.TAPParserSourceHandlerpgTAP}/${perl.libPrefix} \ + -I${perlPackages.MojoIOLoopForkCall}/${perl.libPrefix} \ + -I${perlPackages.IOPipely}/${perl.libPrefix} \ + " + substituteInPlace $out/bin/znapzendztatz --replace "${perl}/bin/perl" \ + "${perl}/bin/perl \ + -I${perlPackages.TestHarness}/${perl.libPrefix} \ + -I${perlPackages.Mojolicious}/${perl.libPrefix} \ + -I${perlPackages.TAPParserSourceHandlerpgTAP}/${perl.libPrefix} \ + -I${perlPackages.MojoIOLoopForkCall}/${perl.libPrefix} \ + -I${perlPackages.IOPipely}/${perl.libPrefix} \ + " + ''; + + + meta = with stdenv.lib; { + description = "High performance open source ZFS backup with mbuffer and ssh support"; + homepage = http://www.znapzend.org; + license = licenses.gpl3; + maintainers = with maintainers; [ otwieracz ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 665e4144527b..e5716d5dc017 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3274,6 +3274,8 @@ in talkfilters = callPackage ../misc/talkfilters {}; + znapzend = callPackage ../tools/backup/znapzend { }; + tarsnap = callPackage ../tools/backup/tarsnap { }; tcpcrypt = callPackage ../tools/security/tcpcrypt { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 83a70775843c..e3cdfd49ce42 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7792,17 +7792,43 @@ let self = _self // overrides; _self = with self; { description = "Embed a Perl interpreter in the Apache HTTP server"; }; }; - - Mojolicious = buildPerlPackage { - name = "Mojolicious-4.63"; + Mojolicious = buildPerlPackage rec { + name = "Mojolicious-6.56"; src = fetchurl { - url = mirror://cpan/authors/id/S/SR/SRI/Mojolicious-4.63.tar.gz; - sha256 = "f20f77e86fc560dac1c958e765ed64242dcf6343939ed605b45f2bbe2596d5e9"; + url = "mirror://cpan/authors/id/S/SR/SRI/${name}.tar.gz"; + sha256 = "82f73553836ac378edf825fd9f24be982653be9e0d78f8ba38b7841aabdafb02"; }; + propagatedBuildInputs = [ JSONPP ]; meta = { - homepage = http://mojolicio.us; + homepage = http://mojolicious.org; description = "Real-time web framework"; - license = stdenv.lib.licenses.artistic2; + license = with stdenv.lib.licenses; [ artistic2 ]; + }; + }; + + MojoIOLoopForkCall = buildPerlModule rec { + name = "Mojo-IOLoop-ForkCall-0.17"; + src = fetchurl { + url = "mirror://cpan/authors/id/J/JB/JBERGER/${name}.tar.gz"; + sha256 = "886de5c3b44194a86228471075fac4036073bda19093e776c702aa65c3ef1824"; + }; + propagatedBuildInputs = [ IOPipely Mojolicious ]; + meta = { + description = "Run blocking functions asynchronously by forking"; + license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + + IOPipely = buildPerlPackage rec { + name = "IO-Pipely-0.005"; + src = fetchurl { + url = "mirror://cpan/authors/id/R/RC/RCAPUTO/${name}.tar.gz"; + sha256 = "e33b6cf5cb2b46ee308513f51e623987a50a89901e81bf19701dce35179f2e74"; + }; + meta = { + homepage = http://search.cpan.org/dist/IO-Pipely/; + description = "Portably create pipe() or pipe-like handles"; + license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; }; }; |