diff --git a/pkgs/tools/backup/mylvmbackup/default.nix b/pkgs/tools/backup/mylvmbackup/default.nix new file mode 100644 index 0000000000000..ba25c56c28fec --- /dev/null +++ b/pkgs/tools/backup/mylvmbackup/default.nix @@ -0,0 +1,50 @@ +{ lib +, stdenv +, fetchurl +, perlPackages +, makeWrapper +}: + +stdenv.mkDerivation rec { + pname = "mylvmbackup"; + version = "0.16"; + + src = fetchurl { + url = "${meta.homepage}/${pname}-${version}.tar.gz"; + sha256 = "sha256-vb7M3EPIrxIz6jUwm241fzaEz2czqdCObrFgSOSgJRU="; + }; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ perlPackages.perl ]; + + dontConfigure = true; + + postPatch = '' + patchShebangs mylvmbackup + substituteInPlace Makefile \ + --replace "prefix = /usr/local" "prefix = ${builtins.placeholder "out"}" \ + --replace "sysconfdir = /etc" "sysconfdir = ${builtins.placeholder "out"}/etc" \ + --replace "/usr/bin/install" "install" + ''; + + postInstall = '' + wrapProgram "$out/bin/mylvmbackup" \ + --prefix PERL5LIB : "${perlPackages.makePerlPath ( + with perlPackages; [ + ConfigIniFiles + DBDmysql + DBI + TimeDate + FileCopyRecursive + ] + )}" + ''; + + meta = { + homepage = "https://www.lenzg.net/mylvmbackup/"; + description = "a tool for quickly creating full physical backups of a MySQL server's data files"; + license = lib.licenses.gpl2Only; + maintainers = with lib.maintainers; [ ryantm ]; + platforms = with lib.platforms; linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c62858ae99a3d..5559bf7d48240 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7319,6 +7319,8 @@ with pkgs; mydumper = callPackage ../tools/backup/mydumper { }; + mylvmbackup = callPackage ../tools/backup/mylvmbackup { }; + mysql2pgsql = callPackage ../tools/misc/mysql2pgsql { }; mysqltuner = callPackage ../tools/misc/mysqltuner { };