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
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..11} )
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
PYTHON_REQ_USE="xml(+)"
|
||||
inherit gnome.org meson python-single-r1 xdg
|
||||
|
||||
DESCRIPTION="Introspection system for GObject-based libraries"
|
||||
HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection"
|
||||
HOMEPAGE="https://gi.readthedocs.io"
|
||||
|
||||
LICENSE="LGPL-2+ GPL-2+"
|
||||
SLOT="0"
|
||||
IUSE="doctool gtk-doc test"
|
||||
RESTRICT="!test? ( test )"
|
||||
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
|
||||
RDEPEND="
|
||||
>=dev-libs/gobject-introspection-common-${PV}
|
||||
>=dev-libs/glib-2.$(($(ver_cut 2) - 1)).0:2
|
||||
dev-libs/libffi:=
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
' 3.12)
|
||||
doctool? (
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/mako[${PYTHON_USEDEP}]
|
||||
@ -50,6 +53,8 @@ BDEPEND="
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=( "${FILESDIR}/${P}-tests-py312.patch" )
|
||||
|
||||
pkg_setup() {
|
||||
python-single-r1_pkg_setup
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user