unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#41448] [PATCH] gnu: deja-dup: Update to 40.6.
@ 2020-05-22  8:19 Brice Waegeneire
  2020-05-23 18:01 ` Marius Bakke
  0 siblings, 1 reply; 3+ messages in thread
From: Brice Waegeneire @ 2020-05-22  8:19 UTC (permalink / raw)
  To: 41448

* 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

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





^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [bug#41448] [PATCH] gnu: deja-dup: Update to 40.6.
  2020-05-22  8:19 [bug#41448] [PATCH] gnu: deja-dup: Update to 40.6 Brice Waegeneire
@ 2020-05-23 18:01 ` Marius Bakke
  2020-05-23 19:55   ` Brice Waegeneire
  0 siblings, 1 reply; 3+ messages in thread
From: Marius Bakke @ 2020-05-23 18:01 UTC (permalink / raw)
  To: Brice Waegeneire, 41448

[-- Attachment #1: Type: text/plain, Size: 983 bytes --]

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!

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [bug#41448] [PATCH] gnu: deja-dup: Update to 40.6.
  2020-05-23 18:01 ` Marius Bakke
@ 2020-05-23 19:55   ` Brice Waegeneire
  0 siblings, 0 replies; 3+ messages in thread
From: Brice Waegeneire @ 2020-05-23 19:55 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 41448

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!




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-05-23 19:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-22  8:19 [bug#41448] [PATCH] gnu: deja-dup: Update to 40.6 Brice Waegeneire
2020-05-23 18:01 ` Marius Bakke
2020-05-23 19:55   ` Brice Waegeneire

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).