mirror of
https://git.yoctoproject.org/poky
synced 2026-02-05 08:18:43 +01:00
Since 3.51.0, python3-pygobject depends on libgirepository 2.0 provided
by glib-2.0 instead of libgirepository 1.0 provided by
gobject-introspection[1]. It still needs the typelib files from
libgirepository-1.0 package. Add gobject-introspection as a runtime
dependency.
Fixes:
$ python3
Python 3.13.2 (main, Feb 4 2025, 14:51:09) [GCC 14.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import gi
>>> from gi.repository import Gtk
Traceback (most recent call last):
File "/usr/lib64/python3.13/site-packages/gi/importer.py", line 139, in create_module
introspection_module = get_introspection_module(namespace)
File "/usr/lib64/python3.13/site-packages/gi/module.py", line 243, in get_introspection_module
module = IntrospectionModule(namespace, version)
File "/usr/lib64/python3.13/site-packages/gi/module.py", line 111, in __init__
repository.require(namespace, version)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
gi.RepositoryError: Typelib file for namespace 'xlib', version '2.0' not found
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "<python-input-1>", line 1, in <module>
from gi.repository import Gtk
File "/usr/lib64/python3.13/site-packages/gi/importer.py", line 141, in create_module
raise ImportError(e) from e
ImportError: Typelib file for namespace 'xlib', version '2.0' not found
[1] https://gitlab.gnome.org/GNOME/pygobject/-/merge_requests/320
(From OE-Core rev: 6f9e02292c9305e795f2651c3bb6ef5b671e1c74)
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
42 lines
1.5 KiB
BlitzBasic
42 lines
1.5 KiB
BlitzBasic
SUMMARY = "Python GObject bindings"
|
|
HOMEPAGE = "https://gitlab.gnome.org/GNOME/pygobject"
|
|
DESCRIPTION = "PyGObject is a Python package which provides bindings for GObject based libraries such as GTK, GStreamer, WebKitGTK, GLib, GIO and many more."
|
|
SECTION = "devel/python"
|
|
LICENSE = "LGPL-2.1-only"
|
|
LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7"
|
|
|
|
GIR_MESON_OPTION = ""
|
|
|
|
inherit gnomebase setuptools3-base gobject-introspection upstream-version-is-even
|
|
|
|
python() {
|
|
if d.getVar('CLASSOVERRIDE') == "class-target" and not bb.utils.to_boolean(d.getVar("GI_DATA_ENABLED")):
|
|
raise bb.parse.SkipRecipe("GI not available")
|
|
}
|
|
|
|
DEPENDS += "python3 glib-2.0"
|
|
|
|
SRCNAME = "pygobject"
|
|
|
|
SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.gz"
|
|
SRC_URI[sha256sum] = "00e427d291e957462a8fad659a9f9c8be776ff82a8b76bdf402f1eaeec086d82"
|
|
|
|
S = "${WORKDIR}/${SRCNAME}-${PV}"
|
|
|
|
PACKAGECONFIG ??= "${@bb.utils.contains_any('DISTRO_FEATURES', [ 'directfb', 'wayland', 'x11' ], 'cairo', '', d)}"
|
|
|
|
RDEPENDS:${PN} += " \
|
|
python3-asyncio \
|
|
python3-io \
|
|
python3-pkgutil \
|
|
gobject-introspection \
|
|
"
|
|
|
|
# python3-pycairo is checked on configuration -> DEPENDS
|
|
# we don't link against python3-pycairo -> RDEPENDS
|
|
PACKAGECONFIG[cairo] = "-Dpycairo=enabled,-Dpycairo=disabled, cairo python3-pycairo, python3-pycairo"
|
|
PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,"
|
|
|
|
BBCLASSEXTEND = "native"
|
|
PACKAGECONFIG:class-native = ""
|