From cb81a3fd2a75d203cdab674b6dacf27f480dc7b1 Mon Sep 17 00:00:00 2001 From: Slawomir Gonet Date: Thu, 24 Mar 2016 10:51:59 +0100 Subject: [PATCH] znapzend: init at 0.15.3 --- lib/maintainers.nix | 1 + pkgs/tools/backup/znapzend/default.nix | 72 ++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + pkgs/top-level/perl-packages.nix | 42 ++++++++++++--- 4 files changed, 109 insertions(+), 8 deletions(-) create mode 100644 pkgs/tools/backup/znapzend/default.nix diff --git a/lib/maintainers.nix b/lib/maintainers.nix index df6a3b36a7d..b71c56517f0 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -250,6 +250,7 @@ olcai = "Erik Timan "; orbitz = "Malcolm Matalka "; osener = "Ozan Sener "; + otwieracz = "Slawomir Gonet "; oxij = "Jan Malakhovski "; page = "Carles Pagès "; paholg = "Paho Lurie-Gregg "; diff --git a/pkgs/tools/backup/znapzend/default.nix b/pkgs/tools/backup/znapzend/default.nix new file mode 100644 index 00000000000..1534a0bab0a --- /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 22cb6b3c8fa..fd60c9e52d8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3427,6 +3427,8 @@ let 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 bc14b4ce605..461a3b8e967 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7727,17 +7727,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://mojolicious.org; + description = "Real-time web framework"; + 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://mojolicio.us; - description = "Real-time web framework"; - license = stdenv.lib.licenses.artistic2; + homepage = http://search.cpan.org/dist/IO-Pipely/; + description = "Portably create pipe() or pipe-like handles"; + license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; }; };