summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrice Waegeneire <brice@waegenei.re>2020-05-22 00:34:41 +0200
committerBrice Waegeneire <brice@waegenei.re>2020-05-23 21:45:50 +0200
commit899ffa1381afbf5f955aeba4839e920b3d910953 (patch)
treedb3bd6a13e5ce7254f916cbd2d35968e96c47ac3
parent6039031a1a5e1cabd380b8715334d5a8f600055f (diff)
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.
-rw-r--r--gnu/packages/gnome.scm105
-rw-r--r--gnu/packages/patches/deja-dup-use-ref-keyword-for-iter.patch41
2 files changed, 52 insertions, 94 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 5271fe5fbd..db4678e3ce 100644
--- a/gnu/packages/gnome.scm
+++ b/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
diff --git a/gnu/packages/patches/deja-dup-use-ref-keyword-for-iter.patch b/gnu/packages/patches/deja-dup-use-ref-keyword-for-iter.patch
deleted file mode 100644
index a03e0c5481..0000000000
--- a/gnu/packages/patches/deja-dup-use-ref-keyword-for-iter.patch
+++ /dev/null
@@ -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
-