From 899ffa1381afbf5f955aeba4839e920b3d910953 Mon Sep 17 00:00:00 2001 From: Brice Waegeneire Date: Fri, 22 May 2020 00:34:41 +0200 Subject: 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. --- gnu/packages/gnome.scm | 105 ++++++++++----------- .../deja-dup-use-ref-keyword-for-iter.patch | 41 -------- 2 files changed, 52 insertions(+), 94 deletions(-) delete mode 100644 gnu/packages/patches/deja-dup-use-ref-keyword-for-iter.patch 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 -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 - -- cgit v1.2.3