diff mbox series

[bug#41448] gnu: deja-dup: Update to 40.6.

Message ID 20200522081920.32300-1-brice@waegenei.re
State Accepted
Headers show
Series [bug#41448] gnu: deja-dup: Update to 40.6. | expand

Checks

Context Check Description
cbaines/applying patch fail View Laminar job

Commit Message

Brice Waegeneire May 22, 2020, 8:19 a.m. UTC
* 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]: TODO!!!
[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'. 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                        | 106 +++++++++---------
 .../deja-dup-use-ref-keyword-for-iter.patch   |  41 -------
 2 files changed, 53 insertions(+), 94 deletions(-)
 delete mode 100644 gnu/packages/patches/deja-dup-use-ref-keyword-for-iter.patch

Comments

Marius Bakke May 23, 2020, 6:01 p.m. UTC | #1
Brice Waegeneire <brice@waegenei.re> writes:

> * 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]: TODO!!!
> [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'. Add 'appstream-glib',
> 'desktop-file-utils', 'glib:bin' and 'gobject-introspection'.
> * gnu/packages/patches/deja-dup-use-ref-keyword-for-iter.patch: Delete
> file.

Woooow.  LGTM, with that TODO resolved!

By the way, GNOME packages are getting rid of intltool in favor of
plain gettext, can you check if that is the case here too?  (intltool
propagates gettext which is why we don't notice.)

Thanks!
Brice Waegeneire May 23, 2020, 7:55 p.m. UTC | #2
On 2020-05-23 18:01, Marius Bakke wrote:
> Brice Waegeneire <brice@waegenei.re> writes:
> 
>> * 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]: TODO!!!
>> [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'. Add 'appstream-glib',
>> 'desktop-file-utils', 'glib:bin' and 'gobject-introspection'.
>> * gnu/packages/patches/deja-dup-use-ref-keyword-for-iter.patch: Delete
>> file.
> 
> Woooow.  LGTM, with that TODO resolved!
> 
> By the way, GNOME packages are getting rid of intltool in favor of
> plain gettext, can you check if that is the case here too?  (intltool
> propagates gettext which is why we don't notice.)
> 
> Thanks!

I have resolved the TODO and removed intltool as asked. Pushed as
899ffa1381afbf5f955aeba4839e920b3d910953.

Thank you for the reviews Marius!
diff mbox series

Patch

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index afd40ac725..eb66e38473 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -878,73 +878,73 @@  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)
-       ("itstool" ,itstool)
+       ("glib" ,glib "bin")             ; for glib-compile-schemas.
+       ("gobject-introspection" ,gobject-introspection)
        ("intltool" ,intltool)
-       ("cmake" ,cmake-minimal)))
-    (home-page "https://launchpad.net/deja-dup")
+       ("itstool" ,itstool)
+       ("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
-