gnu: gnome: Add deja-dup.
* gnu/packages/gnome.scm (deja-dup): New variable. * gnu/packages/patches/deja-dup-use-ref-keyword-for-iter.patch: New file. * gnu/local.mk (dist_patch_DATA): Add patch file entry.
This commit is contained in:
parent
e956ae16a4
commit
d61a894bfa
|
@ -565,6 +565,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/cyrus-sasl-CVE-2013-4122.patch \
|
||||
%D%/packages/patches/dblatex-remove-multirow.patch \
|
||||
%D%/packages/patches/dbus-helper-search-path.patch \
|
||||
%D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \
|
||||
%D%/packages/patches/dfu-programmer-fix-libusb.patch \
|
||||
%D%/packages/patches/diffutils-gets-undeclared.patch \
|
||||
%D%/packages/patches/doc++-include-directives.patch \
|
||||
|
|
|
@ -61,6 +61,7 @@
|
|||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages calendar)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages cups)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages cyrus-sasl)
|
||||
|
@ -193,6 +194,83 @@ Desktop. It is designed to be as simple as possible and has some unique
|
|||
features to enable users to create their discs easily and quickly.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public deja-dup
|
||||
(package
|
||||
(name "deja-dup")
|
||||
(version "34.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri "https://launchpadlibrarian.net/295170991/deja-dup-34.3.tar.xz")
|
||||
(sha256
|
||||
(base32
|
||||
"1xqcr61hpbahbla7gdjn4ngjfz7w6f57y7f5pkb77yk05f60j2n9"))
|
||||
(patches
|
||||
(search-patches "deja-dup-use-ref-keyword-for-iter.patch"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
((guix build cmake-build-system) #:prefix cmake:)
|
||||
(guix build glib-or-gtk-build-system)
|
||||
(guix build utils))
|
||||
#:imported-modules (,@%glib-or-gtk-build-system-modules
|
||||
(guix build cmake-build-system))
|
||||
#:test-target "test"
|
||||
#:configure-flags (list (string-append
|
||||
"-DCMAKE_INSTALL_FULL_DATADIR=" %output)
|
||||
(string-append
|
||||
"-DCMAKE_INSTALL_LIBEXECDIR=" %output))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-lockfile-deletion
|
||||
(lambda rest
|
||||
(substitute* "libdeja/tools/duplicity/DuplicityInstance.vala"
|
||||
(("/bin/rm")
|
||||
(which "rm")))))
|
||||
(replace 'configure
|
||||
(assoc-ref cmake:%standard-phases 'configure))
|
||||
(delete 'check) ;; Fails due to issues with DBus
|
||||
(add-after 'install 'wrap-deja-dup
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((python (assoc-ref inputs "python"))
|
||||
(python-path (getenv "PYTHONPATH"))
|
||||
(duplicity (assoc-ref inputs "duplicity"))
|
||||
(out (assoc-ref outputs "out")))
|
||||
(for-each
|
||||
(lambda (program)
|
||||
(wrap-program program
|
||||
`("PATH" ":" prefix (,(string-append python "/bin")
|
||||
,(string-append duplicity "/bin"))))
|
||||
(wrap-program program
|
||||
`("PYTHONPATH" ":" prefix (,python-path))))
|
||||
|
||||
(find-files (string-append out "/bin")))
|
||||
#t))))))
|
||||
(inputs
|
||||
`(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
|
||||
("gobject-introspection" ,gobject-introspection)
|
||||
("duplicity" ,duplicity)
|
||||
("python" ,python2-minimal)
|
||||
("python-pygobject" ,python2-pygobject)
|
||||
("gtk+" ,gtk+)
|
||||
("libnotify" ,libnotify)
|
||||
("libpeas" ,libpeas)
|
||||
("libsecret" ,libsecret)
|
||||
("packagekit" ,packagekit)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("vala" ,vala)
|
||||
("gettext" ,gettext-minimal)
|
||||
("itstool" ,itstool)
|
||||
("intltool" ,intltool)
|
||||
("cmake", cmake)))
|
||||
(home-page "https://launchpad.net/deja-dup")
|
||||
(synopsis "Simple backup tool, for regular encrypted backups")
|
||||
(description
|
||||
"Déjà Dup is a simple backup tool, for regular encrypted backups. It
|
||||
uses duplicity as the backend, which supports incremental backups and storage
|
||||
either on a local, or remote machine via a number of methods.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public dia
|
||||
;; This version from GNOME's repository includes fixes for compiling with
|
||||
;; recent versions of the build tools. The latest activity on the
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
From 5676766be5e845ccb6cdf46cfa8722497f151752 Mon Sep 17 00:00:00 2001
|
||||
From: Jeremy Bicha <jbicha@ubuntu.com>
|
||||
Date: Fri, 16 Jun 2017 15:11:37 -0400
|
||||
Subject: Use 'ref' keyword for iter, requires vala 0.36
|
||||
|
||||
|
||||
diff --git a/deja-dup/widgets/ConfigList.vala b/deja-dup/widgets/ConfigList.vala
|
||||
index 15de2d6..02cd81a 100644
|
||||
--- a/deja-dup/widgets/ConfigList.vala
|
||||
+++ b/deja-dup/widgets/ConfigList.vala
|
||||
@@ -333,7 +333,7 @@ public class ConfigList : ConfigWidget
|
||||
|
||||
model.row_deleted.disconnect(write_to_config);
|
||||
foreach (Gtk.TreeIter iter in iters) {
|
||||
- (model as Gtk.ListStore).remove(iter);
|
||||
+ (model as Gtk.ListStore).remove(ref iter);
|
||||
}
|
||||
model.row_deleted.connect(write_to_config);
|
||||
|
||||
diff --git a/deja-dup/widgets/ConfigLocation.vala b/deja-dup/widgets/ConfigLocation.vala
|
||||
index 869e2a8..d21c556 100644
|
||||
--- a/deja-dup/widgets/ConfigLocation.vala
|
||||
+++ b/deja-dup/widgets/ConfigLocation.vala
|
||||
@@ -397,12 +397,12 @@ public class ConfigLocation : ConfigWidget
|
||||
if (uuid == saved_uuid)
|
||||
return;
|
||||
|
||||
- store.remove(iter);
|
||||
+ store.remove(ref iter);
|
||||
|
||||
if (--num_volumes == 0) {
|
||||
Gtk.TreeIter sep_iter;
|
||||
if (store.get_iter_from_string(out sep_iter, index_vol_sep.to_string())) {
|
||||
- store.remove(sep_iter);
|
||||
+ store.remove(ref sep_iter);
|
||||
index_vol_sep = -2;
|
||||
}
|
||||
}
|
||||
--
|
||||
cgit v0.10.2
|
||||
|
Loading…
Reference in New Issue