1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-15 03:20:43 +02:00

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:
Christopher Baines 2017-05-20 16:24:19 +01:00
parent e956ae16a4
commit d61a894bfa
No known key found for this signature in database
GPG key ID: 5E28A33B0B84F577
3 changed files with 120 additions and 0 deletions

View file

@ -565,6 +565,7 @@ dist_patch_DATA = \
%D%/packages/patches/cyrus-sasl-CVE-2013-4122.patch \ %D%/packages/patches/cyrus-sasl-CVE-2013-4122.patch \
%D%/packages/patches/dblatex-remove-multirow.patch \ %D%/packages/patches/dblatex-remove-multirow.patch \
%D%/packages/patches/dbus-helper-search-path.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/dfu-programmer-fix-libusb.patch \
%D%/packages/patches/diffutils-gets-undeclared.patch \ %D%/packages/patches/diffutils-gets-undeclared.patch \
%D%/packages/patches/doc++-include-directives.patch \ %D%/packages/patches/doc++-include-directives.patch \

View file

@ -61,6 +61,7 @@
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages calendar) #:use-module (gnu packages calendar)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages cups) #:use-module (gnu packages cups)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl) #: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.") features to enable users to create their discs easily and quickly.")
(license license:gpl2+))) (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 (define-public dia
;; This version from GNOME's repository includes fixes for compiling with ;; This version from GNOME's repository includes fixes for compiling with
;; recent versions of the build tools. The latest activity on the ;; recent versions of the build tools. The latest activity on the

View file

@ -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