nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 72 lines 1.5 kB view raw
1{ 2 lib, 3 fetchFromGitHub, 4 buildPerlPackage, 5 DBDmysql, 6 DBI, 7 IOSocketSSL, 8 TermReadKey, 9 go, 10 buildGoModule, 11 git, 12}: 13 14let 15 version = "3.7.0"; 16 17 src = fetchFromGitHub { 18 owner = "percona"; 19 repo = "percona-toolkit"; 20 rev = "v${version}"; 21 sha256 = "sha256-NpLUHIdGnuNJmSYBYErU7yzFkxKRFQVWJHJqJ2q4U5E="; 22 23 # needed for build script 24 leaveDotGit = true; 25 }; 26 27 goDeps = 28 (buildGoModule { 29 pname = "Percona-Toolkit go-bindings"; 30 inherit src version; 31 32 vendorHash = "sha256-HAaoVYK6av085zSG0ZRpbmUgEA2UEt7CGWF/834e+z4="; 33 }).goModules; 34in 35buildPerlPackage { 36 pname = "Percona-Toolkit"; 37 38 inherit src version; 39 40 outputs = [ "out" ]; 41 42 nativeBuildInputs = [ 43 git 44 ]; 45 46 buildInputs = [ 47 DBDmysql 48 go 49 DBI 50 IOSocketSSL 51 TermReadKey 52 ]; 53 54 postPatch = '' 55 cp -r --reflink=auto ${goDeps} vendor 56 chmod -R u+rw vendor 57 substituteInPlace src/go/Makefile \ 58 --replace-fail "go get ./..." "echo 'Skipping go get due to offline build'" 59 ''; 60 61 preBuild = '' 62 export HOME=$TMPDIR 63 ''; 64 65 meta = { 66 description = "Collection of advanced command-line tools to perform a variety of MySQL and system tasks"; 67 homepage = "https://www.percona.com/software/database-tools/percona-toolkit"; 68 changelog = "https://docs.percona.com/percona-toolkit/release_notes.html"; 69 license = with lib.licenses; [ gpl2Only ]; 70 maintainers = with lib.maintainers; [ izorkin ]; 71 }; 72}