From 427a928f6c6482a12c3b24a9dee9bc6d036e88c9 Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Sun, 31 Aug 2025 19:20:13 -0600 Subject: [PATCH] trivionomicon/pkgs: add snapborg --- pkgs/default.nix | 1 + ...Remove-env-arg-from-subprocess-calls.patch | 29 ++++++++++++++++ pkgs/snapborg/default.nix | 34 +++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 pkgs/snapborg/0001-Remove-env-arg-from-subprocess-calls.patch create mode 100644 pkgs/snapborg/default.nix diff --git a/pkgs/default.nix b/pkgs/default.nix index 484ca77..4a275a3 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -5,5 +5,6 @@ in { override = {}; athena-bccr = callPackage ./athena-bccr {}; + snapborg = final.python3Packages.callPackage ./snapborg {}; spliit = callPackage ./spliit {}; } diff --git a/pkgs/snapborg/0001-Remove-env-arg-from-subprocess-calls.patch b/pkgs/snapborg/0001-Remove-env-arg-from-subprocess-calls.patch new file mode 100644 index 0000000..33f7a0c --- /dev/null +++ b/pkgs/snapborg/0001-Remove-env-arg-from-subprocess-calls.patch @@ -0,0 +1,29 @@ +From c363931656938f9cc3354b8e2797fe9abac1b0e3 Mon Sep 17 00:00:00 2001 +From: Alejandro Soto +Date: Sun, 31 Aug 2025 13:30:45 -0600 +Subject: [PATCH] Remove "env" arg from subprocess calls + +--- + snapborg/borg.py | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/snapborg/borg.py b/snapborg/borg.py +index 89a3d84..b74ddf7 100644 +--- a/snapborg/borg.py ++++ b/snapborg/borg.py +@@ -173,11 +173,10 @@ def launch_borg(args, password=None, print_output=False, dryrun=False, cwd=None) + # TODO: parse output from JSON log lines + try: + if print_output: +- subprocess.run(cmd, env=env, check=True, cwd=cwd) ++ subprocess.run(cmd, check=True, cwd=cwd) + else: + subprocess.check_output(cmd, + stderr=subprocess.STDOUT, +- env=env, + cwd=cwd) + except CalledProcessError as e: + if e.returncode == 1: +-- +2.49.0 + diff --git a/pkgs/snapborg/default.nix b/pkgs/snapborg/default.nix new file mode 100644 index 0000000..271be5c --- /dev/null +++ b/pkgs/snapborg/default.nix @@ -0,0 +1,34 @@ +{ + borgbackup, + buildPythonApplication, + fetchFromGitHub, + lib, + packaging, + pyyaml, +}: +buildPythonApplication { + pname = "snapborg"; + version = "0.1.0-unstable-20250331"; + + src = fetchFromGitHub { + repo = "snapborg"; + owner = "enzingerm"; + + rev = "7e860395319f995161a6e0c7954ce47635e3cd59"; + hash = "sha256-RzYL4IHulk1Q/ALWFs6YCTeCO8ohwqXH2NMHRctRVSA="; + }; + + patches = [ + ./0001-Remove-env-arg-from-subprocess-calls.patch # Fixes broken $PATH when calling borg + ]; + + propagatedBuildInputs = [ + borgbackup + packaging + pyyaml + ]; + + preFixup = '' + makeWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [borgbackup]}) + ''; +}