summaryrefslogtreecommitdiff
path: root/dev-python/pygobject
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
commitb590c8d7572b727d565cc0b8ff660d43569845de (patch)
tree06f7a4102ea4e845df8b66660f252920d52952f9 /dev-python/pygobject
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip
Adding metadata
Diffstat (limited to 'dev-python/pygobject')
-rw-r--r--dev-python/pygobject/Manifest9
-rw-r--r--dev-python/pygobject/files/Skip-test-detecting-cycle-among-base-classes-typeerr.patch21
-rw-r--r--dev-python/pygobject/files/Skip-test-using-dbus-in-sandbox.patch21
-rw-r--r--dev-python/pygobject/metadata.xml27
-rw-r--r--dev-python/pygobject/pygobject-3.50.1.ebuild79
-rw-r--r--dev-python/pygobject/pygobject-3.50.2.ebuild79
-rw-r--r--dev-python/pygobject/pygobject-3.52.3.ebuild102
-rw-r--r--dev-python/pygobject/pygobject-3.52.4.ebuild102
-rw-r--r--dev-python/pygobject/pygobject-3.54.5.ebuild82
-rw-r--r--dev-python/pygobject/pygobject-3.56.2.ebuild77
-rw-r--r--dev-python/pygobject/pygobject-3.56.3.ebuild79
11 files changed, 678 insertions, 0 deletions
diff --git a/dev-python/pygobject/Manifest b/dev-python/pygobject/Manifest
new file mode 100644
index 000000000000..129669c075b5
--- /dev/null
+++ b/dev-python/pygobject/Manifest
@@ -0,0 +1,9 @@
+DIST pygobject-3.50.1.tar.gz 1081846 BLAKE2B 7c6fd07e913f64d925838efc6fa0603fef2298779bee15c2c2b2325dd39942ac4856e71846077b6c89e2b05508d66ce606430433257bbb9d6388a4613436615f SHA512 5708756cbc8e2b697442953a7f3d391ace98f1b7811cb905b0d80185f020bf32a775d70c49d1620a9733e83a6862314f2a72fa1b77cb26a01e84b3bff72e068e
+DIST pygobject-3.50.2.tar.gz 1085854 BLAKE2B 03dc6dc4bd6533d23b8f88705ef371faedf592d98405f91969b910a44a253b29bda6367a9d4f7b7d2dbea7d695a0d1dae6cfc004553f16ab4bbc0e2017c8b591 SHA512 2daed81cfcdcefbd0fc9ffb7ce80c1daa223ecc8266a29a535e47dffd1656fb54dcead1a06c943e08ca92d28ac58ed7916b3f40105b17be7e1f272b9f893f15f
+DIST pygobject-3.52.3.tar.gz 1235825 BLAKE2B f9d95ff9e12b6d6fb5c36d1528ff4ef45e6799316ac21b0f79364dc438bf4e0e6670489f23e0ca4325fc21d16cc2d96fe6aff61f71b8bfe768df2c487717e6df SHA512 06085df458076120017ace7a029ac6c00757ae1882a2a50041aadd7f4c2a329a0fb4d18dde02a481c1f4d3acecbc9d8f473f4ae23fbbfc4f885f75bbc7847f24
+DIST pygobject-3.52.3_0a8b2c56331a31d7f7096faaa1c1c26467b51c15_pythoncapi-compat.gh.tar.gz 50124 BLAKE2B 67bb1e60d10d72b146ae2f8ca0113939916fa67a3c71c3658343ff3742315768471e50c0254a3f9488031297d6697dbb0e8541bfe72e8b0754ede09fb9d65da8 SHA512 3fff69f471e28b47bbb537d31d182180631090c00aaf45931aad128f4cb700cdfd519ce560610b7e57132ad7d172b8f2bc4cd16cf748f218dafdadd15fc48718
+DIST pygobject-3.52.4.tar.gz 1247281 BLAKE2B eb35e3ba58d9bcfc84e724b7dded816ed3094f3b64f5b8785cc9ca656973c0f4e1518c2ad9d2008edd20da1ca6056daac0658464a4619c4b19724de6efb17618 SHA512 14779aa57ab57b62791fbe2c0e00649108e650a13ce4bb0631a5b7aece9e5094ba61c682e7ce462acecc01cd53e969ac84f783807ac5cad95e07673a1b92c1cf
+DIST pygobject-3.52.4_0a8b2c56331a31d7f7096faaa1c1c26467b51c15_pythoncapi-compat.gh.tar.gz 50124 BLAKE2B 67bb1e60d10d72b146ae2f8ca0113939916fa67a3c71c3658343ff3742315768471e50c0254a3f9488031297d6697dbb0e8541bfe72e8b0754ede09fb9d65da8 SHA512 3fff69f471e28b47bbb537d31d182180631090c00aaf45931aad128f4cb700cdfd519ce560610b7e57132ad7d172b8f2bc4cd16cf748f218dafdadd15fc48718
+DIST pygobject-3.54.5.tar.gz 1274658 BLAKE2B 7541502dd4d0f62680d12ebb00f1039c6b33e9c1996500a3d0e54c6c87d719e99e32469d68cfdb04e8e8eaed70e2461739ea176e7bf98100f2329c7084425b5e SHA512 0036068922de03dfa15335b29eb27a9cfd85310b66eae4eb6cb895c427a9fbf3c65462930e981f03b9394bede6fe97639e0bdbee640373188a9c51ad03b65041
+DIST pygobject-3.56.2.tar.gz 1409059 BLAKE2B 9d0ea5b94edc966d8355169d85e79ea0446544f7560832e2be85314c30e739ed71efa877c9111a2a08a388edc9353b6ea5a8678acf681dcc1612ed62493bcaf3 SHA512 8be3ac43fad2aba79bfea05616f66511378fe9b316fe33d9c622af5c7b1ab260e4a513a5f6efe26e261eb6c05763391b327b58563cc551cbd2f25266e8a1826a
+DIST pygobject-3.56.3.tar.gz 1411853 BLAKE2B 032644b8a7b3e366e7c8ea9943f5a63ddca27a1c2c43a007c7e0e15dff7611b0f210e0ca43fd1e9ed63aa74f9d346becc489ec943bbb6fd9da6af2ed8a3b97fb SHA512 7267e04c02436fb88eddac463546275c7ebda7295f4d250c27a37114a589676d340c0876ad953523c20dd52cfd7d8883cefd5c1b3dd7115a96645f1a32ba0d99
diff --git a/dev-python/pygobject/files/Skip-test-detecting-cycle-among-base-classes-typeerr.patch b/dev-python/pygobject/files/Skip-test-detecting-cycle-among-base-classes-typeerr.patch
new file mode 100644
index 000000000000..cbadef48300d
--- /dev/null
+++ b/dev-python/pygobject/files/Skip-test-detecting-cycle-among-base-classes-typeerr.patch
@@ -0,0 +1,21 @@
+From 26aa63716d32f90bd67250df4a1234237d18bbad Mon Sep 17 00:00:00 2001
+From: Lukas Schmelting <lschmelting@posteo.com>
+Date: Tue, 27 May 2025 23:47:39 +0200
+Subject: [PATCH 2/2] Skip test detecting cycle among base classes typeerror
+
+Signed-off-by: Lukas Schmelting <lschmelting@posteo.com>
+---
+ tests/test_gi.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tests/test_gi.py b/tests/test_gi.py
+index 9ab4882..8aeb609 100644
+--- a/tests/test_gi.py
++++ b/tests/test_gi.py
+@@ -2860,2 +2860,3 @@ class TestMRO(unittest.TestCase):
+
++ @pytest.mark.skip(reason="TypeError: Cycle among base classes")
+ def test_interface_collision(self):
+--
+2.49.0
+
diff --git a/dev-python/pygobject/files/Skip-test-using-dbus-in-sandbox.patch b/dev-python/pygobject/files/Skip-test-using-dbus-in-sandbox.patch
new file mode 100644
index 000000000000..405b3f6a9acb
--- /dev/null
+++ b/dev-python/pygobject/files/Skip-test-using-dbus-in-sandbox.patch
@@ -0,0 +1,21 @@
+From 5f57664aca65b5bd433b0a016da92bb74ca378d1 Mon Sep 17 00:00:00 2001
+From: Lukas Schmelting <lschmelting@posteo.com>
+Date: Tue, 27 May 2025 23:46:51 +0200
+Subject: [PATCH 1/2] Skip test using dbus in sandbox
+
+Signed-off-by: Lukas Schmelting <lschmelting@posteo.com>
+---
+ tests/test_gdbus.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tests/test_gdbus.py b/tests/test_gdbus.py
+index 8fe3952..d5e9d79 100644
+--- a/tests/test_gdbus.py
++++ b/tests/test_gdbus.py
+@@ -138,2 +138,3 @@ class TestGDBusClient(unittest.TestCase):
+
++ @pytest.mark.skip(reason="Use of dbus in sandbox")
+ def test_python_calls_sync(self):
+--
+2.49.0
+
diff --git a/dev-python/pygobject/metadata.xml b/dev-python/pygobject/metadata.xml
new file mode 100644
index 000000000000..37d2bc247c06
--- /dev/null
+++ b/dev-python/pygobject/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <longdescription lang="en">
+ GObject is a object system used by GTK+, GStreamer and other libraries.
+ PyGObject provides a convenient wrapper for use in Python programs when
+ accessing GObject libraries. Like the GObject library itself PyGObject
+ is licensed under the GNU LGPL, so is suitable for use in both free
+ software and proprietary applications. It is already in use in many
+ applications ranging from small single purpose scripts up to large full
+ featured applications. PyGObject now dynamically accesses any GObject
+ libraries that uses GObject Introspection. It replaces the need for
+ separate modules such as PyGTK, GIO and python-gnome to build a full
+ GNOME 3.0 application. Once new functionality is added to gobject
+ library it is instantly available as a Python API without the need for
+ intermediate Python glue.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/dev-python/pygobject/pygobject-3.50.1.ebuild b/dev-python/pygobject/pygobject-3.50.1.ebuild
new file mode 100644
index 000000000000..5db4e3fafd42
--- /dev/null
+++ b/dev-python/pygobject/pygobject-3.50.1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=no
+GNOME_TARBALL_SUFFIX="gz"
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit gnome.org meson virtualx xdg distutils-r1
+
+DESCRIPTION="Python bindings for GObject Introspection"
+HOMEPAGE="https://pygobject.gnome.org"
+
+LICENSE="LGPL-2.1+"
+SLOT="3"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris"
+IUSE="+cairo test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.64:2
+ >=dev-libs/gobject-introspection-1.82.0-r2:=
+ dev-libs/libffi:=
+ cairo? (
+ >=dev-python/pycairo-1.16.0[${PYTHON_USEDEP}]
+ x11-libs/cairo[glib]
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ >=app-accessibility/at-spi2-core-2.46.0[introspection]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ x11-libs/gdk-pixbuf:2[introspection,jpeg]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/pango[introspection]
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+python_configure() {
+ local emesonargs=(
+ $(meson_feature cairo pycairo)
+ $(meson_use test tests)
+ -Dpython="${EPYTHON}"
+ )
+ meson_src_configure
+}
+
+python_compile() {
+ meson_src_compile
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs
+ local -x GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x XDG_CACHE_HOME="${T}/${EPYTHON}"
+
+ if [[ ${EPYTHON} == python3.14* ]] ; then
+ # https://gitlab.gnome.org/GNOME/pygobject/-/issues/694
+ local -x PYTEST_ADDOPTS="-k 'not (ref_count or has_two_refs or iteration_refs)'"
+ fi
+
+ meson_src_test --timeout-multiplier 3 || die "test failed for ${EPYTHON}"
+}
+
+python_install() {
+ meson_src_install
+ python_optimize
+}
diff --git a/dev-python/pygobject/pygobject-3.50.2.ebuild b/dev-python/pygobject/pygobject-3.50.2.ebuild
new file mode 100644
index 000000000000..3f993baa332f
--- /dev/null
+++ b/dev-python/pygobject/pygobject-3.50.2.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=no
+GNOME_TARBALL_SUFFIX="gz"
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit gnome.org meson virtualx xdg distutils-r1
+
+DESCRIPTION="Python bindings for GObject Introspection"
+HOMEPAGE="https://pygobject.gnome.org"
+
+LICENSE="LGPL-2.1+"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
+IUSE="+cairo test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.64:2
+ >=dev-libs/gobject-introspection-1.82.0-r2:=
+ dev-libs/libffi:=
+ cairo? (
+ >=dev-python/pycairo-1.16.0[${PYTHON_USEDEP}]
+ x11-libs/cairo[glib]
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ >=app-accessibility/at-spi2-core-2.46.0[introspection]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ x11-libs/gdk-pixbuf:2[introspection,jpeg]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/pango[introspection]
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+python_configure() {
+ local emesonargs=(
+ $(meson_feature cairo pycairo)
+ $(meson_use test tests)
+ -Dpython="${EPYTHON}"
+ )
+ meson_src_configure
+}
+
+python_compile() {
+ meson_src_compile
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs
+ local -x GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x XDG_CACHE_HOME="${T}/${EPYTHON}"
+
+ if [[ ${EPYTHON} == python3.14* ]] ; then
+ # https://gitlab.gnome.org/GNOME/pygobject/-/issues/694
+ local -x PYTEST_ADDOPTS="-k 'not (ref_count or has_two_refs or iteration_refs)'"
+ fi
+
+ meson_src_test --timeout-multiplier 3 || die "test failed for ${EPYTHON}"
+}
+
+python_install() {
+ meson_src_install
+ python_optimize
+}
diff --git a/dev-python/pygobject/pygobject-3.52.3.ebuild b/dev-python/pygobject/pygobject-3.52.3.ebuild
new file mode 100644
index 000000000000..baf3e5dbf9a9
--- /dev/null
+++ b/dev-python/pygobject/pygobject-3.52.3.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=no
+GNOME_TARBALL_SUFFIX="gz"
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit gnome.org meson virtualx xdg distutils-r1
+
+DESCRIPTION="Python bindings for GObject Introspection"
+HOMEPAGE="
+ https://pygobject.gnome.org/
+ https://gitlab.gnome.org/GNOME/pygobject/
+"
+COMMIT=0a8b2c56331a31d7f7096faaa1c1c26467b51c15
+SRC_URI+="
+ https://github.com/python/pythoncapi-compat/archive/${COMMIT}.tar.gz -> \
+ ${P}_${COMMIT}_pythoncapi-compat.gh.tar.gz
+"
+LICENSE="LGPL-2.1+"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
+IUSE="+cairo test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.80:2
+ >=dev-libs/gobject-introspection-1.84:=
+ dev-libs/libffi:=
+ cairo? (
+ >=dev-python/pycairo-1.16.0[${PYTHON_USEDEP}]
+ x11-libs/cairo[glib]
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ >=app-accessibility/at-spi2-core-2.46.0[introspection]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ x11-libs/gdk-pixbuf:2[introspection,jpeg]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/pango[introspection]
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}/Skip-test-using-dbus-in-sandbox.patch"
+ "${FILESDIR}/Skip-test-detecting-cycle-among-base-classes-typeerr.patch"
+)
+
+src_unpack() {
+ default
+ unpack "${P}_${COMMIT}_pythoncapi-compat.gh.tar.gz"
+}
+
+src_prepare() {
+ default
+ find "${S}/subprojects/pythoncapi-compat" -mindepth 1 ! -name meson.build -exec rm -vrf {} + || die
+ mv -v "${WORKDIR}/pythoncapi-compat-${COMMIT}"/* "${S}/subprojects/pythoncapi-compat" || die
+}
+
+python_configure() {
+ local emesonargs=(
+ $(meson_feature cairo pycairo)
+ $(meson_use test tests)
+ -Dpython="${EPYTHON}"
+ )
+ meson_src_configure
+}
+
+python_compile() {
+ meson_src_compile
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs
+ local -x GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x XDG_CACHE_HOME="${T}/${EPYTHON}"
+
+ if [[ ${EPYTHON} == python3.14* ]] ; then
+ # https://gitlab.gnome.org/GNOME/pygobject/-/issues/694
+ local -x PYTEST_ADDOPTS="-k 'not (ref_count or has_two_refs)'"
+ fi
+
+ meson_src_test --timeout-multiplier 3 || die "test for ${EPYTHON}"
+}
+
+python_install() {
+ meson_src_install
+ python_optimize
+}
diff --git a/dev-python/pygobject/pygobject-3.52.4.ebuild b/dev-python/pygobject/pygobject-3.52.4.ebuild
new file mode 100644
index 000000000000..e19e9d9c4b8c
--- /dev/null
+++ b/dev-python/pygobject/pygobject-3.52.4.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=no
+GNOME_TARBALL_SUFFIX="gz"
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit gnome.org meson virtualx xdg distutils-r1
+
+DESCRIPTION="Python bindings for GObject Introspection"
+HOMEPAGE="
+ https://pygobject.gnome.org/
+ https://gitlab.gnome.org/GNOME/pygobject/
+"
+COMMIT=0a8b2c56331a31d7f7096faaa1c1c26467b51c15
+SRC_URI+="
+ https://github.com/python/pythoncapi-compat/archive/${COMMIT}.tar.gz -> \
+ ${P}_${COMMIT}_pythoncapi-compat.gh.tar.gz
+"
+LICENSE="LGPL-2.1+"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
+IUSE="+cairo test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.80:2
+ >=dev-libs/gobject-introspection-1.84:=
+ dev-libs/libffi:=
+ cairo? (
+ >=dev-python/pycairo-1.16.0[${PYTHON_USEDEP}]
+ x11-libs/cairo[glib]
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ >=app-accessibility/at-spi2-core-2.46.0[introspection]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ x11-libs/gdk-pixbuf:2[introspection,jpeg]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/pango[introspection]
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}/Skip-test-using-dbus-in-sandbox.patch"
+ "${FILESDIR}/Skip-test-detecting-cycle-among-base-classes-typeerr.patch"
+)
+
+src_unpack() {
+ default
+ unpack "${P}_${COMMIT}_pythoncapi-compat.gh.tar.gz"
+}
+
+src_prepare() {
+ default
+ find "${S}/subprojects/pythoncapi-compat" -mindepth 1 ! -name meson.build -exec rm -vrf {} + || die
+ mv -v "${WORKDIR}/pythoncapi-compat-${COMMIT}"/* "${S}/subprojects/pythoncapi-compat" || die
+}
+
+python_configure() {
+ local emesonargs=(
+ $(meson_feature cairo pycairo)
+ $(meson_use test tests)
+ -Dpython="${EPYTHON}"
+ )
+ meson_src_configure
+}
+
+python_compile() {
+ meson_src_compile
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs
+ local -x GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x XDG_CACHE_HOME="${T}/${EPYTHON}"
+
+ if [[ ${EPYTHON} == python3.14* ]] ; then
+ # https://gitlab.gnome.org/GNOME/pygobject/-/issues/694
+ local -x PYTEST_ADDOPTS="-k 'not (ref_count or has_two_refs)'"
+ fi
+
+ meson_src_test --timeout-multiplier 3 || die "test for ${EPYTHON}"
+}
+
+python_install() {
+ meson_src_install
+ python_optimize
+}
diff --git a/dev-python/pygobject/pygobject-3.54.5.ebuild b/dev-python/pygobject/pygobject-3.54.5.ebuild
new file mode 100644
index 000000000000..effe3d38c6ae
--- /dev/null
+++ b/dev-python/pygobject/pygobject-3.54.5.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=no
+GNOME_TARBALL_SUFFIX="gz"
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit gnome.org meson virtualx xdg distutils-r1
+
+DESCRIPTION="Python bindings for GObject Introspection"
+HOMEPAGE="
+ https://pygobject.gnome.org/
+ https://gitlab.gnome.org/GNOME/pygobject/
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
+IUSE="+cairo test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.80:2
+ >=dev-libs/gobject-introspection-1.84:=
+ dev-libs/libffi:=
+ cairo? (
+ >=dev-python/pycairo-1.16.0[${PYTHON_USEDEP}]
+ x11-libs/cairo[glib]
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ >=app-accessibility/at-spi2-core-2.46.0[introspection]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ x11-libs/gdk-pixbuf:2[introspection,jpeg]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/pango[introspection]
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}/Skip-test-using-dbus-in-sandbox.patch"
+ "${FILESDIR}/Skip-test-detecting-cycle-among-base-classes-typeerr.patch"
+)
+
+python_configure() {
+ local emesonargs=(
+ $(meson_feature cairo pycairo)
+ $(meson_use test tests)
+ -Dpython="${EPYTHON}"
+ )
+ meson_src_configure
+}
+
+python_compile() {
+ meson_src_compile
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs
+ local -x GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x XDG_CACHE_HOME="${T}/${EPYTHON}"
+
+ meson_src_test --timeout-multiplier 3 || die "test for ${EPYTHON}"
+}
+
+python_install() {
+ meson_src_install
+ python_optimize
+}
diff --git a/dev-python/pygobject/pygobject-3.56.2.ebuild b/dev-python/pygobject/pygobject-3.56.2.ebuild
new file mode 100644
index 000000000000..925f280900e9
--- /dev/null
+++ b/dev-python/pygobject/pygobject-3.56.2.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=no
+GNOME_TARBALL_SUFFIX="gz"
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit gnome.org meson virtualx xdg distutils-r1
+
+DESCRIPTION="Python bindings for GObject Introspection"
+HOMEPAGE="
+ https://pygobject.gnome.org/
+ https://gitlab.gnome.org/GNOME/pygobject/
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
+IUSE="+cairo test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.80:2
+ >=dev-libs/gobject-introspection-1.84:=
+ dev-libs/libffi:=
+ cairo? (
+ >=dev-python/pycairo-1.16.0[${PYTHON_USEDEP}]
+ x11-libs/cairo[glib]
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ >=app-accessibility/at-spi2-core-2.46.0[introspection]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ x11-libs/gdk-pixbuf:2[introspection,jpeg]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/pango[introspection]
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+python_configure() {
+ local emesonargs=(
+ $(meson_feature cairo pycairo)
+ $(meson_use test tests)
+ -Dpython="${EPYTHON}"
+ )
+ meson_src_configure
+}
+
+python_compile() {
+ meson_src_compile
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs
+ local -x GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x XDG_CACHE_HOME="${T}/${EPYTHON}"
+
+ meson_src_test --timeout-multiplier 3 || die "test for ${EPYTHON}"
+}
+
+python_install() {
+ meson_src_install
+ python_optimize
+}
diff --git a/dev-python/pygobject/pygobject-3.56.3.ebuild b/dev-python/pygobject/pygobject-3.56.3.ebuild
new file mode 100644
index 000000000000..c7537b9b58bb
--- /dev/null
+++ b/dev-python/pygobject/pygobject-3.56.3.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=no
+GNOME_TARBALL_SUFFIX="gz"
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit gnome.org meson virtualx xdg distutils-r1
+
+DESCRIPTION="Python bindings for GObject Introspection"
+HOMEPAGE="
+ https://pygobject.gnome.org/
+ https://gitlab.gnome.org/GNOME/pygobject/
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
+IUSE="+cairo test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.80:2
+ >=dev-libs/gobject-introspection-1.84:=
+ dev-libs/libffi:=
+ cairo? (
+ >=dev-python/pycairo-1.16.0[${PYTHON_USEDEP}]
+ x11-libs/cairo[glib]
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ >=app-accessibility/at-spi2-core-2.46.0[introspection]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ x11-libs/gdk-pixbuf:2[introspection,jpeg]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/pango[introspection]
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+python_configure() {
+ local emesonargs=(
+ $(meson_feature cairo pycairo)
+ $(meson_use test tests)
+ -Dpython="${EPYTHON}"
+ )
+ meson_src_configure
+}
+
+python_compile() {
+ meson_src_compile
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs
+ local -x GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x XDG_CACHE_HOME="${T}/${EPYTHON}"
+ # Timeout
+ local -x PYTEST_ADDOPTS="-k 'not test_python_calls_sync'"
+
+ meson_src_test --timeout-multiplier 3 || die "test for ${EPYTHON}"
+}
+
+python_install() {
+ meson_src_install
+ python_optimize
+}