about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/backup
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/backup')
-rw-r--r--nixpkgs/pkgs/tools/backup/android-backup-extractor/default.nix38
-rw-r--r--nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/mylvmbackup/default.nix50
-rw-r--r--nixpkgs/pkgs/tools/backup/zfs-autobackup/default.nix33
4 files changed, 123 insertions, 2 deletions
diff --git a/nixpkgs/pkgs/tools/backup/android-backup-extractor/default.nix b/nixpkgs/pkgs/tools/backup/android-backup-extractor/default.nix
new file mode 100644
index 000000000000..8572efe6107f
--- /dev/null
+++ b/nixpkgs/pkgs/tools/backup/android-backup-extractor/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, lib
+, fetchurl
+, makeWrapper
+, jre
+}:
+
+stdenv.mkDerivation rec {
+  pname = "android-backup-extractor";
+  version = "20210909062443-4c55371";
+
+  src = fetchurl {
+    url = "https://github.com/nelenkov/android-backup-extractor/releases/download/${version}/abe.jar";
+    sha256 = "0ms241kb4h9y9apr637sb4kw5mml40c1ac0q4jcxhnwr3dr05w1q";
+  };
+
+  dontUnpack = true;
+  dontConfigure = true;
+  dontBuild = true;
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildInputs = [ jre ];
+
+  installPhase = ''
+    runHook preInstall
+    install -D $src $out/lib/android-backup-extractor/abe.jar
+    makeWrapper ${jre}/bin/java $out/bin/abe --add-flags "-cp $out/lib/android-backup-extractor/abe.jar org.nick.abe.Main"
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Utility to extract and repack Android backups created with adb backup";
+    homepage = "https://github.com/nelenkov/android-backup-extractor";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ prusnak ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix b/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix
index 9cf489c4db5d..fe7b041b1533 100644
--- a/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix
+++ b/nixpkgs/pkgs/tools/backup/discordchatexporter-cli/default.nix
@@ -7,13 +7,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "discordchatexporter-cli";
-  version = "2.30";
+  version = "2.30.1";
 
   src = fetchFromGitHub {
     owner = "tyrrrz";
     repo = "discordchatexporter";
     rev = version;
-    sha256 = "uTOeRsEab4vaAwtfysUTM3xFP5UMxpUQnuuU8hv3nk8=";
+    sha256 = "JSYIhd+DNVOKseHtWNNChECR5hKr+ntu1Yyqtnlg8rM=";
   };
 
   nativeBuildInputs = [ dotnet-sdk_5 dotnetPackages.Nuget cacert makeWrapper autoPatchelfHook ];
diff --git a/nixpkgs/pkgs/tools/backup/mylvmbackup/default.nix b/nixpkgs/pkgs/tools/backup/mylvmbackup/default.nix
new file mode 100644
index 000000000000..6c87fca05672
--- /dev/null
+++ b/nixpkgs/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 = "https://www.lenzg.net/mylvmbackup/${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/nixpkgs/pkgs/tools/backup/zfs-autobackup/default.nix b/nixpkgs/pkgs/tools/backup/zfs-autobackup/default.nix
new file mode 100644
index 000000000000..f6a684084661
--- /dev/null
+++ b/nixpkgs/pkgs/tools/backup/zfs-autobackup/default.nix
@@ -0,0 +1,33 @@
+{ lib, python3Packages }:
+
+let
+  pythonPackages = python3Packages;
+
+in
+pythonPackages.buildPythonApplication rec {
+  pname = "zfs_autobackup";
+  version = "3.1";
+
+  src = pythonPackages.fetchPypi {
+    inherit pname version;
+    sha256 = "42c22001717b3d7cfdae6297fedc11b2dd1eb2a4bd25b6bb1c9232dd3b70ad67";
+  };
+
+  # argparse is part of the standardlib
+  prePatch = ''
+    substituteInPlace setup.py --replace "argparse" ""
+  '';
+
+  propagatedBuildInputs = with pythonPackages; [ colorama ];
+
+  # tests need zfs filesystem
+  doCheck = false;
+  pythonImportsCheck = [ "colorama" "argparse" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/psy0rz/zfs_autobackup";
+    description = "ZFS backup, replicationand snapshot tool";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ mschneider ];
+  };
+}