From a429badcc86601a41a4b2e43ce983ab6f44da75d Mon Sep 17 00:00:00 2001 From: Damien Diederen Date: Wed, 25 Nov 2020 10:33:26 +0100 Subject: [PATCH] perlPackages.NetZooKeeper: adapt to zookeeper_mt 3.6.2 --- nixos/tests/zookeeper.nix | 16 ++++++++++++++-- pkgs/top-level/perl-packages.nix | 25 +++++++++++++++++++------ 2 files changed, 33 insertions(+), 8 deletions(-) diff --git a/nixos/tests/zookeeper.nix b/nixos/tests/zookeeper.nix index 42cf20b39c52..2bcf5ff0faab 100644 --- a/nixos/tests/zookeeper.nix +++ b/nixos/tests/zookeeper.nix @@ -1,7 +1,12 @@ -import ./make-test-python.nix ({ pkgs, ...} : { +import ./make-test-python.nix ({ pkgs, ...} : +let + + perlEnv = pkgs.perl.withPackages (p: [p.NetZooKeeper]); + +in { name = "zookeeper"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ nequissimus ]; + maintainers = [ nequissimus ztzg ]; }; nodes = { @@ -30,5 +35,12 @@ import ./make-test-python.nix ({ pkgs, ...} : { server.wait_until_succeeds( "${pkgs.zookeeper}/bin/zkCli.sh -server localhost:2181 get /foo | grep hello" ) + + server.wait_until_succeeds( + "${perlEnv}/bin/perl -E 'use Net::ZooKeeper qw(:acls); $z=Net::ZooKeeper->new(q(localhost:2181)); $z->create(qw(/perl foo acl), ZOO_OPEN_ACL_UNSAFE) || die $z->get_error()'" + ) + server.wait_until_succeeds( + "${perlEnv}/bin/perl -E 'use Net::ZooKeeper qw(:acls); $z=Net::ZooKeeper->new(q(localhost:2181)); $z->get(qw(/perl)) eq qw(foo) || die $z->get_error()'" + ) ''; }) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index bdcece18adce..2475b1ab6be6 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -15752,18 +15752,31 @@ let NetZooKeeper = buildPerlPackage { pname = "Net-ZooKeeper"; - version = "0.41"; - src = fetchurl { - url = "mirror://cpan/authors/id/M/MA/MAF/Net-ZooKeeper-0.41.tar.gz"; - sha256 = "91c177f30f82302eaf3173356eef05c21bc82163df752acb469177bd14a72db9"; + version = "0.42pre"; + src = fetchFromGitHub { + owner = "mark-5"; + repo = "p5-net-zookeeper"; + rev = "66e1a360aff9c39af728c36092b540a4b6045f70"; + sha256 = "0xl8lcv9gfv0nn8vrrxa4az359whqdhmzw4r51nn3add8pn3s9ip"; }; buildInputs = [ pkgs.zookeeper_mt ]; + nativeBuildInputs = [ pkgs.gnused ]; # fix "error: format not a string literal and no format arguments [-Werror=format-security]" hardeningDisable = [ "format" ]; - NIX_CFLAGS_COMPILE = "-I${pkgs.zookeeper_mt}/include"; + # Make the async API accessible + NIX_CFLAGS_COMPILE = "-DTHREADED"; NIX_CFLAGS_LINK = "-L${pkgs.zookeeper_mt.out}/lib -lzookeeper_mt"; + # Most tests are skipped as no server is available in the sandbox. + # `t/35_log.t` seems to suffer from a race condition; remove it. See + # https://github.com/NixOS/nixpkgs/pull/104889#issuecomment-737144513 + preCheck = '' + rm t/35_log.t + '' + stdenv.lib.optionalString stdenv.isDarwin '' + rm t/30_connect.t + rm t/45_class.t + ''; meta = { - maintainers = [ maintainers.limeytexan ]; + maintainers = with maintainers; [ limeytexan ztzg ]; homepage = "https://github.com/mark-5/p5-net-zookeeper"; license = stdenv.lib.licenses.asl20; };