summaryrefslogtreecommitdiff
path: root/dev-libs/gobject-introspection
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-02-06 05:42:43 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-02-06 05:42:43 +0000
commit9e0addc1cf71ebec277b59e38eb3fa30e650cf9f (patch)
treefad7eaf86ed6caf32c2c6e1b52157364ec9a79f6 /dev-libs/gobject-introspection
parentd82c6c919aa63b46ec1683492b75162951f09072 (diff)
gentoo auto-resync : 06:02:2024 - 05:42:43
Diffstat (limited to 'dev-libs/gobject-introspection')
-rw-r--r--dev-libs/gobject-introspection/Manifest3
-rw-r--r--dev-libs/gobject-introspection/files/gobject-introspection-1.78.1-tests-py312.patch73
-rw-r--r--dev-libs/gobject-introspection/gobject-introspection-1.78.1.ebuild9
3 files changed, 82 insertions, 3 deletions
diff --git a/dev-libs/gobject-introspection/Manifest b/dev-libs/gobject-introspection/Manifest
index df6dbf2809a9..bb5242d0f1fb 100644
--- a/dev-libs/gobject-introspection/Manifest
+++ b/dev-libs/gobject-introspection/Manifest
@@ -1,5 +1,6 @@
+AUX gobject-introspection-1.78.1-tests-py312.patch 2770 BLAKE2B 18e74962bddd40e754225b14eac1a631a6aaf4ec2be81a172119438b9cf3adc248c71153d98d069af464366896eb67dae7aaa80cea5592d88f2d5c6f5a1a4f28 SHA512 c0d9c020b0506966d7a98f9d708464128721c9bd8ff23ed74f4fbe82e1b4c7d7aa19c960ebf39cd1c58836ece14b56284f64ccbf678a017181c48eaade904272
DIST gobject-introspection-1.76.1.tar.xz 1055416 BLAKE2B 2251c34b543c95f95bdec6853c8234db1b2e6271e729eaa5abf28e39c7718b326e0813a1214c62fb4634fd11218c4c856e6651de09081b01c9fcf8f73b8cf316 SHA512 84331a30f8854d2259609650c21aadd6363ea1417a75828bd395f8f4346da1c6d6550cff5f2c9f5f6fd6fbf2a9d27b5880c2ee1616fa905c5f362384d481a916
DIST gobject-introspection-1.78.1.tar.xz 1060296 BLAKE2B 115cf9ea27cec2d8d3a84081c909b72144fd1568bc316677c26f49652dc93b34fba10701678ad4977dcf97a89f7608545fbd2d73c2503c87635b2102e66ae024 SHA512 a3081882995a762645b04faa71082dbd523bee845519007e48b13235aad8a4cd4c74f0d042a6c17710125f945bd970e4b76e95a559274e294d595e04725a4e97
EBUILD gobject-introspection-1.76.1.ebuild 1960 BLAKE2B c399a1996b2f45bf4dbab33e5d2a5e1773066eb7e2d6761102733c4cbc2ac4ac42e4aaa21fa8eeee172f07e1307d737e33b065482e8007b4517af305bd923c44 SHA512 dd66aaa7dbb68ac507800fb1b7f07f08944120c6bc394461f6ec5f35d84ded3bc65ef722744363f96806f713fa66fd1815152af795661f5b3583cde8cd68dd03
-EBUILD gobject-introspection-1.78.1.ebuild 1980 BLAKE2B 9b9fe3ecde612603c6513bdb64db00134c40e328d87a93de3f2746e1d13afd264d86cce274b5c2b72578a538dd9f5f73637d37b0fb22aba6bf9906074c1a3a25 SHA512 6a6839a6d123efe6b87e624a006ce6f227d782288e10a559e2aa73055fa1f2c1386c8e8948080c31f49e34139aeba239bb9a653a610d172cbf33825eda8d5c96
+EBUILD gobject-introspection-1.78.1.ebuild 2079 BLAKE2B 96f614ae767252c9f933763ddda3f426d535a4a10a5027bc266882988256ed97da396c5e4be0d47da5de4170651c4b71c439075e7e25422242ea774310bfd4bd SHA512 5aa28d1ac91ef523f2248625e0ccdd3abbccb2b4e81c4ed6fa7219a509ed9e7fc5425750331cfedef3adaddd20092fbda3613b7cc263d8ec578d4da7f1daa1e6
MISC metadata.xml 485 BLAKE2B 6ecc9396bcb29a8365be4058592c307ddcb0cc16ab56723ca32a378b5608b86378ab291345a6a3ccbe8225c6ffc91b6ba1e2996b5b0d1f4271d0757bf376ef8e SHA512 43a479854b1d5783c028ecfd8357a632db089f95de9e703608de7f229a37beee5e43781ff3f68b2dfa9bceac1355597373d31d209fdea0301917be5fbe7e7fbe
diff --git a/dev-libs/gobject-introspection/files/gobject-introspection-1.78.1-tests-py312.patch b/dev-libs/gobject-introspection/files/gobject-introspection-1.78.1-tests-py312.patch
new file mode 100644
index 000000000000..0b32d8dcfa4d
--- /dev/null
+++ b/dev-libs/gobject-introspection/files/gobject-introspection-1.78.1-tests-py312.patch
@@ -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
+
diff --git a/dev-libs/gobject-introspection/gobject-introspection-1.78.1.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.78.1.ebuild
index 4915771cbef1..e54b7e1668da 100644
--- a/dev-libs/gobject-introspection/gobject-introspection-1.78.1.ebuild
+++ b/dev-libs/gobject-introspection/gobject-introspection-1.78.1.ebuild
@@ -3,12 +3,12 @@
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"
@@ -22,6 +22,9 @@ 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
}