From 283afa44b531e9178e7476e7ab1f8f021ab0d1c9 Mon Sep 17 00:00:00 2001 From: Tobias Kortkamp Date: Fri, 26 Aug 2022 16:37:12 +0200 Subject: [PATCH] gnu: piper: Fix runtime. The wrapper script does not add piper's own Python files to GUIX_PYTHONPATH. Copy the approach from gtg to solve this. Traceback (most recent call last): File "/gnu/store/9fq062kva6ffidilg0qn8liqn6a8yf1w-piper-0.6/bin/.piper-real", line 36, in from piper.application import Application ModuleNotFoundError: No module named 'piper' * gnu/packages/gnome.scm (piper): Fix runtime. Signed-off-by: Mathieu Othacehe --- gnu/packages/gnome.scm | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 189c2002cb..fe4a667797 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -12193,26 +12193,25 @@ your operating-system definition: python-pycairo python-pygobject)) (arguments - `(#:imported-modules ((guix build python-build-system) - ,@%meson-build-system-modules) - #:modules (((guix build python-build-system) #:prefix python:) - (guix build meson-build-system) - (guix build utils)) - #:tests? #f ;; The flake8 test fails trying to validate piper.in as code. - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'dont-update-gtk-icon-cache - (lambda _ - (substitute* "meson.build" - (("meson.add_install_script('meson_install.sh')") "")))) - ;; TODO: Switch to wrap-script when it is fixed. - (add-after 'install 'wrap-python - (assoc-ref python:%standard-phases 'wrap)) - (add-after 'wrap-python 'wrap - (lambda* (#:key outputs #:allow-other-keys) - (wrap-program - (string-append (assoc-ref outputs "out" )"/bin/piper") - `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))))))) + (list #:glib-or-gtk? #t + #:tests? #f ;; The flake8 test fails trying to validate piper.in as code. + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'dont-update-gtk-icon-cache + (lambda _ + (substitute* "meson.build" + (("meson.add_install_script('meson_install.sh')") "")))) + (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap + (lambda _ + (let ((pylib (string-append #$output + "/lib/python" + #$(version-major+minor + (package-version python)) + "/site-packages"))) + (wrap-program + (string-append #$output "/bin/piper") + `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib)) + `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))) (home-page "https://github.com/libratbag/piper/") (synopsis "Configure bindings and LEDs on gaming mice") (description "Piper is a GTK+ application for configuring gaming mice with