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