mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-23 06:31:18 +02:00
dev-libs/gobject-introspection: Sync with Gentoo
It's from Gentoo commit cc2b9a4a8fb4d94acf59dfeb2836cde223415a73.
This commit is contained in:
parent
1f46037b2a
commit
623829a62a
@ -0,0 +1,73 @@
|
|||||||
|
From fb6f33082a42202c55dc3d5cbc984cc9b6b01629 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Emmanuele Bassi <ebassi@gnome.org>
|
||||||
|
Date: Mon, 25 Dec 2023 00:06:53 +0000
|
||||||
|
Subject: [PATCH] tests: Do not use PYTHONPATH to import giscanner
|
||||||
|
|
||||||
|
The PYTHONPATH environment variable will prepend its contents to
|
||||||
|
sys.path; since giscanner contains an ast sub-module, we are going to
|
||||||
|
cause a collision with Python's own ast module. In some cases, Python
|
||||||
|
3.12's distutils compatibility shim will try to import Python's ast,
|
||||||
|
which will end up trying to import giscanner.ast instead.
|
||||||
|
|
||||||
|
Instead of prepending the giscanner build directory, we can append it,
|
||||||
|
and keep the current project layout.
|
||||||
|
|
||||||
|
See: #429
|
||||||
|
---
|
||||||
|
tests/scanner/meson.build | 2 +-
|
||||||
|
tests/warn/meson.build | 5 +----
|
||||||
|
tests/warn/warningtester.py | 9 +++++++++
|
||||||
|
3 files changed, 11 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tests/scanner/meson.build b/tests/scanner/meson.build
|
||||||
|
index e77c2de03..c92ce6474 100644
|
||||||
|
--- a/tests/scanner/meson.build
|
||||||
|
+++ b/tests/scanner/meson.build
|
||||||
|
@@ -1,7 +1,7 @@
|
||||||
|
scanner_test_env = environment()
|
||||||
|
scanner_test_env.prepend('PYTHONPATH', test_env_common_pypath)
|
||||||
|
if test_env_common_path.length() > 0
|
||||||
|
- scanner_test_env.prepend('PATH', test_env_common_path)
|
||||||
|
+ scanner_test_env.prepend('PATH', test_env_common_path)
|
||||||
|
endif
|
||||||
|
|
||||||
|
scanner_test_files = [
|
||||||
|
diff --git a/tests/warn/meson.build b/tests/warn/meson.build
|
||||||
|
index 9641787f7..c57268081 100644
|
||||||
|
--- a/tests/warn/meson.build
|
||||||
|
+++ b/tests/warn/meson.build
|
||||||
|
@@ -23,10 +23,7 @@ warn_tests = [
|
||||||
|
warn_test_env = environment()
|
||||||
|
warn_test_env.set('UNINSTALLED_INTROSPECTION_SRCDIR', source_root)
|
||||||
|
warn_test_env.set('TOP_BUILDDIR', build_root)
|
||||||
|
-warn_test_env.set(
|
||||||
|
- 'PYTHONPATH',
|
||||||
|
- build_root,
|
||||||
|
- join_paths(build_root, 'giscanner'))
|
||||||
|
+warn_test_env.set('GISCANNER_DIR', build_root, build_root / 'giscanner')
|
||||||
|
|
||||||
|
# FIXME: Glib as a subproject (used on Windows mostly).
|
||||||
|
if glib_dep.type_name() == 'pkgconfig'
|
||||||
|
diff --git a/tests/warn/warningtester.py b/tests/warn/warningtester.py
|
||||||
|
index acb271f23..cce2827b1 100644
|
||||||
|
--- a/tests/warn/warningtester.py
|
||||||
|
+++ b/tests/warn/warningtester.py
|
||||||
|
@@ -11,6 +11,15 @@ sys.path.insert(0, path)
|
||||||
|
builtins.__dict__['DATADIR'] = path
|
||||||
|
builtins.__dict__['GIR_DIR'] = path
|
||||||
|
|
||||||
|
+# We cannot use PYTHONPATH, because it would prepend the giscanner
|
||||||
|
+# root, and we have an "ast" module that conflicts with Python's
|
||||||
|
+# own ast. In some cases, Python's distutils ends up importing ast,
|
||||||
|
+# and that will end up trying to import giscanner.ast
|
||||||
|
+path = os.getenv('GISCANNER_DIR', None)
|
||||||
|
+assert path is not None
|
||||||
|
+for p in path.split(os.pathsep):
|
||||||
|
+ sys.path.append(p)
|
||||||
|
+
|
||||||
|
from giscanner.annotationparser import GtkDocCommentBlockParser
|
||||||
|
from giscanner.ast import Include, Namespace
|
||||||
|
from giscanner.introspectablepass import IntrospectablePass
|
||||||
|
--
|
||||||
|
GitLab
|
||||||
|
|
@ -3,25 +3,28 @@
|
|||||||
|
|
||||||
EAPI=8
|
EAPI=8
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{10..11} )
|
PYTHON_COMPAT=( python3_{10..12} )
|
||||||
PYTHON_REQ_USE="xml(+)"
|
PYTHON_REQ_USE="xml(+)"
|
||||||
inherit gnome.org meson python-single-r1 xdg
|
inherit gnome.org meson python-single-r1 xdg
|
||||||
|
|
||||||
DESCRIPTION="Introspection system for GObject-based libraries"
|
DESCRIPTION="Introspection system for GObject-based libraries"
|
||||||
HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection"
|
HOMEPAGE="https://gi.readthedocs.io"
|
||||||
|
|
||||||
LICENSE="LGPL-2+ GPL-2+"
|
LICENSE="LGPL-2+ GPL-2+"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
IUSE="doctool gtk-doc test"
|
IUSE="doctool gtk-doc test"
|
||||||
RESTRICT="!test? ( test )"
|
RESTRICT="!test? ( test )"
|
||||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
|
||||||
|
|
||||||
# virtual/pkgconfig needed at runtime, bug #505408
|
# virtual/pkgconfig needed at runtime, bug #505408
|
||||||
RDEPEND="
|
RDEPEND="
|
||||||
>=dev-libs/gobject-introspection-common-${PV}
|
>=dev-libs/gobject-introspection-common-${PV}
|
||||||
>=dev-libs/glib-2.$(($(ver_cut 2) - 1)).0:2
|
>=dev-libs/glib-2.$(($(ver_cut 2) - 1)).0:2
|
||||||
dev-libs/libffi:=
|
dev-libs/libffi:=
|
||||||
|
$(python_gen_cond_dep '
|
||||||
|
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||||
|
' 3.12)
|
||||||
doctool? (
|
doctool? (
|
||||||
$(python_gen_cond_dep '
|
$(python_gen_cond_dep '
|
||||||
dev-python/mako[${PYTHON_USEDEP}]
|
dev-python/mako[${PYTHON_USEDEP}]
|
||||||
@ -50,6 +53,8 @@ BDEPEND="
|
|||||||
)
|
)
|
||||||
"
|
"
|
||||||
|
|
||||||
|
PATCHES=( "${FILESDIR}/${P}-tests-py312.patch" )
|
||||||
|
|
||||||
pkg_setup() {
|
pkg_setup() {
|
||||||
python-single-r1_pkg_setup
|
python-single-r1_pkg_setup
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user