aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authororbea <orbea@riseup.net>2024-10-30 11:18:43 -0700
committerorbea <orbea@riseup.net>2024-10-30 12:39:03 -0700
commitc11870526c874a509620ed654d9b852b621c8fe5 (patch)
treea71fb5ae06945db1749cb20e59cf34ce8c2ecea3
parentdev-python/pypy: add 7.3.17, drop 7.3.16 (diff)
downloadlibressl-c11870526c874a509620ed654d9b852b621c8fe5.tar.gz
libressl-c11870526c874a509620ed654d9b852b621c8fe5.tar.bz2
libressl-c11870526c874a509620ed654d9b852b621c8fe5.zip
dev-python/pypy3_10: add 7.3.17_p1, drop 7.3.16
Signed-off-by: orbea <orbea@riseup.net>
-rw-r--r--dev-python/pypy3_10/Manifest4
-rw-r--r--dev-python/pypy3_10/files/pypy3_10-7.3.17-libressl.patch (renamed from dev-python/pypy3_10/files/pypy3_10-7.3.16-libressl.patch)284
-rw-r--r--dev-python/pypy3_10/metadata.xml4
-rw-r--r--dev-python/pypy3_10/pypy3_10-7.3.17_p1.ebuild (renamed from dev-python/pypy3_10/pypy3_10-7.3.16.ebuild)15
4 files changed, 162 insertions, 145 deletions
diff --git a/dev-python/pypy3_10/Manifest b/dev-python/pypy3_10/Manifest
index 98534aa..cf0ee0f 100644
--- a/dev-python/pypy3_10/Manifest
+++ b/dev-python/pypy3_10/Manifest
@@ -1,2 +1,2 @@
-DIST pypy3.10-gentoo-patches-7.3.16.tar.xz 4752 BLAKE2B a5cd87f30c0b20bf5d49c3b5c979c12231d6b67750e777d4488093094d5998e6f0d9adba51c04704eb31d621089aeb12ee5a6b0a58dad0ecda0d60d2ecbdab6d SHA512 e2779841a3e56e384134416ce2a10e1e00a11d7c720023506370fb9f54363da6b7300b4019c121aa1874152b62d9679ebcd3dd679fd0dbd2bf524520990b6f38
-DIST pypy3.10-v7.3.16-src.tar.bz2 23358556 BLAKE2B 4eddae47dea1005b9450b9d3d23bd90782dffecdc252eff4fd3195a61e0e7ebbdafaf4c4b5d318c88534f152c1110c3bc4f76f43a7e711a859dd4330841a0e0b SHA512 5b941e3b5c7b0c7a50413e16122bad3e167dcc4ee159ce53e9716e9d5af79d600823f3d7442b7562bb568ff027723e22904fc0840dc06bd26e3da38c93cc5b94
+DIST pypy3.10-gentoo-patches-7.3.17_p1.tar.xz 18104 BLAKE2B 4b6c8c012d34b7ead8f7499edbe4292f21d2d7437694341de0bfb5f74d0717a11eb1c302a60baeb3ab123851a2436657458dad47c2b86a81218eea12d6aa9344 SHA512 73e0733f07be79f444b2fbf18ca7dcad6a76368cb8c185eb630d82e6886ed909548bc1779bf618588e34a572b5d48be0f9a86fc5758d302cf3ff0e94649b4815
+DIST pypy3.10-v7.3.17-src.tar.bz2 23350562 BLAKE2B 0a7a091976b352de61057f238fa386f767dd4d2fbcdcc0b4376066c20c2ad35d3818fa6e9e163ab5fd341856802e8ad1e2891decf5948c13cdb26726cd42019e SHA512 46e30845bbc73cf56f5033a24d3583253ce198522f3a28ae4e789884063ba167d401fc08ae7fc8c7769feed9cd942a8ab38961c8b8794d7fae8f9955479faa96
diff --git a/dev-python/pypy3_10/files/pypy3_10-7.3.16-libressl.patch b/dev-python/pypy3_10/files/pypy3_10-7.3.17-libressl.patch
index 47a905e..886a79d 100644
--- a/dev-python/pypy3_10/files/pypy3_10-7.3.16-libressl.patch
+++ b/dev-python/pypy3_10/files/pypy3_10-7.3.17-libressl.patch
@@ -1,57 +1,11 @@
LibreSSL defines OPENSSL_NO_ENGINE yet provides some ENGINE symbols.
I am not sure about the value of Cryptography_HAS_ENGINE in this case but at least this prevents symbol collisions.
-diff -u a/lib_pypy/_cffi_ssl/_cffi_src/openssl/engine.py b/lib_pypy/_cffi_ssl/_cffi_src/openssl/engine.py
---- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/engine.py 2024-04-21 01:03:52.000000000 +0000
-+++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/engine.py 2024-07-17 07:40:07.395339433 +0000
-@@ -30,6 +30,7 @@
- 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 *);
-@@ -34,9 +34,11 @@
- 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;
-
-@@ -47,6 +47,7 @@
- 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;
- #endif
-diff -ru pypy2.7-v7.3.16-src/lib_pypy/_cffi_ssl/_cffi_src/openssl/err.py b/lib_pypy/_cffi_ssl/_cffi_src/openssl/err.py
---- pypy2.7-v7.3.16-src/lib_pypy/_cffi_ssl/_cffi_src/openssl/err.py 2024-04-21 01:03:52.000000000 +0000
-+++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/err.py 2024-07-19 12:51:27.645284720 +0000
-@@ -232,5 +232,10 @@
- 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
- """
-LibreSSL now provides OPENSSL_cleanup()
-
-Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/crypto.py
+diff --git a/lib_pypy/_cffi_ssl/_cffi_src/openssl/crypto.py b/lib_pypy/_cffi_ssl/_cffi_src/openssl/crypto.py
+index 87e48f4..5d59c48 100644
--- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/crypto.py
+++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/crypto.py
-@@ -92,9 +92,7 @@ static const long Cryptography_HAS_LOCKING_CALLBACKS =
+@@ -94,9 +94,7 @@ static const long Cryptography_HAS_LOCKING_CALLBACKS = 0;
#endif
#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110
@@ -62,9 +16,8 @@ Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/crypto.py
/* 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.
-Adapt for Certificate Transparency support in LibreSSL 3.5
-
-Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/ct.py
+diff --git a/lib_pypy/_cffi_ssl/_cffi_src/openssl/ct.py b/lib_pypy/_cffi_ssl/_cffi_src/openssl/ct.py
+index 71125dd..832259e 100644
--- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/ct.py
+++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/ct.py
@@ -5,7 +5,7 @@
@@ -76,7 +29,7 @@ Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/ct.py
#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)
+@@ -65,7 +65,7 @@ int SCT_set_log_entry_type(SCT *, ct_log_entry_type_t);
"""
CUSTOMIZATIONS = """
@@ -85,12 +38,11 @@ Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/ct.py
static const long Cryptography_HAS_SCT = 1;
#else
static const long Cryptography_HAS_SCT = 0;
-Do not redefine a constant available in LibreSSL's headers.
-
-Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/dh.py
+diff --git a/lib_pypy/_cffi_ssl/_cffi_src/openssl/dh.py b/lib_pypy/_cffi_ssl/_cffi_src/openssl/dh.py
+index 6fdc7dd..07e1b8c 100644
--- 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_
+@@ -110,7 +110,7 @@ int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key)
}
#endif
@@ -99,10 +51,56 @@ Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/dh.py
#ifndef DH_CHECK_Q_NOT_PRIME
#define DH_CHECK_Q_NOT_PRIME 0x10
#endif
-Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/evp.py
+diff --git a/lib_pypy/_cffi_ssl/_cffi_src/openssl/engine.py b/lib_pypy/_cffi_ssl/_cffi_src/openssl/engine.py
+index fa503a2..1ce9c18 100644
+--- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/engine.py
++++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/engine.py
+@@ -30,13 +30,16 @@ const char *ENGINE_get_name(const ENGINE *);
+ 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;
+
+@@ -44,6 +47,7 @@ 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;
+ #endif
+diff --git a/lib_pypy/_cffi_ssl/_cffi_src/openssl/err.py b/lib_pypy/_cffi_ssl/_cffi_src/openssl/err.py
+index 8aaa081..9960388 100644
+--- 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
+diff --git a/lib_pypy/_cffi_ssl/_cffi_src/openssl/evp.py b/lib_pypy/_cffi_ssl/_cffi_src/openssl/evp.py
+index 045cc1a..6d6b5ad 100644
--- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/evp.py
+++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/evp.py
-@@ -212,10 +212,11 @@ int (*EVP_PKEY_set1_tls_encodedpoint)(EVP_PKEY *, cons
+@@ -209,10 +209,11 @@ int (*EVP_PKEY_set1_tls_encodedpoint)(EVP_PKEY *, const unsigned char *,
#endif
#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111
@@ -116,20 +114,19 @@ Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/evp.py
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_private_key)(const EVP_PKEY *,
- size_t *) = NULL;
- int (*EVP_PKEY_get_raw_public_key)(const EVP_PKEY *, unsigned char *,
- size_t *) = NULL;
-+#else
-+static const long Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY = 1;
-+static const long Cryptography_HAS_RAW_KEY = 1;
-+#endif
+@@ -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;
-Fix build with opaque OCSP in LibreSSL 3.5.
-
-Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/ocsp.py
++#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
+
+diff --git a/lib_pypy/_cffi_ssl/_cffi_src/openssl/ocsp.py b/lib_pypy/_cffi_ssl/_cffi_src/openssl/ocsp.py
+index 9826ecc..7e92519 100644
--- 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 {
@@ -141,7 +138,7 @@ Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/ocsp.py
/* 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
+@@ -148,7 +148,7 @@ const ASN1_OCTET_STRING *OCSP_resp_get0_signature(const OCSP_BASICRESP *bs)
}
#endif
@@ -150,15 +147,30 @@ Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/ocsp.py
const X509_ALGOR *OCSP_resp_get0_tbs_sigalg(const OCSP_BASICRESP *bs)
{
#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110
-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.
-
-+ SSL_CTX_*_min_proto_version
-Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py
+diff --git a/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py b/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py
+index 9ef5c5c..aa647e4 100644
--- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py
+++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py
-@@ -552,7 +552,7 @@ int SSL_CTX_set_max_early_data(SSL_CTX *, uint32_t);
+@@ -152,10 +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;
+@@ -593,13 +589,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
@@ -166,7 +178,29 @@ Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py
/* from ssl/ssl_lib.c */
const SSL_METHOD *SSL_CTX_get_ssl_method(SSL_CTX *ctx) {
return ctx->method;
-@@ -729,8 +729,6 @@ const SSL_METHOD *(*DTLS_client_method)(void) = NULL;
+@@ -726,7 +722,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. */
+@@ -739,7 +740,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;
+@@ -788,8 +789,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
@@ -175,7 +209,7 @@ Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py
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;
+@@ -895,7 +894,7 @@ static const long Cryptography_HAS_CIPHER_DETAILS = 0;
static const long Cryptography_HAS_CIPHER_DETAILS = 1;
#endif
@@ -184,22 +218,11 @@ Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py
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;
-Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/x509name.py
---- 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_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);
- }
-Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/x509.py
+diff --git a/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509.py b/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509.py
+index a29619b..6351936 100644
--- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509.py
+++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509.py
-@@ -282,7 +282,7 @@ int X509_get_signature_nid(const X509 *x)
+@@ -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. */
@@ -208,7 +231,7 @@ Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/x509.py
/* 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
+@@ -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. */
@@ -217,44 +240,37 @@ Index: lib_pypy/_cffi_ssl/_cffi_src/openssl/x509.py
int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp)
{
req->req_info->enc.modified = 1;
-diff -ru a/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py b/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py
---- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py 2024-07-19 10:38:37.482873478 +0000
-+++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py 2024-07-19 10:41:18.411921508 +0000
-@@ -153,10 +153,6 @@
- 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;
+diff --git a/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509_vfy.py b/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509_vfy.py
+index 2475d3a..fe80a3b 100644
+--- 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
- typedef ... SSL_METHOD;
- typedef ... SSL_CTX;
-@@ -577,7 +577,7 @@
+-#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;
+diff --git a/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509name.py b/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509name.py
+index e86d9e2..89939c4 100644
+--- 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_LESS_THAN_102
-+#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_102 && !CRYPTOGRAPHY_IS_LIBRESSL
- #error Python 3.7 requires OpenSSL >= 1.0.2
- #endif
-
-@@ -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 -ru a/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509v3.py b/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509v3.py
---- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509v3.py 2024-04-21 01:03:52.000000000 +0000
-+++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509v3.py 2024-07-19 13:16:55.369740670 +0000
-@@ -320,4 +320,7 @@
+-#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/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509v3.py b/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509v3.py
+index 39dc1b6..9a68ec8 100644
+--- 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 = """
@@ -262,15 +278,3 @@ diff -ru a/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509v3.py b/lib_pypy/_cffi_ssl/_
+int (*X509V3_EXT_add_alias)(int, int) = NULL;
+#endif
"""
-diff -ru pypy3.10-v7.3.16-src/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509_vfy.py b/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509_vfy.py
---- pypy3.10-v7.3.16-src/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509_vfy.py 2024-04-21 01:08:49.000000000 +0000
-+++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509_vfy.py 2024-07-25 07:06:06.259878466 +0000
-@@ -347,7 +347,7 @@
- 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;
diff --git a/dev-python/pypy3_10/metadata.xml b/dev-python/pypy3_10/metadata.xml
index 2a6a5bd..53e7be1 100644
--- a/dev-python/pypy3_10/metadata.xml
+++ b/dev-python/pypy3_10/metadata.xml
@@ -14,5 +14,9 @@
to bootstrap pip and setuptools (if disabled, it will
be only possible to use venv `--without-pip`)
</flag>
+ <flag name="test-install">
+ Install the test suite packages, that are required to run
+ tests in a few reverse dependencies.
+ </flag>
</use>
</pkgmetadata>
diff --git a/dev-python/pypy3_10/pypy3_10-7.3.16.ebuild b/dev-python/pypy3_10/pypy3_10-7.3.17_p1.ebuild
index 14b88a9..f75265d 100644
--- a/dev-python/pypy3_10/pypy3_10-7.3.16.ebuild
+++ b/dev-python/pypy3_10/pypy3_10-7.3.17_p1.ebuild
@@ -12,7 +12,7 @@ PATCHSET="pypy${PYVER}-gentoo-patches-${PV/_rc/rc}"
DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language"
HOMEPAGE="
- https://www.pypy.org/
+ https://pypy.org/
https://github.com/pypy/pypy/
"
SRC_URI="
@@ -27,7 +27,7 @@ LICENSE="MIT"
# also check pypy/interpreter/pycode.py -> pypy_incremental_magic
SLOT="0/pypy310-pp73-384"
KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="+ensurepip gdbm +jit ncurses sqlite tk"
+IUSE="+ensurepip gdbm +jit ncurses sqlite +test-install tk"
# many tests are failing upstream
# see https://buildbot.pypy.org/summary?branch=py${PYVER}
RESTRICT="test"
@@ -55,7 +55,7 @@ DEPEND="
src_prepare() {
local PATCHES=(
"${WORKDIR}/${PATCHSET}"
- "${FILESDIR}"/${PN}-7.3.16-libressl.patch
+ "${FILESDIR}"/${PN}-7.3.17-libressl.patch
)
default
@@ -186,6 +186,11 @@ src_install() {
if ! use gdbm; then
rm -r "${ED}${dest}"/_gdbm* || die
fi
+ if ! use test-install; then
+ rm -r "${ED}${dest}"/{ctypes,sqlite3,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* \
@@ -196,6 +201,10 @@ src_install() {
"${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}