vuls: init at 0.27.0 (#348530)
[NixPkgs.git] / pkgs / applications / backup / deja-dup / default.nix
blobbaeb123988a4638bacc7efd4d32037960b2a0637
1 { lib, stdenv
2 , fetchFromGitLab
3 , substituteAll
4 , meson
5 , ninja
6 , pkg-config
7 , vala
8 , gettext
9 , itstool
10 , desktop-file-utils
11 , glib
12 , gtk4
13 , coreutils
14 , libsoup_3
15 , libsecret
16 , libadwaita
17 , wrapGAppsHook4
18 , libgpg-error
19 , json-glib
20 , duplicity
21 , rclone
24 stdenv.mkDerivation (finalAttrs: {
25   pname = "deja-dup";
26   version = "46.1";
28   src = fetchFromGitLab {
29     domain = "gitlab.gnome.org";
30     owner = "World";
31     repo = "deja-dup";
32     rev = finalAttrs.version;
33     hash = "sha256-tKVY0wewBDx0AMzmTdko8vGg5bNGfYohgcSDg5Oky30=";
34   };
36   patches = [
37     (substituteAll {
38       src = ./fix-paths.patch;
39       inherit coreutils;
40     })
41   ];
43   nativeBuildInputs = [
44     meson
45     ninja
46     pkg-config
47     vala
48     gettext
49     itstool
50     desktop-file-utils
51     wrapGAppsHook4
52   ];
54   buildInputs = [
55     libsoup_3
56     glib
57     gtk4
58     libsecret
59     libadwaita
60     libgpg-error
61     json-glib
62   ];
64   mesonFlags = [
65     "-Dduplicity_command=${lib.getExe duplicity}"
66     "-Drclone_command=${lib.getExe rclone}"
67   ];
69   preFixup = ''
70     gappsWrapperArgs+=(
71       # Required by duplicity
72       --prefix PATH : "${lib.makeBinPath [ rclone ]}"
73     )
74   '';
76   meta = with lib; {
77     description = "Simple backup tool";
78     longDescription = ''
79       Déjà Dup is a simple backup tool. It hides the complexity \
80       of backing up the Right Way (encrypted, off-site, and regular) \
81       and uses duplicity as the backend.
82     '';
83     homepage = "https://apps.gnome.org/DejaDup/";
84     license = licenses.gpl3Plus;
85     maintainers = with maintainers; [ jtojnar ];
86     platforms = platforms.linux;
87     mainProgram = "deja-dup";
88   };