summaryrefslogtreecommitdiffstats
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)
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 000000000000..4d3a9a385d64
--- /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 000000000000..1cc57e6a54a2
--- /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