Merge pull request #30093 from jtojnar/deja-dup

Dejà Dup: init at 36.1

authored by Graham Christensen and committed by GitHub b6514ff3 5c7cc53c

+100 -3
+83
pkgs/applications/backup/deja-dup/default.nix
··· 1 + { stdenv, fetchurl, meson, ninja, pkgconfig, vala_0_38, gettext 2 + , gnome3, libnotify, intltool, itstool, glib, gtk3, libxml2 3 + , coreutils, libsecret, pcre, libxkbcommon, wrapGAppsHook 4 + , libpthreadstubs, libXdmcp, epoxy, at_spi2_core, dbus, libgpgerror 5 + , appstream-glib, desktop_file_utils, atk, pango, duplicity 6 + }: 7 + 8 + stdenv.mkDerivation rec { 9 + name = "deja-dup-${version}"; 10 + version = "36.1"; 11 + 12 + src = fetchurl { 13 + url = "https://launchpad.net/deja-dup/36/${version}/+download/deja-dup-${version}.tar.xz"; 14 + sha256 = "1s48k2sxrpwkzp37s4x7934lyg5194c47nv9ks15rksd5s0alnld"; 15 + }; 16 + 17 + patches = [ 18 + ./fix-paths.patch 19 + ]; 20 + 21 + postPatch = '' 22 + substituteInPlace libdeja/tools/duplicity/DuplicityInstance.vala --replace \ 23 + "/bin/rm" \ 24 + "${coreutils}/bin/rm" 25 + ''; 26 + 27 + # couldn't find gio/gdesktopappinfo.h 28 + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; 29 + 30 + nativeBuildInputs = [ 31 + meson ninja pkgconfig vala_0_38 gettext intltool itstool 32 + appstream-glib desktop_file_utils libxml2 wrapGAppsHook 33 + ]; 34 + 35 + buildInputs = [ 36 + libnotify gnome3.libpeas glib gtk3 libsecret 37 + pcre libxkbcommon libpthreadstubs libXdmcp epoxy gnome3.nautilus 38 + at_spi2_core dbus gnome3.gnome_online_accounts libgpgerror 39 + ]; 40 + 41 + propagatedUserEnvPkgs = [ duplicity ]; 42 + 43 + postInstall = '' 44 + glib-compile-schemas $out/share/glib-2.0/schemas 45 + ''; 46 + 47 + # Manual rpath definition until https://github.com/mesonbuild/meson/issues/314 is fixed 48 + postFixup = 49 + let 50 + rpath = stdenv.lib.makeLibraryPath [ 51 + glib 52 + gtk3 53 + gnome3.gnome_online_accounts 54 + gnome3.libpeas 55 + gnome3.nautilus 56 + libgpgerror 57 + libsecret 58 + # Transitive 59 + atk 60 + pango 61 + ]; 62 + in '' 63 + # Unwrap accidentally wrapped library 64 + mv $out/libexec/deja-dup/tools/.libduplicity.so-wrapped $out/libexec/deja-dup/tools/libduplicity.so 65 + 66 + 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 67 + patchelf --set-rpath '${rpath}':"$out/lib/deja-dup" "$elf" 68 + done 69 + ''; 70 + 71 + meta = with stdenv.lib; { 72 + description = "A simple backup tool"; 73 + longDescription = '' 74 + Déjà Dup is a simple backup tool. It hides the complexity \ 75 + of backing up the Right Way (encrypted, off-site, and regular) \ 76 + and uses duplicity as the backend. 77 + ''; 78 + homepage = https://launchpad.net/deja-dup; 79 + license = with licenses; gpl3; 80 + maintainers = with maintainers; [ jtojnar ]; 81 + platforms = with platforms; linux; 82 + }; 83 + }
+12
pkgs/applications/backup/deja-dup/fix-paths.patch
··· 1 + diff --git a/deja-dup/nautilus/meson.build b/deja-dup/nautilus/meson.build 2 + index 04b136f3..ed8f7cba 100644 3 + --- a/deja-dup/nautilus/meson.build 4 + +++ b/deja-dup/nautilus/meson.build 5 + @@ -31,6 +31,6 @@ shared_module('deja-dup', ['NautilusExtension.c'], 6 + link_with: [dirhandling], 7 + dependencies: [nautilus_dep], 8 + install: true, 9 + - install_dir: nautilus_dep.get_pkgconfig_variable('extensiondir')) 10 + + install_dir: join_paths(get_option('libdir'), 'nautilus', 'extensions-3.0')) 11 + 12 + endif
+2 -2
pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix
··· 1 - { stdenv, fetchurl, pkgconfig, glib, libxslt, gtk, wrapGAppsHook 1 + { stdenv, fetchurl, pkgconfig, vala, glib, libxslt, gtk, wrapGAppsHook 2 2 , webkitgtk, json_glib, rest, libsecret, dbus_glib, gnome_common 3 3 , telepathy_glib, intltool, dbus_libs, icu, glib_networking 4 4 , libsoup, docbook_xsl_ns, docbook_xsl, gnome3 ··· 12 12 enableParallelBuilding = true; 13 13 14 14 buildInputs = [ pkgconfig glib libxslt gtk webkitgtk json_glib rest gnome_common wrapGAppsHook 15 - libsecret dbus_glib telepathy_glib glib_networking intltool icu libsoup 15 + libsecret dbus_glib telepathy_glib glib_networking intltool icu libsoup vala 16 16 docbook_xsl_ns docbook_xsl gnome3.defaultIconTheme ]; 17 17 18 18 meta = with stdenv.lib; {
+1 -1
pkgs/tools/backup/duplicity/default.nix
··· 11 11 12 12 buildInputs = [ librsync makeWrapper python2Packages.wrapPython ]; 13 13 propagatedBuildInputs = with python2Packages; [ 14 - boto cffi cryptography ecdsa enum idna 14 + boto cffi cryptography ecdsa enum idna pygobject3 15 15 ipaddress lockfile paramiko pyasn1 pycrypto six 16 16 ]; 17 17 checkInputs = with python2Packages; [ lockfile mock pexpect ];
+2
pkgs/top-level/all-packages.nix
··· 951 951 952 952 deisctl = callPackage ../development/tools/deisctl {}; 953 953 954 + deja-dup = callPackage ../applications/backup/deja-dup { }; 955 + 954 956 devmem2 = callPackage ../os-specific/linux/devmem2 { }; 955 957 956 958 dbus-broker = callPackage ../os-specific/linux/dbus-broker {};