unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Vivien Kraus via Guix-patches via <guix-patches@gnu.org>
To: 68447@debbugs.gnu.org
Cc: liliana.prikler@gmail.com, maxim.cournoyer@gmail.com,
	rg@raghavgururajan.name, vivien@planete-kraus.eu
Subject: [bug#68447] [WIP-PATCH gnome-team] gnu: deja-dup: update to 45.2.
Date: Sun, 14 Jan 2024 13:11:03 +0100	[thread overview]
Message-ID: <be05c4b60a319eec9c62d0e7c720127a55cc5c8b.1705234409.git.vivien@planete-kraus.eu> (raw)

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 7091 bytes --]

* gnu/packages/gnome.scm (deja-dup): Update to 45.2.
[arguments]: Convert to list of G-Expressions.

Change-Id: I60823287827b0690796fec7955bcf9682acd88b3
---

Dear Guix,

Due to an update of duplicity, deja-dup does not know how to invoke the
duplicity program. The newer version, 45.2, fixes the duplicity invocation,
but now I face a new problem: the deja-dup GUI opens a window displaying an
error:

Traceback (innermost last):
  File "/gnu/store/f3w57wm0i8q4bvq6xnpsf9v744i7v38l-duplicity-2.1.4/bin/.duplicity-real", line 62, in <module>
    with_tempdir(main)
  File "/gnu/store/f3w57wm0i8q4bvq6xnpsf9v744i7v38l-duplicity-2.1.4/bin/.duplicity-real", line 53, in with_tempdir
    fn()
  File "/gnu/store/f3w57wm0i8q4bvq6xnpsf9v744i7v38l-duplicity-2.1.4/lib/python3.10/site-packages/duplicity/dup_main.py", line 1545, in main
    action = cli_main.process_command_line(sys.argv[1:])
  File "/gnu/store/f3w57wm0i8q4bvq6xnpsf9v744i7v38l-duplicity-2.1.4/lib/python3.10/site-packages/duplicity/cli_main.py", line 281, in process_command_line
    config.backend = backend.get_backend(remote_url)
  File "/gnu/store/f3w57wm0i8q4bvq6xnpsf9v744i7v38l-duplicity-2.1.4/lib/python3.10/site-packages/duplicity/backend.py", line 207, in get_backend
    obj = get_backend_object(url_string)
  File "/gnu/store/f3w57wm0i8q4bvq6xnpsf9v744i7v38l-duplicity-2.1.4/lib/python3.10/site-packages/duplicity/backend.py", line 195, in get_backend_object
    return factory(pu)
  File "/gnu/store/f3w57wm0i8q4bvq6xnpsf9v744i7v38l-duplicity-2.1.4/lib/python3.10/site-packages/duplicity/backends/giobackend.py", line 57, in __init__
    class DupMountOperation(Gio.MountOperation):
  File "/gnu/store/w7vbks7gzqadxd4ccz7vscsj9w1899gg-python-pygobject-3.46.0/lib/python3.10/site-packages/gi/types.py", line 226, in __init__
    super(GObjectMeta, cls).__init__(name, bases, dict_)
  File "/gnu/store/w7vbks7gzqadxd4ccz7vscsj9w1899gg-python-pygobject-3.46.0/lib/python3.10/site-packages/gi/types.py", line 205, in __init__
    cls._type_register(cls.__dict__)
  File "/gnu/store/w7vbks7gzqadxd4ccz7vscsj9w1899gg-python-pygobject-3.46.0/lib/python3.10/site-packages/gi/types.py", line 217, in _type_register
    _gi.type_register(cls, namespace.get('__gtype_name__'))
 RuntimeError: could not create new GType: duplicity+backends+giobackend+DupMountOperation (subclass of GMountOperation)

I’m afraid duplicity requires some GNOME libraries for its backend now, or
duplicity or deja-dup now require some more glib wrapping.

Do you have an idea?

Best regards,

Vivien

 gnu/packages/gnome.scm | 73 +++++++++++++++++++++---------------------
 1 file changed, 37 insertions(+), 36 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index d17676f53b..168b9d8abf 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -1823,50 +1823,51 @@ (define-public gnome-menus
 (define-public deja-dup
   (package
     (name "deja-dup")
-    (version "43.4")
+    (version "45.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://gitlab.gnome.org/World/deja-dup/-/archive/"
                                   version "/deja-dup-" version ".tar.bz2"))
               (sha256
                (base32
-                "1mr2g009w0zm5rj8dg1k77c7zdwylih2yszm8vh8wkw6al6bzfh3"))))
+                "000cwy1haiglkvn5plmhrs2a1fhpcpw6z4mdzck7ybmky795amza"))))
     (build-system meson-build-system)
     (arguments
-     `(#: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-paths
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((python (assoc-ref inputs "python")))
-               (substitute* '("libdeja/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))))))
-         (add-after 'install 'wrap-program
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             ;; Add duplicity to the search path
-             (wrap-program (string-append (assoc-ref outputs "out")
-                                          "/bin/deja-dup")
-               `("PATH" ":" prefix
-                 (,(string-append (assoc-ref inputs "duplicity") "/bin")))))))))
+     (list
+      #: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-paths
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((python (assoc-ref inputs "python")))
+                (substitute* '("libdeja/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))))))
+          (add-after 'install 'wrap-program
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              ;; Add duplicity to the search path
+              (wrap-program (string-append (assoc-ref outputs "out")
+                                           "/bin/deja-dup")
+                `("PATH" ":" prefix
+                  (,(dirname (search-input-file inputs "/bin/duplicity"))))))))))
     (inputs
      (list bash-minimal
            duplicity

base-commit: 2cbb1a6e1e2679c7db74b6b906d223fb3661d09f
-- 
2.41.0




             reply	other threads:[~2024-01-14 12:20 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-14 12:11 Vivien Kraus via Guix-patches via [this message]
2024-01-22 21:05 ` [bug#68447] [PATCH gnome-team v2 0/2] Update deja-dup (and fix duplicity) Vivien Kraus via Guix-patches via
2024-01-14 12:11   ` [bug#68447] [PATCH gnome-team v2 2/2] gnu: deja-dup: update to 45.2 Vivien Kraus via Guix-patches via
2024-01-22 21:02   ` [bug#68447] [PATCH gnome-team v2 1/2] gnu: duplicity: Wrap for GI_TYPELIB_PATH Vivien Kraus via Guix-patches via
2024-01-23  5:16     ` Liliana Marie Prikler
2024-01-29 17:56 ` [bug#68447] [PATCH gnome-team v3 0/2] Wrap duplicity, with bash-minimal! Vivien Kraus via Guix-patches via
2024-01-14 12:11   ` [bug#68447] [PATCH gnome-team v3 2/2] gnu: deja-dup: update to 45.2 Vivien Kraus via Guix-patches via
2024-01-22 21:02   ` [bug#68447] [PATCH gnome-team v3 1/2] gnu: duplicity: Wrap for GI_TYPELIB_PATH Vivien Kraus via Guix-patches via
2024-02-06 17:06 ` bug#68447: [WIP-PATCH gnome-team] gnu: deja-dup: update to 45.2 Vivien Kraus via Guix-patches via

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=be05c4b60a319eec9c62d0e7c720127a55cc5c8b.1705234409.git.vivien@planete-kraus.eu \
    --to=guix-patches@gnu.org \
    --cc=68447@debbugs.gnu.org \
    --cc=liliana.prikler@gmail.com \
    --cc=maxim.cournoyer@gmail.com \
    --cc=rg@raghavgururajan.name \
    --cc=vivien@planete-kraus.eu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).