summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorBaldEagleOS Migration <dev@baldeagleos.com>2026-06-03 18:00:25 -0500
committerBaldEagleOS Migration <dev@baldeagleos.com>2026-06-03 18:00:25 -0500
commitdf30352066a4373a912bc395b250b0b1fa2cf696 (patch)
tree49c2c47431ac4c977b3f5b849123cfd4b767944f /dev-python
parent46b253445e4dc73ee69188755ecbd45f6782960c (diff)
downloadbaldeagleos-repo-df30352066a4373a912bc395b250b0b1fa2cf696.tar.gz
baldeagleos-repo-df30352066a4373a912bc395b250b0b1fa2cf696.tar.xz
baldeagleos-repo-df30352066a4373a912bc395b250b0b1fa2cf696.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/channels/Manifest6
-rw-r--r--dev-python/channels/channels-3.0.5.ebuild41
-rw-r--r--dev-python/channels/channels-4.2.2.ebuild34
-rw-r--r--dev-python/channels/channels-4.3.2.ebuild62
-rw-r--r--dev-python/channels/files/channels-4.3.2-fix-install.patch14
-rw-r--r--dev-python/channels/metadata.xml21
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch13
-rw-r--r--dev-python/langdetect/langdetect-1.0.9.ebuild4
-rw-r--r--dev-python/langdetect/metadata.xml20
-rw-r--r--dev-python/pynput/Manifest3
-rw-r--r--dev-python/pynput/files/patches/uinput.patch20
-rw-r--r--dev-python/pynput/pynput-1.7.6.ebuild20
-rw-r--r--dev-python/pynput/pynput-1.8.2.ebuild (renamed from dev-python/pynput/pynput-1.8.1.ebuild)0
-rw-r--r--dev-python/pyside/Manifest1
-rw-r--r--dev-python/pyside/pyside-6.10.2.ebuild584
-rw-r--r--dev-python/python-discovery/python-discovery-1.4.0.ebuild2
-rw-r--r--dev-python/python-statemachine/Manifest2
-rw-r--r--dev-python/python-statemachine/python-statemachine-3.1.2.ebuild (renamed from dev-python/python-statemachine/python-statemachine-2.5.0.ebuild)5
-rw-r--r--dev-python/python-tests/Manifest3
-rw-r--r--dev-python/python-tests/python-tests-0.3.15.0_beta2.ebuild75
-rw-r--r--dev-python/python-tests/python-tests-3.15.0_beta2.ebuild74
-rw-r--r--dev-python/syrupy/Manifest3
-rw-r--r--dev-python/syrupy/metadata.xml10
-rw-r--r--dev-python/syrupy/syrupy-5.1.0.ebuild39
-rw-r--r--dev-python/syrupy/syrupy-5.3.1.ebuild34
-rw-r--r--dev-python/tox/tox-4.53.1.ebuild2
-rw-r--r--dev-python/xattr/Manifest4
-rw-r--r--dev-python/xattr/xattr-1.1.0-r1.ebuild56
-rw-r--r--dev-python/xattr/xattr-1.3.0.ebuild (renamed from dev-python/xattr/xattr-1.2.0.ebuild)4
30 files changed, 319 insertions, 839 deletions
diff --git a/dev-python/channels/Manifest b/dev-python/channels/Manifest
index b58c0c2009cc..93bbf2713782 100644
--- a/dev-python/channels/Manifest
+++ b/dev-python/channels/Manifest
@@ -1,5 +1 @@
-DIST channels-3.0.5.gh.tar.gz 200118 BLAKE2B 7a7653f986face1e87369917317db013e5c9fc912c6e2d7c737054ffef167bd01feb48f7e2d00d0d331e7a16093478e5416645717aed59e46dfec8f9b3641a2e SHA512 b12d1aec9602b702b5a097e9ca52dccad49940f82fcbe5594890c9bd1f1879a2fcf0f29630ca53e4972a26853df8f71d07d7b2cccd876abbf2417a76dee281bf
-DIST channels-4.2.2.gh.tar.gz 197010 BLAKE2B 321bf62c68038ce511145acd43c036dd298d58056f20ab2d676c3e3a8d6360a86a4f07c8f9ed6c123f888c012d69da22cfae4fb477dd5422cf326bf2de6a4c8f SHA512 8f7c8f27981988fed8ec254db91ce0a130b24842949ef94cc9ae21b4a259a7003654ec86c4e18aa81924e26d9b81b6a2aafaac404e490cbdda6b4a100476917a
-EBUILD channels-3.0.5.ebuild 936 BLAKE2B 788d0e9a2822dd9d0ed2d1d1a62135aeb5f244710b66f7591962518a5204cde5b8e779280783dd1d1a1b1a3fa9b272a0eb457f1d88d62c8ecefc8f67384929ef SHA512 89003fa68c7ab1cdd1a329f4389ba6fe28f491217a70c03b2979a992b450d8aa1a02f024f073ad5fc0aa1d093d81c6c8b1adaa45bdc9a179f5bd1607d85c13ef
-EBUILD channels-4.2.2.ebuild 829 BLAKE2B e5946c4a0eaf9fb3ffa2092a3d5d49d3d6ee16f151483fa2b716c8bab3350eca5e330a22822f881421d8882ffb970f4c56154c613477d094319e46addf1a5537 SHA512 84ce30d87a654c1a89ac299fb0f6447ca9c736e4b63497d83fc2687384e9cbe8094ba8f5021a19f726f9bae97c6b6d11eddef6a9ee5c275efe827bf95d3848ec
-MISC metadata.xml 445 BLAKE2B b4c0a41d6caadfbc53cbba3c41f8b7689a286b3f8d285c37a88a1f79d8dc350b82fea255048c022b92091a1e0cc67bf19645d6c32183b82a6dd49cccadf5078f SHA512 380c8b98efe8d9a2513c51899b7de90b115d4a51f104f46b552ff8929c322850e511e245a2ba0e976213416ae7241a17292ca98248caacfc891fcdcf5cea5d44
+DIST channels-4.3.2.gh.tar.gz 206077 BLAKE2B c0913d67dc74bc728dd828584cf803b4ad175bab717de71ccf1e1c5b6aaca296fd15d011deb07b2876e63b7daaefab5e5ee24c323e907b3c563f5358759f14b8 SHA512 29d9c91aca721fad44143978863c45812bf596bb65cf99084803f78d85c664d5cc7ca1015df151cdc27754b822c9cfd18102989b6e5f59bc50257f6c9d8b8b3e
diff --git a/dev-python/channels/channels-3.0.5.ebuild b/dev-python/channels/channels-3.0.5.ebuild
deleted file mode 100644
index 766ae0056090..000000000000
--- a/dev-python/channels/channels-3.0.5.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Extends Django abilities beyond HTTP protocol"
-HOMEPAGE="https://github.com/django/channels"
-SRC_URI="https://github.com/django/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-DEPEND="
- >=dev-python/django-2.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/async-timeout[${PYTHON_USEDEP}]
- >=dev-python/daphne-3.0[${PYTHON_USEDEP}]
- <dev-python/daphne-4.0[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-django[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( README.rst )
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # https://github.com/django/channels/issues/1915
- echo 'asyncio_mode = auto' >> setup.cfg
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/channels/channels-4.2.2.ebuild b/dev-python/channels/channels-4.2.2.ebuild
deleted file mode 100644
index ffab2647a7c1..000000000000
--- a/dev-python/channels/channels-4.2.2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Extends Django abilities beyond HTTP protocol"
-HOMEPAGE="https://github.com/django/channels"
-SRC_URI="https://github.com/django/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-DEPEND="
- >=dev-python/asgiref-3.5.0[${PYTHON_USEDEP}]
- >=dev-python/django-4.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/async-timeout[${PYTHON_USEDEP}]
- >=dev-python/daphne-4.0.0[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-django[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/sphinx-rtd-theme
diff --git a/dev-python/channels/channels-4.3.2.ebuild b/dev-python/channels/channels-4.3.2.ebuild
new file mode 100644
index 000000000000..25cc4a8f26a1
--- /dev/null
+++ b/dev-python/channels/channels-4.3.2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 #pypi
+
+DESCRIPTION="Brings async, event-driven capabilities to Django"
+HOMEPAGE="
+ https://channels.readthedocs.io/
+ https://github.com/django/channels/
+ https://pypi.org/project/channels/
+"
+# no tests in sdist
+SRC_URI="
+ https://github.com/django/channels/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.9.0[${PYTHON_USEDEP}]
+ >=dev-python/django-4.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/async-timeout[${PYTHON_USEDEP}]
+ dev-python/selenium[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ # avoid daphne as it requires autobahn
+ tests/sample_project/tests/test_selenium.py
+ tests/security/test_websocket.py
+ tests/test_database.py
+ tests/test_generic_http.py
+ tests/test_generic_websocket.py
+ tests/test_http.py
+ tests/test_testing.py
+)
+
+EPYTEST_PLUGINS=( pytest-django pytest-asyncio )
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/channels-4.3.2-fix-install.patch
+)
+
+python_prepare_all() {
+ # avoid daphne as it requires autobahn
+ sed -e '/"daphne"/d' -i tests/sample_project/config/settings.py || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/channels/files/channels-4.3.2-fix-install.patch b/dev-python/channels/files/channels-4.3.2-fix-install.patch
new file mode 100644
index 000000000000..18eca8f75445
--- /dev/null
+++ b/dev-python/channels/files/channels-4.3.2-fix-install.patch
@@ -0,0 +1,14 @@
+diff --git a/setup.cfg b/setup.cfg
+index 742e1f6..43d8c0d 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -52,7 +52,7 @@ types =
+
+ [options.packages.find]
+ exclude =
+- tests
++ tests*
+
+ [flake8]
+ exclude = venv/*,tox/*,docs/*,testproject/*,build/*
+
diff --git a/dev-python/channels/metadata.xml b/dev-python/channels/metadata.xml
index 9d2bc6085577..cccc43500076 100644
--- a/dev-python/channels/metadata.xml
+++ b/dev-python/channels/metadata.xml
@@ -1,12 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marcin.deranek@slonko.net</email>
- <name>Marcin Deranek</name>
- </maintainer>
- <upstream>
- <bugs-to>https://github.com/django/channels/issues</bugs-to>
- </upstream>
- <origin>slonko-overlay</origin>
-</pkgmetadata> \ No newline at end of file
+ <maintainer type="person">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">django/channels</remote-id>
+ <remote-id type="pypi">channels</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index d12ab8aeaca8..a11d7c268c91 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1,3 +1 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
-EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9cd8a2a93a8d45bf51fe2324402b175d641762ea591fcb99459427f977a95eccffa6ca4777ca4df39814eea6eac62711567faa654456d32f79023a4685804504 SHA512 d973b85ba1a44389a4275f02a779a93a005f7c2e096467b94b072862e4984d5b42cf33f9821ac68aa5b85b12c98983a90b96049989d8c84497969174b6bb838e
-MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
new file mode 100644
index 000000000000..637368d2f237
--- /dev/null
+++ b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
@@ -0,0 +1,13 @@
+Fix "Package 'langdetect.profiles' is absent from the `packages` configuration."
+
+--- a/setup.py
++++ b/setup.py
+@@ -18,7 +18,7 @@ setup(
+ author_email='michal.danilak@gmail.com',
+ url='https://github.com/Mimino666/langdetect',
+ keywords='language detection library',
+- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'],
++ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'],
+ include_package_data=True,
+ install_requires=['six'],
+ license='MIT',
diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild
index 9a92bf8e7b1b..c3c6efbd8da3 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,4 +19,6 @@ KEYWORDS="~amd64"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" )
+
distutils_enable_tests unittest
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index fc7bb11590cb..7ba11d811d5b 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marcin.deranek@slonko.net</email>
- <name>Marcin Deranek</name>
- </maintainer>
- <upstream>
- <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
- </upstream>
- <origin>slonko-overlay</origin>
-</pkgmetadata> \ No newline at end of file
+ <maintainer type="person">
+ <email>pastalian46@gmail.com</email>
+ <name>Takuya Wakazono</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">langdetect</remote-id>
+ <remote-id type="github">Mimino666/langdetect</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pynput/Manifest b/dev-python/pynput/Manifest
index b5e74eac5ab4..711a13767718 100644
--- a/dev-python/pynput/Manifest
+++ b/dev-python/pynput/Manifest
@@ -1,2 +1 @@
-DIST pynput-1.7.6.tar.gz 79501 BLAKE2B cb356271ef0688ff6532fb79b858c10fb3a52abc4f6db5f4758948cb16f01e96e9377894ea211952b58f5ff6d997ceeec9ba51a29aef866e65cd83900a9894ae SHA512 66639096a83b7ea7c926bfab67ef6c54b913fc4ffe5814bbc4ace6e4d298237a3623066f4f5c08a2bcf1cc5e40d18dc35b77c18afbd0d00b7b4bf4ed2233d9ff
-DIST pynput-1.8.1.tar.gz 82289 BLAKE2B 07338c7d3f755af103d0f61874d536a0444cdddf0c3a450e51cf87e1375943fffcf20a747f25b2ca53365250e8e09d403421cf658077603b7c86a9e5794d3bd6 SHA512 4f28bbc908a4ecbfb8ef1d5b222ddc36269fe2f6361a45609afd60196eb05474569efd2267ae2028abfb85eae6825cea6215351974419ca640c7e069e6983132
+DIST pynput-1.8.2.tar.gz 82818 BLAKE2B 236ac06927423b6311cbf176776279cdfb96b7a2b5a76eab84bab2ea01c16a98d6414e224009a51408d9c43b9cdf04cb9f77b10bd7d26947753a032e6fa4b044 SHA512 326d6044f4d96f421e98fe37d792feb2b2525e4c95632ad5ac94eb2b4501ea1ada3a54c117fd85d380f1d7e0598094fb331af9275d6b17efc274e276ebb48743
diff --git a/dev-python/pynput/files/patches/uinput.patch b/dev-python/pynput/files/patches/uinput.patch
index a464b02af0c9..44d17e803ed1 100644
--- a/dev-python/pynput/files/patches/uinput.patch
+++ b/dev-python/pynput/files/patches/uinput.patch
@@ -2,7 +2,7 @@ diff --git a/lib/pynput/_util/uinput.py b/lib/pynput/_util/uinput.py
index b0a6a78..c891b83 100644
--- a/lib/pynput/_util/uinput.py
+++ b/lib/pynput/_util/uinput.py
-@@ -72,6 +72,14 @@ def _device(self, paths):
+@@ -72,6 +72,14 @@ class ListenerMixin(object):
except OSError:
continue
@@ -17,21 +17,3 @@ index b0a6a78..c891b83 100644
# Does this device provide more handled event codes?
capabilities = next_dev.capabilities()
next_count = sum(
-diff --git a/lib/pynput/keyboard/_uinput.py b/lib/pynput/keyboard/_uinput.py
-index 2f63dd3..747d19d 100644
---- a/lib/pynput/keyboard/_uinput.py
-+++ b/lib/pynput/keyboard/_uinput.py
-@@ -204,10 +204,10 @@ def as_char(k):
- as_char(key): (
- vk,
- set()
-- | {Key.shift} if i & 1 else set()
-- | {Key.alt_gr} if i & 2 else set())
-+ | ({Key.shift} if i & 1 else set())
-+ | ({Key.alt_gr} if i & 2 else set()))
- for vk, keys in self._vk_table.items()
-- for i, key in enumerate(keys)
-+ for i, key in reversed(list(enumerate(keys)))
- if key is not None and as_char(key) is not None}
-
- def for_vk(self, vk, modifiers):
diff --git a/dev-python/pynput/pynput-1.7.6.ebuild b/dev-python/pynput/pynput-1.7.6.ebuild
deleted file mode 100644
index 77c55f782ffa..000000000000
--- a/dev-python/pynput/pynput-1.7.6.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2021-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1 pypi
-
-DESCRIPTION="Sends virtual input commands"
-HOMEPAGE="https://github.com/moses-palmer/pynput https://pypi.org/project/pynput"
-RDEPEND="
- dev-python/evdev[${PYTHON_USEDEP}]
- dev-python/python-xlib[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
diff --git a/dev-python/pynput/pynput-1.8.1.ebuild b/dev-python/pynput/pynput-1.8.2.ebuild
index dd086917f0a1..dd086917f0a1 100644
--- a/dev-python/pynput/pynput-1.8.1.ebuild
+++ b/dev-python/pynput/pynput-1.8.2.ebuild
diff --git a/dev-python/pyside/Manifest b/dev-python/pyside/Manifest
index 3c879c26029b..5cf249ef706c 100644
--- a/dev-python/pyside/Manifest
+++ b/dev-python/pyside/Manifest
@@ -1,3 +1,2 @@
-DIST pyside-setup-everywhere-src-6.10.2.tar.xz 17877708 BLAKE2B 67be6ef1aaadf36a6e8083f808b8f0e47256ac714f73660cb026ef977676928ae3a16b887fd6f31a343fa5d957b945ce0fc6249aa904d84c7e5a8e320502c2d3 SHA512 363b448fe1a304aea09e095aad9f1ecbe2798f0b0e046ca509e918fdc3e8e6a788928a84f2837ad6c75ea79ce37ec38aaff761ddf323bf8e264304ea3d54ceb4
DIST pyside-setup-everywhere-src-6.10.3.tar.xz 17900952 BLAKE2B e30ede40299161a928a919895a9d26e04e9b58eafa681c2c41ebd37eed39e9b7df74435720e693f87e72f67701dad92cc36938896946f382dac6db0266365fa9 SHA512 6a42478bdfbaef07a993451de423420b20b1a0858c3a86b67071d209a384a6ec6847d95a057a7fc8585206434b817c54f1e301ccf057635e04ea63c6713a7eec
DIST pyside-setup-everywhere-src-6.11.1.tar.xz 17963432 BLAKE2B 12c24c6840ef2e80a398e0697530c71f6a1dcd234f70b6c173cb216c1ccd3bcc0cdc51bf39704efd6ab1971d993ffbb41b5f7bf4774dacbd2a65914324d687c5 SHA512 662c07ee644b2f62cb91d5df81751fcbf81169e3a0f6d1ff7853334f9401b59dab9f0d5fdc368c6a730e72c04c8271d10215ae4a7419652b77b9808e7dd94d0f
diff --git a/dev-python/pyside/pyside-6.10.2.ebuild b/dev-python/pyside/pyside-6.10.2.ebuild
deleted file mode 100644
index 0ac3af159d1b..000000000000
--- a/dev-python/pyside/pyside-6.10.2.ebuild
+++ /dev/null
@@ -1,584 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# NOTE: We combine here several PyPI packages, we do this because
-# pyside can and does break if it is compiled with a different
-# toolchain then was used to build shiboken. This bundling ensures
-# that we always use the same toolchain for all components.
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{13..14} )
-LLVM_COMPAT=( {16..21} )
-DISTUTILS_USE_PEP517=setuptools
-DISTUTILS_EXT=1
-
-inherit distutils-r1 llvm-r2 multiprocessing ninja-utils qmake-utils virtualx
-
-MY_PN=${PN}-setup-everywhere-src
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="Python bindings for the Qt framework"
-HOMEPAGE="https://wiki.qt.io/PySide6"
-
-if [[ ${PV} == *.9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI=(
- "https://code.qt.io/${PN}/${PN}-setup.git"
- "https://github.com/qtproject/${PN}-${PN}-setup.git"
- )
- EGIT_BRANCH=dev
- [[ ${PV} == 6.*.9999 ]] && EGIT_BRANCH=${PV%.9999}
-else
- SRC_URI="https://download.qt.io/official_releases/QtForPython/${PN}6/PySide6-${PV}-src/${MY_P}.tar.xz"
- S="${WORKDIR}/${MY_P}"
- KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv ~x86"
-fi
-
-LICENSE="|| ( GPL-2 GPL-3 LGPL-3 )"
-SLOT="6/${PV}"
-
-# If a flag enables multiple Qt modules, they should be ordered
-# according to their dependencies, e.g. for 3d, 3DCore must be first.
-# Widgets for various modules are handled as a special case later
-declare -A QT_MODULES=(
- ["3d"]="3DCore 3DRender 3DLogic 3DInput 3DAnimation 3DExtras"
- ["bluetooth"]="Bluetooth"
- ["charts"]="Charts"
- ["+concurrent"]="Concurrent"
- ["+core"]="Core"
- ["+dbus"]="DBus"
- ["designer"]="Designer"
- ["+gui"]="Gui"
- ["help"]="Help"
- ["httpserver"]="HttpServer"
- ["location"]="Location"
- ["multimedia"]="Multimedia" # plus widgets
- ["network-auth"]="NetworkAuth"
- ["+network"]="Network"
- ["nfc"]="Nfc"
- ["+opengl"]="OpenGL" # plus widgets
- ["pdfium"]="Pdf" # plus widgets
- ["positioning"]="Positioning"
- ["+printsupport"]="PrintSupport"
- ["qml"]="Qml"
- ["quick3d"]="Quick3D"
- ["quick"]="Quick" # plus widgets
- ["remoteobjects"]="RemoteObjects"
- ["scxml"]="Scxml"
- ["sensors"]="Sensors"
- ["serialbus"]="SerialBus"
- ["serialport"]="SerialPort"
- ["spatialaudio"]="SpatialAudio"
- ["+sql"]="Sql"
- ["svg"]="Svg" # plus widgets
- ["speech"]="TextToSpeech"
- ["+testlib"]="Test"
- ["uitools"]="UiTools"
- ["webchannel"]="WebChannel"
- ["webengine"]="WebEngineCore" # plus widgets and quick
- ["websockets"]="WebSockets"
- ["webview"]="WebView"
- ["+widgets"]="Widgets"
- ["+xml"]="Xml"
-)
-
-# Manually reextract these requirements on version bumps by running the
-# following one-liner from within "${S}":
-# $ grep 'set.*_deps' PySide6/Qt*/CMakeLists.txt
-declare -A QT_REQUIREMENTS=(
- ["3d"]="gui network opengl"
- ["bluetooth"]="core"
- ["charts"]="core gui widgets"
- ["concurrent"]="core"
- ["dbus"]="core"
- ["designer"]="widgets"
- ["gles2-only"]="gui"
- ["gui"]="core"
- ["help"]="widgets"
- ["httpserver"]="core concurrent network websockets"
- ["location"]="core positioning"
- ["multimedia"]="core gui network"
- ["network-auth"]="network"
- ["network"]="core"
- ["nfc"]="core"
- ["opengl"]="gui"
- ["pdfium"]="core gui network"
- ["positioning"]="core"
- ["printsupport"]="widgets"
- ["qml"]="network"
- ["quick"]="gui network qml opengl"
- ["quick3d"]="gui network qml quick"
- ["remoteobjects"]="core network"
- ["scxml"]="core"
- ["sensors"]="core"
- ["serialbus"]="core network serialport"
- ["serialport"]="core"
- ["spatialaudio"]="core gui network multimedia"
- ["speech"]="core multimedia"
- ["sql"]="widgets"
- ["svg"]="gui"
- ["testlib"]="widgets"
- ["uitools"]="widgets"
- ["webchannel"]="core"
- ["webengine"]="core gui network printsupport quick webchannel"
- ["websockets"]="network"
- ["webview"]="gui quick webengine"
- ["widgets"]="gui"
- ["xml"]="core"
-)
-
-IUSE="${!QT_MODULES[*]} debug doc gles2-only numpy test tools"
-RESTRICT="!test? ( test )"
-
-# majority of QtQml tests require QtQuick support
-REQUIRED_USE="
- test? (
- qml? ( quick )
- )
-"
-for requirement in "${!QT_REQUIREMENTS[@]}"; do
- REQUIRED_USE+=" ${requirement}? ( ${QT_REQUIREMENTS[${requirement}]} ) "
-done
-
-# Minimal supported version of Qt.
-QT_PV="$(ver_cut 1-3)*:6"
-
-# WebEngine needs sound support, so enable either pulseaudio or alsa
-RDEPEND="
- dev-libs/libxml2:=
- dev-libs/libxslt
- =dev-qt/qtbase-${QT_PV}[concurrent?,dbus?,gles2-only=,network?,opengl?,sql?,widgets?,xml?]
- $(llvm_gen_dep '
- llvm-core/clang:${LLVM_SLOT}
- ')
- 3d? ( =dev-qt/qt3d-${QT_PV}[qml?,gles2-only=] )
- bluetooth? ( =dev-qt/qtconnectivity-${QT_PV}[bluetooth] )
- charts? ( =dev-qt/qtcharts-${QT_PV} )
- designer? ( =dev-qt/qttools-${QT_PV}[designer,widgets,gles2-only=] )
- gui? (
- =dev-qt/qtbase-${QT_PV}[gui,jpeg(+)]
- x11-libs/libxkbcommon
- )
- help? ( =dev-qt/qttools-${QT_PV}[assistant,gles2-only=] )
- httpserver? ( =dev-qt/qthttpserver-${QT_PV} )
- location? ( =dev-qt/qtlocation-${QT_PV} )
- multimedia? ( =dev-qt/qtmultimedia-${QT_PV}[widgets(+)?] )
- network? ( =dev-qt/qtbase-${QT_PV}[ssl] )
- network-auth? ( =dev-qt/qtnetworkauth-${QT_PV} )
- nfc? ( =dev-qt/qtconnectivity-${QT_PV}[nfc] )
- numpy? ( >=dev-python/numpy-2.1.3[${PYTHON_USEDEP}] )
- pdfium? ( =dev-qt/qtwebengine-${QT_PV}[pdfium(-),widgets?] )
- positioning? ( =dev-qt/qtpositioning-${QT_PV} )
- printsupport? ( =dev-qt/qtbase-${QT_PV}[gui,widgets] )
- qml? ( =dev-qt/qtdeclarative-${QT_PV}[opengl?,widgets?] )
- quick3d? ( =dev-qt/qtquick3d-${QT_PV}[opengl?] )
- remoteobjects? ( =dev-qt/qtremoteobjects-${QT_PV} )
- scxml? ( =dev-qt/qtscxml-${QT_PV} )
- sensors? ( =dev-qt/qtsensors-${QT_PV}[qml?] )
- speech? ( =dev-qt/qtspeech-${QT_PV} )
- serialbus? ( =dev-qt/qtserialbus-${QT_PV} )
- serialport? ( =dev-qt/qtserialport-${QT_PV} )
- svg? ( =dev-qt/qtsvg-${QT_PV} )
- testlib? ( =dev-qt/qtbase-${QT_PV}[gui] )
- tools? (
- =dev-qt/qtbase-${QT_PV}
- =dev-qt/qtdeclarative-${QT_PV}[qmlls]
- =dev-qt/qttools-${QT_PV}[assistant,designer,linguist]
- dev-python/pkginfo[${PYTHON_USEDEP}]
- )
- uitools? ( =dev-qt/qttools-${QT_PV}[gles2-only=,widgets] )
- webchannel? ( =dev-qt/qtwebchannel-${QT_PV} )
- webengine? ( || (
- =dev-qt/qtwebengine-${QT_PV}[alsa,widgets?]
- =dev-qt/qtwebengine-${QT_PV}[pulseaudio,widgets?]
- )
- )
- websockets? ( =dev-qt/qtwebsockets-${QT_PV} )
- webview? ( =dev-qt/qtwebview-${QT_PV} )
- !dev-python/pyside:0
- !dev-python/shiboken6
- !dev-python/pyside6-tools
-"
-
-DEPEND="${RDEPEND}
- $(llvm_gen_dep '
- llvm-core/clang:${LLVM_SLOT}
- llvm-core/llvm:${LLVM_SLOT}
- ')
- dev-util/vulkan-headers
- test? ( =dev-qt/qtbase-${QT_PV}[gui] )
-" # testlib is toggled by the gui flag on qtbase
-
-BDEPEND="
- dev-build/cmake
- dev-python/distro[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- dev-util/patchelf
- doc? (
- >=dev-libs/libxml2-2.6.32
- >=dev-libs/libxslt-1.1.19
- media-gfx/graphviz
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/myst-parser[${PYTHON_USEDEP}]
- )
- numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-6.10.2-quick-fix-build-wheel.patch"
- "${FILESDIR}/${PN}-6.10.0-dont-vendor-ffmpeg.patch"
- "${FILESDIR}/${PN}-6.10.1-pass-ninja-opts.patch"
-)
-
-# Build system duplicates system libraries. TODO: fix
-QA_PREBUILT=(
- "/usr/lib/python*/site-packages/PySide6/*"
-)
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
-
- # Shiboken6 assumes Vulkan headers live under either "$VULKAN_SDK/include"
- # or "$VK_SDK_PATH/include" rather than "${EPREFIX}/usr/include/vulkan".
- sed -i -e "s~\bdetectVulkan(&headerPaths);~headerPaths.append(HeaderPath{QByteArrayLiteral(\"${EPREFIX}/usr/include/vulkan\"), HeaderType::System});~" \
- sources/shiboken6/ApiExtractor/clangparser/compilersupport.cpp || die
-
- # Shiboken6 assumes the "/usr/lib/clang/${CLANG_NEWEST_VERSION}/include/"
- # subdirectory provides Clang builtin includes (e.g., "stddef.h") for the
- # currently installed version of Clang, where ${CLANG_NEWEST_VERSION} is
- # the largest version specifier that exists under the "/usr/lib/clang/"
- # subdirectory. This assumption is false in edge cases, including when
- # users downgrade from newer Clang versions but fail to remove those
- # versions with "emerge --depclean". See also:
- # https://github.com/leycec/raiagent/issues/85
- #
- # Sadly, the clang-* family of functions exported by the "toolchain-funcs"
- # eclass are defective, returning nonsensical placeholder strings if the
- # end user has *NOT* explicitly configured their C++ compiler to be Clang.
- # PySide6 does *NOT* care whether the end user has done so or not, as
- # PySide6 unconditionally requires Clang in either case. See also:
- # https://bugs.gentoo.org/619490
- sed -e \
- 's~(findClangBuiltInIncludesDir())~(QStringLiteral("'"${EPREFIX}"'/usr/lib/clang/'"${LLVM_SLOT}"'/include"))~' \
- -i sources/shiboken6/ApiExtractor/clangparser/compilersupport.cpp || die
-
- sed -e \
- 's~set(libclang_directory_suffix "lib")~set(libclang_directory_suffix "'"$(get_libdir)"'")~' \
- -i sources/shiboken6/cmake/ShibokenHelpers.cmake || die
-
- # blacklist.txt works like XFAIL
- cat <<- EOF >> build_history/blacklist.txt || die
- # segfaults with QOpenGLContext::create
- [pysidetest::qapp_like_a_macro_test]
- linux
- # no mypy
- [pysidetest::mypy_correctness_test]
- linux
- # Tries to execute pip install
- [pyside6-deploy::test_pyside6_deploy]
- linux
- [pyside6-android-deploy::test_pyside6_android_deploy]
- linux
- # Behavior changed and test not changed to accomodate
- # https://bugreports.qt.io/projects/PYSIDE/issues/PYSIDE-3135
- [registry::existence_test]
- linux
- # Doesn't appear to play well with virtualx as it tries to use wayland
- [QtUiTools::loadUiType_test]
- linux
- # py3.14?
- [sample::multiple_derived]
- linux
- EOF
-
- if ! use numpy; then
- cat <<- EOF >> build_history/blacklist.txt || die
- # Requires numpy support to pass
- [sample::array_numpy]
- linux
- [sample::nontypetemplate]
- linux
- [QtGui::qpainter_test]
- linux
- [QtCore::qrangemodel_test]
- linux
- EOF
- fi
-}
-
-python_configure_all() {
- export LLVM_INSTALL_DIR="$(get_llvm_prefix)"
-
- # see pyside-6.10.1-pass-ninja-opts.patch
- export NINJAOPTS="$(get_NINJAOPTS)"
-
- ENABLED_QT_MODULES=()
-
- # The order matters, dependencies must come first so process
- # REQUIRED_USE and recursively enable modules
- enable_qt_mod() {
- local flag=${1}
- local modules=${QT_MODULES[${flag}]}
- if [[ -z ${modules} ]]; then
- die "incorrect flag=${flag}, not registered"
- fi
- local dependencies=${QT_REQUIREMENTS[${flag//+}]}
- if [[ -n ${dependencies} ]]; then
- local depflag
- for depflag in ${dependencies}; do
- if use "${depflag}"; then
- if [[ -z ${QT_MODULES[${depflag}]} ]]; then
- depflag=+${depflag}
- fi
- enable_qt_mod "${depflag}"
- else
- die "${depflag} is required but not enabled"
- fi
- done
- fi
- if [[ "${ENABLED_QT_MODULES[*]}" != *${modules}* ]]; then
- # modules is whitespace separated. We expand implicitly.
- ENABLED_QT_MODULES+=( ${modules} )
- fi
- }
- # Enable specified qt modules
- local flag
- for flag in "${!QT_MODULES[@]}"; do
- if use "${flag//+}"; then
- enable_qt_mod "${flag}"
- fi
- done
-
- # Special cases
- if use widgets; then
- use multimedia && ENABLED_QT_MODULES+=( MultimediaWidgets )
- use opengl && ENABLED_QT_MODULES+=( OpenGLWidgets )
- use pdfium && ENABLED_QT_MODULES+=( PdfWidgets )
- use quick && ENABLED_QT_MODULES+=( QuickWidgets )
- use svg && ENABLED_QT_MODULES+=( SvgWidgets )
- use webengine && ENABLED_QT_MODULES+=( WebEngineWidgets )
- fi
- if use quick; then
- use webengine && ENABLED_QT_MODULES+=( WebEngineQuick )
- use testlib && ENABLED_QT_MODULES+=( QuickTest )
- fi
-
- # Arguments listed in options.py
- MAIN_DISTUTILS_ARGS=(
- --cmake="${ESYSROOT}/usr/bin/cmake"
- --ignore-git
- --limited-api=no
- --module-subset="$(printf '%s,' "${ENABLED_QT_MODULES[@]}")"
- --no-strip
- --no-size-optimization
- --openssl="${ESYSROOT}/usr/bin/openssl"
- --qt="$(ver_cut 1-3)"
- --qtpaths="$(qt6_get_bindir)/qtpaths"
- --verbose-build
- --parallel="$(makeopts_jobs)"
- "$(usex debug "--debug" "--relwithdebinfo")"
- "--$(usex doc "build" "skip")-docs"
- "--$(usex numpy "enable" "disable")-numpy-support"
- )
-
- if use test; then
- MAIN_DISTUTILS_ARGS+=(
- "--build-tests"
- "--use-xvfb"
- )
- fi
-
- if ! use tools; then
- MAIN_DISTUTILS_ARGS+=(
- "--no-qt-tools"
- )
- fi
-}
-
-python_compile() {
- DISTUTILS_ARGS=(
- "${MAIN_DISTUTILS_ARGS[@]}"
- --build-type=shiboken6
- )
- distutils-r1_python_compile
-
- # The build system uses its own build dir, find the name of this dir.
- local pyside_build_dir
- read -r pyside_build_dir < <(
- find "${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))" \
- -maxdepth 1 -type d -name 'qfp*-py*-qt*-*' -printf "%f\n"
- )
- export pyside_build_id="${pyside_build_dir#"qfp$(usev debug d)-py${EPYTHON#python}-qt$(ver_cut 1-3)-"}"
- export PYTHONPATH="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install/lib/${EPYTHON}/site-packages:${PYTHONPATH}"
-
- DISTUTILS_ARGS=(
- "${MAIN_DISTUTILS_ARGS[@]}"
- --reuse-build
- --shiboken-target-path="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install"
- --build-type=shiboken6-generator
- )
- distutils-r1_python_compile
- export PYTHONPATH="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install/lib/${EPYTHON}/site-packages:${PYTHONPATH}"
-
- # If no pyside modules enabled, build just shiboken
- if [[ ${#ENABLED_QT_MODULES[@]} -gt 0 ]]; then
- DISTUTILS_ARGS=(
- "${MAIN_DISTUTILS_ARGS[@]}"
- --reuse-build
- --shiboken-target-path="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install"
- --build-type=pyside6
- )
- distutils-r1_python_compile
- export PYTHONPATH="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install/lib/${EPYTHON}/site-packages:${PYTHONPATH}"
- fi
-
- # Link libraries to the usual location for backwards compatibility
- pushd "${BUILD_DIR}/install/$(python_get_sitedir)" >/dev/null ||
- die
- mkdir -p "${BUILD_DIR}/install/usr/$(get_libdir)" || die
- local lib
- for lib in */*.cpython-*.so
- do
- local base=${lib##*/}
- ln -s "${base}" "${lib%/*}/${base%%.*}-${EPYTHON}.so" ||
- die
- done
- for lib in */*.cpython-*.so."$(ver_cut 1-2)"
- do
- local base=${lib##*/}
- ln -s "${base}" "${lib%/*}/${base%%.*}-${EPYTHON}.so.$(ver_cut 1-2)" ||
- die
- done
- for lib in */*.so*; do
- ln -s "../../$(python_get_sitedir)/${lib}" \
- "${BUILD_DIR}/install/usr/$(get_libdir)/${lib#*/}" || die
- done
- popd >/dev/null || die
-
- # Symlinks for compatibility with pypi wheels
- local dir
- if [[ -d ${BUILD_DIR}/install/$(python_get_sitedir)/PySide6 ]]
- then
- pushd "${BUILD_DIR}/install/$(python_get_sitedir)/PySide6" \
- >/dev/null || die
- mkdir -p "${BUILD_DIR}/install/usr/share/PySide6" || die
- for dir in doc glue typesystems; do
- ln -s "../../../$(python_get_sitedir)/PySide6/${dir}" \
- "${BUILD_DIR}/install/usr/share/PySide6/${dir}" ||
- die
- done
- popd >/dev/null || die
- fi
- mkdir -p "${BUILD_DIR}/install/usr/include"
- for dir in PySide6 shiboken6 shiboken6_generator; do
- if [[ -d ${BUILD_DIR}/install/$(python_get_sitedir)/${dir}/include ]]
- then
- ln -s "../../$(python_get_sitedir)/${dir}/include" \
- "${BUILD_DIR}/install/usr/include/${dir//_generator}" ||
- die
- fi
- done
-
- # Install misc files from inner install dir
- find "${BUILD_DIR}"/build*/"${pyside_build_dir}"/install -type f \
- -name libPySidePlugin.so -exec \
- mkdir -p "${BUILD_DIR}/install/$(qt6_get_plugindir)/designer/" \; \
- -exec \
- cp "{}" "${BUILD_DIR}/install/$(qt6_get_plugindir)/designer/" \; \
- || die
-
- for dir in cmake pkgconfig; do
- find "${BUILD_DIR}"/build*/"${pyside_build_dir}"/install -type d -name "${dir}" \
- -exec cp -r "{}" "${BUILD_DIR}/install/usr/lib/" \; \
- || die
- done
-
- # Uniquify the pkgconfigs file for the current Python target,
- # preserving an unversioned "shiboken6.pc" file arbitrarily
- # associated with the last Python target.
- if [[ -f ${BUILD_DIR}/install/usr/lib/pkgconfig/shiboken6.pc ]]
- then
- sed -e 's~prefix=.*~prefix=/usr~g' \
- -e 's~exec_prefix=.*~exec_prefix=${prefix}~g' \
- -e "s~libdir=.*~libdir=$(python_get_sitedir)/shiboken6~g" \
- -e "s~includedir=.*~includedir=$(python_get_sitedir)/shiboken6_generator/include~g" \
- -i "${BUILD_DIR}/install/usr/lib/pkgconfig/shiboken6.pc" || die
- cp "${BUILD_DIR}/install/usr/lib/pkgconfig/"shiboken6{,-${EPYTHON}}.pc || die
- fi
- if [[ -f ${BUILD_DIR}/install/usr/lib/pkgconfig/pyside6.pc ]]
- then
- sed -e 's~^Requires: shiboken6$~&-'${EPYTHON}'~' \
- -e 's~prefix=.*~prefix=/usr~g' \
- -e 's~exec_prefix=.*~exec_prefix=${prefix}~g' \
- -e "s~libdir=.*~libdir=$(python_get_sitedir)/PySide6~g" \
- -e "s~includedir=.*~includedir=$(python_get_sitedir)/PySide6/include~g" \
- -e "s~typesystemdir=.*~typesystemdir=$(python_get_sitedir)/PySide6/typesystems~g" \
- -e "s~gluedir=.*~gluedir=$(python_get_sitedir)/PySide6/glue~g" \
- -e "s~pythonpath=.*~pythonpath=$(python_get_sitedir)~g" \
- -i "${BUILD_DIR}/install/usr/lib/pkgconfig/pyside6.pc" || die
- cp "${BUILD_DIR}/install/usr/lib/pkgconfig/"pyside6{,-${EPYTHON}}.pc || die
- fi
-
- # _IMPORT_PREFIX breaks on split-usr/merged-usr plus weird random issues.
- # These are not duplicates, the generated files are somehow different on
- # different systems.
- sed \
- -e "s~\${_IMPORT_PREFIX}/lib/libshiboken6\.cpython~/usr/$(get_libdir)/libshiboken6\.cpython~g" \
- -e "s~\${_IMPORT_PREFIX}/shiboken6/libshiboken6\.cpython~/usr/$(get_libdir)/libshiboken6\.cpython~g" \
- -e "s~\${_IMPORT_PREFIX}/bin/shiboken6~/usr/bin/shiboken6~g" \
- -e "s~\${_IMPORT_PREFIX}/shiboken6_generator/shiboken6~/usr/bin/shiboken6~g" \
- -e "s~\${_IMPORT_PREFIX}/lib/libpyside6\.cpython~/usr/$(get_libdir)/libpyside6\.cpython~g" \
- -e "s~\${_IMPORT_PREFIX}/PySide6/libpyside6\.cpython~/usr/$(get_libdir)/libpyside6\.cpython~g" \
- -e "s~\${_IMPORT_PREFIX}/lib/libpyside6qml\.cpython~/usr/$(get_libdir)/libpyside6qml\.cpython~g" \
- -e "s~\${_IMPORT_PREFIX}/PySide6/libpyside6qml\.cpython~/usr/$(get_libdir)/libpyside6qml\.cpython~g" \
- -e "s~libshiboken6\.cpython.*\.so\.$(ver_cut 1-3)~libshiboken6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
- -e "s~libpyside6\.cpython.*\.so\.$(ver_cut 1-3)~libpyside6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
- -e "s~libpyside6qml\.cpython.*\.so\.$(ver_cut 1-3)~libpyside6qml\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
- -e "s~libshiboken6\.cpython.*\.so\.$(ver_cut 1-2)~libshiboken6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
- -e "s~libpyside6\.cpython.*\.so\.$(ver_cut 1-2)~libpyside6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
- -e "s~libpyside6qml\.cpython.*\.so\.$(ver_cut 1-2)~libpyside6qml\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \
- -e "s~\${PACKAGE_PREFIX_DIR}/~\${PACKAGE_PREFIX_DIR}/share/PySide6/~g" \
- -e "s~\${_IMPORT_PREFIX}/shiboken6/include~/usr/include/shiboken6~g" \
- -e "s~\${_IMPORT_PREFIX}/PySide6/include~/usr/include/PySide6~g" \
- -i "${BUILD_DIR}/install/usr/lib/cmake/"*/*.cmake || die
- local file
- for file in "${BUILD_DIR}/install/usr/lib/cmake/"*/*.cpython-*.cmake
- do
- local base=${file##*/}
- ln -s "${base}" "${file%/*}/${base%%.*}-${EPYTHON}.cmake" ||
- die
- done
-}
-
-python_test() {
- # Otherwise it picks the last built directory breaking assumption for multi target builds
- local pyside_build_dir="qfp$(usev debug d)-py${EPYTHON#python}-qt$(ver_cut 1-3)-${pyside_build_id}"
-
- local buildno=$(find "${BUILD_DIR}"/build* -name "${pyside_build_dir}" | sort -V | tail -n1)
- if [[ -z "${buildno}" ]]; then
- die "could not find any build directories for ${pyside_build_dir}"
- fi
-
- buildno="${buildno#"${BUILD_DIR}/build"}"
- buildno="${buildno%"/${pyside_build_dir}"}"
-
- local -x PYTHONPATH="${BUILD_DIR}/install$(python_get_sitedir)"
- local -x QTEST_ENVIRONMENT=ci
-
- # test shiboken6 build
- virtx ${EPYTHON} testrunner.py test --buildno "$((buildno - 1))" --projects=shiboken6 ||
- die "Tests failed with ${EPYTHON}"
-
- if use core; then
- # test pyside6 build
- virtx ${EPYTHON} testrunner.py test --buildno "${buildno}" --projects=pyside6 ||
- die "Tests failed with ${EPYTHON}"
- fi
-}
-
-pkg_preinst() {
- # Avoid symlinks being blocked by directories
- rm -rf "${EROOT}/usr/include/"{PySide6,shiboken6} || die
- rm -rf "${EROOT}/usr/share/PySide6" || die
-}
diff --git a/dev-python/python-discovery/python-discovery-1.4.0.ebuild b/dev-python/python-discovery/python-discovery-1.4.0.ebuild
index f8667c62f0ab..e5cdf3b2adba 100644
--- a/dev-python/python-discovery/python-discovery-1.4.0.ebuild
+++ b/dev-python/python-discovery/python-discovery-1.4.0.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~s390 ~x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~s390 x86"
RDEPEND="
>=dev-python/filelock-3.15.4[${PYTHON_USEDEP}]
diff --git a/dev-python/python-statemachine/Manifest b/dev-python/python-statemachine/Manifest
index b35279125e05..0465b3b04784 100644
--- a/dev-python/python-statemachine/Manifest
+++ b/dev-python/python-statemachine/Manifest
@@ -1,3 +1,3 @@
-DIST python-statemachine-2.5.0.gh.tar.gz 405778 BLAKE2B 5c85d7c75de1fe77694acc50a31b9f389a1b0b7ec572939a9662ef2b538b506d8acc30ee3d8168d21ca229c1ce7bfd14b4c54946dfa5d7577cb67ec1a3867352 SHA512 79331758fe305525fd7f97e3e1a9eecc22f79e96047080a31ad8df8d033b506d39c79fa5fe9e20cc2cb63db271517842ffcdab3f1fdb9785d135d3f65dffce6d
DIST python-statemachine-2.6.0.gh.tar.gz 550777 BLAKE2B 005824e16ddccfb8c62d6b070eb7ff9c5e850ab09bf32a6343adc1a0b1acd9ef17e398df0dbabe4c51ff0ebfb2b6aad9aa1af1decd24e3e4fdf078131c7512d2 SHA512 93063d956594b4d3171860f20281840408f4d8f2fa19f100806192004224ab65d5944efb36084e956dcdd72d3b361d5be31d7de92ad22378c2ae4b3195e5753c
DIST python-statemachine-3.0.0.gh.tar.gz 840388 BLAKE2B 9a358f6b39ad4be6cede1ac7b870dea5c73eb27f182952ccef703e7d78ab2368ed4c2c61226df7ce73d56244eaea92eb0b33ce61f536adaa5e31203089515faf SHA512 428a7cb2cf1c507ef56ea6b83a9d57c8d393ce81bbc7ffa251e8ec4ba4d01daff598df62b8cc2dd1c52d197bd25bc9964db10c57b68d8c9a69e95311dba635cc
+DIST python-statemachine-3.1.2.gh.tar.gz 718225 BLAKE2B b7317440f6274265bb5561a90c7748d59fe4a16401f4b940cbd23bf59cfbe916c504d7a13c50d61d219c864b1175c9c4a2a82ca1022eb811d5b51920f1c638a0 SHA512 d0dbc291361ff9c37b1adac6d3af5333958c945b04d10df9498baa1de8bc5c89b588d86c9006bad16b2b1c966423e397eeaf5ef7f711e4d7d6d2961d31812f15
diff --git a/dev-python/python-statemachine/python-statemachine-2.5.0.ebuild b/dev-python/python-statemachine/python-statemachine-3.1.2.ebuild
index c35c781bea56..9b9b3fefdea3 100644
--- a/dev-python/python-statemachine/python-statemachine-2.5.0.ebuild
+++ b/dev-python/python-statemachine/python-statemachine-3.1.2.ebuild
@@ -24,13 +24,12 @@ RDEPEND="dev-python/pydot[${PYTHON_USEDEP}]"
BDEPEND="
${RDEPEND}
test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-django[${PYTHON_USEDEP}]
dev-python/django[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-mermaid[${PYTHON_USEDEP}]
)
"
+EPYTEST_PLUGINS=( pytest-asyncio pytest-mock pytest-django)
distutils_enable_tests pytest
EPYTEST_DESELECT=(
diff --git a/dev-python/python-tests/Manifest b/dev-python/python-tests/Manifest
index fe58ac7c8d56..94a0095b0d91 100644
--- a/dev-python/python-tests/Manifest
+++ b/dev-python/python-tests/Manifest
@@ -10,6 +10,8 @@ DIST Python-3.14.5rc1.tar.xz 23894408 BLAKE2B 7b894cc9fbc6df9255ad04aed506cc7751
DIST Python-3.14.5rc1.tar.xz.sigstore 5363 BLAKE2B ad8ed1f9076ce67c33b290cdb6e24846de1642ce2deece0ec42d8adca67e7b403a53f7d64064c8c9d6d7ce05f8f1a62f5069a2cc85721160902b98cfebd254f9 SHA512 26a9129b8df1d5b83f6d81bdc49c78a5f45542ff9e56a3ecfc5b9480b5a0e0ee44b2fd3d1dd7775458c9076b4b27d891f149f3b24304f2456b5a0c5615e6ea12
DIST Python-3.15.0b1.tar.xz 35178032 BLAKE2B 1bbfdeb373fa3a26b9d957084edc9bfb7f81ae579cd9bf9fba1a43a3bf409a2e01512c56c642eb47b6e1a3c0fe44f182d72a15498b90a75d424b6325d0fd97a1 SHA512 ce486f903aa8690f1725565c3fdc0034a983a60952a96a950fa7c89ab899a71cabed4a9252c497e0474f206f83ff02e2793cf975c345825324b85bced750c270
DIST Python-3.15.0b1.tar.xz.sigstore 5411 BLAKE2B a1697c5239559c6871d3299c3dfa77edf0319ee03be12f6b3bd0b424e05a81b19249a98a316e5e6f8d403b04392ba69910ab8cef4ed86cf0d4a92fe04501a651 SHA512 72a4e1cfd48ba7ead6d5896d1441cf8c0991549beb28bc546534c4e1296495c9874dc7941239f8f5ed833b038bd66437868fd121c89a123d62cad157b744a4c2
+DIST Python-3.15.0b2.tar.xz 35381676 BLAKE2B 59834dc8301dcc9d7e25fd3faf6060a6755443f3782fd3f035d82896468013d01be1b558f7d5c7099b32d49256b09055fde324660d66a52900f519f75acb5556 SHA512 fae17efc3bd2604fdff2d63e0afeac47562165a5da2e1e027f4126b4f8bbb4957f3a2f406d6db23a20c8881fad108385b4b2afb53482075dbe16a690778ccd4a
+DIST Python-3.15.0b2.tar.xz.sigstore 5583 BLAKE2B a766583eb8340ac3bef93ac0bde0ffa66f4680361bb369b3baccd715eb24a8a1f2e5f1ba049e1e8d3c7c53f41a2fe4b0402104156f7c0609355a18dbb24c99e2 SHA512 78f437419f67b10d556ec2304e9f46af4ee0114434e1c51594ccf202aa98ae3b733f4022aeac8fc1afdeeb29fda9328f855dd4914d38318c9ec965b45358153c
DIST python-gentoo-patches-3.12.10.tar.xz 10744 BLAKE2B 2abf4874018156d6735cf8604c410dc4726ac9365bc7500abe6b82472aad100aac7268957256692f4275b02965773e58178519ed8038e121f1ffa3c53770d238 SHA512 62066405aa00f46f9645e9c747d53bb93bf510fc791d14d49e00edfd79981778e6c8e07bfa7bac88d76407a0ffd8f7321dea89f81d90b01dbf13f4d381b6a1a3
DIST python-gentoo-patches-3.12.13_p1.tar.xz 12408 BLAKE2B 2b232c2742eafcb803713c837b4ddaa38f45c88e707ec272571739570f9e2e5c94644681369d887992eadf5f0c1178489f1aa3a7d8163a2aa4ce6a86732e73da SHA512 e06d78ad24c9fbc3fa9c47b25ba722342ddd140aa30f624b41d605dae40d00ab956d879a247db2d7980c063a1472de40587a0d3cd6947e560aa7e8d0e4f89309
DIST python-gentoo-patches-3.13.13_p1.tar.xz 9920 BLAKE2B 81ecba755005b288fcbd8fa1b6a1f24ae0b19d8c8f9c54fd37935526145a458605b04b8492d1e15da4146313e7e2dd86fdabf509e8cf3ca2f48a23dac055145b SHA512 3b6f801296726a03ca6026e1434d7fbbc6d2aeb6cd9f0a83378d3be8cd011afce71e8341306feb8e521fe60f0f960b9885d6152fed44f2d0b604761101735d74
@@ -19,3 +21,4 @@ DIST python-gentoo-patches-3.14.4_p1.tar.xz 9016 BLAKE2B 39bee4db44684a087b3bf67
DIST python-gentoo-patches-3.14.5.tar.xz 10308 BLAKE2B 1ce7b8f33d15d27805894a6f3614fbcf280639fa84bb3605c1a1ee596282235f79ba2399b5d2385a06b0b36c8a6bf162ae4e1b15a67612bdca67f48e06a2fae2 SHA512 f2a806bf753e696a0b7474fd0f11c0f5d9a8043f72f478a37a79f7a9ec843cb31cc959aa3fc38670c1a8ac012554a7d3d4899d7e615cee70e21a7dd7afc2da9a
DIST python-gentoo-patches-3.14.5rc1.tar.xz 8436 BLAKE2B 527156383cba6288df15a0bb0718960ba2a30428a2367d014a11b22e598c63d2c912480e37b064233e05590d1112b6c3c4ac1fa9db392ac11a98b8ec54847d30 SHA512 8adb64ca0bc1c653fb04a71bd6b40415ae3ca4761edf578199c5cc1d1da392b239ca07af395114970467c8233027c5eefb4b869bcab4379d5a7310a286aaec53
DIST python-gentoo-patches-3.15.0b1.tar.xz 3420 BLAKE2B 266ada600b587ff430a21c38d7585fcdb2d320a4160dd8e93dac3a6517faa685eadda9a9b14b271c6380a78112c83f39fc30bbbece10bfc7e6cde2eba61103fa SHA512 9f42700e03051fbadf3b9e6f7163077ab6b8c1f406e5bfc99560b590dbbabe72e5b38cd8c16b21aec75c4e760af549bffef6d76e65f390d61cd8840894949565
+DIST python-gentoo-patches-3.15.0b2.tar.xz 3436 BLAKE2B fa2128b899f2d93078058ccd3e47b780bd092a841b07add94da61a55bb1f9846ec1fa5e00bcd78fcdd1d7da80fdf1dbabcc5d644a70cebce2018c457b186c74a SHA512 e92e87c027c8d777faae20b264cd83353dbb23d15679e99465f014277d02078b8c68fce3723e176cbebd94ac2057e5a9703f0ae5f5691e934b74947735ec3a86
diff --git a/dev-python/python-tests/python-tests-0.3.15.0_beta2.ebuild b/dev-python/python-tests/python-tests-0.3.15.0_beta2.ebuild
new file mode 100644
index 000000000000..5d64b5152fd6
--- /dev/null
+++ b/dev-python/python-tests/python-tests-0.3.15.0_beta2.ebuild
@@ -0,0 +1,75 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+VERIFY_SIG_METHOD=sigstore
+
+inherit python-r1 verify-sig
+
+REAL_PV=${PV#0.}
+MY_PV=${REAL_PV/_beta/b}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 2-3)t
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz
+ https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+if [[ ${PV} != *_* ]]; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+# enable by default to help CI handle it (we have no additional deps)
+IUSE="+python_targets_${PYTHON_COMPAT[0]}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+"
+
+# https://www.python.org/downloads/metadata/sigstore/
+VERIFY_SIG_CERT_IDENTITY=hugo@python.org
+VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ python_moduleinto "/usr/lib/python${PYVER}"
+ python_domodule test
+ python_moduleinto "/usr/lib/python${PYVER}/idlelib"
+ python_domodule idlelib/idle_test
+}
diff --git a/dev-python/python-tests/python-tests-3.15.0_beta2.ebuild b/dev-python/python-tests/python-tests-3.15.0_beta2.ebuild
new file mode 100644
index 000000000000..5ed96d1087f8
--- /dev/null
+++ b/dev-python/python-tests/python-tests-3.15.0_beta2.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+VERIFY_SIG_METHOD=sigstore
+
+inherit python-r1 verify-sig
+
+MY_PV=${PV/_beta/b}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="Test modules from dev-lang/python"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore
+ )
+"
+S="${WORKDIR}/${MY_P}/Lib"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+if [[ ${PV} != *_* ]]; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+# enable by default to help CI handle it (we have no additional deps)
+IUSE="+python_targets_${PYTHON_COMPAT[0]}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/python-${PV}:${PYVER}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+"
+
+# https://www.python.org/downloads/metadata/sigstore/
+VERIFY_SIG_CERT_IDENTITY=hugo@python.org
+VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
+ fi
+ default
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ cd .. || die
+ default
+}
+
+src_install() {
+ python_setup
+ # keep in sync with TESTSUBDIRS in Makefile.pre.in
+ python_moduleinto "/usr/lib/python${PYVER}"
+ python_domodule test
+ python_moduleinto "/usr/lib/python${PYVER}/idlelib"
+ python_domodule idlelib/idle_test
+}
diff --git a/dev-python/syrupy/Manifest b/dev-python/syrupy/Manifest
index 0cdeb2023ed4..e69a62bac6da 100644
--- a/dev-python/syrupy/Manifest
+++ b/dev-python/syrupy/Manifest
@@ -1 +1,2 @@
-DIST syrupy-5.1.0.gh.tar.gz 2339258 BLAKE2B 7d888ec47ae10a3946e30262c43453cb9fb9d2e3edf1a5157cfea8811ffa1817c5db94278dd5533d51b51a1e8d0a53dbf653da187024b347a891a341dd6d3921 SHA512 32b98713a2ce64170b914b4ec36878b5175374c2192c5cbe2b118ebb89a33594c12bb29dde45ee9acaeac406e2723e25a73a5e7c2e53d93e584be69ff9b8cdef
+DIST syrupy-5.3.1.tar.gz 83987 BLAKE2B c4be861eb695f7615a2c47fa23da065516e14df8541e89c69da33be85c01590cb663138f3d97e339e9b8273405b1fc35fa272b55ebfba698025b03bfff63d34c SHA512 d9e2efcab3ecef699df14b6a8dfdc1fa28e7007010e042013e5d43d56c23ea912311be0ff397db4add7e7a2f1e5a8b8ae401f57e23f759abe70bdf6ad0c6774d
+DIST syrupy-5.3.1.tar.gz.provenance 9793 BLAKE2B de4074fca40c56f3517040d98c26ac2f5985ef33fcd14a0146054475f1c3adc6e23a322b81191fb84c296c9728fa02d0b193a0c0373151d4c3287333e78251c8 SHA512 f48bb5a19575a6122fd29d250c0ad28ef18212bad80e43b4407f19650f5845361f1e1e4a097e95f8ec501a7b445af85b8213dff726821378f0cdd42942f24929
diff --git a/dev-python/syrupy/metadata.xml b/dev-python/syrupy/metadata.xml
index e88a1c7176ff..5efb0c919d3f 100644
--- a/dev-python/syrupy/metadata.xml
+++ b/dev-python/syrupy/metadata.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM 'https://www.gentoo.org/dtd/metadata.dtd'>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>gasc@eurecom.fr</email>
- <name>Gasc Henri</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
</maintainer>
+ <stabilize-allarches/>
<upstream>
- <remote-id type="pypi">syrupy</remote-id>
<remote-id type="github">syrupy-project/syrupy</remote-id>
+ <remote-id type="pypi">syrupy</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/syrupy/syrupy-5.1.0.ebuild b/dev-python/syrupy/syrupy-5.1.0.ebuild
deleted file mode 100644
index c265a05d7345..000000000000
--- a/dev-python/syrupy/syrupy-5.1.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2023-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="The sweeter pytest snapshot plugin"
-HOMEPAGE="https://github.com/syrupy-project/syrupy https://pypi.org/project/syrupy"
-SRC_URI="https://github.com/syrupy-project/syrupy/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-DOCS+=( LICENSE README.md CHANGELOG.md )
-
-RDEPEND="
- dev-python/rich[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/invoke[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_PLUGINS=( pytest-xdist )
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # Inject required plugins; autoloading can break (e.g., with pytest-relaxed)
- sed -i 's/\([a-zA-Z0-9_]\+\)\.runpytest(/\1.runpytest("-p", "syrupy", "-p", "xdist", /' \
- tests/integration/test_*.py || die
-}
diff --git a/dev-python/syrupy/syrupy-5.3.1.ebuild b/dev-python/syrupy/syrupy-5.3.1.ebuild
new file mode 100644
index 000000000000..79ebfc3cbb57
--- /dev/null
+++ b/dev-python/syrupy/syrupy-5.3.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/syrupy-project/syrupy
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="The sweeter pytest snapshot plugin"
+HOMEPAGE="
+ https://github.com/syrupy-project/syrupy/
+ https://pypi.org/project/syrupy/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-8.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/pydantic-2.13.4[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+# pytest-xdist used inside tests
+EPYTEST_PLUGINS=( "${PN}" hypothesis pytest-xdist )
+distutils_enable_tests pytest
diff --git a/dev-python/tox/tox-4.53.1.ebuild b/dev-python/tox/tox-4.53.1.ebuild
index a4c7206d08ae..ab41c661b7a8 100644
--- a/dev-python/tox/tox-4.53.1.ebuild
+++ b/dev-python/tox/tox-4.53.1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ppc ppc64 ~riscv ~s390 ~x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ppc ppc64 ~riscv ~s390 x86"
RDEPEND="
dev-python/cachetools[${PYTHON_USEDEP}]
diff --git a/dev-python/xattr/Manifest b/dev-python/xattr/Manifest
index fb9905a3d0a7..e0ca46fc4d02 100644
--- a/dev-python/xattr/Manifest
+++ b/dev-python/xattr/Manifest
@@ -1,2 +1,2 @@
-DIST xattr-1.1.0.tar.gz 16634 BLAKE2B e920afbdc7c154e4558debb08f3b3230295854c799dcc3a28eaddb6d5a9a011bcab460c3d9a3f944cc43705796fb1fb5c57bb3b15653a128b91be17decc7b86c SHA512 b23eb96be5d6810ff2251418a2c2687d15cc98ceed422abe4a8bce01c77dda2969525f07feaf468bc43b60b6df6d573f15787b6221ed5816a772abd93ac47f8f
-DIST xattr-1.2.0.tar.gz 17293 BLAKE2B 5a13a9fa6d0ec1f4378d37b444d2168c615ce33299bde12f7d0715837c172c6809b552043836d80ac0d7a88502e98e3fb36ca462f63def59b2913d7537cd993f SHA512 6c6cafccd05eba8abbfb1c62d5234ca04c52b608670ece395f62e70a3c8e7cfcc3f5e12a25ad888e92fb6aad2c717686c9f14448523cf4180c3effeb1556db72
+DIST xattr-1.3.0.tar.gz 17148 BLAKE2B 105c941c7cf78aecc941b59550a1b537f594b044eedee660085438f358cfdc7e3c6dae550072acaf6e1f64046a751d89a36d08e6461585d963e803c735b1aa73 SHA512 ffd680a10f4e5b4c7a00df12e426452d2f2c71986e18429f3064f660145401a4b6d8372c379a1055b36312362c259bc0c186704b7a054c3a3865b862448e6935
+DIST xattr-1.3.0.tar.gz.provenance 9225 BLAKE2B 0be1497bdf4bda73eda67f8ed46d0114fb324c55d493e4378a50e102c1b3e72183c04ac6408ec0e2e74d192e8350da089709b1412a99cae269e0fe0bf5ae6095 SHA512 c69b003c37afa3bce1c3638afed3269367d45598bff4bf44fe75374267aab026ff1f7035af944ce620f4412b8265d617e67afb6167af7ddff6b87a86d56af88c
diff --git a/dev-python/xattr/xattr-1.1.0-r1.ebuild b/dev-python/xattr/xattr-1.1.0-r1.ebuild
deleted file mode 100644
index a0e93b694ec8..000000000000
--- a/dev-python/xattr/xattr-1.1.0-r1.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-DISTUTILS_EXT=1
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python wrapper for extended filesystem attributes"
-HOMEPAGE="
- https://pypi.org/project/xattr/
- https://github.com/xattr/xattr
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- $(python_gen_cond_dep '!dev-python/pyxattr[${PYTHON_USEDEP}]')
-"
-BDEPEND="
- $(python_gen_cond_dep '
- >=dev-python/cffi-1.16.0[${PYTHON_USEDEP}]
- ' 'python*')
- test? ( sys-apps/attr )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- cd "${T}" || die
- epytest "${S}"/tests
-}
-
-check_xattr() {
- touch tt || die
-
- setfattr -n "user.testAttr" -v "attribute value" tt || return 1
- getfattr -n "user.testAttr" tt >/dev/null || return 1
-
- rm -f tt
- return 0
-}
-
-src_test() {
- if ! check_xattr; then
- ewarn "Extended attributes not supported on your filesystem, skipping tests"
- return 0
- fi
-
- distutils-r1_src_test
-}
diff --git a/dev-python/xattr/xattr-1.2.0.ebuild b/dev-python/xattr/xattr-1.3.0.ebuild
index a0e93b694ec8..640bf569a5bb 100644
--- a/dev-python/xattr/xattr-1.2.0.ebuild
+++ b/dev-python/xattr/xattr-1.3.0.ebuild
@@ -1,10 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
DISTUTILS_EXT=1
+PYPI_VERIFY_REPO=https://github.com/xattr/xattr
PYTHON_COMPAT=( python3_{13..14} )
inherit distutils-r1 pypi
@@ -29,6 +30,7 @@ BDEPEND="
test? ( sys-apps/attr )
"
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
python_test() {