summary refs log tree commit diff
diff options
context:
space:
mode:
authorRobert Schütz <dev@schuetz-co.de>2021-03-14 13:12:11 +0100
committerGitHub <noreply@github.com>2021-03-14 13:12:11 +0100
commitf7574a5c8fefd86b50def1827eadb9b8cb266ffd (patch)
tree28ca9a054ce73c92be050625f8f0087f4e8cd8c6
parent5bf3230f6b26baa313a5300ad000e5c6a98db257 (diff)
downloadnixpkgs-f7574a5c8fefd86b50def1827eadb9b8cb266ffd.tar
nixpkgs-f7574a5c8fefd86b50def1827eadb9b8cb266ffd.tar.gz
nixpkgs-f7574a5c8fefd86b50def1827eadb9b8cb266ffd.tar.bz2
nixpkgs-f7574a5c8fefd86b50def1827eadb9b8cb266ffd.tar.lz
nixpkgs-f7574a5c8fefd86b50def1827eadb9b8cb266ffd.tar.xz
nixpkgs-f7574a5c8fefd86b50def1827eadb9b8cb266ffd.tar.zst
nixpkgs-f7574a5c8fefd86b50def1827eadb9b8cb266ffd.zip
pika-backup: init at 0.2.1 (#115573)
-rw-r--r--pkgs/applications/backup/pika-backup/borg-path.patch13
-rw-r--r--pkgs/applications/backup/pika-backup/default.nix77
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 92 insertions, 0 deletions
diff --git a/pkgs/applications/backup/pika-backup/borg-path.patch b/pkgs/applications/backup/pika-backup/borg-path.patch
new file mode 100644
index 00000000000..c4ed649ffc9
--- /dev/null
+++ b/pkgs/applications/backup/pika-backup/borg-path.patch
@@ -0,0 +1,13 @@
+diff --git a/src/borg/utils.rs b/src/borg/utils.rs
+index 4e30913..30d7d6f 100644
+--- a/src/borg/utils.rs
++++ b/src/borg/utils.rs
+@@ -223,7 +223,7 @@ impl BorgCall {
+     }
+ 
+     pub fn cmd(&self) -> Command {
+-        let mut cmd = Command::new("borg");
++        let mut cmd = Command::new("@borg@");
+ 
+         cmd.args(self.args())
+             .stderr(Stdio::piped())
diff --git a/pkgs/applications/backup/pika-backup/default.nix b/pkgs/applications/backup/pika-backup/default.nix
new file mode 100644
index 00000000000..51f00d021c3
--- /dev/null
+++ b/pkgs/applications/backup/pika-backup/default.nix
@@ -0,0 +1,77 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, rustPlatform
+, substituteAll
+, desktop-file-utils
+, meson
+, ninja
+, pkg-config
+, python3
+, wrapGAppsHook
+, borgbackup
+, dbus
+, gdk-pixbuf
+, glib
+, gtk3
+, libhandy
+}:
+
+stdenv.mkDerivation rec {
+  pname = "pika-backup";
+  version = "0.2.1";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "World";
+    repo = "pika-backup";
+    rev = "v${version}";
+    sha256 = "0fm6vwpw0pa98v2yn8p3818rrlv9lk3pmgnal1b2kh52im5ll7m8";
+  };
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "${pname}-${version}";
+    sha256 = "1f5s6a0wjrs2spsicirhbvb5xlz9iflwsaqchij9k02hfcsr308y";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./borg-path.patch;
+      borg = "${borgbackup}/bin/borg";
+    })
+  ];
+
+  postPatch = ''
+    patchShebangs build-aux
+  '';
+
+  nativeBuildInputs = [
+    desktop-file-utils
+    meson
+    ninja
+    pkg-config
+    python3
+    wrapGAppsHook
+  ] ++ (with rustPlatform; [
+    cargoSetupHook
+    rust.cargo
+    rust.rustc
+  ]);
+
+  buildInputs = [
+    dbus
+    gdk-pixbuf
+    glib
+    gtk3
+    libhandy
+  ];
+
+  meta = with lib; {
+    description = "Simple backups based on borg";
+    homepage = "https://wiki.gnome.org/Apps/PikaBackup";
+    changelog = "https://gitlab.gnome.org/World/pika-backup/-/blob/v${version}/CHANGELOG.md";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 26f4e09ccea..4f1fa0ef77e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -24658,6 +24658,8 @@ in
 
   pidgin-window-merge = callPackage ../applications/networking/instant-messengers/pidgin-plugins/window-merge { };
 
+  pika-backup = callPackage ../applications/backup/pika-backup { };
+
   purple-discord = callPackage ../applications/networking/instant-messengers/pidgin-plugins/purple-discord { };
 
   purple-hangouts = callPackage ../applications/networking/instant-messengers/pidgin-plugins/purple-hangouts { };