commit:     de2a950576faf7d7ef416b60563d3c2119d4d46f
Author:     Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
AuthorDate: Wed Jun 18 11:16:38 2025 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Thu Jun 19 15:16:09 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=de2a9505

dev-lang/pypy:3.11: add 7.3.19_p11, drop old

Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq.in>
Part-of: https://github.com/gentoo/libressl/pull/597
Closes: https://github.com/gentoo/libressl/pull/597
Signed-off-by: orbea <orbea <AT> riseup.net>

 dev-lang/pypy/Manifest                             |   4 +-
 .../pypy/files/pypy-3.10-7.3.19-libressl.patch     | 291 +++++++++++++++++++++
 ....3.19_p7.ebuild => pypy-3.11.7.3.19_p11.ebuild} |   2 +-
 dev-lang/pypy/pypy-3.11.7.3.19_p6-r1.ebuild        | 240 -----------------
 dev-lang/pypy/pypy-3.11.7.3.19_p8.ebuild           | 240 -----------------
 5 files changed, 293 insertions(+), 484 deletions(-)

diff --git a/dev-lang/pypy/Manifest b/dev-lang/pypy/Manifest
index 25b91e3..ba32dca 100644
--- a/dev-lang/pypy/Manifest
+++ b/dev-lang/pypy/Manifest
@@ -1,6 +1,4 @@
 DIST pypy3.10-gentoo-patches-7.3.19_p3.tar.xz 11288 BLAKE2B 
d087ef35dc6298f89df537c04b0833fb107638d47036faa892f9fae8de6ac820d0b45618f32364bf83238b8f38b371167c3061ac299792301dabe924360bdd20
 SHA512 
091dee8401d4a3f1c703066768a57d08fdf24aadb13f6754d8f696e395bc9e4cfe0038d93b883e8f03c8655f1dcdff1fa4c81dc45f918d82cc82461bf92a4fa7
 DIST pypy3.10-v7.3.19-src.tar.bz2 24547353 BLAKE2B 
975de34c7e01117c74e184693b6659ba0e3d8d488d724c03737dbd64533452c954e045e45058e1e77b9bee68e01060e74e30d7898d29f1adce417ce4b46579b8
 SHA512 
8fa24d3556bcf9cd0e2facd697827a5001fcfae9bf7874957843e4751b259f85a8b36166921282d71f39bb468d1706bb669373aebbc52486b683fcc824fb30ad
-DIST pypy3.11-gentoo-patches-7.3.19_p6.tar.xz 12188 BLAKE2B 
3830bf3dfe32a1def314f2a12c45d7651c361ecf5ef4df05155ce39328ce63569ded5211c09d88383d928645cd1021b96d4ebb5bc0c474da764849c74a46e472
 SHA512 
a85c515eb0ce285460bbcbd4db9147ae7a1f30bb806fc7a52ea43f7603fdbbbd7504cbbff9c6c6a79e604118eb2957c6ac48fdebd998aa3937c3faed675be874
-DIST pypy3.11-gentoo-patches-7.3.19_p7.tar.xz 12812 BLAKE2B 
54520af50cb5ca1bd35efea5c0db18b02601443900a14a7c30a06e77bc5a12b8cf6aa63dabeeab87f24623051de028416988e75f041c95831d72df79ee4ca7a5
 SHA512 
25c950e22d8828daed09b0b40629b0b359731c394b91d9d857edbe89dbdac1dbd70485560cc019ba4a36de11113fabc910764d584a4066f3bbe3449f65510b31
-DIST pypy3.11-gentoo-patches-7.3.19_p8.tar.xz 13004 BLAKE2B 
92fae649d7c4dd1f56d0096960ef8d049c71fe86da119c3305b87e609b1f44c1a09726e2ecbd26e54508450ba3c48d28b1bd6e8bff900c360831d275cec10872
 SHA512 
a4a922706aa8fde94ecb86688b656fb66c0f806fc523f5b931a2f190d5d562277e458b69d588bca8219cac8e5891a5b6ac2ac7cfa7d256df157d4b4f6e50237f
+DIST pypy3.11-gentoo-patches-7.3.19_p11.tar.xz 29804 BLAKE2B 
23a6a82f0ab21540d24bf23771161616f2e10022ecb3d6948ca837705410e930c1ea9b83f233145a55fe2091149dbc4d5d63a8970e5f9e32d1486f28f41f533a
 SHA512 
cde1fb6df55f5c24ec41e7a02204fa5e520f14f52cf1224557b22b1fe6448e7eca22568424ed23da9bffb81c1dae85cefc1aecdf2c8c33b4c38c32342ff03666
 DIST pypy3.11-v7.3.19-src.tar.bz2 24916380 BLAKE2B 
febc61b3a1c5055b5ab92e7f3af2c307605c8510131437b12df27b58a13b29f6fd0a4bf82d101f7f8f441ca93b20cf70dbd540af11578be297ea871d59304ea3
 SHA512 
ab078e81e5eefe16823350bdc9adcc444e0ef6835ff2234197f9e5cb0903c5208deb6df60722e99aa529ffff703c5dcbc08eaa7f753c2e5c1185afea6358395a

diff --git a/dev-lang/pypy/files/pypy-3.10-7.3.19-libressl.patch 
b/dev-lang/pypy/files/pypy-3.10-7.3.19-libressl.patch
new file mode 100644
index 0000000..85039c0
--- /dev/null
+++ b/dev-lang/pypy/files/pypy-3.10-7.3.19-libressl.patch
@@ -0,0 +1,291 @@
+--- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/crypto.py
++++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/crypto.py
+@@ -94,9 +94,7 @@ 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;
++static const long Cryptography_HAS_OPENSSL_CLEANUP = 1;
+ 
+ /* 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.
+--- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/ct.py
++++ b/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;
+--- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/dh.py
++++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/dh.py
+@@ -110,7 +110,7 @@ int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key)
+ }
+ #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
+--- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/ec.py
++++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/ec.py
+@@ -18,7 +18,6 @@ static const int OPENSSL_EC_NAMED_CURVE;
+ typedef ... EC_KEY;
+ typedef ... EC_GROUP;
+ typedef ... EC_POINT;
+-typedef ... EC_METHOD;
+ typedef struct {
+     int nid;
+     const char *comment;
+@@ -37,7 +36,6 @@ EC_GROUP *EC_GROUP_new_by_curve_name(int);
+ 
+ int EC_GROUP_get_degree(const EC_GROUP *);
+ 
+-const EC_METHOD *EC_GROUP_method_of(const EC_GROUP *);
+ const EC_POINT *EC_GROUP_get0_generator(const EC_GROUP *);
+ int EC_GROUP_get_curve_name(const EC_GROUP *);
+ 
+@@ -102,8 +100,6 @@ int EC_POINT_cmp(
+ int EC_POINT_mul(const EC_GROUP *, EC_POINT *, const BIGNUM *,
+     const EC_POINT *, const BIGNUM *, BN_CTX *);
+ 
+-int EC_METHOD_get_field_type(const EC_METHOD *);
+-
+ const char *EC_curve_nid2nist(int);
+ """
+ 
+--- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/engine.py
++++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/engine.py
+@@ -31,18 +31,22 @@ CUSTOMIZATIONS = """
+ #ifdef OPENSSL_NO_ENGINE
+ static const long Cryptography_HAS_ENGINE = 0;
+ 
++#ifndef CRYPTOGRAPHY_IS_LIBRESSL
+ ENGINE *(*ENGINE_by_id)(const char *) = NULL;
+ int (*ENGINE_init)(ENGINE *) = NULL;
+ int (*ENGINE_finish)(ENGINE *) = NULL;
++#endif
+ ENGINE *(*ENGINE_get_default_RAND)(void) = NULL;
+ int (*ENGINE_set_default_RAND)(ENGINE *) = NULL;
+ void (*ENGINE_unregister_RAND)(ENGINE *) = NULL;
++#ifndef CRYPTOGRAPHY_IS_LIBRESSL
+ int (*ENGINE_ctrl_cmd)(ENGINE *, const char *, long, void *,
+                        void (*)(void), int) = NULL;
+ 
+ int (*ENGINE_free)(ENGINE *) = NULL;
+ const char *(*ENGINE_get_id)(const ENGINE *) = NULL;
+ const char *(*ENGINE_get_name)(const ENGINE *) = NULL;
++#endif
+ 
+ #else
+ static const long Cryptography_HAS_ENGINE = 1;
+--- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/err.py
++++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/err.py
+@@ -231,6 +231,11 @@ static const int ERR_LIB_OSSL_DECODER = -42;
+ static const int ERR_LIB_OSSL_ENCODER = -42;
+ static const int ERR_LIB_PROP = -42;
+ static const int ERR_LIB_PROV = -42;
++#ifdef CRYPTOGRAPHY_IS_LIBRESSL
++static const int ERR_LIB_ASYNC = -42;
++static const int ERR_LIB_OSSL_STORE = -42;
++static const int ERR_LIB_SM2 = -42;
++#endif
+ #endif
+ 
+ /* SSL_R_UNEXPECTED_EOF_WHILE_READING is needed for pyOpenSSL
+--- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/evp.py
++++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/evp.py
+@@ -209,10 +209,11 @@ int (*EVP_PKEY_set1_tls_encodedpoint)(EVP_PKEY *, const 
unsigned char *,
+ #endif
+ 
+ #if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111
+-static const long Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY = 0;
+-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;
++#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x3070000fL
++static const long Cryptography_HAS_RAW_KEY = 0;
++static const long Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY = 0;
+ 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,
+@@ -228,6 +229,10 @@ int (*EVP_PKEY_get_raw_public_key)(const EVP_PKEY *, 
unsigned char *,
+ #else
+ static const long Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY = 1;
+ static const long Cryptography_HAS_RAW_KEY = 1;
++#endif
++#else
++static const long Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY = 1;
++static const long Cryptography_HAS_RAW_KEY = 1;
+ static const long Cryptography_HAS_EVP_DIGESTFINAL_XOF = 1;
+ #endif
+ 
+--- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/ocsp.py
++++ b/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(const 
OCSP_BASICRESP *bs)
+ }
+ #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
+--- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py
++++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py
+@@ -152,11 +152,6 @@ static const long SSL3_RT_ALERT;
+ static const long SSL3_RT_HANDSHAKE;
+ static const long SSL3_RT_APPLICATION_DATA;
+ 
+-static const long SSL3_RT_HEADER;
+-static const long SSL3_RT_INNER_CONTENT_TYPE;
+-
+-static const long SSL3_MT_CHANGE_CIPHER_SPEC;
+-
+ typedef ... SSL_METHOD;
+ typedef ... SSL_CTX;
+ 
+@@ -596,13 +591,13 @@ void SSL_set_msg_callback(SSL *ssl,
+ """
+ 
+ CUSTOMIZATIONS = """
+-#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_102
++#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_102 && !CRYPTOGRAPHY_IS_LIBRESSL
+ #error Python 3.7 requires OpenSSL >= 1.0.2
+ #endif
+ 
+ /* 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;
+@@ -729,7 +724,12 @@ static const long Cryptography_HAS_SET_CERT_CB = 0;
+ static const long Cryptography_HAS_SET_CERT_CB = 1;
+ #endif
+ 
++#if CRYPTOGRAPHY_IS_LIBRESSL && (LIBRESSL_VERSION_NUMBER >= 0x4000000fL)
++static const long Cryptography_HAS_COMPRESSION = 0;
++typedef void COMP_METHOD;
++#else
+ static const long Cryptography_HAS_COMPRESSION = 1;
++#endif
+ 
+ /* The setter functions were added in OpenSSL 1.1.0. The getter functions were
+    added in OpenSSL 1.1.1. */
+@@ -742,7 +742,7 @@ int (*SSL_CTX_get_max_proto_version)(SSL_CTX *ctx) = NULL;
+ 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;
+@@ -791,8 +791,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
+@@ -898,7 +896,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;
+--- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509.py
++++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509.py
+@@ -281,7 +281,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)
+ {
+@@ -307,7 +307,7 @@ X509_REVOKED *Cryptography_X509_REVOKED_dup(X509_REVOKED 
*rev) {
+ 
+ /* 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;
+--- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509_vfy.py
++++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509_vfy.py
+@@ -347,7 +347,7 @@ void (*X509_STORE_set_get_issuer)(X509_STORE *,
+ static const long Cryptography_HAS_X509_STORE_CTX_GET_ISSUER = 1;
+ #endif
+ 
+-#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_330
++#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_330 && !CRYPTOGRAPHY_IS_LIBRESSL
+ static X509_OBJECT *x509_object_dup(const X509_OBJECT *obj)
+ {
+     int ok;
+--- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509name.py
++++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509name.py
+@@ -75,7 +75,7 @@ Cryptography_STACK_OF_X509_NAME_ENTRY 
*sk_X509_NAME_ENTRY_dup(
+ """
+ 
+ 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);
+ }
+--- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509v3.py
++++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509v3.py
+@@ -320,4 +320,7 @@ void AUTHORITY_INFO_ACCESS_free(AUTHORITY_INFO_ACCESS *);
+ """
+ 
+ CUSTOMIZATIONS = """
++#ifdef CRYPTOGRAPHY_IS_LIBRESSL
++int (*X509V3_EXT_add_alias)(int, int) = NULL;
++#endif
+ """
+--- a/lib_pypy/cffi/recompiler.py
++++ b/lib_pypy/cffi/recompiler.py
+@@ -890,9 +890,6 @@ class Recompiler:
+                        and (ftype.length is None or ftype.length == '...')):
+                     ftype = ftype.item
+                     fname = fname + '[0]'
+-                prnt('  { %s = &p->%s; (void)tmp; }' % (
+-                    ftype.get_c_name('*tmp', 'field %r'%fname, quals=fqual),
+-                    fname))
+             except VerificationError as e:
+                 prnt('  /* %s */' % str(e))   # cannot verify it, ignore
+         prnt('}')

diff --git a/dev-lang/pypy/pypy-3.11.7.3.19_p7.ebuild 
b/dev-lang/pypy/pypy-3.11.7.3.19_p11.ebuild
similarity index 99%
rename from dev-lang/pypy/pypy-3.11.7.3.19_p7.ebuild
rename to dev-lang/pypy/pypy-3.11.7.3.19_p11.ebuild
index 2538fdb..16aa1e3 100644
--- a/dev-lang/pypy/pypy-3.11.7.3.19_p7.ebuild
+++ b/dev-lang/pypy/pypy-3.11.7.3.19_p11.ebuild
@@ -61,7 +61,7 @@ DEPEND="
 src_prepare() {
        local PATCHES=(
                "${WORKDIR}/${PATCHSET}"
-               "${FILESDIR}"/${PN}-3.10-7.3.17-libressl.patch
+               "${FILESDIR}"/${PN}-3.10-7.3.19-libressl.patch
        )
 
        default

diff --git a/dev-lang/pypy/pypy-3.11.7.3.19_p6-r1.ebuild 
b/dev-lang/pypy/pypy-3.11.7.3.19_p6-r1.ebuild
deleted file mode 100644
index 1b6dc77..0000000
--- a/dev-lang/pypy/pypy-3.11.7.3.19_p6-r1.ebuild
+++ /dev/null
@@ -1,240 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs
-
-PYVER=$(ver_cut 1-2)
-PATCHSET_PV=$(ver_cut 3-)
-PYPY_PV=${PATCHSET_PV%_p*}
-
-MY_P="pypy${PYVER}-v${PYPY_PV/_}"
-PATCHSET="pypy${PYVER}-gentoo-patches-${PATCHSET_PV/_rc/rc}"
-
-DESCRIPTION="A fast, compliant alternative implementation of the Python 
(${PYVER}) language"
-HOMEPAGE="
-       https://pypy.org/
-       https://github.com/pypy/pypy/
-"
-SRC_URI="
-       https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
-       https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
-       https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
-"
-S="${WORKDIR}/${MY_P}-src"
-
-LICENSE="MIT"
-# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))'
-# also check pypy/interpreter/pycode.py -> pypy_incremental_magic
-SLOT="${PYVER}/pypy311-pp73-416"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-IUSE="+ensurepip gdbm +jit ncurses sqlite symlink +test-install tk"
-# many tests are failing upstream
-# see https://buildbot.pypy.org/summary?branch=py${PYVER}
-RESTRICT="test"
-
-RDEPEND="
-       || (
-               dev-lang/pypy3-exe:${PV%_p*}[bzip2(+),ncurses?]
-               dev-lang/pypy3-exe-bin:${PV%_p*}
-       )
-       dev-lang/python-exec[python_targets_pypy${PYVER/./_}(-)]
-       dev-libs/openssl:0=
-       dev-python/gentoo-common
-       ensurepip? ( dev-python/ensurepip-wheels )
-       gdbm? ( sys-libs/gdbm:0= )
-       sqlite? ( dev-db/sqlite:3= )
-       tk? (
-               dev-lang/tk:0=
-               dev-tcltk/tix:0=
-       )
-       symlink? (
-               !dev-lang/pypy:3.10[symlink(-)]
-               !<dev-python/pypy3-7.3.17-r100
-       )
-"
-DEPEND="
-       ${RDEPEND}
-"
-
-src_prepare() {
-       local PATCHES=(
-               "${WORKDIR}/${PATCHSET}"
-               "${FILESDIR}"/${PN}-3.10-7.3.17-libressl.patch
-       )
-
-       default
-}
-
-src_configure() {
-       tc-export CC
-}
-
-src_compile() {
-       mkdir bin || die
-       # switch to the layout expected for cffi module builds
-       mkdir "include/pypy${PYVER}" || die
-       # copy over to make sys.prefix happy
-       cp -p "${BROOT}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" pypy${PYVER}-c || die
-       cp -p "${BROOT}/usr/include/pypy${PYVER}/${PYPY_PV}"/* 
include/pypy${PYVER}/ || die
-       # (not installed by pypy-exe)
-       rm pypy/module/cpyext/include/_numpypy/numpy/README || die
-       mv pypy/module/cpyext/include/* "include/pypy${PYVER}/" || die
-       mv pypy/module/cpyext/parse/*.h "include/pypy${PYVER}/" || die
-       pax-mark m "pypy${PYVER}-c"
-
-       # verify the subslot
-       local soabi=$(
-               "./pypy${PYVER}-c" - <<-EOF
-                       import importlib.util
-                       import sysconfig
-                       soabi = sysconfig.get_config_var("SOABI")
-                       magic = importlib.util._RAW_MAGIC_NUMBER & 0xffff
-                       print(f"{soabi}-{magic}")
-               EOF
-       )
-       [[ ${soabi} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
-
-       # Add epython.py to the distribution
-       echo "EPYTHON=\"pypy${PYVER}\"" > lib-python/3/epython.py || die
-
-       einfo "Generating caches and CFFI modules ..."
-
-       # Generate Grammar and PatternGrammar pickles.
-       "./pypy${PYVER}-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 lib_pypy/pypy_tools/build_cffi_imports.py!
-       # (NB: we build CFFI modules first to avoid error log when importing
-       # build_cffi_imports).
-       cffi_targets=(
-               pypy_util blake2/_blake2 sha3/_sha3 ssl
-               audioop syslog pwdgrp resource lzma posixshmem
-               ctypes_test testmultiphase
-       )
-       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${PYVER}-c" "_${t}_build.py" || die "Failed to build 
CFFI bindings for ${t}"
-       done
-       # testcapi does not have a "build" script
-       "../pypy${PYVER}-c" -c "import _testcapi" || die
-
-       # Verify that CFFI module list is up-to-date
-       local expected_cksum=a4138e48
-       local local_cksum=$(
-               "../pypy${PYVER}-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).encode()),))
-               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.c" -o -name '*.o' \) -delete || die
-       find -type d -empty -delete || die
-       cd .. || die
-
-       # Generate sysconfig data
-       local host_gnu_type=$(sh pypy/tool/release/config.guess)
-       local overrides=(
-               HOST_GNU_TYPE "${host_gnu_type:-unknown}"
-               INCLUDEPY "${EPREFIX}/usr/include/pypy${PYVER}"
-               LIBDIR "${EPREFIX}/usr/$(get_libdir)"
-               TZPATH "${EPREFIX}/usr/share/zoneinfo"
-               WHEEL_PKG_DIR "${EPREFIX}/usr/lib/python/ensurepip"
-       )
-       "./pypy${PYVER}-c" -m sysconfig --generate-posix-vars "${overrides[@]}" 
|| die
-       local outdir
-       outdir=$(<pybuilddir.txt) || die
-       cp "${outdir}"/_sysconfigdata__*.py lib-python/3/ || die
-}
-
-src_install() {
-       local dest="/usr/lib/pypy${PYVER}"
-       einfo "Installing PyPy ..."
-       dodir /usr/bin
-       dosym "pypy${PYVER}-c-${PYPY_PV}" "/usr/bin/pypy${PYVER}"
-       insinto "${dest}"
-       # preserve mtimes to avoid obsoleting caches
-       insopts -p
-       doins -r lib-python/3/. lib_pypy/.
-       insinto /usr/include
-       doins -r "include/pypy${PYVER}"
-
-       # replace copied headers with symlinks
-       for x in "${BROOT}/usr/include/pypy${PYVER}/${PYPY_PV}"/*; do
-               dosym "${PYPY_PV}/${x##*/}" "/usr/include/pypy${PYVER}/${x##*/}"
-       done
-
-       dodoc README.rst
-
-       rm -r "${ED}${dest}"/ensurepip/_bundled || die
-       if ! use ensurepip; then
-               rm -r "${ED}${dest}"/ensurepip || die
-       fi
-       if ! use gdbm; then
-               rm -r "${ED}${dest}"/_gdbm* || die
-       fi
-       if ! use test-install; then
-               rm -r "${ED}${dest}"/{ctypes,tkinter,unittest}/test \
-                       "${ED}${dest}"/{distutils,lib2to3}/tests \
-                       "${ED}${dest}"/idlelib/idle_test || die
-       fi
-       if ! use sqlite; then
-               rm -r "${ED}${dest}"/sqlite3 \
-                       "${ED}${dest}"/_sqlite3* \
-                       "${ED}${dest}"/test/test_sqlite3 || die
-       fi
-       if ! use tk; then
-               rm -r "${ED}${dest}"/{idlelib,tkinter} \
-                       "${ED}${dest}"/_tkinter \
-                       "${ED}${dest}"/test/test_{tcl,tk,ttk*}.py || die
-       fi
-       # remove test last since we have some file removals above
-       if ! use test-install; then
-               rm -r "${ED}${dest}"/test || die
-       fi
-       dosym ../python/EXTERNALLY-MANAGED "${dest}/EXTERNALLY-MANAGED"
-
-       local -x PYTHON="${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
-       # temporarily copy to build tree to facilitate module builds
-       cp -p "${BROOT}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" "${PYTHON}" || die
-
-       einfo "Byte-compiling Python standard library..."
-       # exclude list from CPython Makefile.pre.in
-       "${PYTHON}" -m compileall -j "$(makeopts_jobs)" -o 0 -o 1 -o 2 \
-               -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
-               --hardlink-dupes -q -f -d "${dest}" "${ED}${dest}" || die
-
-       # remove to avoid collisions
-       rm "${PYTHON}" || die
-
-       if use symlink; then
-               dosym pypy${PYVER} /usr/bin/pypy3
-
-               # install symlinks for python-exec
-               local EPYTHON=pypy${PYVER}
-               local scriptdir=${D}$(python_get_scriptdir)
-               mkdir -p "${scriptdir}" || die
-               ln -s "../../../bin/pypy3" "${scriptdir}/python3" || die
-               ln -s python3 "${scriptdir}/python" || die
-       fi
-}

diff --git a/dev-lang/pypy/pypy-3.11.7.3.19_p8.ebuild 
b/dev-lang/pypy/pypy-3.11.7.3.19_p8.ebuild
deleted file mode 100644
index 2538fdb..0000000
--- a/dev-lang/pypy/pypy-3.11.7.3.19_p8.ebuild
+++ /dev/null
@@ -1,240 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs
-
-PYVER=$(ver_cut 1-2)
-PATCHSET_PV=$(ver_cut 3-)
-PYPY_PV=${PATCHSET_PV%_p*}
-
-MY_P="pypy${PYVER}-v${PYPY_PV/_}"
-PATCHSET="pypy${PYVER}-gentoo-patches-${PATCHSET_PV/_rc/rc}"
-
-DESCRIPTION="A fast, compliant alternative implementation of the Python 
(${PYVER}) language"
-HOMEPAGE="
-       https://pypy.org/
-       https://github.com/pypy/pypy/
-"
-SRC_URI="
-       https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
-       https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
-       https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
-"
-S="${WORKDIR}/${MY_P}-src"
-
-LICENSE="MIT"
-# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))'
-# also check pypy/interpreter/pycode.py -> pypy_incremental_magic
-SLOT="${PYVER}/pypy311-pp73-416"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-IUSE="+ensurepip gdbm +jit ncurses sqlite symlink +test-install tk"
-# many tests are failing upstream
-# see https://buildbot.pypy.org/summary?branch=py${PYVER}
-RESTRICT="test"
-
-RDEPEND="
-       || (
-               dev-lang/pypy3-exe:${PV%_p*}[bzip2(+),ncurses?]
-               dev-lang/pypy3-exe-bin:${PV%_p*}
-       )
-       dev-lang/python-exec[python_targets_pypy${PYVER/./_}(-)]
-       dev-libs/openssl:0=
-       dev-python/gentoo-common
-       ensurepip? ( dev-python/ensurepip-wheels )
-       gdbm? ( sys-libs/gdbm:0= )
-       sqlite? ( dev-db/sqlite:3= )
-       tk? (
-               dev-lang/tk:0=
-               dev-tcltk/tix:0=
-       )
-       symlink? (
-               !dev-lang/pypy:3.10[symlink(-)]
-               !<dev-python/pypy3-7.3.17-r100
-       )
-"
-DEPEND="
-       ${RDEPEND}
-"
-
-src_prepare() {
-       local PATCHES=(
-               "${WORKDIR}/${PATCHSET}"
-               "${FILESDIR}"/${PN}-3.10-7.3.17-libressl.patch
-       )
-
-       default
-}
-
-src_configure() {
-       tc-export CC
-}
-
-src_compile() {
-       mkdir bin || die
-       # switch to the layout expected for cffi module builds
-       mkdir "include/pypy${PYVER}" || die
-       # copy over to make sys.prefix happy
-       cp -p "${BROOT}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" pypy${PYVER}-c || die
-       cp -p "${BROOT}/usr/include/pypy${PYVER}/${PYPY_PV}"/* 
include/pypy${PYVER}/ || die
-       # (not installed by pypy-exe)
-       rm pypy/module/cpyext/include/_numpypy/numpy/README || die
-       mv pypy/module/cpyext/include/* "include/pypy${PYVER}/" || die
-       mv pypy/module/cpyext/parse/*.h "include/pypy${PYVER}/" || die
-       pax-mark m "pypy${PYVER}-c"
-
-       # verify the subslot
-       local soabi=$(
-               "./pypy${PYVER}-c" - <<-EOF
-                       import importlib.util
-                       import sysconfig
-                       soabi = sysconfig.get_config_var("SOABI")
-                       magic = importlib.util._RAW_MAGIC_NUMBER & 0xffff
-                       print(f"{soabi}-{magic}")
-               EOF
-       )
-       [[ ${soabi} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
-
-       # Add epython.py to the distribution
-       echo "EPYTHON=\"pypy${PYVER}\"" > lib-python/3/epython.py || die
-
-       einfo "Generating caches and CFFI modules ..."
-
-       # Generate Grammar and PatternGrammar pickles.
-       "./pypy${PYVER}-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 lib_pypy/pypy_tools/build_cffi_imports.py!
-       # (NB: we build CFFI modules first to avoid error log when importing
-       # build_cffi_imports).
-       cffi_targets=(
-               pypy_util blake2/_blake2 sha3/_sha3 ssl
-               audioop syslog pwdgrp resource lzma posixshmem
-               ctypes_test testmultiphase
-       )
-       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${PYVER}-c" "_${t}_build.py" || die "Failed to build 
CFFI bindings for ${t}"
-       done
-       # testcapi does not have a "build" script
-       "../pypy${PYVER}-c" -c "import _testcapi" || die
-
-       # Verify that CFFI module list is up-to-date
-       local expected_cksum=a4138e48
-       local local_cksum=$(
-               "../pypy${PYVER}-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).encode()),))
-               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.c" -o -name '*.o' \) -delete || die
-       find -type d -empty -delete || die
-       cd .. || die
-
-       # Generate sysconfig data
-       local host_gnu_type=$(sh pypy/tool/release/config.guess)
-       local overrides=(
-               HOST_GNU_TYPE "${host_gnu_type:-unknown}"
-               INCLUDEPY "${EPREFIX}/usr/include/pypy${PYVER}"
-               LIBDIR "${EPREFIX}/usr/$(get_libdir)"
-               TZPATH "${EPREFIX}/usr/share/zoneinfo"
-               WHEEL_PKG_DIR "${EPREFIX}/usr/lib/python/ensurepip"
-       )
-       "./pypy${PYVER}-c" -m sysconfig --generate-posix-vars "${overrides[@]}" 
|| die
-       local outdir
-       outdir=$(<pybuilddir.txt) || die
-       cp "${outdir}"/_sysconfigdata__*.py lib-python/3/ || die
-}
-
-src_install() {
-       local dest="/usr/lib/pypy${PYVER}"
-       einfo "Installing PyPy ..."
-       dodir /usr/bin
-       dosym "pypy${PYVER}-c-${PYPY_PV}" "/usr/bin/pypy${PYVER}"
-       insinto "${dest}"
-       # preserve mtimes to avoid obsoleting caches
-       insopts -p
-       doins -r lib-python/3/. lib_pypy/.
-       insinto /usr/include
-       doins -r "include/pypy${PYVER}"
-
-       # replace copied headers with symlinks
-       for x in "${BROOT}/usr/include/pypy${PYVER}/${PYPY_PV}"/*; do
-               dosym "${PYPY_PV}/${x##*/}" "/usr/include/pypy${PYVER}/${x##*/}"
-       done
-
-       dodoc README.rst
-
-       rm -r "${ED}${dest}"/ensurepip/_bundled || die
-       if ! use ensurepip; then
-               rm -r "${ED}${dest}"/ensurepip || die
-       fi
-       if ! use gdbm; then
-               rm -r "${ED}${dest}"/_gdbm* || die
-       fi
-       if ! use test-install; then
-               rm -r "${ED}${dest}"/{ctypes,tkinter,unittest}/test \
-                       "${ED}${dest}"/{distutils,lib2to3}/tests \
-                       "${ED}${dest}"/idlelib/idle_test || die
-       fi
-       if ! use sqlite; then
-               rm -r "${ED}${dest}"/sqlite3 \
-                       "${ED}${dest}"/_sqlite3* \
-                       "${ED}${dest}"/test/test_sqlite3 || die
-       fi
-       if ! use tk; then
-               rm -r "${ED}${dest}"/{idlelib,tkinter} \
-                       "${ED}${dest}"/_tkinter \
-                       "${ED}${dest}"/test/test_{tcl,tk,ttk*}.py || die
-       fi
-       # remove test last since we have some file removals above
-       if ! use test-install; then
-               rm -r "${ED}${dest}"/test || die
-       fi
-       dosym ../python/EXTERNALLY-MANAGED "${dest}/EXTERNALLY-MANAGED"
-
-       local -x PYTHON="${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
-       # temporarily copy to build tree to facilitate module builds
-       cp -p "${BROOT}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" "${PYTHON}" || die
-
-       einfo "Byte-compiling Python standard library..."
-       # exclude list from CPython Makefile.pre.in
-       "${PYTHON}" -m compileall -j "$(makeopts_jobs)" -o 0 -o 1 -o 2 \
-               -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
-               --hardlink-dupes -q -f -d "${dest}" "${ED}${dest}" || die
-
-       # remove to avoid collisions
-       rm "${PYTHON}" || die
-
-       if use symlink; then
-               dosym pypy${PYVER} /usr/bin/pypy3
-
-               # install symlinks for python-exec
-               local EPYTHON=pypy${PYVER}
-               local scriptdir=${D}$(python_get_scriptdir)
-               mkdir -p "${scriptdir}" || die
-               ln -s "../../../bin/pypy3" "${scriptdir}/python3" || die
-               ln -s python3 "${scriptdir}/python" || die
-       fi
-}

Reply via email to