Browse Source

gnu: deja-dup: Update to 40.6.

* gnu/packages/gnome.scm (deja-dup): Update to 40.6.
[origin]: Use gitlab.gnome.org since the project migrated away from
launchpad.
[home-page]: Use 'wiki.gnome.org' instead of 'launchpad.net'.
[build-system]: Switch to 'meson-build-system' because upstream removed
cmake support.
[arguments]: Enable tests.  Remove arguments 'modules',
'imported-modules' and 'test-target'.  Use argument 'glib-or-gtk?'.
Replace configure-flags to only adjust 'RUN_PATH'.  Use standard phases
for 'configure' and 'check'.  Adjust and rename phase
'patch-lockfile-deletion' to 'patch-paths'.  Add phases
'patch-libgpg-error' and 'skip-gtk-update-icon-cache'.
[inputs]: Remove 'libpeas', 'gobject-introspection'.  Replace 'python-2'
and 'python2-pygobject' with python-3 versions. Add 'json-glib',
'libsoup' and 'libgpg-error'.
[native-inputs]: Remove 'cmake-minimal' and 'intltool'.  Add
'appstream-glib','desktop-file-utils', 'glib:bin' and
'gobject-introspection'.
* gnu/packages/patches/deja-dup-use-ref-keyword-for-iter.patch: Delete
file.
gn-latest-20200725
Brice Waegeneire 1 year ago
parent
commit
899ffa1381
No known key found for this signature in database GPG Key ID: A94903A166A18FAE
  1. 105
      gnu/packages/gnome.scm
  2. 41
      gnu/packages/patches/deja-dup-use-ref-keyword-for-iter.patch

105
gnu/packages/gnome.scm

@ -879,73 +879,72 @@ configuration files for the GNOME menu, as well as a simple menu editor.")
(define-public deja-dup
(package
(name "deja-dup")
(version "34.3")
(version "40.6")
(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)
(method url-fetch)
(uri (string-append "https://gitlab.gnome.org/World/deja-dup/-/archive/"
version "/deja-dup-" version ".tar.bz2"))
(sha256
(base32
"0lwazh6crby5wpy9fg6zvwy4plqbhs2f98bm5lbizjdlbh88n5q0"))))
(build-system meson-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))
`(#:glib-or-gtk? #t
#:configure-flags
(list
;; Otherwise, the RUNPATH will lack the final path component.
(string-append "-Dc_link_args=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib/deja-dup"))
#: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))))))
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((python (assoc-ref inputs "python")))
(substitute* '("libdeja/tools/duplicity/DuplicityInstance.vala"
"libdeja/tests/scripts/instance-error.test")
(("/bin/rm")
(which "rm")))
(substitute* "libdeja/tests/runner.vala"
(("/bin/sh")
(which "sh")))
(substitute* "libdeja/tests/scripts/instance-error.test"
(("`which python3`")
(string-append python "/bin/python3"))))))
(add-after 'unpack 'patch-libgpg-error
(lambda* (#:key inputs #:allow-other-keys)
(let ((libgpg-error (assoc-ref inputs "libgpg-error")))
(substitute* "meson.build"
(("(gpgerror_libs = ).*" _ var)
(format #f "~a '-L~a/lib -lgpg-error'\n" var libgpg-error))))
#t))
(add-after 'unpack 'skip-gtk-update-icon-cache
;; Don't create 'icon-theme.cache'.
(lambda _
(substitute* "data/post-install.sh"
(("gtk-update-icon-cache") "true"))
#t)))))
(inputs
`(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gobject-introspection" ,gobject-introspection)
("duplicity" ,duplicity)
("python" ,python-2)
("python-pygobject" ,python2-pygobject)
("python" ,python)
("python-pygobject" ,python-pygobject)
("gtk+" ,gtk+)
("json-glib" ,json-glib)
("libnotify" ,libnotify)
("libpeas" ,libpeas)
("libgpg-error" ,libgpg-error)
("libsecret" ,libsecret)
("libsoup" ,libsoup)
("packagekit" ,packagekit)))
(native-inputs
`(("pkg-config" ,pkg-config)
("vala" ,vala)
`(("appstream-glib" ,appstream-glib)
("desktop-file-utils" ,desktop-file-utils)
("gettext" ,gettext-minimal)
("glib" ,glib "bin") ; for glib-compile-schemas.
("gobject-introspection" ,gobject-introspection)
("itstool" ,itstool)
("intltool" ,intltool)
("cmake" ,cmake-minimal)))
(home-page "https://launchpad.net/deja-dup")
("pkg-config" ,pkg-config)
("vala" ,vala)))
(home-page "https://wiki.gnome.org/Apps/DejaDup")
(synopsis "Simple backup tool, for regular encrypted backups")
(description
"Déjà Dup is a simple backup tool, for regular encrypted backups. It

41
gnu/packages/patches/deja-dup-use-ref-keyword-for-iter.patch

@ -1,41 +0,0 @@
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…
Cancel
Save