summary refs log tree commit diff
path: root/pkgs/applications/backup
diff options
context:
space:
mode:
authorpasqui23 <p3dimaria@hotmail.it>2017-10-04 12:04:49 +0200
committerJan Tojnar <jtojnar@gmail.com>2017-10-05 13:42:09 +0200
commitd16b7191c3dd2e5cfe64e41f64674a7190d0ccf3 (patch)
treef433528212a362d9e5d0bc5b44d272ed4dfdd56d /pkgs/applications/backup
parent1713479f85e9eb7abcb0efb1be54fc5a44163ad2 (diff)
downloadnixpkgs-d16b7191c3dd2e5cfe64e41f64674a7190d0ccf3.tar
nixpkgs-d16b7191c3dd2e5cfe64e41f64674a7190d0ccf3.tar.gz
nixpkgs-d16b7191c3dd2e5cfe64e41f64674a7190d0ccf3.tar.bz2
nixpkgs-d16b7191c3dd2e5cfe64e41f64674a7190d0ccf3.tar.lz
nixpkgs-d16b7191c3dd2e5cfe64e41f64674a7190d0ccf3.tar.xz
nixpkgs-d16b7191c3dd2e5cfe64e41f64674a7190d0ccf3.tar.zst
nixpkgs-d16b7191c3dd2e5cfe64e41f64674a7190d0ccf3.zip
deja-dup: init at 36.1
Diffstat (limited to 'pkgs/applications/backup')
-rw-r--r--pkgs/applications/backup/deja-dup/default.nix83
-rw-r--r--pkgs/applications/backup/deja-dup/fix-paths.patch12
2 files changed, 95 insertions, 0 deletions
diff --git a/pkgs/applications/backup/deja-dup/default.nix b/pkgs/applications/backup/deja-dup/default.nix
new file mode 100644
index 00000000000..4d3a9a385d6
--- /dev/null
+++ b/pkgs/applications/backup/deja-dup/default.nix
@@ -0,0 +1,83 @@
+{ stdenv, fetchurl, meson, ninja, pkgconfig, vala_0_38, gettext
+, gnome3, libnotify, intltool, itstool, glib, gtk3, libxml2
+, coreutils, libsecret, pcre, libxkbcommon, wrapGAppsHook
+, libpthreadstubs, libXdmcp, epoxy, at_spi2_core, dbus, libgpgerror
+, appstream-glib, desktop_file_utils, atk, pango, duplicity
+}:
+
+stdenv.mkDerivation rec {
+  name = "deja-dup-${version}";
+  version = "36.1";
+
+  src = fetchurl {
+    url = "https://launchpad.net/deja-dup/36/${version}/+download/deja-dup-${version}.tar.xz";
+    sha256 = "1s48k2sxrpwkzp37s4x7934lyg5194c47nv9ks15rksd5s0alnld";
+  };
+
+  patches = [
+    ./fix-paths.patch
+  ];
+
+  postPatch = ''
+    substituteInPlace libdeja/tools/duplicity/DuplicityInstance.vala --replace \
+      "/bin/rm" \
+      "${coreutils}/bin/rm"
+  '';
+
+  # couldn't find gio/gdesktopappinfo.h
+  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
+
+  nativeBuildInputs = [
+    meson ninja pkgconfig vala_0_38 gettext intltool itstool
+    appstream-glib desktop_file_utils libxml2 wrapGAppsHook
+  ];
+
+  buildInputs = [
+   libnotify gnome3.libpeas glib gtk3 libsecret
+   pcre libxkbcommon libpthreadstubs libXdmcp epoxy gnome3.nautilus
+   at_spi2_core dbus gnome3.gnome_online_accounts libgpgerror
+  ];
+
+  propagatedUserEnvPkgs = [ duplicity ];
+
+  postInstall = ''
+    glib-compile-schemas $out/share/glib-2.0/schemas
+  '';
+
+  # Manual rpath definition until https://github.com/mesonbuild/meson/issues/314 is fixed
+  postFixup =
+    let
+      rpath = stdenv.lib.makeLibraryPath [
+        glib
+        gtk3
+        gnome3.gnome_online_accounts
+        gnome3.libpeas
+        gnome3.nautilus
+        libgpgerror
+        libsecret
+        # Transitive
+        atk
+        pango
+      ];
+    in ''
+      # Unwrap accidentally wrapped library
+      mv $out/libexec/deja-dup/tools/.libduplicity.so-wrapped $out/libexec/deja-dup/tools/libduplicity.so
+
+      for elf in "$out"/bin/.*-wrapped "$out"/libexec/deja-dup/.deja-dup-monitor-wrapped "$out"/libexec/deja-dup/tools/*.so "$out"/lib/deja-dup/*.so "$out"/lib/nautilus/extensions-3.0/*.so; do
+        patchelf --set-rpath '${rpath}':"$out/lib/deja-dup" "$elf"
+      done
+    '';
+
+  meta = with stdenv.lib; {
+    description = "A simple backup tool";
+    longDescription = ''
+      Déjà Dup is a simple backup tool. It hides the complexity \
+      of backing up the Right Way (encrypted, off-site, and regular) \
+      and uses duplicity as the backend.
+    '';
+    homepage = https://launchpad.net/deja-dup;
+    license = with licenses; gpl3;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/applications/backup/deja-dup/fix-paths.patch b/pkgs/applications/backup/deja-dup/fix-paths.patch
new file mode 100644
index 00000000000..1cc57e6a54a
--- /dev/null
+++ b/pkgs/applications/backup/deja-dup/fix-paths.patch
@@ -0,0 +1,12 @@
+diff --git a/deja-dup/nautilus/meson.build b/deja-dup/nautilus/meson.build
+index 04b136f3..ed8f7cba 100644
+--- a/deja-dup/nautilus/meson.build
++++ b/deja-dup/nautilus/meson.build
+@@ -31,6 +31,6 @@ shared_module('deja-dup', ['NautilusExtension.c'],
+     link_with: [dirhandling],
+     dependencies: [nautilus_dep],
+     install: true,
+-    install_dir: nautilus_dep.get_pkgconfig_variable('extensiondir'))
++    install_dir: join_paths(get_option('libdir'), 'nautilus', 'extensions-3.0'))
+ 
+ endif