From 8146a3cd564ba953f26d87516c16cb3c930b69ab Mon Sep 17 00:00:00 2001 From: Achmad Fathoni Date: Wed, 16 Apr 2025 12:20:22 +0700 Subject: [PATCH] perlModules.PerconaToolkit: 3.2.0 -> 3.7.0 perlModules.PerconaToolkit: resolve review --- .../perl-modules/Percona-Toolkit/default.nix | 43 ++++++++++++++++--- 1 file changed, 38 insertions(+), 5 deletions(-) diff --git a/pkgs/development/perl-modules/Percona-Toolkit/default.nix b/pkgs/development/perl-modules/Percona-Toolkit/default.nix index 8a86295dc45c..d27972dff455 100644 --- a/pkgs/development/perl-modules/Percona-Toolkit/default.nix +++ b/pkgs/development/perl-modules/Percona-Toolkit/default.nix @@ -7,30 +7,63 @@ DBI, IOSocketSSL, TermReadKey, + go, + buildGoModule, + git, }: -buildPerlPackage rec { - pname = "Percona-Toolkit"; - version = "3.2.0"; +let + version = "3.7.0"; src = fetchFromGitHub { owner = "percona"; repo = "percona-toolkit"; rev = "v${version}"; - sha256 = "084ldpskvlfm32lfss5qqzm5y9b8hf029aa4i5pcnzgb53xaxkqx"; + sha256 = "sha256-fJGeL9XZHTFmpns5CE7It35HRnF3JiC6muOpOS1zboI="; + + # needed for build script + leaveDotGit = true; }; + goDeps = + (buildGoModule { + pname = "Percona-Toolkit go-bindings"; + inherit src version; + + vendorHash = "sha256-HAaoVYK6av085zSG0ZRpbmUgEA2UEt7CGWF/834e+z4="; + }).goModules; +in +buildPerlPackage { + pname = "Percona-Toolkit"; + + inherit src version; + outputs = [ "out" ]; - nativeBuildInputs = [ shortenPerlShebang ]; + nativeBuildInputs = [ + git + shortenPerlShebang + ]; buildInputs = [ DBDmysql + go DBI IOSocketSSL TermReadKey ]; + postPatch = '' + cp -r --reflink=auto ${goDeps} vendor + chmod -R u+rw vendor + substituteInPlace src/go/Makefile \ + --replace-fail "go get ./..." "echo 'Skipping go get due to offline build'" + ''; + + preBuild = '' + export HOME=$TMPDIR + ''; + postInstall = '' shortenPerlShebang $(grep -l "/bin/env perl" $out/bin/*) '';