2018-07-21 02:44:44 +02:00
|
|
|
{ stdenv, fetchFromGitHub, fetchurl, perl, perlPackages, wget, autoconf, automake }:
|
2016-03-24 10:51:59 +01:00
|
|
|
|
|
|
|
let
|
2018-06-04 17:33:32 +02:00
|
|
|
# when upgrade znapzend, check versions of Perl libs here: https://github.com/oetiker/znapzend/blob/master/PERL_MODULES
|
2018-06-04 13:25:38 +02:00
|
|
|
Mojolicious-6-46 = perlPackages.buildPerlPackage rec {
|
2019-06-20 15:07:56 +02:00
|
|
|
pname = "Mojolicious";
|
|
|
|
version = "6.46";
|
2018-06-04 13:25:38 +02:00
|
|
|
src = fetchurl {
|
2019-06-20 15:07:56 +02:00
|
|
|
url = "mirror://cpan/authors/id/S/SR/SRI/${pname}-${version}.tar.gz";
|
2018-06-04 13:25:38 +02:00
|
|
|
sha256 = "0i3axmx4506fx5gms148pj65x6ys7flaz1aqjd8hd9zfkd8pzdfr";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
MojoIOLoopForkCall-0-17 = perlPackages.buildPerlModule rec {
|
2019-06-20 15:07:56 +02:00
|
|
|
pname = "Mojo-IOLoop-ForkCall";
|
|
|
|
version = "0.17";
|
2018-06-04 13:25:38 +02:00
|
|
|
src = fetchurl {
|
2019-06-20 15:07:56 +02:00
|
|
|
url = "mirror://cpan/authors/id/J/JB/JBERGER/${pname}-${version}.tar.gz";
|
2018-06-04 13:25:38 +02:00
|
|
|
sha256 = "090qxz1nbah2qxvfg4whl6yp6q03qkx7a42751iai521nk1yavc8";
|
|
|
|
};
|
|
|
|
propagatedBuildInputs = [ perlPackages.IOPipely Mojolicious-6-46 ];
|
|
|
|
};
|
|
|
|
|
2018-04-17 03:11:29 +02:00
|
|
|
version = "0.18.0";
|
|
|
|
checksum = "1nlvw56viwgafma506slywfg54z6009jmzc9q6wljgr6mqfmmchd";
|
2016-03-24 10:51:59 +01:00
|
|
|
in
|
2019-08-13 23:52:01 +02:00
|
|
|
stdenv.mkDerivation {
|
2019-08-13 23:52:01 +02:00
|
|
|
pname = "znapzend";
|
|
|
|
inherit version;
|
2016-03-24 10:51:59 +01:00
|
|
|
|
2016-04-26 01:02:04 +02:00
|
|
|
src = fetchFromGitHub {
|
2016-03-24 10:51:59 +01:00
|
|
|
owner = "oetiker";
|
|
|
|
repo = "znapzend";
|
|
|
|
rev = "v${version}";
|
|
|
|
sha256 = checksum;
|
|
|
|
};
|
|
|
|
|
2018-12-14 16:40:36 +01:00
|
|
|
buildInputs = [ wget perl MojoIOLoopForkCall-0-17 perlPackages.TAPParserSourceHandlerpgTAP ];
|
2016-03-24 10:51:59 +01:00
|
|
|
|
|
|
|
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 \
|
2018-06-04 13:25:38 +02:00
|
|
|
-I${Mojolicious-6-46}/${perl.libPrefix} \
|
2016-03-24 10:51:59 +01:00
|
|
|
-I${perlPackages.TAPParserSourceHandlerpgTAP}/${perl.libPrefix} \
|
2018-06-04 13:25:38 +02:00
|
|
|
-I${MojoIOLoopForkCall-0-17}/${perl.libPrefix} \
|
2016-03-24 10:51:59 +01:00
|
|
|
-I${perlPackages.IOPipely}/${perl.libPrefix} \
|
|
|
|
"
|
|
|
|
substituteInPlace $out/bin/znapzendzetup --replace "${perl}/bin/perl" \
|
|
|
|
"${perl}/bin/perl \
|
2018-06-04 13:25:38 +02:00
|
|
|
-I${Mojolicious-6-46}/${perl.libPrefix} \
|
2016-03-24 10:51:59 +01:00
|
|
|
-I${perlPackages.TAPParserSourceHandlerpgTAP}/${perl.libPrefix} \
|
2018-06-04 13:25:38 +02:00
|
|
|
-I${MojoIOLoopForkCall-0-17}/${perl.libPrefix} \
|
2016-03-24 10:51:59 +01:00
|
|
|
-I${perlPackages.IOPipely}/${perl.libPrefix} \
|
|
|
|
"
|
|
|
|
substituteInPlace $out/bin/znapzendztatz --replace "${perl}/bin/perl" \
|
|
|
|
"${perl}/bin/perl \
|
2018-06-04 13:25:38 +02:00
|
|
|
-I${Mojolicious-6-46}/${perl.libPrefix} \
|
2016-03-24 10:51:59 +01:00
|
|
|
-I${perlPackages.TAPParserSourceHandlerpgTAP}/${perl.libPrefix} \
|
2018-06-04 13:25:38 +02:00
|
|
|
-I${MojoIOLoopForkCall-0-17}/${perl.libPrefix} \
|
2016-03-24 10:51:59 +01:00
|
|
|
-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;
|
|
|
|
};
|
|
|
|
}
|