diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/misc/btrfs-assistant/default.nix')
-rw-r--r-- | nixpkgs/pkgs/tools/misc/btrfs-assistant/default.nix | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/misc/btrfs-assistant/default.nix b/nixpkgs/pkgs/tools/misc/btrfs-assistant/default.nix new file mode 100644 index 000000000000..936409c3c019 --- /dev/null +++ b/nixpkgs/pkgs/tools/misc/btrfs-assistant/default.nix @@ -0,0 +1,89 @@ +{ lib +, stdenv +, fetchFromGitLab +, bash +, btrfs-progs +, cmake +, coreutils +, git +, pkg-config +, qtbase +, qtsvg +, qttools +, snapper +, util-linux +, wrapQtAppsHook +, enableSnapper ? true +}: + +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' "${lib.getExe bash}" + '' + + lib.optionalString enableSnapper '' + substituteInPlace src/main.cpp \ + --replace '/usr/bin/snapper' "${lib.getExe 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" + '' + + lib.optionalString enableSnapper '' + substituteInPlace src/btrfs-assistant.conf \ + --replace '/usr/bin/snapper' "${lib.getExe snapper}" + ''; + + qtWrapperArgs = + let + runtimeDeps = lib.makeBinPath ([ + coreutils + util-linux + ] + ++ lib.optionals enableSnapper [ snapper ]); + in + [ + "--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; + }; +}) |