From 3fef7f3e54cbfa9f1c95db053858d474f91615c1 Mon Sep 17 00:00:00 2001 From: Izorkin Date: Sat, 4 Jul 2020 17:43:44 +0300 Subject: [PATCH 1/3] perlPackages.PerconaToolkit: 3.0.12 -> 3.2.0 --- .../perl-modules/Percona-Toolkit/default.nix | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/pkgs/development/perl-modules/Percona-Toolkit/default.nix b/pkgs/development/perl-modules/Percona-Toolkit/default.nix index 85feee36b50..b2c5437e380 100644 --- a/pkgs/development/perl-modules/Percona-Toolkit/default.nix +++ b/pkgs/development/perl-modules/Percona-Toolkit/default.nix @@ -1,24 +1,32 @@ -{ lib, fetchFromGitHub, buildPerlPackage, DBDmysql, DBI, IOSocketSSL, TermReadKey, shortenPerlShebang }: +{ stdenv, fetchFromGitHub, buildPerlPackage, shortenPerlShebang +, DBDmysql, DBI, IOSocketSSL, TermReadKey +}: -buildPerlPackage { +buildPerlPackage rec { pname = "Percona-Toolkit"; - version = "3.0.12"; + version = "3.2.0"; + src = fetchFromGitHub { owner = "percona"; repo = "percona-toolkit"; - rev = "3.0.12"; - sha256 = "0xk4h4dzl80kf97lbx0nznx9ajrb6kkg7k3iwca3rj6f3rqggv9y"; + rev = "v${version}"; + sha256 = "084ldpskvlfm32lfss5qqzm5y9b8hf029aa4i5pcnzgb53xaxkqx"; }; + outputs = [ "out" ]; + nativeBuildInputs = [ shortenPerlShebang ]; + buildInputs = [ DBDmysql DBI IOSocketSSL TermReadKey ]; + postInstall = '' shortenPerlShebang $(grep -l "/bin/env perl" $out/bin/*) ''; - meta = { + + meta = with stdenv.lib; { description = ''Collection of advanced command-line tools to perform a variety of MySQL and system tasks.''; - homepage = "http://www.percona.com/software/percona-toolkit"; - license = with lib.licenses; [ gpl2 ]; - maintainers = with lib.maintainers; [ izorkin ]; + homepage = "https://www.percona.com/software/database-tools/percona-toolkit"; + license = with licenses; [ gpl2 ]; + maintainers = with maintainers; [ izorkin ]; }; } From 36e166f4fe7441ed999ffdad555137b0e93e6de3 Mon Sep 17 00:00:00 2001 From: Izorkin Date: Sun, 5 Jul 2020 12:09:36 +0300 Subject: [PATCH 2/3] percona-xtrabackup 2.4: 2.4.12 -> 2.4.20 --- .../backup/percona-xtrabackup/default.nix | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/pkgs/tools/backup/percona-xtrabackup/default.nix b/pkgs/tools/backup/percona-xtrabackup/default.nix index a610bb8e13a..3f8c5e6e659 100644 --- a/pkgs/tools/backup/percona-xtrabackup/default.nix +++ b/pkgs/tools/backup/percona-xtrabackup/default.nix @@ -1,37 +1,47 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig -, boost, bison, curl, ncurses, openssl, xxd -, libaio, libev, libgcrypt, libgpgerror, libtool, zlib +{ stdenv, fetchFromGitHub, bison, boost, cmake, makeWrapper, pkgconfig +, curl, cyrus_sasl, libaio, libedit, libev, libevent, libgcrypt, libgpgerror, lz4 +, ncurses, numactl, openssl, protobuf, valgrind, xxd, zlib +, perlPackages }: stdenv.mkDerivation rec { pname = "percona-xtrabackup"; - version = "2.4.12"; + version = "2.4.20"; src = fetchFromGitHub { owner = "percona"; repo = "percona-xtrabackup"; rev = "${pname}-${version}"; - sha256 = "1w17v2c677b3vfnm81bs63kjbfiin7f12wl9fbgp83hfpyx5msan"; + sha256 = "0awdpkcgvx2aq7pwxy8jyzkin6cyrrh3d576x9ldm851kis9n5ii"; }; - nativeBuildInputs = [ cmake pkgconfig ]; + nativeBuildInputs = [ bison boost cmake makeWrapper pkgconfig ]; buildInputs = [ - boost bison curl ncurses openssl xxd - libaio libev libgcrypt libgpgerror libtool zlib - ]; + curl cyrus_sasl libaio libedit libev libevent libgcrypt libgpgerror lz4 + ncurses numactl openssl protobuf valgrind xxd zlib + ] ++ (with perlPackages; [ perl DBI DBDmysql ]); cmakeFlags = [ + "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock" "-DBUILD_CONFIG=xtrabackup_release" "-DINSTALL_MYSQLTESTDIR=OFF" "-DWITH_BOOST=system" + "-DWITH_CURL=system" + "-DWITH_EDITLINE=system" + "-DWITH_LIBEVENT=system" + "-DWITH_LZ4=system" + "-DWITH_PROTOBUF=system" + "-DWITH_SASL=system" "-DWITH_SSL=system" "-DWITH_ZLIB=system" + "-DWITH_VALGRIND=ON" "-DWITH_MAN_PAGES=OFF" - "-DCMAKE_CXX_FLAGS=-std=gnu++03" + "-DCMAKE_SKIP_BUILD_RPATH=OFF" # To run libmysql/libmysql_api_test during build. ]; postInstall = '' + wrapProgram "$out"/bin/xtrabackup --prefix PERL5LIB : $PERL5LIB rm -r "$out"/lib/plugin/debug ''; From 851467e0e11309b10d5f1d6390a284b7470abe38 Mon Sep 17 00:00:00 2001 From: Izorkin Date: Sun, 5 Jul 2020 15:43:08 +0300 Subject: [PATCH 3/3] percona-xtrabackup 8.0: init at 8.0.13 --- pkgs/tools/backup/percona-xtrabackup/2_4.nix | 6 ++++++ pkgs/tools/backup/percona-xtrabackup/8_0.nix | 14 ++++++++++++++ .../{default.nix => generic.nix} | 9 ++++++--- pkgs/top-level/all-packages.nix | 6 +++++- 4 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 pkgs/tools/backup/percona-xtrabackup/2_4.nix create mode 100644 pkgs/tools/backup/percona-xtrabackup/8_0.nix rename pkgs/tools/backup/percona-xtrabackup/{default.nix => generic.nix} (91%) diff --git a/pkgs/tools/backup/percona-xtrabackup/2_4.nix b/pkgs/tools/backup/percona-xtrabackup/2_4.nix new file mode 100644 index 00000000000..5c9ce70e5b9 --- /dev/null +++ b/pkgs/tools/backup/percona-xtrabackup/2_4.nix @@ -0,0 +1,6 @@ +{ callPackage, ... } @ args: + +callPackage ./generic.nix (args // { + version = "2.4.20"; + sha256 = "0awdpkcgvx2aq7pwxy8jyzkin6cyrrh3d576x9ldm851kis9n5ii"; +}) diff --git a/pkgs/tools/backup/percona-xtrabackup/8_0.nix b/pkgs/tools/backup/percona-xtrabackup/8_0.nix new file mode 100644 index 00000000000..2878e93fe70 --- /dev/null +++ b/pkgs/tools/backup/percona-xtrabackup/8_0.nix @@ -0,0 +1,14 @@ +{ callPackage, ... } @ args: + +callPackage ./generic.nix (args // { + version = "8.0.13"; + sha256 = "0cj0fnjimv22ykfl0yk6w29wcjvqp8y8j2g1c6gcml65qazrswyr"; + + extraPatches = [ + ./../../../servers/sql/mysql/abi-check.patch + ]; + + extraPostInstall = '' + rm -r "$out"/docs + ''; +}) diff --git a/pkgs/tools/backup/percona-xtrabackup/default.nix b/pkgs/tools/backup/percona-xtrabackup/generic.nix similarity index 91% rename from pkgs/tools/backup/percona-xtrabackup/default.nix rename to pkgs/tools/backup/percona-xtrabackup/generic.nix index 3f8c5e6e659..9339e8155ea 100644 --- a/pkgs/tools/backup/percona-xtrabackup/default.nix +++ b/pkgs/tools/backup/percona-xtrabackup/generic.nix @@ -2,17 +2,18 @@ , curl, cyrus_sasl, libaio, libedit, libev, libevent, libgcrypt, libgpgerror, lz4 , ncurses, numactl, openssl, protobuf, valgrind, xxd, zlib , perlPackages +, version, sha256, extraPatches ? [], extraPostInstall ? "", ... }: stdenv.mkDerivation rec { pname = "percona-xtrabackup"; - version = "2.4.20"; + inherit version; src = fetchFromGitHub { owner = "percona"; repo = "percona-xtrabackup"; rev = "${pname}-${version}"; - sha256 = "0awdpkcgvx2aq7pwxy8jyzkin6cyrrh3d576x9ldm851kis9n5ii"; + inherit sha256; }; nativeBuildInputs = [ bison boost cmake makeWrapper pkgconfig ]; @@ -22,6 +23,8 @@ stdenv.mkDerivation rec { ncurses numactl openssl protobuf valgrind xxd zlib ] ++ (with perlPackages; [ perl DBI DBDmysql ]); + patches = extraPatches; + cmakeFlags = [ "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock" "-DBUILD_CONFIG=xtrabackup_release" @@ -43,7 +46,7 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram "$out"/bin/xtrabackup --prefix PERL5LIB : $PERL5LIB rm -r "$out"/lib/plugin/debug - ''; + '' + extraPostInstall; meta = with stdenv.lib; { description = "Non-blocking backup tool for MySQL"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 474b1079252..f98faff0dae 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5902,9 +5902,13 @@ in perceptualdiff = callPackage ../tools/graphics/perceptualdiff { }; - percona-xtrabackup = callPackage ../tools/backup/percona-xtrabackup { + percona-xtrabackup = percona-xtrabackup_8_0; + percona-xtrabackup_2_4 = callPackage ../tools/backup/percona-xtrabackup/2_4.nix { boost = boost159; }; + percona-xtrabackup_8_0 = callPackage ../tools/backup/percona-xtrabackup/8_0.nix { + boost = boost170; + }; pick = callPackage ../tools/misc/pick { };