perlModules.PerconaToolkit: 3.2.0 -> 3.7.0

perlModules.PerconaToolkit: resolve review

Changed files
+38 -5
pkgs
development
perl-modules
Percona-Toolkit
+38 -5
pkgs/development/perl-modules/Percona-Toolkit/default.nix
···
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/*)