summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aioquic/aioquic-1.2.0.ebuild12
-rw-r--r--dev-python/aioquic/aioquic-1.3.0.ebuild12
-rw-r--r--dev-python/aioquic/files/patch-src_aioquic__crypto_c17
-rw-r--r--dev-python/aioquic/metadata.xml4
-rw-r--r--dev-python/blessed/blessed-1.42.0.ebuild2
-rw-r--r--dev-python/certifi/Manifest2
-rw-r--r--dev-python/certifi/certifi-2026.04.22.ebuild38
-rw-r--r--dev-python/certifi/certifi-2026.05.20.ebuild38
-rw-r--r--dev-python/certifi/files/certifi-2020.06.20-use-system-cacerts.patch17
-rw-r--r--dev-python/certifi/metadata.xml10
-rw-r--r--dev-python/cryptography/Manifest24
-rw-r--r--dev-python/cryptography/cryptography-47.0.0.ebuild31
-rw-r--r--dev-python/cryptography/cryptography-48.0.0.ebuild38
-rw-r--r--dev-python/cryptography/cryptography-48.0.1.ebuild144
-rw-r--r--dev-python/cryptography/cryptography-49.0.0.ebuild144
-rw-r--r--dev-python/cryptography/files/cryptography-46.0.5-stray-files.patch48
-rw-r--r--dev-python/cryptography/metadata.xml9
-rw-r--r--dev-python/dulwich/dulwich-1.2.6.ebuild2
-rw-r--r--dev-python/grpcio/Manifest12
-rw-r--r--dev-python/grpcio/grpcio-1.74.0.ebuild51
-rw-r--r--dev-python/grpcio/grpcio-1.75.1.ebuild51
-rw-r--r--dev-python/grpcio/grpcio-1.76.0.ebuild51
-rw-r--r--dev-python/grpcio/grpcio-1.78.1.ebuild51
-rw-r--r--dev-python/grpcio/grpcio-1.80.0.ebuild136
-rw-r--r--dev-python/grpcio/grpcio-1.81.0.ebuild137
-rw-r--r--dev-python/grpcio/grpcio-1.81.1.ebuild137
-rw-r--r--dev-python/grpcio/metadata.xml8
-rw-r--r--dev-python/jinxed/jinxed-2.0.1.ebuild2
-rw-r--r--dev-python/mysqlclient/Manifest1
-rw-r--r--dev-python/mysqlclient/metadata.xml4
-rw-r--r--dev-python/mysqlclient/mysqlclient-2.2.7-r1.ebuild89
-rw-r--r--dev-python/mysqlclient/mysqlclient-2.2.8.ebuild7
-rw-r--r--dev-python/peewee/peewee-4.0.6.ebuild2
-rw-r--r--dev-python/pypy/Manifest2
-rw-r--r--dev-python/pypy/files/cryptography.patch17
-rw-r--r--dev-python/pypy/files/openssl_cleanup.patch42
-rw-r--r--dev-python/pypy/files/openssl_ct.patch23
-rw-r--r--dev-python/pypy/files/openssl_dh.patch14
-rw-r--r--dev-python/pypy/files/openssl_evp.patch19
-rw-r--r--dev-python/pypy/files/openssl_hmac.patch23
-rw-r--r--dev-python/pypy/files/openssl_ocsp.patch23
-rw-r--r--dev-python/pypy/files/openssl_proto.patch12
-rw-r--r--dev-python/pypy/files/openssl_ssl.patch44
-rw-r--r--dev-python/pypy/files/openssl_x509.patch21
-rw-r--r--dev-python/pypy/files/openssl_x509name.patch12
-rw-r--r--dev-python/pypy/files/ssl_python.patch12
-rw-r--r--dev-python/pypy/metadata.xml13
-rw-r--r--dev-python/pypy/pypy-7.3.22.ebuild314
-rw-r--r--dev-python/pypy/pypy-7.3.23.ebuild314
-rw-r--r--dev-python/python-ldap/python-ldap-3.4.7.ebuild2
-rw-r--r--dev-python/scrypt/Manifest1
-rw-r--r--dev-python/scrypt/metadata.xml4
-rw-r--r--dev-python/scrypt/scrypt-0.8.29.ebuild26
-rw-r--r--dev-python/scrypt/scrypt-0.9.4.ebuild25
-rw-r--r--dev-python/uv-build/uv-build-0.11.16.ebuild2
-rw-r--r--dev-python/uv/uv-0.11.16.ebuild2
56 files changed, 788 insertions, 1510 deletions
diff --git a/dev-python/aioquic/aioquic-1.2.0.ebuild b/dev-python/aioquic/aioquic-1.2.0.ebuild
index 9b56ec51d9ce..1cc84188669c 100644
--- a/dev-python/aioquic/aioquic-1.2.0.ebuild
+++ b/dev-python/aioquic/aioquic-1.2.0.ebuild
@@ -1,5 +1,6 @@
-# Copyright 2025 Liguros Authors
+# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+
EAPI=8
DISTUTILS_EXT=1
@@ -16,12 +17,10 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm64"
-IUSE=""
+KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv x86"
DEPEND="
dev-libs/openssl:=
-
"
RDEPEND="
${DEPEND}
@@ -33,9 +32,4 @@ RDEPEND="
>=dev-python/service-identity-24.1.0[${PYTHON_USEDEP}]
"
-src_prepare() {
-
- default
-}
-
distutils_enable_tests pytest
diff --git a/dev-python/aioquic/aioquic-1.3.0.ebuild b/dev-python/aioquic/aioquic-1.3.0.ebuild
index b428d3d5c509..1f140eb0e800 100644
--- a/dev-python/aioquic/aioquic-1.3.0.ebuild
+++ b/dev-python/aioquic/aioquic-1.3.0.ebuild
@@ -1,5 +1,6 @@
-# Copyright 2025 Liguros Authors
+# Copyright 2024-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+
EAPI=8
DISTUTILS_EXT=1
@@ -16,12 +17,10 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm64"
-IUSE=""
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
DEPEND="
dev-libs/openssl:=
-
"
RDEPEND="
${DEPEND}
@@ -33,8 +32,5 @@ RDEPEND="
>=dev-python/service-identity-24.1.0[${PYTHON_USEDEP}]
"
-src_prepare() {
- default
-}
-
+EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/aioquic/files/patch-src_aioquic__crypto_c b/dev-python/aioquic/files/patch-src_aioquic__crypto_c
deleted file mode 100644
index df7460bbdaae..000000000000
--- a/dev-python/aioquic/files/patch-src_aioquic__crypto_c
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: src/aioquic/_crypto.c
---- src/aioquic/_crypto.c.orig
-+++ src/aioquic/_crypto.c
-@@ -407,10 +407,13 @@ PyInit__crypto(void)
- PyModule_AddObject(m, "HeaderProtection", HeaderProtectionType);
-
- // ensure required ciphers are initialised
-+ // LibreSSL loads all cipher by default, and doesn't support add_cipher
-+#ifndef LIBRESSL_VERSION_NUMBER
- EVP_add_cipher(EVP_aes_128_ecb());
- EVP_add_cipher(EVP_aes_128_gcm());
- EVP_add_cipher(EVP_aes_256_ecb());
- EVP_add_cipher(EVP_aes_256_gcm());
-+#endif
-
- return m;
- }
diff --git a/dev-python/aioquic/metadata.xml b/dev-python/aioquic/metadata.xml
index c684f76978e9..988ae9a6a6fe 100644
--- a/dev-python/aioquic/metadata.xml
+++ b/dev-python/aioquic/metadata.xml
@@ -2,10 +2,6 @@
<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
- </maintainer>
- <maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
<origin>baldeagleos-repo</origin>
diff --git a/dev-python/blessed/blessed-1.42.0.ebuild b/dev-python/blessed/blessed-1.42.0.ebuild
index 773c980738e4..199c2119c016 100644
--- a/dev-python/blessed/blessed-1.42.0.ebuild
+++ b/dev-python/blessed/blessed-1.42.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 arm64"
+KEYWORDS="amd64 arm64"
RDEPEND="
>=dev-python/jinxed-2.0[${PYTHON_USEDEP}]
diff --git a/dev-python/certifi/Manifest b/dev-python/certifi/Manifest
deleted file mode 100644
index d1f0a434ba44..000000000000
--- a/dev-python/certifi/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST certifi-2026.04.22.tar.gz 137429 BLAKE2B bcfc5769d0a93333c25c9348fc624df023486b32073376bb48b2012d6fb9f9177dddbaf3ff20caab14f72e840acc0c7407d99bfeedc26e144cd79fa2e350a125 SHA512 c4dcc0b585458beb53fb85242feb5bda60a94855f58938c7bf213404fdec559099fe3ebc7707fd88ac834558d8901532594238fe25ec405c22b580e73cd22250
-DIST certifi-2026.05.20.tar.gz 135822 BLAKE2B e10fa6c0d160ff7085b58f8629524985c305927f7b960fa22509a9be886e56bcbf702c161f2aa5818d8160a468c4384eafd670035cf4ded60a86a8ace004760b SHA512 15be1720602a96446f442cca91f2c96ee4fb57612d90f18b68942431bb17a8136e517db550ed0bec01e44d985cb630650018f8d32ddbd77963c8544b5e457b62
diff --git a/dev-python/certifi/certifi-2026.04.22.ebuild b/dev-python/certifi/certifi-2026.04.22.ebuild
deleted file mode 100644
index 69cb118cff18..000000000000
--- a/dev-python/certifi/certifi-2026.04.22.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2021-2026 Liguros 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 prefix readme.gentoo-r1
-
-DESCRIPTION="Python package for providing Mozilla's CA Bundle"
-HOMEPAGE="https://pypi.org/project/certifi/"
-SRC_URI="https://github.com/certifi/python-certifi/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE=""
-
-RDEPEND="app-misc/ca-certificates"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-S="${WORKDIR}/python-${P}"
-PATCH="$FILESDIR}/${P}-use-system-cacerts.patch"
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
- eprefixify certifi/core.py
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- local DOC_CONTENTS="
- In Gentoo, we don't use certifi's bundled CA certificates.
- Instead we remove bundled cacert.pem and patch certifi
- to return system's CA certificates.
- "
- readme.gentoo_create_doc
-}
diff --git a/dev-python/certifi/certifi-2026.05.20.ebuild b/dev-python/certifi/certifi-2026.05.20.ebuild
deleted file mode 100644
index 69cb118cff18..000000000000
--- a/dev-python/certifi/certifi-2026.05.20.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2021-2026 Liguros 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 prefix readme.gentoo-r1
-
-DESCRIPTION="Python package for providing Mozilla's CA Bundle"
-HOMEPAGE="https://pypi.org/project/certifi/"
-SRC_URI="https://github.com/certifi/python-certifi/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE=""
-
-RDEPEND="app-misc/ca-certificates"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-S="${WORKDIR}/python-${P}"
-PATCH="$FILESDIR}/${P}-use-system-cacerts.patch"
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
- eprefixify certifi/core.py
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- local DOC_CONTENTS="
- In Gentoo, we don't use certifi's bundled CA certificates.
- Instead we remove bundled cacert.pem and patch certifi
- to return system's CA certificates.
- "
- readme.gentoo_create_doc
-}
diff --git a/dev-python/certifi/files/certifi-2020.06.20-use-system-cacerts.patch b/dev-python/certifi/files/certifi-2020.06.20-use-system-cacerts.patch
deleted file mode 100644
index 750954fa869c..000000000000
--- a/dev-python/certifi/files/certifi-2020.06.20-use-system-cacerts.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -urN certifi-2020.6.20.orig/certifi/core.py certifi-2020.6.20/certifi/core.py
---- certifi-2020.6.20.orig/certifi/core.py 2020-08-01 17:50:13.139849550 +0200
-+++ certifi-2020.6.20/certifi/core.py 2020-08-01 17:52:51.614857443 +0200
-@@ -51,10 +51,9 @@
- # If we don't have importlib.resources, then we will just do the old logic
- # of assuming we're on the filesystem and munge the path directly.
- def where():
-- f = os.path.dirname(__file__)
--
-- return os.path.join(f, "cacert.pem")
-+ return "@GENTOO_PORTAGE_EPREFIX@/etc/ssl/certs/ca-certificates.crt"
-
-
- def contents():
-- return read_text("certifi", "cacert.pem", encoding="ascii")
-+ with open(where(), "r", encoding="ascii") as f:
-+ return f.read()
diff --git a/dev-python/certifi/metadata.xml b/dev-python/certifi/metadata.xml
deleted file mode 100644
index 55f3f3345a49..000000000000
--- a/dev-python/certifi/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
- <stabilize-allarches />
-</pkgmetadata>
diff --git a/dev-python/cryptography/Manifest b/dev-python/cryptography/Manifest
index fdf017739752..441c3ba095d4 100644
--- a/dev-python/cryptography/Manifest
+++ b/dev-python/cryptography/Manifest
@@ -2,11 +2,27 @@ DIST asn1-0.24.1.crate 50502 BLAKE2B ebb6ec767929765aa37a34f25c9ace8cebabc4b0126
DIST asn1_derive-0.24.1.crate 9534 BLAKE2B e498f5af8fef329668554673a2c583b1d0049a235ed70f2a7a26ab724304240b277c44b33995749437600568e084aaf018430b96c7011d8483bb6965ba0e9bfa SHA512 00990444fb13a033ea831f0688611ecbe33f8cdb63717382cdbccaa0834f953302383f05ae425525d8c336908780d7b80be0db430e1f233bded0544f32c9c199
DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9763070e269b56a14b150cbfc4b7f599d4c2a0a5f783638170ee132f0796fefb14fcac7fd73c58db0791007a SHA512 91cf2e4e7fc8815f9b8a86a7fa722a20eee3dc1dd57111b29e420de87ce7836bcdb1db01d3cafb9a977710ef63e7cc41b7772762323e68e0e832156858aace20
DIST bitflags-2.11.1.crate 49082 BLAKE2B c9c875b54e0a12115ecd846ef0a66bc7070d38892285a4142f1b1f26b07d407fa440a2943f310046f5fbc9a2428fcc56f2e44d06360e551d4b27c9b8cf93eab0 SHA512 c91b5a8b420d8e875a0906ef9b518a392487fba5399355aa5e908132149ddea7cc4222dd271cd5072e50dd9abd6e56420f4205652ba32a57af46bf07636604b7
+DIST bitflags-2.13.0.crate 51280 BLAKE2B 2926a828107adbf689705662a77e6f4f8d12c4d48ba8207d03e6220fe58082a0ebb48252f1652b760f4427e0b951276f31a08dc0467612d5b35b484a9f6fb74e SHA512 5a93a30662effe056132d33cd0b25670feedfe69e927b7e77ea1a417f68104988459f1c3a73eec1752eac08f44ae5333496526e1a96dfb3e7144deca1a94d19f
DIST cc-1.2.60.crate 97051 BLAKE2B 292350c3fe7dc3e023fe4f7cd07b3a5a7233996963b42391243948f834a17cf69781bab32cf46d62722c45437f50123450811dce8aa0e96ee63f35480cc15d90 SHA512 d67fd7400bd1d20f26f7a6743ac02ad09dba0b8002172b87907f4a7ae2487ee41feb2f24fe375ca91a3ac4fde1dc8b48b6703b74297c9eb42bd1e91ac8fe4e80
DIST cc-1.2.61.crate 97163 BLAKE2B d46641d905e44c60e36c3918c6fb666c7d5f19316a1415e5f51909f79a00773bd763784a71aa7ee85a4c058177596a06a5c4a807904bbd2340c31103312d415d SHA512 4728983b06cf6cfb8a042759b7da2d9123939cb3c87fd78d3d7dc565871b5a4aa522afe515bbfff62218d8ef5ca16ed88f777c30b746820c13c9a6bf98dc7ddd
+DIST cc-1.2.64.crate 97697 BLAKE2B e13b32095a684f456627aba1f48c369f9b374001660e02aca695577b058aaacfa9a74edf6fe6a5979b031ba430c123fd3f484f895312db01bcd6730d104a36c3 SHA512 be9d702a2573d3977b9fbb79c09c163b297fa9efce7b490941e40fa77ad5d965949fd42e02ce0fa89de52f579f4400d26041576fc188542637f8fd27752b6b63
DIST cfg-if-1.0.4.crate 9360 BLAKE2B beadbfb273ee97cbb6e3740891fbace57511399ad203459b66b397587d794677a9515cde4e9ec4320c3795518bf1551d72b9a889f8ac4b225168f493288b7c19 SHA512 176e04df7ba783b7143bb84397b777f5c5a1305c08a5c3a218d4a66830620be89ed68992ba27686165bcd3fb2f34b2daf80b2a1d4b481ecc267c988e84d28e9d
DIST cryptography-47.0.0.tar.gz 830863 BLAKE2B fa4f148133c23025ede6bdfcbbce65288dbe61f0a28e3792ef9e1a7143ae05bd7e42947e0ffa3f70d027b7d2064f8d755eb9a83e4719c83ae4f4c79490e0c49e SHA512 0d2fd9de7b6cfafef5f66e4fb10b7eaa8712bc0ed7bca19a017963b8ea707813a7bdc841f7d4aa512da7963eff3707792d46cb93058875fcc447961256c32d9e
+DIST cryptography-47.0.0.tar.gz.provenance 9322 BLAKE2B 9107587d781c2fc6eaa26d40f96b404a054bcf317f56974f2efc5f88111f4ed9ab1aa6fc91b2101ae3c5b66467b43858e0a0010df18001999a4a904773ef97df SHA512 744b8be907b623b44c3b4e0aba8ffdb61fa54df5161c20c946da272e0d5ec4cd23a242edb7d2378b8783d50a610be7e6e902ef02acac25a90b67b7908ab5f01d
DIST cryptography-48.0.0.tar.gz 832984 BLAKE2B 100bbd35411874c4b9a6fb855fa19dd5271c753daa28cd6c52fac0b926dbcee6b4dce37a59c28b5ff435028965a60fa898e501f6215e837cc28e056c1b8a4680 SHA512 4d04983e25eb5fc856705f63e8cca32a357ef0a369c4596b1beb2e0befa2b3dcd763eb4e9baed4230bd75aa6738790ec56b107a45d5e02ce09f78fc1851c2ff9
+DIST cryptography-48.0.0.tar.gz.provenance 9676 BLAKE2B a61479b36aae65fd67c0622f6483da49bbd2666131a2f5b016796125168bae24d7bedfcfa7987e89ae8fa051c2e0875ac6b6d8e60f736186812a7909d3fcad7d SHA512 0053d20118f0b427ee0fc9e787e938a4e8e78467a693403fb3118a5a1577dbea7f613b2cf72d2a79620ca966d850e33ba4f565b69a1217c1a834dac751076fd6
+DIST cryptography-48.0.1.tar.gz 832989 BLAKE2B a98f0ebc40b762ec53f504d9d3cc3ff1666befa505572218365764b0987fd5067172789ea037a31d1d6583854cbe39c3df3de5c87561f18a794ca6110ab4ce7f SHA512 014424f7de1e04840d88c2e047021027aeb2aa8b3b4fb29d2c7f3e7b8744c4b5601b8adc19694d12da014523859aaffa2b4922ea6f1b9bbe694835edff4ce08b
+DIST cryptography-48.0.1.tar.gz.provenance 9687 BLAKE2B 47ccd383cbd387ff24e15df41ecd22cde4aa09851e7094606fb76e75e0d02b38720b9029721f547bd2895286f3c76b8f76e82cf7f88e4167fc8011b2221b8eab SHA512 b196f115240801090aae00611a904f56ac5785b0caca64066b33add06be92bf35860a4d336a51703fe0a0cc845e46f26e5392f84cb966d90950d93c269b75563
+DIST cryptography-49.0.0.tar.gz 854345 BLAKE2B 735d303659d101bacf967bb2388190052caf5f3f02d02487a0b49c21eb594b8d133be58411d98b73ee35fd50597ee872f716f2a4f9de391fcdd66d6b7292a205 SHA512 047ffa4073ed124bc6fe3459663853b50c55c6ed9e5604bd1709b7f17e72788f0e4eb5c533a174afbead40fc16a1a798600d29f4963b190867d9d9e50dea6af8
+DIST cryptography-49.0.0.tar.gz.provenance 9824 BLAKE2B b2b08f93894aa7bc9de98185a37e2b90a1e041d7473674752e52724baa8b90759354763eaf5b4403172a2dfe48596653abae79a604d1dbebe7664c2fd71dd6f2 SHA512 4228eaaab0ae7b34763ae3d60cf2d24d5b803efea85718c7eac34073e7fc48aefb7ba2c699c25f82a34f05a050d04f634956f4e717c201608e2f02451ec5a318
+DIST cryptography_vectors-47.0.0.tar.gz 54877496 BLAKE2B f8c24d09bb84557a4ad9f5c885da47a95853948104c49b0e4e877e62c35e8c826fa0c470e8450c230c727de19102a8c80992b52aa51aee051267ab43e966535b SHA512 82fbad5a395879ba4dac4aa015271522a832da126f7ec204274821d78100ed17c4047bf4d1526f82e7785bdf9d375741eecfe4cd24f3c5dcdcabc2c7cd01f67d
+DIST cryptography_vectors-47.0.0.tar.gz.provenance 9377 BLAKE2B 55019d10ba343cb445dc6d0934c12cfc6909ffb2b016520a9d75c485223175ba1fd7ea71bb2da9af37489c4bfda4c4956fc272acedbe5cd3276c2999c198bbb1 SHA512 6adbd02d17f64a7e4fa6bbe453f7eca936683f0e569dc1978a6a8db861eaec93600bf5c1198c0d25e200913a85d5f74ba44616cf05775c44fb042cc20c258cdd
+DIST cryptography_vectors-48.0.0.tar.gz 54877461 BLAKE2B 1a8dbe98ff653f8f6ccf90843e8fbecfc6ed7123d9b78db2f34203336613c62083ab7e0803a95a0d3cdbf6b78f837302bc8ab927fc244e54a809f9a321cda67a SHA512 282d6bee83649ee2d80d4c4d51a0ca5de63d1af978e93d3cff2eee20a5aecede2c13e9164cd79e45af0b72fd7bacedf73653986d93032ed148ef55614f9751cb
+DIST cryptography_vectors-48.0.0.tar.gz.provenance 9735 BLAKE2B 08065c55da5deeae8c41c7be9c35b1840834454d9fc18db789c5e696e66245c77fb910913465f6bfb242d5a3166113d3186ac1cfc61c3f83335b9e6f8a72204c SHA512 b0aa45486fe08563135739ba2fc3572a70f88bdf27eb4765e52fa0d1a7d8aff305c0076606c91d2325c07374310537c8d8f7f28b462e0f9cfebda6a973250e25
+DIST cryptography_vectors-48.0.1.tar.gz 54877436 BLAKE2B 7b4c386588e5ad0b6e0fc7c0c9e73e597c6fc0a3940d791052a503f09e4f83aec709571878245842203ee66d75b2391c7c743175da0543409c6658973c0b2eaa SHA512 08912c2dfe0c290cb0a74bcefefab44a3e628554487f059073dfa4cb441d2dce4fc2d14ac367b5d237b1fc9f3fd705dfd44b90d020ea36ad5483d752dc093b81
+DIST cryptography_vectors-48.0.1.tar.gz.provenance 9789 BLAKE2B 22bdad6ea48bf56ba0a3c95d83d2e4c2de88a77032d4f08806e74c3ade60012ed89d034337a3a5396a76d79b75c9376244a9f608dcc4436d3a4f698f9e84614b SHA512 d578ae5a517cd6a1fbe10fa33ef6f135207cf129c01d602b146cfca2345d625fb048394d70768469752eb5af821ffdfea551aee36e863336e199051d67e94536
+DIST cryptography_vectors-49.0.0.tar.gz 54876507 BLAKE2B 58c4e75c33ee0926a7a0d348356be18884145f0f7bd04c771fdb7fdbc8c779b503cdf6e659e167cc64d20b5d5c2c46fec615e968a9cd49b2e9207945f079ebbb SHA512 dbec0a8198ea7a6ee56d1b5b8079752487cb8c2916c9239d26c664c08402c1ab8832585889ec79313e37f64151a3664b98c6a5e1eb69adceb4caeff32b56f838
+DIST cryptography_vectors-49.0.0.tar.gz.provenance 9789 BLAKE2B 66f3e0881b4715dc8304e832b7e976cbc1570cb08b573304935c8625c0fe673602777d6e90fbcd455e97ca32a586350a52e58c8c96a086038fe2aa935db8ed93 SHA512 c8915a33aa32ffd32602f645138cfd3dcb95dcf9bfcebae96ac9ffb9c8c27c7b1df727f44e8fa8f2f21f7b516cd8a142cc58fbc6dccb509afdb697f7e51e5955
DIST find-msvc-tools-0.1.9.crate 31493 BLAKE2B 4137592addf8b58f4e4c02be537a72b132b38cecc1c263c2569fe40e2cfe4377e7141679f32661f44ed467cf9723343ab13732b3d6f4a2a84c610d0958e7e30b SHA512 729b3c1c1d520dffe5d88fc8b58e47fb7e86dc26e568fc317eea5ca8de0ee953fbafaa20ab34a6bfb43173bab39a90ff6954c11dab8d545e902305dafc8cd3de
DIST foreign-types-0.3.2.crate 7504 BLAKE2B 520818b702d990d296ecd31a8646850202509ccfa18edd0e1b260289619a6c351e758f317ec0824bd76eccb209b6f087057c25f1bd01a47897715013dd834867 SHA512 bf27b8243ed482c202d120383374f19ff09422535e24b9c1aebccc66529bf300ca17b8bbc76d67f98ac092e614497afe3add9dc68aa69c93074df05762f91232
DIST foreign-types-shared-0.1.1.crate 5672 BLAKE2B d2e42e04b6657e7a69fe0bd20c672176629c743e49a55fd007bb30e289710b70045d445ae9cae0eeaa747ee708c90e8abd9b5fc39bad8ec0666befe1b696d4f1 SHA512 bafdb2143e136fb0818e2ffd90b5c862b7181647d6568947d4e4531012bbf7a57b597221ec7056c1b562dfc0c3b5dead26d1a4111ebc15e7863737a873518a4a
@@ -16,21 +32,29 @@ DIST libc-0.2.186.crate 821883 BLAKE2B ebe7aac5f8937a8064c64a0d4dc72e5fc794080e0
DIST once_cell-1.21.4.crate 35010 BLAKE2B 9117ed1d478e626b7b7be2e3ff8b68a382b051112c7ca4425367bdae86977671f8b5c576131c82fb437740b6d98b72501f718f4172d39781decac2385e8fbd4d SHA512 af67669b0107f44268ba74c355200cb2ed1aab235a6989a8bc54323eb2c9a45677010f8672e7790edadd4c981e939436e0c3a099d33c06dce9c14fd5ede86155
DIST openssl-0.10.78.crate 292622 BLAKE2B 17ec5a5efd1fa997a8179bb107912c62c47ea901d93df1c8c0c63e548427a01e57d79c23f0d4a7d614f0d2059c6c07097a4047aa91dfbc4d224c942615eb3587 SHA512 fc27483ebf36daf4b97a43aab2b347255a35e03268c4424df133c714da41a415025be7e6d12579590ab03d237eebaacf89c056d722a66591a7e77c1f45297b4d
DIST openssl-0.10.79.crate 307119 BLAKE2B c282a190830e6970bf4617d0a41cb12db34625c827c19ac02575635c2ff375ca2fc1ca5d2206a296af733c1fd5c5d4e962325820a3dd643e8913145385c9026b SHA512 da9b6025324499bef777f8a7caa3705e3857ddf0aa80c659da5adcc6b6518e8734ccdbe10410a578003bde1dec2006e8d7b84224d635d03003f4a91f2e71406d
+DIST openssl-0.10.81.crate 311187 BLAKE2B a66963c92f34d6efaa80363681664eafdf21af640727132155b2aa1f8c167a9af081091addb675e901ffa352145d1a155b2917df90c4a7917b01c722a592d559 SHA512 533c23b4f1e9b942ff30eb3d22232298135c370fc31c97940f4ac18c73291acca6be4e03284efecbd01096999a6529d1a33a63db332efb4aee478cbcb3f37eba
DIST openssl-macros-0.1.1.crate 5601 BLAKE2B 69dc1c1f3b7bc4f934cae0dce64c3efa501162e5279efd6af3b74f7a7716c04b6996b306b310f1c045cfa2eff2895314a47ecbb020a817e461c6d77d0bc11e92 SHA512 57e75c84f78fb83f884eeaedb0dd135ecb40192dad2facd908e6a575c9b65b38a2c93bca4630e09ea5a82c77d8bc8364cb2f5778cbfe9d8f484cafe3346b883c
DIST openssl-sys-0.9.114.crate 75617 BLAKE2B f4c313dae993116f249d27d9b161263e8ed770ea8ba0446738aa9fcb2f94d2aebb069f6a713f94ed64e99350f3241b095ef6f433b0e4f75cc3de2b0916d04a75 SHA512 a1404b613d77b039fee2e2195867f8db75520aaa558d125c99f1a6694e513e15454914dd8ab84ab1ef4ab729afd53eac8ddf5f3c42d152f758faa1d0c1fbd258
DIST openssl-sys-0.9.115.crate 75821 BLAKE2B 56de1b3874f67e0e5771d7b0227246a143ef862301769086dc10bece0b772cc08bf3f6169462b01bf9b90c5691ddd406531cb48104fe4619bbe8f1d19d9fa271 SHA512 2a5c46d20f8d194e92785311f3866cca4ccf8b0e1b665afd49768f230eee76e1e00f04415b4b2f2b8f449dbf9f11a62b56cb639dfdc1d4783ee8bb256864dd05
+DIST openssl-sys-0.9.117.crate 76045 BLAKE2B 074b44386a0a0833db961f8f8a249abdbacbc43a5428f8957e2284263206f4c2513c3eb7b38c96975f11ae75654656eb5d6d7d438c31bb5336835d9ed067e9b6 SHA512 89eeb0bfaa2c1ac3e0a8d268a46f8bfaa9942b0f840b0403faa15474961066559b3a1d24f672b445e1029301e6a99c7e2d84dec27528183523a409e9fb57b242
DIST pem-3.0.6.crate 18362 BLAKE2B 0cdd4855872e51d70bf6f3031a28ed9580c0fbad3ec7680938f121753e637f925a57ccb67ed5b85f3c0dff8b4c1fe936aa3ab4b4067ab9a3a3dd17dec02680cd SHA512 4d485bc3a14d7480b6fd0627869d4093124f173a3aeaeaff4ed69a37ba50a8327e6e9325a92d1a5c8ef337b7ca812de2e74ac786eaa94a644de8daf15619de15
DIST pkg-config-0.3.33.crate 21590 BLAKE2B 576349a975cd4b9ff08c7f797f300cb2774425c72ed7baced19e0ba6231246f4479939c61bcc9efeb9174a2d6917bf009f02e93c26800c65e798b9e51ccf4d8b SHA512 af931d889e72f51e0ae41c880a1f5aa6215b93148cf7041378664e4ba013d0c83d654e560a73c9d7b301b5a008c221e48ac81b413d1123786e003c97f7fff63a
DIST portable-atomic-1.13.1.crate 197001 BLAKE2B 6d0898c2a537a9bf204b7749cca5f5fddf280772b56eb7ce8fdd9cf7d71561137b26ef89f415c40277a1c89981333eef78e5bb4624515a294ba28fdaeb4c70ea SHA512 2a1b31ac9814af884640b3398ab824a9795c72d260527a0966b193113808cfbb3345d50cd1beaebb45863437c3d06c8706d34b26efecceefc649319a4bc274a3
DIST proc-macro2-1.0.106.crate 59765 BLAKE2B 87f95795621c4c992c370dc3a1240a2d5580e3362356525efe640f8f26ad0492b3c88755d575c080ff7db11376b0d82f31141bf6f86c895249b85e46c081220f SHA512 b726e2c92af434bfa88cd4f53c3fe6db647503567675fb439890dee3d15f5111137e3242b28d164114ce081c10acf3fd11950753ddb349190c87ee04e7d97744
DIST pyo3-0.28.3.crate 1204476 BLAKE2B 8540a1c51bac4fbe04ea34d5ce38471c13d5a3f0759e60cf21d67e846b00feb8316e70f32cb8dc6b74d09f0901ffc83d5f41b1a06da6d34790ef13e4cefcad45 SHA512 f955957eec4b95cc9337d331bba3bba52b4754b301cf86cd974601e64eb20c2424023b19be89a224661fe2e185de646cd3d0d00705b6b5cbd139856c9443a247
+DIST pyo3-0.29.0.crate 1241253 BLAKE2B 29deb7fa70010bf3d7e9e93bbcd87c0b56c4ee7ef0c2e5956181d2fb5f06f4c9b3f28bd1ad280126c26c048808b91b847e1fb69ddd617ef9e9e5e004cf4e48ae SHA512 e6822400de53ebcef4a14c899dc065abae621a126483873139f5eb850877c94f4bccee3a183d4e2a69eadcd3c3b82b0a6f3e1053d926b103be572329607f2f67
DIST pyo3-build-config-0.28.3.crate 35961 BLAKE2B 61a0101913c6d563721049ca99256c2aefd89b017a7e18c82f4a6aceca0aefeaa71fd559cd43adfb5034ce076c904e5188f8f73961ea217287fbfd12caab9401 SHA512 78f85696901b16540d42187d10e888bd929b9f23415faeb73f9798abda1af3506a308145dd4113b070521271c72624d7930fb4b19bad25aa1afd3082030c9126
+DIST pyo3-build-config-0.29.0.crate 39616 BLAKE2B 7b62a5976b890db84e5256f3136185c2a9c3b7110782b5b0cdc314a5231fde30a853ddcd17af63b53488b3e8d5e310b01002b6f3c32cfeb1e5c3e168cd6460d7 SHA512 df77e8d7d5fe173749437ff6b90fa1703083377d515ab8a85dc77d9cac9c3fc331ede4b040f7e3694311ddb5adff577cf90c181a27c196ab93a4569e918fdea8
DIST pyo3-ffi-0.28.3.crate 80881 BLAKE2B 4ac7066c911e2aec18aa9245efed00585d063f81d69910e6a146f8efbf2939ab5de519bbf2a3dde78b40c264e97c62490db80e9b2e84aaf080d63659a6676459 SHA512 ec49b5cc67d19f46c9daea76b37b4988af0f63b9ed67c71190f015a0aa9691d4a8ffd4128413de430928428e1e8e26d44c3103f561e6b71b7e8c4597ab602d9f
+DIST pyo3-ffi-0.29.0.crate 88184 BLAKE2B 5891af92a3bcba764c4701dcc0a99edbced010a5ac46df3217d004f5c3a368f18331733c6723bd49e522c6f7105455df13e2be0f07695ed5ce6ae71c15dec438 SHA512 baaf01d13ddc09316ba16b22e9ca15a67e5bda5b861ed7961c3393fd4692fc1c96952f81465d1dcb6531b9083f96c5630981b3d7802cb1ac2af67aafaffbec76
DIST pyo3-macros-0.28.3.crate 8963 BLAKE2B ca9967cfba565b873ed77565ff6eb8408473c227d191797e9db8c6b5cbc89abc17ffd57ae71e28877088fe19373da2f503cdefeae6b0a47796f6abcf62044f08 SHA512 57d178bd9b53dd98916e60c89bc26c34f9949829dc17bf7d6cc15b704bba7c874d85d6bd3c827d401268660a79230a6e32711048da939ec4e22342f3e08046d1
+DIST pyo3-macros-0.29.0.crate 8915 BLAKE2B c12d23753d5aba7333183d4b41f16c8da1d4297a3ff86b3b150e9185c1978fc184ac198e566a41833292a8a78ab59446eafd5ef7169e5cb41493e7cbeaa68280 SHA512 fb6633ac76229d2e0ad88d51136a9318f03823b27c700a62cfbc957b4c834985e2f4c0cdaf5ea5e9993ec9e8ce3d63cd6b3fb823f2a042e65186adbed78da7c2
DIST pyo3-macros-backend-0.28.3.crate 88063 BLAKE2B a484b12bbab3031838f61149ab9f08b9e460a2bd02089e08e58dac2cb747afbc0cdfe64018ed4c8cb0bbbd1d22e3eb05a6a72b020da6b71a584ec51ca8d24292 SHA512 45ce31ed64ee4fd0249736d480c9840a756bc45934d6803ae11e0680057ecf4cc74c71b47ccf9241fc3ab5c1e0b9c758426f08bd523d1ace92fc308302ea3c84
+DIST pyo3-macros-backend-0.29.0.crate 91943 BLAKE2B 7c2977dd9c80f3dd1f5375b0c65492b46048ca02e6355ad746bc8430cf92eaf25c701f416469eb69724fde5220651b1095c09eb9e3ff860176f862d7c7287407 SHA512 13a7af3958c09969637827d97ab9bbc664c407dda9e4283afaf495757798cf6f84932468bc092160fa75211ce0aafe6efc657f3a390234d77a67362cfb31fe0f
DIST quote-1.0.45.crate 31564 BLAKE2B 1b2c2c3e6ebabfe10affa4c43ca0bfd1f52d8fd49e1df463e13e63a82de41272089c8e09e4c02e8a33cfee768ace26d4d42a50752de8fb5a776c59806139ad5d SHA512 df96ede01ebd0ed642b758bf1d0862d0e116fc2b3343e14edb657ce5438ccabe743dec4a0a40de4dee98c134d169af9aba459faadf9c7a832b26377e755d49b0
DIST self_cell-1.2.2.crate 23264 BLAKE2B dd4208f060b09e673178d0c66ba98670187d613fd903254d17e711ed2538c4ce6cdca7c0d65482a163ed2c91c8aa9b19d7f29df025b9964d69ba0fab3a6c7d6d SHA512 b47fb19bc623b5d670c21a2b1c32dd298934e295cc5b965b2b244ff4a076a7de4c652e4d820db32e68301b4124334ebd25837b55c610b75dc60bdd95a6ef9420
DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a
+DIST shlex-2.0.1.crate 19332 BLAKE2B db2b6c5f7f30ad2f968d2dd386d39b362b8d19d7e17fffbb7407d6f35a4e165432b6607f3897c66cf8d32bf6e795ba7297080608c855b796fcf19842f4c509fa SHA512 d1bf35e2c5a93c718d3cc395fc4b06cc0c42d4891c0f37247de7e179492478020f0c57ae74c461d5bb1f833b071fd5c036d8d6d6ab8b61be6140cb64ae525921
DIST syn-2.0.117.crate 306011 BLAKE2B bbaec02c4322f522bdfc87caa4ce6fd1e09bbf8f4a102d9ed8728efacdd843a2750f616dce5b2d3a3e46bbb7d57439fbd10e328bc1d4a01e980986cd815798af SHA512 035c2e63542592b6a4058a2a82d4c2c1f5793f84fb1b04cbd393337a26fcf661a1f3bea439ce98a1fe943b1c4d36d2bda16df3bbc3fa6ca35e1548d530dc8416
DIST target-lexicon-0.13.5.crate 26928 BLAKE2B f8c62cb91f68a635e6ce3fc254df9ce378b5e8f62c1147404c967484b9ed97fb33d7993b4671611db76566063e999d658d201f856f70196ec678d72cc758cf6d SHA512 956df27c01e1186c5356117ffd07810fc0b62fb919d5bfd215955ba85be00ef675212a3c0dc36679986be7b825442fec5c93c7643b7e1e19c04572e6463546fc
DIST unicode-ident-1.0.24.crate 49298 BLAKE2B 34ba2906a3ebc06f52a4ba77dff96a8f3fb977718d260886fa9e051c5830765641b65a63977110f3a79f31fa177b385f81b01d56c80f6a0324d36eae72e2ebf0 SHA512 7be712d8d0075ac9341790180e312f66264d3e0255c91b38df0951baa5e446dec24551bb2125a66a1cb9b6ca2f1ea37c0cc15fa3dd74f398ecf4d5302c7dc259
diff --git a/dev-python/cryptography/cryptography-47.0.0.ebuild b/dev-python/cryptography/cryptography-47.0.0.ebuild
index b0090423b0f8..7e9dc3629f91 100644
--- a/dev-python/cryptography/cryptography-47.0.0.ebuild
+++ b/dev-python/cryptography/cryptography-47.0.0.ebuild
@@ -1,14 +1,16 @@
-# Copyright 2021-2026 Liguros Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+
EAPI=8
-CARGO_OPTIONAL=yes
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=maturin
+PYPI_VERIFY_REPO=https://github.com/pyca/cryptography
PYTHON_COMPAT=( python3_{13..14} )
PYTHON_REQ_USE="threads(+)"
-
+CARGO_OPTIONAL=yes
+RUST_MIN_VER="1.83.0"
CRATES="
asn1@0.24.1
asn1_derive@0.24.1
@@ -44,7 +46,7 @@ CRATES="
vcpkg@0.2.15
"
-inherit cargo distutils-r1 multiprocessing
+inherit cargo distutils-r1 flag-o-matic pypi
VEC_P=cryptography_vectors-$(ver_cut 1-3)
DESCRIPTION="Library providing cryptographic recipes and primitives"
@@ -52,9 +54,14 @@ HOMEPAGE="
https://github.com/pyca/cryptography/
https://pypi.org/project/cryptography/
"
-SRC_URI="
- https://github.com/pyca/cryptography/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
- $(cargo_crate_uris ${CRATES})"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+ test? (
+ $(pypi_sdist_url cryptography_vectors "$(ver_cut 1-3)")
+ $(pypi_provenance_url "${VEC_P}.tar.gz" cryptography_vectors "$(ver_cut 1-3)")
+ -> ${VEC_P}.tar.gz.provenance
+ )
+"
LICENSE="|| ( Apache-2.0 BSD ) PSF-2"
# Dependent crate licenses
@@ -62,12 +69,10 @@ LICENSE+="
Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-3.0
"
SLOT="0"
-KEYWORDS="~amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE=""
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
>=dev-libs/openssl-1.0.2o-r6:0=
-
$(python_gen_cond_dep '
>=dev-python/cffi-2.0.0:=[${PYTHON_USEDEP}]
' 'python*')
@@ -75,6 +80,7 @@ RDEPEND="
DEPEND="
${RDEPEND}
"
+
BDEPEND="
${RUST_DEPEND}
>=dev-util/maturin-1.9.4[${PYTHON_USEDEP}]
@@ -96,6 +102,11 @@ EPYTEST_XDIST=1
distutils_enable_tests pytest
src_unpack() {
+ if use verify-provenance; then
+ pypi_verify_provenance "${DISTDIR}/${P}.tar.gz"{,.provenance}
+ use test && pypi_verify_provenance "${DISTDIR}/${VEC_P}.tar.gz"{,.provenance}
+ fi
+
cargo_src_unpack
}
diff --git a/dev-python/cryptography/cryptography-48.0.0.ebuild b/dev-python/cryptography/cryptography-48.0.0.ebuild
index 461739efaae9..a79231e2a15e 100644
--- a/dev-python/cryptography/cryptography-48.0.0.ebuild
+++ b/dev-python/cryptography/cryptography-48.0.0.ebuild
@@ -1,14 +1,16 @@
-# Copyright 2021-2026 Liguros Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+
EAPI=8
-CARGO_OPTIONAL=yes
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=maturin
+PYPI_VERIFY_REPO=https://github.com/pyca/cryptography
PYTHON_COMPAT=( python3_{13..14} )
PYTHON_REQ_USE="threads(+)"
-
+CARGO_OPTIONAL=yes
+RUST_MIN_VER="1.83.0"
CRATES="
asn1@0.24.1
asn1_derive@0.24.1
@@ -44,7 +46,7 @@ CRATES="
vcpkg@0.2.15
"
-inherit cargo distutils-r1 multiprocessing
+inherit cargo distutils-r1 flag-o-matic pypi
VEC_P=cryptography_vectors-$(ver_cut 1-3)
DESCRIPTION="Library providing cryptographic recipes and primitives"
@@ -52,9 +54,14 @@ HOMEPAGE="
https://github.com/pyca/cryptography/
https://pypi.org/project/cryptography/
"
-SRC_URI="
- https://github.com/pyca/cryptography/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
- $(cargo_crate_uris ${CRATES})"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+ test? (
+ $(pypi_sdist_url cryptography_vectors "$(ver_cut 1-3)")
+ $(pypi_provenance_url "${VEC_P}.tar.gz" cryptography_vectors "$(ver_cut 1-3)")
+ -> ${VEC_P}.tar.gz.provenance
+ )
+"
LICENSE="|| ( Apache-2.0 BSD ) PSF-2"
# Dependent crate licenses
@@ -62,12 +69,10 @@ LICENSE+="
Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-3.0
"
SLOT="0"
-KEYWORDS="~amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE=""
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
>=dev-libs/openssl-1.0.2o-r6:0=
-
$(python_gen_cond_dep '
>=dev-python/cffi-2.0.0:=[${PYTHON_USEDEP}]
' 'python*')
@@ -75,6 +80,7 @@ RDEPEND="
DEPEND="
${RDEPEND}
"
+
BDEPEND="
${RUST_DEPEND}
>=dev-util/maturin-1.9.4[${PYTHON_USEDEP}]
@@ -91,11 +97,16 @@ BDEPEND="
# Files built without CFLAGS/LDFLAGS, acceptable for rust
QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/cryptography/hazmat/bindings/_rust.*.so"
-EPYTEST_PLUGINS=( hypothesis pytest-subtests )
+EPYTEST_PLUGINS=( hypothesis )
EPYTEST_XDIST=1
distutils_enable_tests pytest
src_unpack() {
+ if use verify-provenance; then
+ pypi_verify_provenance "${DISTDIR}/${P}.tar.gz"{,.provenance}
+ use test && pypi_verify_provenance "${DISTDIR}/${VEC_P}.tar.gz"{,.provenance}
+ fi
+
cargo_src_unpack
}
@@ -124,5 +135,10 @@ python_test() {
local EPYTEST_IGNORE=(
tests/bench
)
+ local EPYTEST_DESELECT=(
+ # OOMs depending on overcommit setting and available memory
+ tests/hazmat/primitives/test_argon2.py::TestArgon2::test_argon2_malloc_failure
+ )
+
epytest
}
diff --git a/dev-python/cryptography/cryptography-48.0.1.ebuild b/dev-python/cryptography/cryptography-48.0.1.ebuild
new file mode 100644
index 000000000000..05a756e9d8ce
--- /dev/null
+++ b/dev-python/cryptography/cryptography-48.0.1.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYPI_VERIFY_REPO=https://github.com/pyca/cryptography
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="threads(+)"
+
+CARGO_OPTIONAL=yes
+RUST_MIN_VER="1.83.0"
+CRATES="
+ asn1@0.24.1
+ asn1_derive@0.24.1
+ base64@0.22.1
+ bitflags@2.11.1
+ cc@1.2.61
+ cfg-if@1.0.4
+ find-msvc-tools@0.1.9
+ foreign-types-shared@0.1.1
+ foreign-types@0.3.2
+ heck@0.5.0
+ itoa@1.0.18
+ libc@0.2.186
+ once_cell@1.21.4
+ openssl-macros@0.1.1
+ openssl-sys@0.9.115
+ openssl@0.10.79
+ pem@3.0.6
+ pkg-config@0.3.33
+ portable-atomic@1.13.1
+ proc-macro2@1.0.106
+ pyo3-build-config@0.28.3
+ pyo3-ffi@0.28.3
+ pyo3-macros-backend@0.28.3
+ pyo3-macros@0.28.3
+ pyo3@0.28.3
+ quote@1.0.45
+ self_cell@1.2.2
+ shlex@1.3.0
+ syn@2.0.117
+ target-lexicon@0.13.5
+ unicode-ident@1.0.24
+ vcpkg@0.2.15
+"
+
+inherit cargo distutils-r1 flag-o-matic pypi
+
+VEC_P=cryptography_vectors-$(ver_cut 1-3)
+DESCRIPTION="Library providing cryptographic recipes and primitives"
+HOMEPAGE="
+ https://github.com/pyca/cryptography/
+ https://pypi.org/project/cryptography/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+ test? (
+ $(pypi_sdist_url cryptography_vectors "$(ver_cut 1-3)")
+ $(pypi_provenance_url "${VEC_P}.tar.gz" cryptography_vectors "$(ver_cut 1-3)")
+ -> ${VEC_P}.tar.gz.provenance
+ )
+"
+
+LICENSE="|| ( Apache-2.0 BSD ) PSF-2"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-3.0
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-libs/openssl-1.0.2o-r6:0=
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-2.0.0:=[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+BDEPEND="
+ ${RUST_DEPEND}
+ >=dev-util/maturin-1.9.4[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/certifi[${PYTHON_USEDEP}]
+ dev-python/iso8601[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pyasn1-modules[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+# Files built without CFLAGS/LDFLAGS, acceptable for rust
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/cryptography/hazmat/bindings/_rust.*.so"
+
+EPYTEST_PLUGINS=( hypothesis )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_unpack() {
+ if use verify-provenance; then
+ pypi_verify_provenance "${DISTDIR}/${P}.tar.gz"{,.provenance}
+ use test && pypi_verify_provenance "${DISTDIR}/${VEC_P}.tar.gz"{,.provenance}
+ fi
+
+ cargo_src_unpack
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -i -e 's:--benchmark-disable::' pyproject.toml || die
+
+ # work around availability macros not supported in GCC (yet)
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ local darwinok=0
+ if [[ ${CHOST##*-darwin} -ge 16 ]] ; then
+ darwinok=1
+ fi
+ sed -i -e 's/__builtin_available(macOS 10\.12, \*)/'"${darwinok}"'/' \
+ src/_cffi_src/openssl/src/osrandom_engine.c || die
+ fi
+}
+
+python_configure_all() {
+ filter-lto # bug #903908
+}
+
+python_test() {
+ local -x PYTHONPATH="${PYTHONPATH}:${WORKDIR}/${VEC_P}"
+ local EPYTEST_IGNORE=(
+ tests/bench
+ )
+ local EPYTEST_DESELECT=(
+ # OOMs depending on overcommit setting and available memory
+ tests/hazmat/primitives/test_argon2.py::TestArgon2::test_argon2_malloc_failure
+ )
+
+ epytest
+}
diff --git a/dev-python/cryptography/cryptography-49.0.0.ebuild b/dev-python/cryptography/cryptography-49.0.0.ebuild
new file mode 100644
index 000000000000..91a23970914f
--- /dev/null
+++ b/dev-python/cryptography/cryptography-49.0.0.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYPI_VERIFY_REPO=https://github.com/pyca/cryptography
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="threads(+)"
+
+CARGO_OPTIONAL=yes
+RUST_MIN_VER="1.83.0"
+CRATES="
+ asn1@0.24.1
+ asn1_derive@0.24.1
+ base64@0.22.1
+ bitflags@2.13.0
+ cc@1.2.64
+ cfg-if@1.0.4
+ find-msvc-tools@0.1.9
+ foreign-types-shared@0.1.1
+ foreign-types@0.3.2
+ heck@0.5.0
+ itoa@1.0.18
+ libc@0.2.186
+ once_cell@1.21.4
+ openssl-macros@0.1.1
+ openssl-sys@0.9.117
+ openssl@0.10.81
+ pem@3.0.6
+ pkg-config@0.3.33
+ portable-atomic@1.13.1
+ proc-macro2@1.0.106
+ pyo3-build-config@0.29.0
+ pyo3-ffi@0.29.0
+ pyo3-macros-backend@0.29.0
+ pyo3-macros@0.29.0
+ pyo3@0.29.0
+ quote@1.0.45
+ self_cell@1.2.2
+ shlex@2.0.1
+ syn@2.0.117
+ target-lexicon@0.13.5
+ unicode-ident@1.0.24
+ vcpkg@0.2.15
+"
+
+inherit cargo distutils-r1 flag-o-matic pypi
+
+VEC_P=cryptography_vectors-$(ver_cut 1-3)
+DESCRIPTION="Library providing cryptographic recipes and primitives"
+HOMEPAGE="
+ https://github.com/pyca/cryptography/
+ https://pypi.org/project/cryptography/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+ test? (
+ $(pypi_sdist_url cryptography_vectors "$(ver_cut 1-3)")
+ $(pypi_provenance_url "${VEC_P}.tar.gz" cryptography_vectors "$(ver_cut 1-3)")
+ -> ${VEC_P}.tar.gz.provenance
+ )
+"
+
+LICENSE="|| ( Apache-2.0 BSD ) PSF-2"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-3.0
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-libs/openssl-1.0.2o-r6:0=
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-2.0.0:=[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+BDEPEND="
+ ${RUST_DEPEND}
+ >=dev-util/maturin-1.9.4[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/certifi[${PYTHON_USEDEP}]
+ dev-python/iso8601[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pyasn1-modules[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+# Files built without CFLAGS/LDFLAGS, acceptable for rust
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/cryptography/hazmat/bindings/_rust.*.so"
+
+EPYTEST_PLUGINS=( hypothesis )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_unpack() {
+ if use verify-provenance; then
+ pypi_verify_provenance "${DISTDIR}/${P}.tar.gz"{,.provenance}
+ use test && pypi_verify_provenance "${DISTDIR}/${VEC_P}.tar.gz"{,.provenance}
+ fi
+
+ cargo_src_unpack
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -i -e 's:--benchmark-disable::' pyproject.toml || die
+
+ # work around availability macros not supported in GCC (yet)
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ local darwinok=0
+ if [[ ${CHOST##*-darwin} -ge 16 ]] ; then
+ darwinok=1
+ fi
+ sed -i -e 's/__builtin_available(macOS 10\.12, \*)/'"${darwinok}"'/' \
+ src/_cffi_src/openssl/src/osrandom_engine.c || die
+ fi
+}
+
+python_configure_all() {
+ filter-lto # bug #903908
+}
+
+python_test() {
+ local -x PYTHONPATH="${PYTHONPATH}:${WORKDIR}/${VEC_P}"
+ local EPYTEST_IGNORE=(
+ tests/bench
+ )
+ local EPYTEST_DESELECT=(
+ # OOMs depending on overcommit setting and available memory
+ tests/hazmat/primitives/test_argon2.py::TestArgon2::test_argon2_malloc_failure
+ )
+
+ epytest
+}
diff --git a/dev-python/cryptography/files/cryptography-46.0.5-stray-files.patch b/dev-python/cryptography/files/cryptography-46.0.5-stray-files.patch
deleted file mode 100644
index e13bb4f560c4..000000000000
--- a/dev-python/cryptography/files/cryptography-46.0.5-stray-files.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From b89a7737e3f135333125b0984e75ea553a485203 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sun, 15 Feb 2026 17:47:48 +0100
-Subject: [PATCH] Fix installing stray files into site-packages
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fix the `include` pattern in `pyproject.toml` not to install stray files
-such as `CHANGELOG.rst`, `CONTRIBUTING.rst`, `docs` and `tests` straight
-into site-packages. Apparently Maturin did not install them before due
-to a bug, but it was fixed in maturin 1.12.0, leading to the files being
-suddenly installed.
-
-Originally reported as https://bugs.gentoo.org/970090.
-
-Signed-off-by: Michał Górny <mgorny@gentoo.org>
----
- pyproject.toml | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/pyproject.toml b/pyproject.toml
-index e26b38628..8640cb6e5 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -106,10 +106,10 @@ module-name = "cryptography.hazmat.bindings._rust"
- locked = true
- sdist-generator = "git"
- include = [
-- "CHANGELOG.rst",
-- "CONTRIBUTING.rst",
-+ { path = "CHANGELOG.rst", format = "sdist" },
-+ { path = "CONTRIBUTING.rst", format = "sdist" },
-
-- "docs/**/*",
-+ { path = "docs/**/*", format = "sdist" },
-
- { path = "src/_cffi_src/**/*.py", format = "sdist" },
- { path = "src/_cffi_src/**/*.c", format = "sdist" },
-@@ -121,7 +121,7 @@ include = [
- { path = "src/rust/**/Cargo.lock", format = "sdist" },
- { path = "src/rust/**/*.rs", format = "sdist" },
-
-- "tests/**/*.py",
-+ { path = "tests/**/*.py", format = "sdist" },
- ]
- exclude = [
- "vectors/**/*",
diff --git a/dev-python/cryptography/metadata.xml b/dev-python/cryptography/metadata.xml
index 1aeaf3618766..621add906b84 100644
--- a/dev-python/cryptography/metadata.xml
+++ b/dev-python/cryptography/metadata.xml
@@ -2,18 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
- </maintainer>
- <maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<upstream>
- <remote-id type="cpe">cpe:/a:python-cryptography_project:python-cryptography</remote-id>
+ <remote-id type="cpe">cpe:/a:cryptography_project:cryptography</remote-id>
</upstream>
- <use>
- <flag name="idna">enable support for the old, deprecated IDNA specification (RFC 3490)</flag>
- </use>
<origin>baldeagleos-repo</origin>
</pkgmetadata>
diff --git a/dev-python/dulwich/dulwich-1.2.6.ebuild b/dev-python/dulwich/dulwich-1.2.6.ebuild
index cd24e2eef9ac..d6a01641d075 100644
--- a/dev-python/dulwich/dulwich-1.2.6.ebuild
+++ b/dev-python/dulwich/dulwich-1.2.6.ebuild
@@ -56,7 +56,7 @@ LICENSE+="
LICENSE+=" )"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
IUSE="doc examples +native-extensions test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/grpcio/Manifest b/dev-python/grpcio/Manifest
index 7ff9b8d7527b..e0cd81323c01 100644
--- a/dev-python/grpcio/Manifest
+++ b/dev-python/grpcio/Manifest
@@ -1,5 +1,9 @@
-DIST grpcio-1.74.0.tar.gz 12756048 BLAKE2B 943f9b438985193e13d72cd3e270f8b0bb311e548a226803e62619fb30ce50fa9f14bdcccec8aa6cf57704bdc7ef8706509d987c3ed9806a4e26f5360492124b SHA512 2f8bf61bf28b0b53422041f43fb226a7e4af0cd3c1942b58b84284a5d542e3224c3f54b40dc5346424dd0c260e1416b857732d8ee02fbca28384a15702f07ae0
-DIST grpcio-1.75.1.tar.gz 12731327 BLAKE2B 1cca575fefd42584fa1ce1d20ae875b2f894a1cc4f3c7eefbd64e51014bd8709f70d8ac8750cd06d9572a7867fb0ac514af098bb7b88c574f006957df4d7c082 SHA512 025554fc885859e0e484ec0c205ba19abe21d4fc7b6632eac7d4aa1fb7513b57235e38444a01b417c2f70549c79696b08fb4f2a673689cbca2810b21363d3fa5
-DIST grpcio-1.76.0.tar.gz 12785182 BLAKE2B dbd3bf849ac2a721a114087e484d8f759bc4799e2e8a4ea58236a6bcf926ccf1ee183bc61f616f7acbbff59418b9e39de921e50aa6b890e6a642f2969f9513cf SHA512 f6cd5bb70d839c7f0a17da9635c3363d1073f590fb53518a2c603a1a93f03742e135f86105494852ae343c699a9de8a3286fd150ef9074d8a51727c61c5a55c5
-DIST grpcio-1.78.1.tar.gz 12835760 BLAKE2B 45c2c811d5970731e88539ab60d8f99f4477a6cd6f9e64a85dee618a56709c8bd8c7476849dff9bf4d5af75e5dd845bd9a7e1259cb345394a9e8add7ededc6db SHA512 5e123927cf9dd6cbee6c623f88007c6b89e3c0cd67ad911f9fc594546597a3a98542f04ee54b431660eaf6be5248fef67af256400209af1df61e01b1b2222829
+DIST grpc-1.80.0.gh.tar.gz 15772645 BLAKE2B 48f3acc5c3268f651dc865ce3095c306ad3fa0a4eacf6e6eea499d961c0e001e2ab43fe8f0d53713d19998f28ce0184045ad2a8ef4cdc41aee31e2fe70e2b53e SHA512 5ef6ec2277dcb2257f8ac7546057e9a3da6668676a3a4ff64e08e66abb465b5705103c4aa0b41955535ee437d4feef5b811aa3e31636c4cb76bf68c52caaccf7
+DIST grpc-1.81.0.gh.tar.gz 15840050 BLAKE2B 01defbe7386b8f7752b4abe9b3081fc09801a0d4cbccc083ac45dea63b3d32a6c4c7b87b57de9a33f7d82d3bc7ee173e0e291742a8b09aaf3a70bfef033c2473 SHA512 38966090a498392b727ea7d8149b59fbcb2fe630a8cada1a78d57e54359d125ca9b5e6d528efcdff05392f01c8418f25798fe823c900d480a3b768943c17a621
+DIST grpc-1.81.1.gh.tar.gz 15840192 BLAKE2B 900ca16869e1295428054c2bb4c4363ec855878faef2705cdd81249d46596958c25983dbbd87358d942caae6d5910a781d45da71f8e2a4b714affba02aba0dd5 SHA512 2fcc219bf91de49607ed1f74243c2d43c0fb0def4944e48fbd4b382033d648f0e0b8551426993d04db49b9cae8d8b9efe20a817f6985ed3c72f086bf8ea2e26e
DIST grpcio-1.80.0.tar.gz 12978905 BLAKE2B 2583bbdfcb05aaced115b4a4ab7d26b95efbe35bf7c2bd7989d9791d50553e05ba3e6323ce8b52c78459b34b5daeb1566ffd1e2b17c14208a13e4a06f0a2a6d5 SHA512 04ef676d6847f3d2820998c07d9f80585c105dc43e3f754b517566e86a92af94328ecdecba0b772e0abe2a53eb49102a12db93099b50d5bee576ac69cb928db5
+DIST grpcio-1.81.0.tar.gz 13032272 BLAKE2B 55ecfd288602cbdc44b11b9ac4afb90b79d8feae773bfd5bb7df1057e4af9b5657d6151b71f8e73e028c92e07f7e105859b8814e781ca3afdf05e4b7eca699b3 SHA512 f57e7c370455028b91574804c511181919c6de23e4213ef35d798c310734f41ab30eabbef00b183cbc2085e22b05b9616109eff8c49443c03932a5b6f8339502
+DIST grpcio-1.81.1.tar.gz 13026582 BLAKE2B 8aa2754b7232a211c23852da22e7aa1c73ed630a2ccfceaf99ad80b23ed5845aeacdb87ec34d748357c6573b436bee38bed148c65d54cc438f3badeeb977435d SHA512 7b34b02a5ea487ef98fb6c1017ddc0127f292f54968d71c08ff5cbf9efa016c49a562f67165564d1a6ff219f24be1b2a6a525f12c251699893c8772d226baa41
+DIST grpcio_tools-1.80.0.tar.gz 6133212 BLAKE2B 9bf051314482ff946aa6edd4f8b517dec63c1188914d76a2b4d130b68408ee5ec3ec3b5a2075b7ec2257e92ee9dbad37c18c425a2b947b81640f67cadd284df6 SHA512 7d9e17cee024af6731a8b75da6de0c26b554f2c50d75acfefc7708545935af4ab8f60fe0e16550c4c2943eb6c3414c49c38dc1a71df948c87c6c743ee72fff68
+DIST grpcio_tools-1.81.0.tar.gz 6235718 BLAKE2B 08cd6c49329349fbfa9e26efe4b3894095801319e41bafda9907f98ae823bf5f4de17db6f02780c31aef9a781d2b0463c88825dae073e5d0617b346c1c39dbca SHA512 0925b13fa8b00483d124ef6c2b6e3ebe6e4116a11fe5c306d158edd9a2f5d4743257bcd2ae04c1f29dd1e562e44f1e76c0d1168a07e4fd2f87ae31066ab2555b
+DIST grpcio_tools-1.81.1.tar.gz 6236155 BLAKE2B e95db929827c7f465473e0640d2fd53df1d9e6f6ee80f1f3b49709e496f678d248c78c37e90b6f96cd2348fb903bd6e8047b3490353f1c436fe0e0781a26069c SHA512 ca68845b4beef98cd83d4dbdb9d12449ee9289dcf81ca4723617a35a1c576bc937fbbcac12ab0e304d2b7f49993a8a8fbcb00b7021ea141a71196c2a93fb8cdf
diff --git a/dev-python/grpcio/grpcio-1.74.0.ebuild b/dev-python/grpcio/grpcio-1.74.0.ebuild
deleted file mode 100644
index 7670f76f0070..000000000000
--- a/dev-python/grpcio/grpcio-1.74.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2022-2025 LiGurOs Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 multiprocessing prefix pypi
-
-DESCRIPTION="High-performance RPC framework (python libraries)"
-HOMEPAGE="https://grpc.io https://pypi.org/project/grpcio/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-IUSE=""
-
-RDEPEND="
- >=dev-libs/openssl-1.1.1:0=[-bindist(-)]
- >=dev-libs/re2-0.2021.11.01:=
- dev-python/cython[${PYTHON_USEDEP}]
- >=dev-libs/protobuf-25.0
- dev-python/protobuf[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- net-dns/c-ares:=
- sys-libs/zlib:=
-"
-
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
-}
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
- hprefixify setup.py
-}
-
-python_configure_all() {
- export GRPC_BUILD_WITH_BORING_SSL_ASM=9
- export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
-
- export GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY=1
- export GRPC_PYTHON_BUILD_SYSTEM_CARES=1
- export GRPC_PYTHON_BUILD_WITH_SYSTEM_RE2=1
- export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1
- export GRPC_PYTHON_BUILD_WITH_CYTHON=1
- export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="$(makeopts_jobs)"
-}
diff --git a/dev-python/grpcio/grpcio-1.75.1.ebuild b/dev-python/grpcio/grpcio-1.75.1.ebuild
deleted file mode 100644
index 7670f76f0070..000000000000
--- a/dev-python/grpcio/grpcio-1.75.1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2022-2025 LiGurOs Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 multiprocessing prefix pypi
-
-DESCRIPTION="High-performance RPC framework (python libraries)"
-HOMEPAGE="https://grpc.io https://pypi.org/project/grpcio/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-IUSE=""
-
-RDEPEND="
- >=dev-libs/openssl-1.1.1:0=[-bindist(-)]
- >=dev-libs/re2-0.2021.11.01:=
- dev-python/cython[${PYTHON_USEDEP}]
- >=dev-libs/protobuf-25.0
- dev-python/protobuf[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- net-dns/c-ares:=
- sys-libs/zlib:=
-"
-
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
-}
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
- hprefixify setup.py
-}
-
-python_configure_all() {
- export GRPC_BUILD_WITH_BORING_SSL_ASM=9
- export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
-
- export GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY=1
- export GRPC_PYTHON_BUILD_SYSTEM_CARES=1
- export GRPC_PYTHON_BUILD_WITH_SYSTEM_RE2=1
- export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1
- export GRPC_PYTHON_BUILD_WITH_CYTHON=1
- export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="$(makeopts_jobs)"
-}
diff --git a/dev-python/grpcio/grpcio-1.76.0.ebuild b/dev-python/grpcio/grpcio-1.76.0.ebuild
deleted file mode 100644
index 7670f76f0070..000000000000
--- a/dev-python/grpcio/grpcio-1.76.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2022-2025 LiGurOs Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 multiprocessing prefix pypi
-
-DESCRIPTION="High-performance RPC framework (python libraries)"
-HOMEPAGE="https://grpc.io https://pypi.org/project/grpcio/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-IUSE=""
-
-RDEPEND="
- >=dev-libs/openssl-1.1.1:0=[-bindist(-)]
- >=dev-libs/re2-0.2021.11.01:=
- dev-python/cython[${PYTHON_USEDEP}]
- >=dev-libs/protobuf-25.0
- dev-python/protobuf[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- net-dns/c-ares:=
- sys-libs/zlib:=
-"
-
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
-}
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
- hprefixify setup.py
-}
-
-python_configure_all() {
- export GRPC_BUILD_WITH_BORING_SSL_ASM=9
- export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
-
- export GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY=1
- export GRPC_PYTHON_BUILD_SYSTEM_CARES=1
- export GRPC_PYTHON_BUILD_WITH_SYSTEM_RE2=1
- export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1
- export GRPC_PYTHON_BUILD_WITH_CYTHON=1
- export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="$(makeopts_jobs)"
-}
diff --git a/dev-python/grpcio/grpcio-1.78.1.ebuild b/dev-python/grpcio/grpcio-1.78.1.ebuild
deleted file mode 100644
index 13c7fde34b09..000000000000
--- a/dev-python/grpcio/grpcio-1.78.1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2022-2026 LiGurOs Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 multiprocessing prefix pypi
-
-DESCRIPTION="High-performance RPC framework (python libraries)"
-HOMEPAGE="https://grpc.io https://pypi.org/project/grpcio/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-IUSE=""
-
-RDEPEND="
- >=dev-libs/openssl-1.1.1:0=[-bindist(-)]
- >=dev-libs/re2-0.2021.11.01:=
- dev-python/cython[${PYTHON_USEDEP}]
- >=dev-libs/protobuf-25.0
- dev-python/protobuf[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- net-dns/c-ares:=
- sys-libs/zlib:=
-"
-
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
-}
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
- hprefixify setup.py
-}
-
-python_configure_all() {
- export GRPC_BUILD_WITH_BORING_SSL_ASM=9
- export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
-
- export GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY=1
- export GRPC_PYTHON_BUILD_SYSTEM_CARES=1
- export GRPC_PYTHON_BUILD_WITH_SYSTEM_RE2=1
- export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1
- export GRPC_PYTHON_BUILD_WITH_CYTHON=1
- export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="$(makeopts_jobs)"
-}
diff --git a/dev-python/grpcio/grpcio-1.80.0.ebuild b/dev-python/grpcio/grpcio-1.80.0.ebuild
index 13c7fde34b09..c468eb77cafc 100644
--- a/dev-python/grpcio/grpcio-1.80.0.ebuild
+++ b/dev-python/grpcio/grpcio-1.80.0.ebuild
@@ -1,51 +1,135 @@
-# Copyright 2022-2026 LiGurOs Authors
+# Copyright 2024-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{13..14} )
-inherit distutils-r1 multiprocessing prefix pypi
+inherit distutils-r1 flag-o-matic multiprocessing pypi
-DESCRIPTION="High-performance RPC framework (python libraries)"
-HOMEPAGE="https://grpc.io https://pypi.org/project/grpcio/"
+MY_P=grpc-${PV}
+DESCRIPTION="HTTP/2-based RPC framework"
+HOMEPAGE="
+ https://grpc.io/
+ https://github.com/grpc/grpc/
+ https://pypi.org/project/grpcio/
+"
+# Tests need other packages from the source tree, so use a GitHub
+# archive. sdist provides bundled library sources (git submodules).
+SRC_URI+="
+ test? (
+ https://github.com/grpc/grpc/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+ $(pypi_sdist_url grpcio_tools)
+ )
+"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-IUSE=""
+KEYWORDS="amd64 arm64 x86"
-RDEPEND="
- >=dev-libs/openssl-1.1.1:0=[-bindist(-)]
- >=dev-libs/re2-0.2021.11.01:=
- dev-python/cython[${PYTHON_USEDEP}]
- >=dev-libs/protobuf-25.0
- dev-python/protobuf[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
+DEPEND="
+ dev-libs/openssl:=
net-dns/c-ares:=
- sys-libs/zlib:=
+ virtual/zlib:=
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}]
+"
+# TODO: try to remove coverage dep
+BDEPEND="
+ >=dev-python/cython-3.1.1[${PYTHON_USEDEP}]
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-6.31.1[${PYTHON_USEDEP}]
+ )
"
-DEPEND="${RDEPEND}"
+EPYTEST_PLUGINS=()
+# signal handling tests hang often
+EPYTEST_RERUNS=5
+: ${EPYTEST_TIMEOUT=15}
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
src_prepare() {
- default
-}
+ distutils-r1_src_prepare
-python_prepare_all() {
- distutils-r1_python_prepare_all
- hprefixify setup.py
+ sed -i -e '/INSTALL_REQUIRES/s:~=:>=:' setup.py || die
}
-python_configure_all() {
- export GRPC_BUILD_WITH_BORING_SSL_ASM=9
- export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
+src_configure() {
+ # -Werror=odr -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/856775
+ # https://github.com/grpc/grpc/issues/36158
+ filter-lto
- export GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY=1
+ export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="$(makeopts_jobs)"
+ # system abseil-cpp crashes with USE=-debug, sigh
+ # https://bugs.gentoo.org/942021
+ #export GRPC_PYTHON_BUILD_SYSTEM_ABSL=1
export GRPC_PYTHON_BUILD_SYSTEM_CARES=1
- export GRPC_PYTHON_BUILD_WITH_SYSTEM_RE2=1
+ export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
+ # re2 needs to be built against the same abseil-cpp version
+ #export GRPC_PYTHON_BUILD_SYSTEM_RE2=1
export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1
export GRPC_PYTHON_BUILD_WITH_CYTHON=1
- export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="$(makeopts_jobs)"
+
+ # copied from setup.py, except for removed -std= that does not apply
+ # to C code and causes warnings
+ export GRPC_PYTHON_CFLAGS="-fvisibility=hidden -fno-wrapv -fno-exceptions"
+ # required by abseil-cpp
+ append-cxxflags -std=c++17
+ # silence a lot of harmless noise from bad quality code
+ append-cxxflags -Wno-attributes
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/unit/_dns_resolver_test.py::DNSResolverTest::test_connect_loopback
+ # not a test
+ tests/unit/_compression_test.py::test_compression
+ tests_aio/unit/channel_argument_test.py::test_if_reuse_port_enabled
+ # expects grpcio-admin
+ tests/unit/test_all_modules_installed.py::TestAllModulesInstalled::test_import_all_modules
+ # TODO
+ tests_py3_only/unit/_simple_stubs_test.py::SimpleStubsTest::test_default_ssl
+ )
+ local EPYTEST_IGNORE=(
+ # not a test
+ tests/unit/test_common.py
+ # requires oauth2client
+ tests/unit/beta/_implementations_test.py
+ )
+
+ cp -a "${BUILD_DIR}"/{install,test} || die
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ # grpcio proper builds against system libs
+ # grpcio_tools supports bundled libs only, and requires different
+ # flags
+ unset GRPC_PYTHON_CFLAGS
+ cd "${WORKDIR}/grpcio_tools-${PV}" || die
+ distutils_pep517_install "${BUILD_DIR}"/test
+
+ cd "${WORKDIR}/${MY_P}" || die
+ local protodir=src/proto/grpc/testing
+ local testdir=src/python/grpcio_tests
+ "${EPYTHON}" -m grpc_tools.protoc -I. --python_out="${testdir}" \
+ "${protodir}"/{empty,messages}.proto || die
+ "${EPYTHON}" -m grpc_tools.protoc -I. --grpc_python_out="${testdir}" \
+ "${protodir}"/test.proto || die
+
+ cd "${testdir}" || die
+ "${EPYTHON}" -m grpc_tools.protoc -I. --python_out=. \
+ tests/testing/proto/{requests,services}.proto || die
+ "${EPYTHON}" -m grpc_tools.protoc -I. --grpc_python_out=. \
+ tests/testing/proto/services.proto || die
+
+ # TODO: aio tests are failing randomly, so we're skipping them entirely
+ epytest tests{_py3_only,}/unit
}
diff --git a/dev-python/grpcio/grpcio-1.81.0.ebuild b/dev-python/grpcio/grpcio-1.81.0.ebuild
new file mode 100644
index 000000000000..6e9fb2ecc763
--- /dev/null
+++ b/dev-python/grpcio/grpcio-1.81.0.ebuild
@@ -0,0 +1,137 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 flag-o-matic multiprocessing pypi
+
+MY_P=grpc-${PV}
+DESCRIPTION="HTTP/2-based RPC framework"
+HOMEPAGE="
+ https://grpc.io/
+ https://github.com/grpc/grpc/
+ https://pypi.org/project/grpcio/
+"
+# Tests need other packages from the source tree, so use a GitHub
+# archive. sdist provides bundled library sources (git submodules).
+SRC_URI+="
+ test? (
+ https://github.com/grpc/grpc/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+ $(pypi_sdist_url grpcio_tools)
+ )
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+DEPEND="
+ dev-libs/openssl:=
+ net-dns/c-ares:=
+ virtual/zlib:=
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}]
+"
+# TODO: try to remove coverage dep
+BDEPEND="
+ >=dev-python/cython-3.1.1[${PYTHON_USEDEP}]
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-6.33.5[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+# signal handling tests hang often
+EPYTEST_RERUNS=5
+: ${EPYTEST_TIMEOUT=15}
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -i -e '/INSTALL_REQUIRES/s:~=:>=:' setup.py || die
+}
+
+src_configure() {
+ # -Werror=odr -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/856775
+ # https://github.com/grpc/grpc/issues/36158
+ filter-lto
+
+ export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="$(makeopts_jobs)"
+ # system abseil-cpp crashes with USE=-debug, sigh
+ # https://bugs.gentoo.org/942021
+ #export GRPC_PYTHON_BUILD_SYSTEM_ABSL=1
+ export GRPC_PYTHON_BUILD_SYSTEM_CARES=1
+ export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
+ # re2 needs to be built against the same abseil-cpp version
+ #export GRPC_PYTHON_BUILD_SYSTEM_RE2=1
+ export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1
+ export GRPC_PYTHON_BUILD_WITH_CYTHON=1
+
+ # copied from setup.py, except for removed -std= that does not apply
+ # to C code and causes warnings
+ export GRPC_PYTHON_CFLAGS="-fvisibility=hidden -fno-wrapv -fno-exceptions"
+ # required by abseil-cpp
+ append-cxxflags -std=c++17
+ # silence a lot of harmless noise from bad quality code
+ append-cxxflags -Wno-attributes
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/unit/_dns_resolver_test.py::DNSResolverTest::test_connect_loopback
+ # not a test
+ tests/unit/_compression_test.py::test_compression
+ tests_aio/unit/channel_argument_test.py::test_if_reuse_port_enabled
+ # expects grpcio-admin
+ tests/unit/test_all_modules_installed.py::TestAllModulesInstalled::test_import_all_modules
+ # TODO
+ tests_py3_only/unit/_simple_stubs_test.py::SimpleStubsTest::test_default_ssl
+ tests/unit/_cython/_channel_test.py::ChannelTest::test_multiple_channels_lonely_connectivity
+ tests/unit/_cython/_channel_test.py::ChannelTest::test_single_channel_lonely_connectivity
+ )
+ local EPYTEST_IGNORE=(
+ # not a test
+ tests/unit/test_common.py
+ # requires oauth2client
+ tests/unit/beta/_implementations_test.py
+ )
+
+ cp -a "${BUILD_DIR}"/{install,test} || die
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ # grpcio proper builds against system libs
+ # grpcio_tools supports bundled libs only, and requires different
+ # flags
+ unset GRPC_PYTHON_CFLAGS
+ cd "${WORKDIR}/grpcio_tools-${PV}" || die
+ distutils_pep517_install "${BUILD_DIR}"/test
+
+ cd "${WORKDIR}/${MY_P}" || die
+ local protodir=src/proto/grpc/testing
+ local testdir=src/python/grpcio_tests
+ "${EPYTHON}" -m grpc_tools.protoc -I. --python_out="${testdir}" \
+ "${protodir}"/{empty,messages}.proto || die
+ "${EPYTHON}" -m grpc_tools.protoc -I. --grpc_python_out="${testdir}" \
+ "${protodir}"/test.proto || die
+
+ cd "${testdir}" || die
+ "${EPYTHON}" -m grpc_tools.protoc -I. --python_out=. \
+ tests/testing/proto/{requests,services}.proto || die
+ "${EPYTHON}" -m grpc_tools.protoc -I. --grpc_python_out=. \
+ tests/testing/proto/services.proto || die
+
+ # TODO: aio tests are failing randomly, so we're skipping them entirely
+ epytest tests{_py3_only,}/unit
+}
diff --git a/dev-python/grpcio/grpcio-1.81.1.ebuild b/dev-python/grpcio/grpcio-1.81.1.ebuild
new file mode 100644
index 000000000000..6e9fb2ecc763
--- /dev/null
+++ b/dev-python/grpcio/grpcio-1.81.1.ebuild
@@ -0,0 +1,137 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 flag-o-matic multiprocessing pypi
+
+MY_P=grpc-${PV}
+DESCRIPTION="HTTP/2-based RPC framework"
+HOMEPAGE="
+ https://grpc.io/
+ https://github.com/grpc/grpc/
+ https://pypi.org/project/grpcio/
+"
+# Tests need other packages from the source tree, so use a GitHub
+# archive. sdist provides bundled library sources (git submodules).
+SRC_URI+="
+ test? (
+ https://github.com/grpc/grpc/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+ $(pypi_sdist_url grpcio_tools)
+ )
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+DEPEND="
+ dev-libs/openssl:=
+ net-dns/c-ares:=
+ virtual/zlib:=
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}]
+"
+# TODO: try to remove coverage dep
+BDEPEND="
+ >=dev-python/cython-3.1.1[${PYTHON_USEDEP}]
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-6.33.5[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+# signal handling tests hang often
+EPYTEST_RERUNS=5
+: ${EPYTEST_TIMEOUT=15}
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -i -e '/INSTALL_REQUIRES/s:~=:>=:' setup.py || die
+}
+
+src_configure() {
+ # -Werror=odr -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/856775
+ # https://github.com/grpc/grpc/issues/36158
+ filter-lto
+
+ export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="$(makeopts_jobs)"
+ # system abseil-cpp crashes with USE=-debug, sigh
+ # https://bugs.gentoo.org/942021
+ #export GRPC_PYTHON_BUILD_SYSTEM_ABSL=1
+ export GRPC_PYTHON_BUILD_SYSTEM_CARES=1
+ export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
+ # re2 needs to be built against the same abseil-cpp version
+ #export GRPC_PYTHON_BUILD_SYSTEM_RE2=1
+ export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1
+ export GRPC_PYTHON_BUILD_WITH_CYTHON=1
+
+ # copied from setup.py, except for removed -std= that does not apply
+ # to C code and causes warnings
+ export GRPC_PYTHON_CFLAGS="-fvisibility=hidden -fno-wrapv -fno-exceptions"
+ # required by abseil-cpp
+ append-cxxflags -std=c++17
+ # silence a lot of harmless noise from bad quality code
+ append-cxxflags -Wno-attributes
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/unit/_dns_resolver_test.py::DNSResolverTest::test_connect_loopback
+ # not a test
+ tests/unit/_compression_test.py::test_compression
+ tests_aio/unit/channel_argument_test.py::test_if_reuse_port_enabled
+ # expects grpcio-admin
+ tests/unit/test_all_modules_installed.py::TestAllModulesInstalled::test_import_all_modules
+ # TODO
+ tests_py3_only/unit/_simple_stubs_test.py::SimpleStubsTest::test_default_ssl
+ tests/unit/_cython/_channel_test.py::ChannelTest::test_multiple_channels_lonely_connectivity
+ tests/unit/_cython/_channel_test.py::ChannelTest::test_single_channel_lonely_connectivity
+ )
+ local EPYTEST_IGNORE=(
+ # not a test
+ tests/unit/test_common.py
+ # requires oauth2client
+ tests/unit/beta/_implementations_test.py
+ )
+
+ cp -a "${BUILD_DIR}"/{install,test} || die
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ # grpcio proper builds against system libs
+ # grpcio_tools supports bundled libs only, and requires different
+ # flags
+ unset GRPC_PYTHON_CFLAGS
+ cd "${WORKDIR}/grpcio_tools-${PV}" || die
+ distutils_pep517_install "${BUILD_DIR}"/test
+
+ cd "${WORKDIR}/${MY_P}" || die
+ local protodir=src/proto/grpc/testing
+ local testdir=src/python/grpcio_tests
+ "${EPYTHON}" -m grpc_tools.protoc -I. --python_out="${testdir}" \
+ "${protodir}"/{empty,messages}.proto || die
+ "${EPYTHON}" -m grpc_tools.protoc -I. --grpc_python_out="${testdir}" \
+ "${protodir}"/test.proto || die
+
+ cd "${testdir}" || die
+ "${EPYTHON}" -m grpc_tools.protoc -I. --python_out=. \
+ tests/testing/proto/{requests,services}.proto || die
+ "${EPYTHON}" -m grpc_tools.protoc -I. --grpc_python_out=. \
+ tests/testing/proto/services.proto || die
+
+ # TODO: aio tests are failing randomly, so we're skipping them entirely
+ epytest tests{_py3_only,}/unit
+}
diff --git a/dev-python/grpcio/metadata.xml b/dev-python/grpcio/metadata.xml
index dae5cf903b8e..acfe7097587e 100644
--- a/dev-python/grpcio/metadata.xml
+++ b/dev-python/grpcio/metadata.xml
@@ -2,12 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
- </maintainer>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<origin>baldeagleos-repo</origin>
</pkgmetadata>
diff --git a/dev-python/jinxed/jinxed-2.0.1.ebuild b/dev-python/jinxed/jinxed-2.0.1.ebuild
index a844336f5bbf..111534a23c8c 100644
--- a/dev-python/jinxed/jinxed-2.0.1.ebuild
+++ b/dev-python/jinxed/jinxed-2.0.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MPL-2.0"
SLOT="0"
-KEYWORDS="~amd64 arm64 ~x86"
+KEYWORDS="amd64 arm64 ~x86"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
diff --git a/dev-python/mysqlclient/Manifest b/dev-python/mysqlclient/Manifest
index cdc899c17a40..fb9f43b598aa 100644
--- a/dev-python/mysqlclient/Manifest
+++ b/dev-python/mysqlclient/Manifest
@@ -1,2 +1 @@
-DIST mysqlclient-2.2.7.tar.gz 91383 BLAKE2B a09735acfb00abb5dd8dc46265aa3daa756217763593143cc3ea31cfbb01e08b2e51f00845e8806a6a4d1cb9c04c40c2228e41cfad3a3b4f45a82f6dcb752950 SHA512 085141575d4b1ce87a1fa1d69c235a6f0ad3b57c3aebac83739dddbe86a2cca8321cfa99332efafd8ac76f1d0dd3bcf03232756a1c26da02616a8adf9db57e29
DIST mysqlclient-2.2.8.tar.gz 92287 BLAKE2B 371050f4c670668dd44fa53e67ddab8111355d6ca9f0eb2349927d2e5edc1f9f259d6e04bc6c0c0a975fe782a4e9cf9e98f695128098d8436463692af253f685 SHA512 113043e722896bba4bbd6c510c58d11336e916cda2e00fd261ce8b8db929e6a59427a125083626fc069e0f6cf524be730efe5b3250f0296a616f6670b91bcf67
diff --git a/dev-python/mysqlclient/metadata.xml b/dev-python/mysqlclient/metadata.xml
index e3a8210c3341..d66b6578f6f7 100644
--- a/dev-python/mysqlclient/metadata.xml
+++ b/dev-python/mysqlclient/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
- </maintainer>
<maintainer type="person">
<email>prometheanfire@gentoo.org</email>
<name>Matthew Thode</name>
diff --git a/dev-python/mysqlclient/mysqlclient-2.2.7-r1.ebuild b/dev-python/mysqlclient/mysqlclient-2.2.7-r1.ebuild
deleted file mode 100644
index 7b82d955540d..000000000000
--- a/dev-python/mysqlclient/mysqlclient-2.2.7-r1.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 2025 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python interface to MySQL"
-HOMEPAGE="
- https://pypi.org/project/mysqlclient/
- https://github.com/PyMySQL/mysqlclient/
-"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-
-DEPEND="
- dev-db/mariadb-connector-c:0=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- test? (
- dev-db/mariadb[server]
- )
-"
-
-EPYTEST_PLUGINS=()
-distutils_enable_sphinx doc \
- dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
-
-src_test() {
- rm -r src || die
-
- local datadir="${T}/mysql" \
- install_log="${T}/mysqld_install.log" \
- pidfile="${T}/mysqld.pid" \
- socket="${T}/mysqld.sock" \
- log="${T}/mysqld.log"
- einfo "Creating test MySQL instance ..."
- if ! mysql_install_db \
- --no-defaults \
- --auth-root-authentication-method=normal \
- --basedir="${EPREFIX}/usr" \
- --datadir="${datadir}" >& "${install_log}"
- then
- cat "${install_log}"
- die "Failed to create database"
- fi
-
- einfo "Starting test MySQL instance ..."
- mysqld \
- --no-defaults \
- --character-set-server=utf8 \
- --pid-file="${pidfile}" \
- --socket="${socket}" \
- --skip-networking \
- --datadir="${datadir}" >& "${log}" &
-
- local i timeout=10
- einfo "Waiting for MySQL to start for up to ${timeout} seconds ..."
- for i in seq 1 ${timeout}; do
- [[ -S "${socket}" ]] && break
- sleep 1
- done
- if [[ ! -S "${socket}" ]]; then
- cat "${log}"
- die "MySQL failed to start in ${timeout} seconds"
- fi
-
- cat > "${T}/mysql.cnf" <<- EOF
- [MySQLdb-tests]
- socket = ${socket}
- user = root
- database = test
- EOF
-
- local -x TESTDB="${T}/mysql.cnf"
- distutils-r1_src_test
-
- einfo "Stopping test MySQL instance ..."
- pkill -F "${pidfile}" &>/dev/null
-}
diff --git a/dev-python/mysqlclient/mysqlclient-2.2.8.ebuild b/dev-python/mysqlclient/mysqlclient-2.2.8.ebuild
index 5207e85227af..c38ab85de5fe 100644
--- a/dev-python/mysqlclient/mysqlclient-2.2.8.ebuild
+++ b/dev-python/mysqlclient/mysqlclient-2.2.8.ebuild
@@ -1,5 +1,6 @@
-# Copyright 2025-2026 Liguros Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+
EAPI=8
DISTUTILS_EXT=1
@@ -16,10 +17,10 @@ HOMEPAGE="
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 ~riscv ~s390 ~sparc x86"
DEPEND="
- dev-db/mariadb-connector-c:0=
+ dev-db/mysql-connector-c:0=
"
RDEPEND="
${DEPEND}
diff --git a/dev-python/peewee/peewee-4.0.6.ebuild b/dev-python/peewee/peewee-4.0.6.ebuild
index 354b1a91f483..34d9352a061f 100644
--- a/dev-python/peewee/peewee-4.0.6.ebuild
+++ b/dev-python/peewee/peewee-4.0.6.ebuild
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~riscv ~x86"
IUSE="examples +native-extensions test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/pypy/Manifest b/dev-python/pypy/Manifest
deleted file mode 100644
index 0e46b64f18e2..000000000000
--- a/dev-python/pypy/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST pypy2.7-v7.3.22-src.tar.bz2 21025542 BLAKE2B 6bf17c72cc4d8d1ba7db9d726b29f15d1e7b04e767dec5399c0831eb3211256e9e981b430e02071522c4bc23cca0618e5b3fb1cb72f22ec39540a20fd96a8fa7 SHA512 482020a7a40e5642d88d1474979d733b079dc65d75f5d0a431c6ee2a8136cc101be42dabe51063e9f376c606f62559c6ab681dc65cd0abb5fef4e8d69931ad39
-DIST pypy2.7-v7.3.23-src.tar.bz2 21023543 BLAKE2B 7638e5aecd30d9c2c9ab22b1ab9a43331685885ee90ebfda8d2a88da34e4b0b998bd967eed30b309110b9d40b14df75f24a7e9219c7383b542602869ee1a12d9 SHA512 3750fc9c5309baa7627d00a77b4b2b1e0d755b75841acd0fcee484bc332f1e9ed9c1f33d2f4800777f20ea8849356f39c84167f96b9ebfdd7e479798d62eac06
diff --git a/dev-python/pypy/files/cryptography.patch b/dev-python/pypy/files/cryptography.patch
deleted file mode 100644
index cf045d4e2310..000000000000
--- a/dev-python/pypy/files/cryptography.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -urN pypy3.9-v7.3.9-src.orig/lib_pypy/_cffi_ssl/_cffi_src/openssl/cryptography.py pypy3.9-v7.3.9-src/lib_pypy/_cffi_ssl/_cffi_src/openssl/cryptography.py
---- pypy3.9-v7.3.9-src.orig/lib_pypy/_cffi_ssl/_cffi_src/openssl/cryptography.py 2022-05-06 15:55:16.721352072 +0200
-+++ pypy3.9-v7.3.9-src/lib_pypy/_cffi_ssl/_cffi_src/openssl/cryptography.py 2022-05-06 15:56:09.489348551 +0200
-@@ -44,6 +44,13 @@
- (LIBRESSL_VERSION_NUMBER < 0x3030200f)
- #define CRYPTOGRAPHY_LIBRESSL_LESS_THAN_340 \
- (LIBRESSL_VERSION_NUMBER < 0x3040000f)
-+#define ERR_LIB_OSSL_STORE 44
-+#define ERR_LIB_ASYNC 51
-+#define ERR_LIB_KDF 52
-+#define ERR_LIB_SM2 53
-+#define SSL3_RT_HEADER 0x100
-+#define SSL3_MT_CHANGE_CIPHER_SPEC 0x0101
-+#define SSL3_RT_INNER_CONTENT_TYPE 0x101
- #else
- #define CRYPTOGRAPHY_LIBRESSL_27_OR_GREATER (0)
- #define CRYPTOGRAPHY_LIBRESSL_28_OR_GREATER (0)
diff --git a/dev-python/pypy/files/openssl_cleanup.patch b/dev-python/pypy/files/openssl_cleanup.patch
deleted file mode 100644
index 5e15fb0d705d..000000000000
--- a/dev-python/pypy/files/openssl_cleanup.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -urN pypy2.7-v7.3.9-src.orig/lib_pypy/_cffi_ssl/_cffi_src/openssl/crypto.py pypy2.7-v7.3.9-src/lib_pypy/_cffi_ssl/_cffi_src/openssl/crypto.py
---- pypy2.7-v7.3.9-src.orig/lib_pypy/_cffi_ssl/_cffi_src/openssl/crypto.py 2022-10-09 14:27:13.166385660 +0200
-+++ pypy2.7-v7.3.9-src/lib_pypy/_cffi_ssl/_cffi_src/openssl/crypto.py 2022-10-09 14:31:45.472405273 +0200
-@@ -31,8 +31,6 @@
-
- FUNCTIONS = """
-
--void OPENSSL_cleanup(void);
--
- /* as of 1.1.0 OpenSSL does its own locking *angelic chorus*. This function
- is now a noop macro. We can delete this once we drop 1.0.2 support. */
- void (*CRYPTO_get_locking_callback(void))(int, int, const char *, int);
-@@ -90,21 +88,6 @@
- static const long Cryptography_HAS_LOCKING_CALLBACKS = 0;
- #endif
-
--#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110
--static const long Cryptography_HAS_OPENSSL_CLEANUP = 0;
--
--void (*OPENSSL_cleanup)(void) = NULL;
--
--/* This function has a significantly different signature pre-1.1.0. since it is
-- * for testing only, we don't bother to expose it on older OpenSSLs.
-- */
--static const long Cryptography_HAS_MEM_FUNCTIONS = 0;
--int (*Cryptography_CRYPTO_set_mem_functions)(
-- void *(*)(size_t, const char *, int),
-- void *(*)(void *, size_t, const char *, int),
-- void (*)(void *, const char *, int)) = NULL;
--
--#else
- static const long Cryptography_HAS_OPENSSL_CLEANUP = 1;
- static const long Cryptography_HAS_MEM_FUNCTIONS = 1;
-
-@@ -115,7 +98,6 @@
- ) {
- return CRYPTO_set_mem_functions(m, r, f);
- }
--#endif
-
- void *Cryptography_malloc_wrapper(size_t size, const char *path, int line) {
- return malloc(size);
diff --git a/dev-python/pypy/files/openssl_ct.patch b/dev-python/pypy/files/openssl_ct.patch
deleted file mode 100644
index 647031353305..000000000000
--- a/dev-python/pypy/files/openssl_ct.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Adapt for Certificate Transparency support in LibreSSL 3.5
-
-Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/ct.py
---- lib_pypy/_cffi_ssl/_cffi_src/openssl/ct.py.orig
-+++ lib_pypy/_cffi_ssl/_cffi_src/openssl/ct.py
-@@ -5,7 +5,7 @@
- from __future__ import absolute_import, division, print_function
-
- INCLUDES = """
--#if CRYPTOGRAPHY_OPENSSL_110_OR_GREATER
-+#if CRYPTOGRAPHY_OPENSSL_110_OR_GREATER || CRYPTOGRAPHY_IS_LIBRESSL
- #include <openssl/ct.h>
-
- typedef STACK_OF(SCT) Cryptography_STACK_OF_SCT;
-@@ -65,7 +65,7 @@ int SCT_set_log_entry_type(SCT *, ct_log_entry_type_t)
- """
-
- CUSTOMIZATIONS = """
--#if CRYPTOGRAPHY_OPENSSL_110_OR_GREATER
-+#if CRYPTOGRAPHY_OPENSSL_110_OR_GREATER || CRYPTOGRAPHY_IS_LIBRESSL
- static const long Cryptography_HAS_SCT = 1;
- #else
- static const long Cryptography_HAS_SCT = 0;
diff --git a/dev-python/pypy/files/openssl_dh.patch b/dev-python/pypy/files/openssl_dh.patch
deleted file mode 100644
index b653872eff5b..000000000000
--- a/dev-python/pypy/files/openssl_dh.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Do not redefine a constant available in LibreSSL's headers.
-
-Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/dh.py
---- lib_pypy/_cffi_ssl/_cffi_src/openssl/dh.py.orig
-+++ lib_pypy/_cffi_ssl/_cffi_src/openssl/dh.py
-@@ -110,7 +110,7 @@ int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_
- }
- #endif
-
--#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110
-+#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110 && !CRYPTOGRAPHY_LIBRESSL_27_OR_GREATER
- #ifndef DH_CHECK_Q_NOT_PRIME
- #define DH_CHECK_Q_NOT_PRIME 0x10
- #endif
diff --git a/dev-python/pypy/files/openssl_evp.patch b/dev-python/pypy/files/openssl_evp.patch
deleted file mode 100644
index 07092e740609..000000000000
--- a/dev-python/pypy/files/openssl_evp.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/evp.py
---- lib_pypy/_cffi_ssl/_cffi_src/openssl/evp.py.orig
-+++ lib_pypy/_cffi_ssl/_cffi_src/openssl/evp.py
-@@ -212,14 +212,10 @@ int (*EVP_PKEY_set1_tls_encodedpoint)(EVP_PKEY *, cons
- #endif
-
- #if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111
--static const long Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY = 0;
-+static const long Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY = 1;
- static const long Cryptography_HAS_RAW_KEY = 0;
- static const long Cryptography_HAS_EVP_DIGESTFINAL_XOF = 0;
- int (*EVP_DigestFinalXOF)(EVP_MD_CTX *, unsigned char *, size_t) = NULL;
--int (*EVP_DigestSign)(EVP_MD_CTX *, unsigned char *, size_t *,
-- const unsigned char *tbs, size_t) = NULL;
--int (*EVP_DigestVerify)(EVP_MD_CTX *, const unsigned char *, size_t,
-- const unsigned char *, size_t) = NULL;
- EVP_PKEY *(*EVP_PKEY_new_raw_private_key)(int, ENGINE *, const unsigned char *,
- size_t) = NULL;
- EVP_PKEY *(*EVP_PKEY_new_raw_public_key)(int, ENGINE *, const unsigned char *,
diff --git a/dev-python/pypy/files/openssl_hmac.patch b/dev-python/pypy/files/openssl_hmac.patch
deleted file mode 100644
index 51f1b2264ab1..000000000000
--- a/dev-python/pypy/files/openssl_hmac.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Fix build with opaque HMAC_CTX in LibreSSL 3.5.
-
-Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/hmac.py
---- lib_pypy/_cffi_ssl/_cffi_src/openssl/hmac.py.orig
-+++ lib_pypy/_cffi_ssl/_cffi_src/openssl/hmac.py
-@@ -24,7 +24,7 @@ void Cryptography_HMAC_CTX_free(HMAC_CTX *ctx);
-
- CUSTOMIZATIONS = """
- HMAC_CTX *Cryptography_HMAC_CTX_new(void) {
--#if CRYPTOGRAPHY_OPENSSL_110_OR_GREATER
-+#if CRYPTOGRAPHY_OPENSSL_110_OR_GREATER || defined(LIBRESSL_VERSION_NUMBER)
- return HMAC_CTX_new();
- #else
- /* This uses OPENSSL_zalloc in 1.1.0, which is malloc + memset */
-@@ -36,7 +36,7 @@ HMAC_CTX *Cryptography_HMAC_CTX_new(void) {
-
-
- void Cryptography_HMAC_CTX_free(HMAC_CTX *ctx) {
--#if CRYPTOGRAPHY_OPENSSL_110_OR_GREATER
-+#if CRYPTOGRAPHY_OPENSSL_110_OR_GREATER || defined(LIBRESSL_VERSION_NUMBER)
- return HMAC_CTX_free(ctx);
- #else
- if (ctx != NULL) {
diff --git a/dev-python/pypy/files/openssl_ocsp.patch b/dev-python/pypy/files/openssl_ocsp.patch
deleted file mode 100644
index 2dd70863b032..000000000000
--- a/dev-python/pypy/files/openssl_ocsp.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Fix build with opaque OCSP in LibreSSL 3.5.
-
-Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/ocsp.py
---- lib_pypy/_cffi_ssl/_cffi_src/openssl/ocsp.py.orig
-+++ lib_pypy/_cffi_ssl/_cffi_src/openssl/ocsp.py
-@@ -109,7 +109,7 @@ struct ocsp_basic_response_st {
- };
- #endif
-
--#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110
-+#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110 && LIBRESSL_VERSION_NUMBER < 0x3050000fL
- /* These functions are all taken from ocsp_cl.c in OpenSSL 1.1.0 */
- const OCSP_CERTID *OCSP_SINGLERESP_get0_id(const OCSP_SINGLERESP *single)
- {
-@@ -148,7 +148,7 @@ const ASN1_OCTET_STRING *OCSP_resp_get0_signature(cons
- }
- #endif
-
--#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110J
-+#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110J && LIBRESSL_VERSION_NUMBER < 0x3050000fL
- const X509_ALGOR *OCSP_resp_get0_tbs_sigalg(const OCSP_BASICRESP *bs)
- {
- #if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110
diff --git a/dev-python/pypy/files/openssl_proto.patch b/dev-python/pypy/files/openssl_proto.patch
deleted file mode 100644
index 22e2e7a3283d..000000000000
--- a/dev-python/pypy/files/openssl_proto.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN pypy2.7-v7.3.8-src.orig/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py pypy2.7-v7.3.8-src/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py
---- pypy2.7-v7.3.8-src.orig/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py 2022-03-27 20:40:31.151380366 +0200
-+++ pypy2.7-v7.3.8-src/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py 2022-03-27 20:45:26.044401605 +0200
-@@ -739,7 +739,7 @@
- int (*SSL_get_min_proto_version)(SSL *ssl) = NULL;
- int (*SSL_get_max_proto_version)(SSL *ssl) = NULL;
- #endif
--#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110
-+#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110 && !CRYPTOGRAPHY_IS_LIBRESSL
- int (*SSL_CTX_set_min_proto_version)(SSL_CTX *ctx, int version) = NULL;
- int (*SSL_CTX_set_max_proto_version)(SSL_CTX *ctx, int version) = NULL;
- int (*SSL_set_min_proto_version)(SSL *ssl, int version) = NULL;
diff --git a/dev-python/pypy/files/openssl_ssl.patch b/dev-python/pypy/files/openssl_ssl.patch
deleted file mode 100644
index 1c6f32460958..000000000000
--- a/dev-python/pypy/files/openssl_ssl.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Fix build with opaque SSL_CTX and COMP_METHOD and do not redefine
-DTLSv1.2 and TLSv1.3 related defined vailable in recent LibreSSL versions.
-
-Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py
---- lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py.orig
-+++ lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py
-@@ -552,7 +552,7 @@ int SSL_CTX_set_max_early_data(SSL_CTX *, uint32_t);
- CUSTOMIZATIONS = """
- /* Added in 1.0.2 but we need it in all versions now due to the great
- opaquing. */
--#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_102
-+#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_102 && !CRYPTOGRAPHY_IS_LIBRESSL
- /* from ssl/ssl_lib.c */
- const SSL_METHOD *SSL_CTX_get_ssl_method(SSL_CTX *ctx) {
- return ctx->method;
-@@ -681,8 +681,8 @@ static const long Cryptography_HAS_SET_CERT_CB = 1;
-
- /* In OpenSSL 1.0.2i+ the handling of COMP_METHOD when OPENSSL_NO_COMP was
- changed and we no longer need to typedef void */
--#if (defined(OPENSSL_NO_COMP) && CRYPTOGRAPHY_OPENSSL_LESS_THAN_102I) || \
-- CRYPTOGRAPHY_IS_LIBRESSL
-+#if (defined(OPENSSL_NO_COMP) && CRYPTOGRAPHY_OPENSSL_LESS_THAN_102I) && \
-+ !CRYPTOGRAPHY_IS_LIBRESSL
- static const long Cryptography_HAS_COMPRESSION = 0;
- typedef void COMP_METHOD;
- #else
-@@ -729,8 +729,6 @@ const SSL_METHOD *(*DTLS_client_method)(void) = NULL;
- static const long Cryptography_HAS_GENERIC_DTLS_METHOD = 1;
- #endif
- #if CRYPTOGRAPHY_OPENSSL_LESS_THAN_102
--static const long SSL_OP_NO_DTLSv1 = 0;
--static const long SSL_OP_NO_DTLSv1_2 = 0;
- long (*DTLS_set_link_mtu)(SSL *, long) = NULL;
- long (*DTLS_get_link_min_mtu)(SSL *) = NULL;
- #endif
-@@ -836,7 +834,7 @@ static const long Cryptography_HAS_CIPHER_DETAILS = 0;
- static const long Cryptography_HAS_CIPHER_DETAILS = 1;
- #endif
-
--#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111
-+#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 && !CRYPTOGRAPHY_IS_LIBRESSL
- static const long Cryptography_HAS_TLSv1_3 = 0;
- static const long SSL_OP_NO_TLSv1_3 = 0;
- static const long SSL_VERIFY_POST_HANDSHAKE = 0;
diff --git a/dev-python/pypy/files/openssl_x509.patch b/dev-python/pypy/files/openssl_x509.patch
deleted file mode 100644
index 3714cf926a3a..000000000000
--- a/dev-python/pypy/files/openssl_x509.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/x509.py
---- lib_pypy/_cffi_ssl/_cffi_src/openssl/x509.py.orig
-+++ lib_pypy/_cffi_ssl/_cffi_src/openssl/x509.py
-@@ -282,7 +282,7 @@ int X509_get_signature_nid(const X509 *x)
-
- /* Added in 1.0.2 but we need it in all versions now due to the great
- opaquing. */
--#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_102
-+#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_102 && !defined(LIBRESSL_VERSION_NUMBER)
- /* from x509/x_x509.c */
- int i2d_re_X509_tbs(X509 *x, unsigned char **pp)
- {
-@@ -308,7 +308,7 @@ X509_REVOKED *Cryptography_X509_REVOKED_dup(X509_REVOK
-
- /* Added in 1.1.0 but we need it in all versions now due to the great
- opaquing. */
--#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110
-+#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110 && !defined(LIBRESSL_VERSION_NUMBER)
- int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp)
- {
- req->req_info->enc.modified = 1;
diff --git a/dev-python/pypy/files/openssl_x509name.patch b/dev-python/pypy/files/openssl_x509name.patch
deleted file mode 100644
index 53721e4de136..000000000000
--- a/dev-python/pypy/files/openssl_x509name.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/x509name.py
---- lib_pypy/_cffi_ssl/_cffi_src/openssl/x509name.py.orig
-+++ lib_pypy/_cffi_ssl/_cffi_src/openssl/x509name.py
-@@ -75,7 +75,7 @@ Cryptography_STACK_OF_X509_NAME_ENTRY *sk_X509_NAME_EN
- """
-
- CUSTOMIZATIONS = """
--#if CRYPTOGRAPHY_OPENSSL_110_OR_GREATER
-+#if CRYPTOGRAPHY_OPENSSL_110_OR_GREATER || defined(LIBRESSL_VERSION_NUMBER)
- int Cryptography_X509_NAME_ENTRY_set(X509_NAME_ENTRY *ne) {
- return X509_NAME_ENTRY_set(ne);
- }
diff --git a/dev-python/pypy/files/ssl_python.patch b/dev-python/pypy/files/ssl_python.patch
deleted file mode 100644
index 03baf16e093f..000000000000
--- a/dev-python/pypy/files/ssl_python.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN pypy2.7-v7.3.8-src.orig/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py pypy2.7-v7.3.8-src/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py
---- pypy2.7-v7.3.8-src.orig/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py 2022-03-27 20:48:19.795414119 +0200
-+++ pypy2.7-v7.3.8-src/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py 2022-03-27 20:51:43.997428826 +0200
-@@ -577,7 +577,7 @@
- """
-
- CUSTOMIZATIONS = """
--#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_102
-+#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_102 && !CRYPTOGRAPHY_LIBRESSL_27_OR_GREATER
- #error Python 3.7 requires OpenSSL >= 1.0.2
- #endif
-
diff --git a/dev-python/pypy/metadata.xml b/dev-python/pypy/metadata.xml
deleted file mode 100644
index b9c69f0fee83..000000000000
--- a/dev-python/pypy/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <origin>baldeagleos-repo</origin>
-</pkgmetadata>
diff --git a/dev-python/pypy/pypy-7.3.22.ebuild b/dev-python/pypy/pypy-7.3.22.ebuild
deleted file mode 100644
index 3bc0f904374c..000000000000
--- a/dev-python/pypy/pypy-7.3.22.ebuild
+++ /dev/null
@@ -1,314 +0,0 @@
-# Copyright 2021-2026 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-inherit pax-utils
-
-PYPY_PV=${PV%_p*}
-MY_P=pypy2.7-v${PYPY_PV/_}
-PATCHSET="pypy2.7-gentoo-patches-${PV/_rc/rc}"
-
-DESCRIPTION="A fast, compliant alternative implementation of the Python language"
-HOMEPAGE="
- https://www.pypy.org/
- https://github.com/pypy/pypy/
-"
-SRC_URI="
- https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
-"
-S="${WORKDIR}/${MY_P}-src"
-
-LICENSE="MIT"
-# pypy -c 'import sysconfig; print sysconfig.get_config_var("SOABI")'
-SLOT="0/73"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="bzip2 full-stdlib gdbm +jit ncurses sqlite tk"
-RESTRICT="test"
-
-RDEPEND="
- || (
- >=dev-python/pypy-exe-bin-${PYPY_PV}:${PYPY_PV}
- >=dev-python/pypy-exe-${PYPY_PV}:${PYPY_PV}[bzip2?,ncurses?]
- )
- dev-libs/openssl:0=
-
- gdbm? ( sys-libs/gdbm:0= )
- sqlite? ( dev-db/sqlite:3= )
- tk? (
- dev-lang/tk:0=
- dev-tcltk/tix:0=
- )
-"
-DEPEND="
- ${RDEPEND}
-"
-
-src_prepare() {
- default
-
- eapply -p0 ${FILESDIR}/openssl_ct.patch
- eapply -p0 ${FILESDIR}/openssl_dh.patch
- eapply -p0 ${FILESDIR}/openssl_evp.patch
- eapply -p0 ${FILESDIR}/openssl_hmac.patch
- eapply -p0 ${FILESDIR}/openssl_ocsp.patch
- eapply -p0 ${FILESDIR}/openssl_ssl.patch
- eapply -p0 ${FILESDIR}/openssl_x509.patch
- eapply -p0 ${FILESDIR}/openssl_x509name.patch
- eapply -p1 ${FILESDIR}/openssl_proto.patch
- eapply -p1 ${FILESDIR}/ssl_python.patch
- eapply -p1 ${FILESDIR}/cryptography.patch
- eapply -p1 ${FILESDIR}/openssl_cleanup.patch
-}
-
-src_compile() {
- # copy over to make sys.prefix happy
- cp -p "${BROOT}"/usr/lib/pypy2.7/pypy-c-${PYPY_PV} pypy-c || die
- cp -p "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/* include/ || die
- # (not installed by pypy)
- rm pypy/module/cpyext/include/_numpypy/numpy/README || die
- mv pypy/module/cpyext/include/* include/ || die
- mv pypy/module/cpyext/parse/*.h include/ || die
- pax-mark m pypy-c
-
- # verify the subslot
- local soabi=$(
- ./pypy-c - <<-EOF
- import sysconfig
- print sysconfig.get_config_var("SOABI")
- EOF
- )
- [[ ${soabi#pypy-} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
-
- einfo "Generating caches and CFFI modules ..."
-
- if use full-stdlib; then
- # Generate Grammar and PatternGrammar pickles.
- ./pypy-c - <<-EOF || die "Generation of Grammar and PatternGrammar pickles failed"
- import lib2to3.pygram
- import lib2to3.patcomp
- lib2to3.patcomp.PatternCompiler()
- EOF
-
- # Generate cffi modules
- # Please keep in sync with pypy/tool/build_cffi_imports.py!
- cffi_targets=( pypy_util ssl audioop syslog pwdgrp resource )
- use gdbm && cffi_targets+=( gdbm )
- use ncurses && cffi_targets+=( curses )
- use sqlite && cffi_targets+=( sqlite3 )
- use tk && cffi_targets+=( tkinter/tklib )
-
- local t
- # all modules except tkinter output to .
- # tkinter outputs to the correct dir ...
- cd lib_pypy || die
- for t in "${cffi_targets[@]}"; do
- # tkinter doesn't work via -m
- ../pypy-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
- done
-
- # Verify that CFFI module list is up-to-date
- local expected_cksum=-7df4eab0
- local local_cksum=$(
- ../pypy-c - <<-EOF
- import binascii
- import json
- from pypy_tools.build_cffi_imports import cffi_build_scripts as x
- print("%08x" % (binascii.crc32(json.dumps(x)),))
- EOF
- )
- if [[ ${local_cksum} != ${expected_cksum} ]]; then
- die "Please verify cffi_targets and update checksum to ${local_cksum}"
- fi
-
- # Cleanup temporary objects
- find -name "_cffi_*.[co]" -delete || die
- find -type d -empty -delete || die
- fi
-}
-
-src_test() {
- # (unset)
- local -x PYTHONDONTWRITEBYTECODE=
- local -x COLUMNS=80
-
- local ignored_tests=(
- # network
- --ignore=lib-python/2.7/test/test_urllibnet.py
- --ignore=lib-python/2.7/test/test_urllib2net.py
- # lots of free space
- --ignore=lib-python/2.7/test/test_zipfile64.py
-
- # broken by expat-2.4.5
- --ignore=lib-python/2.7/test/test_minidom.py
- --ignore=lib-python/2.7/test/test_xml_etree.py
- --ignore=lib-python/2.7/test/test_xml_etree_c.py
- )
-
- ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -vv \
- "${ignored_tests[@]}" lib-python || die
-}
-
-src_install() {
- local dest=/usr/lib/pypy2.7
- einfo "Installing PyPy ..."
- dosym pypy-c-${PYPY_PV} "${dest}/pypy-c"
- insinto "${dest}"
- # preserve mtimes to avoid obsoleting caches
- insopts -p
- if use full-stdlib; then
- doins -r include lib_pypy lib-python
-
- # replace copied headers with symlinks
- for x in "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/*; do
- dosym "${PYPY_PV}/${x##*/}" "${dest}/include/${x##*/}"
- done
-
- if ! use gdbm; then
- rm -r "${ED}${dest}"/lib_pypy/gdbm.py \
- "${ED}${dest}"/lib-python/*2.7/test/test_gdbm.py || die
- fi
- if ! use sqlite; then
- rm -r "${ED}${dest}"/lib-python/*2.7/sqlite3 \
- "${ED}${dest}"/lib_pypy/_sqlite3.py \
- "${ED}${dest}"/lib-python/*2.7/test/test_sqlite.py || die
- fi
- if ! use tk; then
- rm -r "${ED}${dest}"/lib-python/*2.7/{idlelib,lib-tk} \
- "${ED}${dest}"/lib_pypy/_tkinter \
- "${ED}${dest}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
- fi
- else
- # install only the absolutely minimal subset of modules needed
- # for pypy3 build
- local lib_py_modules=(
- # base modules needed to even start pypy (and import site)
- codecs.py
- copy_reg.py
- encodings
- genericpath.py
- linecache.py
- os.py
- pkgutil.py
- posixpath.py
- re.py
- runpy.py
- site.py
- sre_compile.py
- sre_constants.py
- sre_parse.py
- stat.py
- string.py
- sysconfig.py
- traceback.py
- warnings.py
- UserDict.py
-
- # needed for python_optimize
- compileall.py
- getopt.py
- py_compile.py
- struct.py
-
- # needed for rpython
- argparse.py
- atexit.py
- base64.py
- bdb.py
- bisect.py
- cmd.py
- code.py
- codeop.py
- collections.py
- colorsys.py
- contextlib.py
- copy.py
- ctypes
- dis.py
- fnmatch.py
- functools.py
- gettext.py
- hashlib.py
- heapq.py
- inspect.py
- io.py
- json
- keyword.py
- locale.py
- logging
- new.py
- opcode.py
- optparse.py
- pdb.py
- pickle.py
- platform.py
- pprint.py
- random.py
- repr.py
- shlex.py
- shutil.py
- StringIO.py
- subprocess.py
- tempfile.py
- textwrap.py
- threading.py
- tokenize.py
- weakref.py
- zipfile.py
- )
-
- local distutils_modules=(
- # needed by site
- __init__.py
- errors.py
- sysconfig.py
- sysconfig_cpython.py
- sysconfig_pypy.py
- )
-
- local lib_pypy_modules=(
- # needed by site
- _sysconfigdata.py
-
- # needed by rpython
- cffi
- _ctypes
- _ffi.py
- _functools.py
- _sha.py
- _sha256.py
- _sha512.py
-
- # NB: we're deliberately skipping _hashlib to avoid some deps
- )
-
- cd lib-python/2.7 || die
- insinto "${dest}/lib-python/2.7"
- doins -r "${lib_py_modules[@]}"
- cd - >/dev/null || die
-
- cd lib-python/2.7/distutils || die
- insinto "${dest}/lib-python/2.7/distutils"
- doins -r "${distutils_modules[@]}"
- cd - >/dev/null || die
-
- cd lib_pypy || die
- insinto "${dest}/lib_pypy"
- doins -r "${lib_pypy_modules[@]}"
- cd - >/dev/null || die
- fi
-
- dosym ../lib/pypy2.7/pypy-c /usr/bin/pypy
- dodoc README.rst
-
- local -x PYTHON=${ED}${dest}/pypy-c-${PYPY_PV}
- # temporarily copy to build tree to facilitate module builds
- cp -p "${BROOT}${dest}/pypy-c-${PYPY_PV}" "${PYTHON}" || die
-
- einfo "Byte-compiling Python standard library..."
- "${PYTHON}" -m compileall \
- -x 'bad_coding|badsyntax|make_ssl_data|lib2to3/tests/data' \
- -q -f -d "${dest}" "${ED}/${dest}" || die
-
- # remove to avoid collisions
- rm "${PYTHON}" || die
-}
diff --git a/dev-python/pypy/pypy-7.3.23.ebuild b/dev-python/pypy/pypy-7.3.23.ebuild
deleted file mode 100644
index 3bc0f904374c..000000000000
--- a/dev-python/pypy/pypy-7.3.23.ebuild
+++ /dev/null
@@ -1,314 +0,0 @@
-# Copyright 2021-2026 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-inherit pax-utils
-
-PYPY_PV=${PV%_p*}
-MY_P=pypy2.7-v${PYPY_PV/_}
-PATCHSET="pypy2.7-gentoo-patches-${PV/_rc/rc}"
-
-DESCRIPTION="A fast, compliant alternative implementation of the Python language"
-HOMEPAGE="
- https://www.pypy.org/
- https://github.com/pypy/pypy/
-"
-SRC_URI="
- https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
-"
-S="${WORKDIR}/${MY_P}-src"
-
-LICENSE="MIT"
-# pypy -c 'import sysconfig; print sysconfig.get_config_var("SOABI")'
-SLOT="0/73"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="bzip2 full-stdlib gdbm +jit ncurses sqlite tk"
-RESTRICT="test"
-
-RDEPEND="
- || (
- >=dev-python/pypy-exe-bin-${PYPY_PV}:${PYPY_PV}
- >=dev-python/pypy-exe-${PYPY_PV}:${PYPY_PV}[bzip2?,ncurses?]
- )
- dev-libs/openssl:0=
-
- gdbm? ( sys-libs/gdbm:0= )
- sqlite? ( dev-db/sqlite:3= )
- tk? (
- dev-lang/tk:0=
- dev-tcltk/tix:0=
- )
-"
-DEPEND="
- ${RDEPEND}
-"
-
-src_prepare() {
- default
-
- eapply -p0 ${FILESDIR}/openssl_ct.patch
- eapply -p0 ${FILESDIR}/openssl_dh.patch
- eapply -p0 ${FILESDIR}/openssl_evp.patch
- eapply -p0 ${FILESDIR}/openssl_hmac.patch
- eapply -p0 ${FILESDIR}/openssl_ocsp.patch
- eapply -p0 ${FILESDIR}/openssl_ssl.patch
- eapply -p0 ${FILESDIR}/openssl_x509.patch
- eapply -p0 ${FILESDIR}/openssl_x509name.patch
- eapply -p1 ${FILESDIR}/openssl_proto.patch
- eapply -p1 ${FILESDIR}/ssl_python.patch
- eapply -p1 ${FILESDIR}/cryptography.patch
- eapply -p1 ${FILESDIR}/openssl_cleanup.patch
-}
-
-src_compile() {
- # copy over to make sys.prefix happy
- cp -p "${BROOT}"/usr/lib/pypy2.7/pypy-c-${PYPY_PV} pypy-c || die
- cp -p "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/* include/ || die
- # (not installed by pypy)
- rm pypy/module/cpyext/include/_numpypy/numpy/README || die
- mv pypy/module/cpyext/include/* include/ || die
- mv pypy/module/cpyext/parse/*.h include/ || die
- pax-mark m pypy-c
-
- # verify the subslot
- local soabi=$(
- ./pypy-c - <<-EOF
- import sysconfig
- print sysconfig.get_config_var("SOABI")
- EOF
- )
- [[ ${soabi#pypy-} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
-
- einfo "Generating caches and CFFI modules ..."
-
- if use full-stdlib; then
- # Generate Grammar and PatternGrammar pickles.
- ./pypy-c - <<-EOF || die "Generation of Grammar and PatternGrammar pickles failed"
- import lib2to3.pygram
- import lib2to3.patcomp
- lib2to3.patcomp.PatternCompiler()
- EOF
-
- # Generate cffi modules
- # Please keep in sync with pypy/tool/build_cffi_imports.py!
- cffi_targets=( pypy_util ssl audioop syslog pwdgrp resource )
- use gdbm && cffi_targets+=( gdbm )
- use ncurses && cffi_targets+=( curses )
- use sqlite && cffi_targets+=( sqlite3 )
- use tk && cffi_targets+=( tkinter/tklib )
-
- local t
- # all modules except tkinter output to .
- # tkinter outputs to the correct dir ...
- cd lib_pypy || die
- for t in "${cffi_targets[@]}"; do
- # tkinter doesn't work via -m
- ../pypy-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
- done
-
- # Verify that CFFI module list is up-to-date
- local expected_cksum=-7df4eab0
- local local_cksum=$(
- ../pypy-c - <<-EOF
- import binascii
- import json
- from pypy_tools.build_cffi_imports import cffi_build_scripts as x
- print("%08x" % (binascii.crc32(json.dumps(x)),))
- EOF
- )
- if [[ ${local_cksum} != ${expected_cksum} ]]; then
- die "Please verify cffi_targets and update checksum to ${local_cksum}"
- fi
-
- # Cleanup temporary objects
- find -name "_cffi_*.[co]" -delete || die
- find -type d -empty -delete || die
- fi
-}
-
-src_test() {
- # (unset)
- local -x PYTHONDONTWRITEBYTECODE=
- local -x COLUMNS=80
-
- local ignored_tests=(
- # network
- --ignore=lib-python/2.7/test/test_urllibnet.py
- --ignore=lib-python/2.7/test/test_urllib2net.py
- # lots of free space
- --ignore=lib-python/2.7/test/test_zipfile64.py
-
- # broken by expat-2.4.5
- --ignore=lib-python/2.7/test/test_minidom.py
- --ignore=lib-python/2.7/test/test_xml_etree.py
- --ignore=lib-python/2.7/test/test_xml_etree_c.py
- )
-
- ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -vv \
- "${ignored_tests[@]}" lib-python || die
-}
-
-src_install() {
- local dest=/usr/lib/pypy2.7
- einfo "Installing PyPy ..."
- dosym pypy-c-${PYPY_PV} "${dest}/pypy-c"
- insinto "${dest}"
- # preserve mtimes to avoid obsoleting caches
- insopts -p
- if use full-stdlib; then
- doins -r include lib_pypy lib-python
-
- # replace copied headers with symlinks
- for x in "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/*; do
- dosym "${PYPY_PV}/${x##*/}" "${dest}/include/${x##*/}"
- done
-
- if ! use gdbm; then
- rm -r "${ED}${dest}"/lib_pypy/gdbm.py \
- "${ED}${dest}"/lib-python/*2.7/test/test_gdbm.py || die
- fi
- if ! use sqlite; then
- rm -r "${ED}${dest}"/lib-python/*2.7/sqlite3 \
- "${ED}${dest}"/lib_pypy/_sqlite3.py \
- "${ED}${dest}"/lib-python/*2.7/test/test_sqlite.py || die
- fi
- if ! use tk; then
- rm -r "${ED}${dest}"/lib-python/*2.7/{idlelib,lib-tk} \
- "${ED}${dest}"/lib_pypy/_tkinter \
- "${ED}${dest}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
- fi
- else
- # install only the absolutely minimal subset of modules needed
- # for pypy3 build
- local lib_py_modules=(
- # base modules needed to even start pypy (and import site)
- codecs.py
- copy_reg.py
- encodings
- genericpath.py
- linecache.py
- os.py
- pkgutil.py
- posixpath.py
- re.py
- runpy.py
- site.py
- sre_compile.py
- sre_constants.py
- sre_parse.py
- stat.py
- string.py
- sysconfig.py
- traceback.py
- warnings.py
- UserDict.py
-
- # needed for python_optimize
- compileall.py
- getopt.py
- py_compile.py
- struct.py
-
- # needed for rpython
- argparse.py
- atexit.py
- base64.py
- bdb.py
- bisect.py
- cmd.py
- code.py
- codeop.py
- collections.py
- colorsys.py
- contextlib.py
- copy.py
- ctypes
- dis.py
- fnmatch.py
- functools.py
- gettext.py
- hashlib.py
- heapq.py
- inspect.py
- io.py
- json
- keyword.py
- locale.py
- logging
- new.py
- opcode.py
- optparse.py
- pdb.py
- pickle.py
- platform.py
- pprint.py
- random.py
- repr.py
- shlex.py
- shutil.py
- StringIO.py
- subprocess.py
- tempfile.py
- textwrap.py
- threading.py
- tokenize.py
- weakref.py
- zipfile.py
- )
-
- local distutils_modules=(
- # needed by site
- __init__.py
- errors.py
- sysconfig.py
- sysconfig_cpython.py
- sysconfig_pypy.py
- )
-
- local lib_pypy_modules=(
- # needed by site
- _sysconfigdata.py
-
- # needed by rpython
- cffi
- _ctypes
- _ffi.py
- _functools.py
- _sha.py
- _sha256.py
- _sha512.py
-
- # NB: we're deliberately skipping _hashlib to avoid some deps
- )
-
- cd lib-python/2.7 || die
- insinto "${dest}/lib-python/2.7"
- doins -r "${lib_py_modules[@]}"
- cd - >/dev/null || die
-
- cd lib-python/2.7/distutils || die
- insinto "${dest}/lib-python/2.7/distutils"
- doins -r "${distutils_modules[@]}"
- cd - >/dev/null || die
-
- cd lib_pypy || die
- insinto "${dest}/lib_pypy"
- doins -r "${lib_pypy_modules[@]}"
- cd - >/dev/null || die
- fi
-
- dosym ../lib/pypy2.7/pypy-c /usr/bin/pypy
- dodoc README.rst
-
- local -x PYTHON=${ED}${dest}/pypy-c-${PYPY_PV}
- # temporarily copy to build tree to facilitate module builds
- cp -p "${BROOT}${dest}/pypy-c-${PYPY_PV}" "${PYTHON}" || die
-
- einfo "Byte-compiling Python standard library..."
- "${PYTHON}" -m compileall \
- -x 'bad_coding|badsyntax|make_ssl_data|lib2to3/tests/data' \
- -q -f -d "${dest}" "${ED}/${dest}" || die
-
- # remove to avoid collisions
- rm "${PYTHON}" || die
-}
diff --git a/dev-python/python-ldap/python-ldap-3.4.7.ebuild b/dev-python/python-ldap/python-ldap-3.4.7.ebuild
index eb82d67a5495..d5dd8631e8a6 100644
--- a/dev-python/python-ldap/python-ldap-3.4.7.ebuild
+++ b/dev-python/python-ldap/python-ldap-3.4.7.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/${PN}-${P}
LICENSE="MIT PSF-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~mips ~ppc ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ~ppc ppc64 ~riscv ~sparc ~x86"
IUSE="examples sasl ssl"
RDEPEND="
diff --git a/dev-python/scrypt/Manifest b/dev-python/scrypt/Manifest
index 2436c601b288..921891a363fd 100644
--- a/dev-python/scrypt/Manifest
+++ b/dev-python/scrypt/Manifest
@@ -1,2 +1 @@
-DIST scrypt-0.8.29.tar.gz 55866 BLAKE2B 2f9ae625943545967974430c59a57b584092cc58f7e2ef1205466890e4e24c09323cfa5e4c6c9835ed5ffb3cff22616dc6c457344f796944ea5a12bb18de7d8e SHA512 af463b078c6558aac535dbe133caf9acd41e355e7e8377d3860114cea4fe0cdf401d951ded52f8c24bb8dbd688369b994a361267a75c4ca104f84b19877f9eda
DIST scrypt-0.9.4.tar.gz 84526 BLAKE2B 931248115785312749b8b2499d32bced0feb942851041c5f90bf573bba80ed0088b13cab8b0d2a624296d02ab92d3edcaad01a2618aa466637b1e370700bb61d SHA512 a208ea43460f1c964eaae8d7f211f73817639b8b72a2a0b72e234425bdc203001157e3de4dfe2799c2955d78a2a765c4bd510d2f9720ef2af53146867825ca56
diff --git a/dev-python/scrypt/metadata.xml b/dev-python/scrypt/metadata.xml
index 1ed01c481f8d..21f304f4d584 100644
--- a/dev-python/scrypt/metadata.xml
+++ b/dev-python/scrypt/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>dev@liguros.net</email>
- <name>Development</name>
- </maintainer>
<maintainer type="person">
<email>chutzpah@gentoo.org</email>
<name>Patrick McLean</name>
diff --git a/dev-python/scrypt/scrypt-0.8.29.ebuild b/dev-python/scrypt/scrypt-0.8.29.ebuild
deleted file mode 100644
index a171c19738dd..000000000000
--- a/dev-python/scrypt/scrypt-0.8.29.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2021-2025 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Bindings for the scrypt key derivation function library"
-HOMEPAGE="https://github.com/holgern/py-scrypt/"
-SRC_URI="https://github.com/holgern/py-scrypt/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~x64-macos"
-SLOT="0"
-IUSE=""
-
-RDEPEND="
- dev-libs/openssl:0=
-
-"
-DEPEND="${RDEPEND}"
-
-distutils_enable_tests unittest
diff --git a/dev-python/scrypt/scrypt-0.9.4.ebuild b/dev-python/scrypt/scrypt-0.9.4.ebuild
index a171c19738dd..e5c997799058 100644
--- a/dev-python/scrypt/scrypt-0.9.4.ebuild
+++ b/dev-python/scrypt/scrypt-0.9.4.ebuild
@@ -1,26 +1,31 @@
-# Copyright 2021-2025 Liguros Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{13..14} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Bindings for the scrypt key derivation function library"
-HOMEPAGE="https://github.com/holgern/py-scrypt/"
-SRC_URI="https://github.com/holgern/py-scrypt/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/holgern/py-scrypt/
+ https://pypi.org/project/scrypt/
+"
LICENSE="BSD-2"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~x64-macos"
SLOT="0"
-IUSE=""
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
-RDEPEND="
+DEPEND="
dev-libs/openssl:0=
-
"
-DEPEND="${RDEPEND}"
+RDEPEND="
+ ${DEPEND}
+"
-distutils_enable_tests unittest
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
diff --git a/dev-python/uv-build/uv-build-0.11.16.ebuild b/dev-python/uv-build/uv-build-0.11.16.ebuild
index 47d3e18d35cc..6f38070af29a 100644
--- a/dev-python/uv-build/uv-build-0.11.16.ebuild
+++ b/dev-python/uv-build/uv-build-0.11.16.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="|| ( Apache-2.0 MIT )"
SLOT="0"
-KEYWORDS="~amd64 ~arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/uv/uv-0.11.16.ebuild b/dev-python/uv/uv-0.11.16.ebuild
index fe74adc5b0ca..82296862a3b5 100644
--- a/dev-python/uv/uv-0.11.16.ebuild
+++ b/dev-python/uv/uv-0.11.16.ebuild
@@ -39,7 +39,7 @@ LICENSE+="
# ring crate
LICENSE+=" openssl"
SLOT="0"
-KEYWORDS="~amd64 ~arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~x86"
IUSE="test"
RESTRICT="test"
PROPERTIES="test_network"