Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib, stdenv, fetchFromGitHub, fetchurl, perl, perlPackages, wget, autoconf, automake, autoreconfHook }: 2 3let 4 # when upgrade znapzend, check versions of Perl libs here: https://github.com/oetiker/znapzend/blob/master/cpanfile 5 # pinned versions are listed at https://github.com/oetiker/znapzend/blob/master/thirdparty/cpanfile-5.30.snapshot 6 Mojolicious' = perlPackages.buildPerlPackage rec { 7 pname = "Mojolicious"; 8 version = "8.73"; 9 src = fetchurl { 10 url = "mirror://cpan/authors/id/S/SR/SRI/${pname}-${version}.tar.gz"; 11 sha256 = "118y2264f89bbp5ly2dh36xjq25jk85s2ssxa3y4gsgsk6sjzzk1"; 12 }; 13 }; 14 MojoIOLoopForkCall' = perlPackages.buildPerlModule rec { 15 pname = "Mojo-IOLoop-ForkCall"; 16 version = "0.20"; 17 src = fetchurl { 18 url = "mirror://cpan/authors/id/J/JB/JBERGER/${pname}-${version}.tar.gz"; 19 sha256 = "19pih5x0ayxs2m8j29qwdpi6ky3w4ghv6vrmax3ix9r59hj6569b"; 20 }; 21 propagatedBuildInputs = [ perlPackages.IOPipely Mojolicious' ]; 22 }; 23 24 perl' = perl.withPackages (p: 25 [ MojoIOLoopForkCall' 26 p.TAPParserSourceHandlerpgTAP 27 ]); 28 29 version = "0.21.0"; 30 sha256 = "1lg46rf2ahlclan29zx8ag5k4fjp28sc9l02z76f0pvdlj4qnihl"; 31in 32stdenv.mkDerivation { 33 pname = "znapzend"; 34 inherit version; 35 36 src = fetchFromGitHub { 37 owner = "oetiker"; 38 repo = "znapzend"; 39 rev = "v${version}"; 40 inherit sha256; 41 }; 42 43 buildInputs = [ wget perl' ]; 44 45 nativeBuildInputs = [ autoconf automake autoreconfHook ]; 46 47 preConfigure = '' 48 sed -i 's/^SUBDIRS =.*$/SUBDIRS = lib/' Makefile.am 49 50 grep -v thirdparty/Makefile configure.ac > configure.ac.tmp 51 mv configure.ac.tmp configure.ac 52 53 autoconf 54 ''; 55 56 preBuild = '' 57 aclocal 58 automake 59 ''; 60 61 meta = with lib; { 62 description = "High performance open source ZFS backup with mbuffer and ssh support"; 63 homepage = "https://www.znapzend.org"; 64 license = licenses.gpl3; 65 maintainers = with maintainers; [ otwieracz ]; 66 platforms = platforms.all; 67 }; 68}