summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Horstman <khaneliman12@gmail.com>2023-07-28 14:10:31 -0500
committerAustin Horstman <khaneliman12@gmail.com>2023-08-10 14:31:10 -0500
commit865b87200e81b6c590956d45062fe91a6e798971 (patch)
treef769c8d414bb7fc3dc7ebb62683a0af28bc0b510
parentMerge pull request #248393 from liff/dsq-mainProgram (diff)
downloadnixpkgs-865b87200e81b6c590956d45062fe91a6e798971.tar.gz
btrfs-assistant: init at 1.8
-rw-r--r--pkgs/tools/misc/btrfs-assistant/default.nix86
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 88 insertions, 0 deletions
diff --git a/pkgs/tools/misc/btrfs-assistant/default.nix b/pkgs/tools/misc/btrfs-assistant/default.nix
new file mode 100644
index 000000000000..4a1012dab2c6
--- /dev/null
+++ b/pkgs/tools/misc/btrfs-assistant/default.nix
@@ -0,0 +1,86 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, bash
+, btrfs-progs
+, cmake
+, coreutils
+, git
+, pkg-config
+, qtbase
+, qtsvg
+, qttools
+, snapper
+, util-linux
+, wrapQtAppsHook
+}:
+
+let
+ runtimeDeps = lib.makeBinPath [
+ coreutils
+ snapper
+ util-linux
+ ];
+
+in
+stdenv.mkDerivation (finalAttrs: {
+ pname = "btrfs-assistant";
+ version = "1.8";
+
+ src = fetchFromGitLab {
+ owner = "btrfs-assistant";
+ repo = "btrfs-assistant";
+ rev = finalAttrs.version;
+ hash = "sha256-Ay2wxDVue+tG09RgAo4Zg2ktlq6dk7GdIwAlbuVULB4=";
+ };
+
+ nativeBuildInputs = [
+ cmake
+ git
+ pkg-config
+ ];
+
+ buildInputs = [
+ btrfs-progs
+ qtbase
+ qtsvg
+ qttools
+ ];
+
+ propagatedBuildInputs = [ wrapQtAppsHook ];
+
+ prePatch = ''
+ substituteInPlace src/util/System.cpp \
+ --replace '/bin/bash' "${bash}/bin/bash"
+
+ substituteInPlace src/main.cpp \
+ --replace '/usr/bin/snapper' "${snapper}/bin/snapper"
+ '';
+
+ postPatch = ''
+ substituteInPlace src/org.btrfs-assistant.pkexec.policy \
+ --replace '/usr/bin' "$out/bin"
+
+ substituteInPlace src/btrfs-assistant \
+ --replace 'btrfs-assistant-bin' "$out/bin/btrfs-assistant-bin"
+
+ substituteInPlace src/btrfs-assistant-launcher \
+ --replace 'btrfs-assistant' "$out/bin/btrfs-assistant"
+
+ substituteInPlace src/btrfs-assistant.conf \
+ --replace '/usr/bin/snapper' "${snapper}/bin/snapper"
+ '';
+
+ qtWrapperArgs = [
+ "--prefix PATH : ${runtimeDeps}"
+ ];
+
+ meta = {
+ description = "A GUI management tool to make managing a Btrfs filesystem easier";
+ homepage = "https://gitlab.com/btrfs-assistant/btrfs-assistant";
+ license = lib.licenses.gpl3Only;
+ mainProgram = "btrfs-assistant-bin";
+ maintainers = with lib.maintainers; [ khaneliman ];
+ platforms = lib.platforms.linux;
+ };
+})
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e753db16eba5..58c0e597c4e5 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3460,6 +3460,8 @@ with pkgs;
boulder = callPackage ../tools/admin/boulder { };
+ btrfs-assistant = libsForQt5.callPackage ../tools/misc/btrfs-assistant { };
+
btrfs-heatmap = callPackage ../tools/filesystems/btrfs-heatmap { };
bucklespring = bucklespring-x11;