guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#29764] [PATCH] gnu: lollypop: Use meson-build-system.


From: Thomas Danckaert
Subject: [bug#29764] [PATCH] gnu: lollypop: Use meson-build-system.
Date: Fri, 22 Dec 2017 09:50:06 +0100 (CET)

From: Catonano <address@hidden>
Subject: Re: [bug#29764] [PATCH] gnu: lollypop: Use meson-build-system.
Date: Thu, 21 Dec 2017 21:54:50 +0100

Hi Thomas !

I built it successfully, but then it doesn't run

When I launch it I get this

~$ lollypop
Traceback (most recent call last):
  File "/gnu/store/l5n28ysri426fnmavvlbqrkrqxl15xvm-lollypop-0.9.304/bin/..lollypop-real-real", line
17, in <module>
    from gi.repository import Gio
ImportError: No module named 'gi'

Sorry 😯

Is it missing a module or did I do anything wrong ?

Hi Catonano,

thanks for the test! There was a bug in the patch: I shouldn't have deleted the “wrap” phase from the Python build system, because lollypop needs the python bindings for GObject (python-pygobject) at runtime. I didn't notice the problem myself, because I have python-pygobject installed in my user profile.

The attached patch should fix it... would you mind testing again?

Thomas
>From 1f330428d76b6cb4f7bedb8b09cb8359ac927dc2 Mon Sep 17 00:00:00 2001
From: Thomas Danckaert <address@hidden>
Date: Mon, 18 Dec 2017 11:10:27 +0100
Subject: [PATCH] gnu: lollypop: Use meson-build-system.

* gnu/packages/gnome.scm (lollypop) [build-system]: Use meson-build-system.
[arguments]: Remove phases for "pseudo meson build system", enable
[native-inputs]: Add glib:bin and gtk+:bin, remove ninja.
[inputs]: Remove gtk+ and meson.
---
 gnu/packages/gnome.scm | 22 +++++-----------------
 1 file changed, 5 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 7b93ddd14..80f210bd6 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -6925,25 +6925,14 @@ views can be printed as PDF or PostScript files, or 
exported to HTML.")
        (sha256
         (base32
          "070y6wf1180hbl1ix8al7fmc6y06jb5m14h73g509g4xbwlk62g8"))))
-    ;; TODO: Use meson-build-system
-    (build-system glib-or-gtk-build-system)
+    (build-system meson-build-system)
     (arguments
      `(#:imported-modules ((guix build python-build-system)
-                           ,@%glib-or-gtk-build-system-modules)
+                           ,@%meson-build-system-modules)
+       #:glib-or-gtk? #t
        #:tests? #f ; no test suite
        #:phases
        (modify-phases %standard-phases
-         (delete 'configure)
-         (replace 'build
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               ;; remove post-install script, we update the caches later
-               (substitute* "meson.build"
-                 (("meson.add_install_script\\('meson_post_install.py'\\)") 
""))
-               (zero?
-                 (system* "meson" "builddir" (string-append "--prefix=" 
out))))))
-         (replace 'install
-           (lambda _ (zero? (system* "ninja" "-C" "builddir" "install"))))
          (add-after 'install 'wrap-program
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out               (assoc-ref outputs "out"))
@@ -6956,16 +6945,15 @@ views can be printed as PDF or PostScript files, or 
exported to HTML.")
     (native-inputs
      `(("intltool" ,intltool)
        ("itstool" ,itstool)
-       ("ninja" ,ninja)
+       ("glib:bin" ,glib "bin")         ; For glib-compile-resources
+       ("gtk+:bin" ,gtk+ "bin")         ; For gtk-update-icon-cache
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("gobject-introspection" ,gobject-introspection)
        ("gst-plugins-base" ,gst-plugins-base)
-       ("gtk+" ,gtk+)
        ("libnotify" ,libnotify)
        ("libsecret" ,libsecret)
        ("libsoup" ,libsoup)
-       ("meson" ,meson)
        ("python" ,python)
        ("python-beautifulsoup4" ,python-beautifulsoup4)
        ("python-gst" ,python-gst)
-- 
2.15.1


reply via email to

[Prev in Thread] Current Thread [Next in Thread]