From f7574a5c8fefd86b50def1827eadb9b8cb266ffd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 14 Mar 2021 13:12:11 +0100 Subject: [PATCH] pika-backup: init at 0.2.1 (#115573) --- .../backup/pika-backup/borg-path.patch | 13 ++++ .../backup/pika-backup/default.nix | 77 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 92 insertions(+) create mode 100644 pkgs/applications/backup/pika-backup/borg-path.patch create mode 100644 pkgs/applications/backup/pika-backup/default.nix 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 { };