Vivien Kraus wrote 1 years ago
(address . guix-patches@gnu.org)
* 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(-)
Toggle diff (96 lines)
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