vuls: init at 0.27.0 (#348530)
[NixPkgs.git] / pkgs / by-name / bt / btrfs-assistant / package.nix
blobfce0bd8fc6eb7b45c756fb7d9da20dbd6c18fb4e
2   lib,
3   stdenv,
4   fetchFromGitLab,
5   bash,
6   btrfs-progs,
7   cmake,
8   coreutils,
9   git,
10   pkg-config,
11   qt6,
12   snapper,
13   util-linux,
14   enableSnapper ? true,
15   nix-update-script,
18 stdenv.mkDerivation (finalAttrs: {
19   pname = "btrfs-assistant";
20   version = "2.1.1";
22   src = fetchFromGitLab {
23     owner = "btrfs-assistant";
24     repo = "btrfs-assistant";
25     rev = finalAttrs.version;
26     hash = "sha256-I4nbQmHwk84qN1SngKzKnPtQN5Dz1QSSEpHJxV8wkJw=";
27   };
29   nativeBuildInputs = [
30     cmake
31     git
32     pkg-config
33     qt6.wrapQtAppsHook
34   ];
36   buildInputs = [
37     btrfs-progs
38     coreutils
39     qt6.qtbase
40     qt6.qtsvg
41     qt6.qttools
42     qt6.qtwayland
43     util-linux
44   ] ++ lib.optionals enableSnapper [ snapper ];
46   prePatch =
47     ''
48       substituteInPlace src/util/System.cpp \
49         --replace-fail '/bin/bash' "${lib.getExe bash}"
51       substituteInPlace src/main.cpp \
52         --replace-fail 'if (!qEnvironmentVariableIsEmpty("DISPLAY"))' ' if(!qEnvironmentVariableIsEmpty("DISPLAY") || !qEnvironmentVariableIsEmpty("WAYLAND_DISPLAY"))'
53     ''
54     + lib.optionalString enableSnapper ''
55       substituteInPlace src/main.cpp \
56         --replace-fail '/usr/bin/snapper' "${lib.getExe snapper}"
57     '';
59   postPatch =
60     ''
61       substituteInPlace src/org.btrfs-assistant.pkexec.policy \
62         --replace-fail '/usr/bin' "$out/bin"
64       substituteInPlace src/btrfs-assistant \
65         --replace-fail 'btrfs-assistant-bin' "$out/bin/btrfs-assistant-bin"
67       substituteInPlace src/btrfs-assistant-launcher \
68         --replace-fail 'btrfs-assistant' "$out/bin/btrfs-assistant"
69     ''
70     + lib.optionalString enableSnapper ''
71       substituteInPlace src/btrfs-assistant.conf \
72         --replace-fail '/usr/bin/snapper' "${lib.getExe snapper}"
73     '';
75   passthru.updateScript = nix-update-script { };
77   meta = {
78     description = "GUI management tool to make managing a Btrfs filesystem easier";
79     homepage = "https://gitlab.com/btrfs-assistant/btrfs-assistant";
80     license = lib.licenses.gpl3Only;
81     mainProgram = "btrfs-assistant-bin";
82     maintainers = with lib.maintainers; [ khaneliman ];
83     platforms = lib.platforms.linux;
84   };