summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-07-26 19:53:20 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-07-26 19:53:20 +0000
commit04b1885d8f229998d367ac5e87b7a526f3ff82f5 (patch)
treebe9491f8c833d300c1399572b2fff5c6bdac6106 /dev-python
parent3eefa8485ec8e09b626b5cbcf202f2a9956ba2c4 (diff)
downloadbaldeagleos-repo-04b1885d8f229998d367ac5e87b7a526f3ff82f5.tar.gz
baldeagleos-repo-04b1885d8f229998d367ac5e87b7a526f3ff82f5.tar.xz
baldeagleos-repo-04b1885d8f229998d367ac5e87b7a526f3ff82f5.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/pypy3/Manifest4
-rw-r--r--dev-python/pypy3/files/cryptography.patch17
-rw-r--r--dev-python/pypy3/files/openssl_cleanup.patch42
-rw-r--r--dev-python/pypy3/files/openssl_ct.patch23
-rw-r--r--dev-python/pypy3/files/openssl_dh.patch14
-rw-r--r--dev-python/pypy3/files/openssl_evp.patch19
-rw-r--r--dev-python/pypy3/files/openssl_hmac.patch23
-rw-r--r--dev-python/pypy3/files/openssl_ocsp.patch23
-rw-r--r--dev-python/pypy3/files/openssl_proto.patch12
-rw-r--r--dev-python/pypy3/files/openssl_ssl.patch44
-rw-r--r--dev-python/pypy3/files/openssl_x509.patch21
-rw-r--r--dev-python/pypy3/files/openssl_x509name.patch12
-rw-r--r--dev-python/pypy3/files/ssl_python.patch12
-rw-r--r--dev-python/pypy3/metadata.xml13
-rw-r--r--dev-python/pypy3/pypy3-7.3.10.ebuild (renamed from dev-python/pypy3/pypy3-7.3.11_p1.ebuild)22
-rw-r--r--dev-python/pypy3/pypy3-7.3.11.ebuild215
-rw-r--r--dev-python/pypy3/pypy3-7.3.12.ebuild26
19 files changed, 509 insertions, 45 deletions
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index a11d7c268c91..e9da2ac43cac 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1 +1,3 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
+EBUILD langdetect-1.0.9.ebuild 493 BLAKE2B 0df8bce19bc80f79f8e76bcef5a4c2caf333365fe0cb9a3c076b7858bceded5a3e58921474f866a2709dd657b7ed330c1ec4a7f9d7bab0fcf1bc92d77cabc32d SHA512 ea2a1adcb133ac5fc951ba1aa90ef1ce3dfcc424e59727591763d4875aa044a74188be2d15fd89c6b2e83ed6ea04ec3d9851ed584ae79d2c2c127bde7d994b48
+MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index ddb5b0f1787e..020e07f2a3dd 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -2,9 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>cyber+gentoo@sysrq.in</email>
- <name>Anna</name>
+ <email>marcin.deranek@slonko.net</email>
+ <name>Marcin Deranek</name>
</maintainer>
-
- <origin>gentoo-guru-overlay</origin>
+ <upstream>
+ <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
+ </upstream>
+ <origin>slonko-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pypy3/Manifest b/dev-python/pypy3/Manifest
index ebda7445a38c..c04d96f5f6e5 100644
--- a/dev-python/pypy3/Manifest
+++ b/dev-python/pypy3/Manifest
@@ -1,2 +1,4 @@
-DIST pypy3.9-gentoo-patches-7.3.11_p1.tar.xz 7480 BLAKE2B ffb478402e82244af25dd67bb9e21abb4bb186d98495899f8ca8f323bdf27a77356e40efd33217a5238ef86f6156fc7d85c681a747ea5a35bd73bab659972986 SHA512 6c3ee21b51145907c2434f740e9849ac02ad83203fdcb2802b97ba199f37d08297d8016f659069bea3f0854ace30aefb947af4f057cbc91332106d9fc1389cf4
+DIST pypy3.9-gentoo-patches-7.3.10.tar.xz 10012 BLAKE2B 45186cf6e8608995af6c0d763a2d676d862ba886acb3a0e0f0056309123d0db75240a175ecf90e24889a139f228dffc788872a5ca84736f4ce0901eda0acb789 SHA512 e6c39666f34bb7e2db72f153fad2d89421b30c04de88812637027a7e8a73bccc7620a7296b2b205464ad7fd0c911bc7a7f0dc0fc504dc8d163f7087b8b0c61b3
+DIST pypy3.9-gentoo-patches-7.3.11.tar.xz 6444 BLAKE2B adcc1ae4c3ae2c5317a05d6de51785945625d8bcc7cb35bd6608fa80f09b37c483c95663eacb0353013a5abec308d25b12666699c65512f5f3a6d7345f2b5b18 SHA512 f2064ecffa09ba23f5f8c281ca4c8c0740cb6b57185d66c02eec2bcb77cfb566b1a2db4f52c472bcaf0d5fb759ee8003b27761af37785d12465c2010fd73c49d
+DIST pypy3.9-v7.3.10-src.tar.bz2 23416039 BLAKE2B 1b13e8bbe6c38c4b9183a632063aeed593986bc7906cfe527fa7534d29f9b1ae0f1e6d3795ff73be19f5737c3fd9d1b3cc2777f30d9237d853e4266bea60a5bb SHA512 1ed3fc9cdda7f3144141fc6a37b124e7141cb3f294ce8b5ca3c3aa30a3c58715e168879decaa796c890a9a287c82c2dbabb81db5f6b8d17f4215d7d3261fe9a8
DIST pypy3.9-v7.3.11-src.tar.bz2 23460769 BLAKE2B fa8a827c28813243926c8689addb008c0a43acdc3f81a18749a8f2c1926b6294f2c0c95a4c315e3b77ce84b4f337af7a0bce5daf8dcb60ead965532d4af183cb SHA512 33c978ffbeeb39453028d1d1646ccfdace062ce48a5d939245bea41643038dd3687e80e34f88fa0622bcb175d7dd78f75cbe36b24229c8052f09d2d17dcdfd8c
diff --git a/dev-python/pypy3/files/cryptography.patch b/dev-python/pypy3/files/cryptography.patch
new file mode 100644
index 000000000000..cf045d4e2310
--- /dev/null
+++ b/dev-python/pypy3/files/cryptography.patch
@@ -0,0 +1,17 @@
+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/pypy3/files/openssl_cleanup.patch b/dev-python/pypy3/files/openssl_cleanup.patch
new file mode 100644
index 000000000000..5e15fb0d705d
--- /dev/null
+++ b/dev-python/pypy3/files/openssl_cleanup.patch
@@ -0,0 +1,42 @@
+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/pypy3/files/openssl_ct.patch b/dev-python/pypy3/files/openssl_ct.patch
new file mode 100644
index 000000000000..647031353305
--- /dev/null
+++ b/dev-python/pypy3/files/openssl_ct.patch
@@ -0,0 +1,23 @@
+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/pypy3/files/openssl_dh.patch b/dev-python/pypy3/files/openssl_dh.patch
new file mode 100644
index 000000000000..b653872eff5b
--- /dev/null
+++ b/dev-python/pypy3/files/openssl_dh.patch
@@ -0,0 +1,14 @@
+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/pypy3/files/openssl_evp.patch b/dev-python/pypy3/files/openssl_evp.patch
new file mode 100644
index 000000000000..07092e740609
--- /dev/null
+++ b/dev-python/pypy3/files/openssl_evp.patch
@@ -0,0 +1,19 @@
+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/pypy3/files/openssl_hmac.patch b/dev-python/pypy3/files/openssl_hmac.patch
new file mode 100644
index 000000000000..51f1b2264ab1
--- /dev/null
+++ b/dev-python/pypy3/files/openssl_hmac.patch
@@ -0,0 +1,23 @@
+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/pypy3/files/openssl_ocsp.patch b/dev-python/pypy3/files/openssl_ocsp.patch
new file mode 100644
index 000000000000..2dd70863b032
--- /dev/null
+++ b/dev-python/pypy3/files/openssl_ocsp.patch
@@ -0,0 +1,23 @@
+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/pypy3/files/openssl_proto.patch b/dev-python/pypy3/files/openssl_proto.patch
new file mode 100644
index 000000000000..22e2e7a3283d
--- /dev/null
+++ b/dev-python/pypy3/files/openssl_proto.patch
@@ -0,0 +1,12 @@
+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/pypy3/files/openssl_ssl.patch b/dev-python/pypy3/files/openssl_ssl.patch
new file mode 100644
index 000000000000..1c6f32460958
--- /dev/null
+++ b/dev-python/pypy3/files/openssl_ssl.patch
@@ -0,0 +1,44 @@
+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/pypy3/files/openssl_x509.patch b/dev-python/pypy3/files/openssl_x509.patch
new file mode 100644
index 000000000000..3714cf926a3a
--- /dev/null
+++ b/dev-python/pypy3/files/openssl_x509.patch
@@ -0,0 +1,21 @@
+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/pypy3/files/openssl_x509name.patch b/dev-python/pypy3/files/openssl_x509name.patch
new file mode 100644
index 000000000000..53721e4de136
--- /dev/null
+++ b/dev-python/pypy3/files/openssl_x509name.patch
@@ -0,0 +1,12 @@
+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/pypy3/files/ssl_python.patch b/dev-python/pypy3/files/ssl_python.patch
new file mode 100644
index 000000000000..03baf16e093f
--- /dev/null
+++ b/dev-python/pypy3/files/ssl_python.patch
@@ -0,0 +1,12 @@
+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/pypy3/metadata.xml b/dev-python/pypy3/metadata.xml
index 6a14ca407288..d58e6b044b8a 100644
--- a/dev-python/pypy3/metadata.xml
+++ b/dev-python/pypy3/metadata.xml
@@ -2,16 +2,13 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/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>
- <use>
- <flag name="ensurepip">
- Install the ensurepip module that uses bundled wheels
- to bootstrap pip and setuptools (if disabled, it will
- be only possible to use venv `--without-pip`)
- </flag>
- </use>
- <origin>gentoo-staging</origin>
+ <origin>ports</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pypy3/pypy3-7.3.11_p1.ebuild b/dev-python/pypy3/pypy3-7.3.10.ebuild
index e64e9730f17b..498fed55c0a3 100644
--- a/dev-python/pypy3/pypy3-7.3.11_p1.ebuild
+++ b/dev-python/pypy3/pypy3-7.3.10.ebuild
@@ -1,6 +1,5 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 2022 Liguros Authors
# Distributed under the terms of the GNU General Public License v2
-
EAPI=8
inherit pax-utils python-utils-r1 toolchain-funcs
@@ -25,7 +24,7 @@ LICENSE="MIT"
# also check pypy/interpreter/pycode.py -> pypy_incremental_magic
SLOT="0/pypy39-pp73-336"
KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="+ensurepip gdbm +jit ncurses sqlite tk"
+IUSE="+ensurepip gdbm +jit libressl ncurses sqlite tk"
# many tests are failing upstream
# see https://buildbot.pypy.org/summary?branch=py3.9
RESTRICT="test"
@@ -36,8 +35,8 @@ RDEPEND="
>=dev-python/pypy3-exe-bin-${PYPY_PV}:3.9-${PYPY_PV}
)
dev-lang/python-exec[python_targets_pypy3(-)]
- dev-libs/openssl:0=
- dev-python/gentoo-common
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( >=dev-libs/libressl-3.6.0:0= )
ensurepip? ( dev-python/ensurepip-wheels )
gdbm? ( sys-libs/gdbm:0= )
sqlite? ( dev-db/sqlite:3= )
@@ -57,6 +56,18 @@ src_prepare() {
default
eapply_user
+ 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_configure() {
@@ -190,7 +201,6 @@ src_install() {
"${ED}${dest}"/_tkinter \
"${ED}${dest}"/test/test_{tcl,tk,ttk*}.py || die
fi
- dosym ../python/EXTERNALLY-MANAGED "${dest}/EXTERNALLY-MANAGED"
local -x EPYTHON=pypy3
local -x PYTHON=${ED}/usr/bin/pypy3.9-c-${PYPY_PV}
diff --git a/dev-python/pypy3/pypy3-7.3.11.ebuild b/dev-python/pypy3/pypy3-7.3.11.ebuild
new file mode 100644
index 000000000000..498fed55c0a3
--- /dev/null
+++ b/dev-python/pypy3/pypy3-7.3.11.ebuild
@@ -0,0 +1,215 @@
+# Copyright 2022 Liguros Authors
+# Distributed under the terms of the GNU General Public License v2
+EAPI=8
+
+inherit pax-utils python-utils-r1 toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+MY_P=pypy3.9-v${PYPY_PV/_rc/rc}
+PATCHSET="pypy3.9-gentoo-patches-${PV/_rc/rc}"
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python (3.9) language"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://foss.heptapod.net/pypy/pypy/
+"
+SRC_URI="
+ 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="0/pypy39-pp73-336"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="+ensurepip gdbm +jit libressl ncurses sqlite tk"
+# many tests are failing upstream
+# see https://buildbot.pypy.org/summary?branch=py3.9
+RESTRICT="test"
+
+RDEPEND="
+ || (
+ >=dev-python/pypy3-exe-${PYPY_PV}:3.9-${PYPY_PV}[bzip2(+),ncurses?]
+ >=dev-python/pypy3-exe-bin-${PYPY_PV}:3.9-${PYPY_PV}
+ )
+ dev-lang/python-exec[python_targets_pypy3(-)]
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( >=dev-libs/libressl-3.6.0:0= )
+ ensurepip? ( dev-python/ensurepip-wheels )
+ gdbm? ( sys-libs/gdbm:0= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+ default
+
+ eapply_user
+ 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_configure() {
+ tc-export CC
+}
+
+src_compile() {
+ mkdir bin || die
+ # switch to the layout expected for cffi module builds
+ mkdir include/pypy3.9 || die
+ # copy over to make sys.prefix happy
+ cp -p "${BROOT}"/usr/bin/pypy3.9-c-${PYPY_PV} pypy3.9-c || die
+ cp -p "${BROOT}"/usr/include/pypy3.9/${PYPY_PV}/* include/pypy3.9/ || die
+ # (not installed by pypy-exe)
+ rm pypy/module/cpyext/include/_numpypy/numpy/README || die
+ mv pypy/module/cpyext/include/* include/pypy3.9/ || die
+ mv pypy/module/cpyext/parse/*.h include/pypy3.9/ || die
+ pax-mark m pypy3.9-c
+
+ # verify the subslot
+ local soabi=$(
+ ./pypy3.9-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="pypy3"' > lib-python/3/epython.py || die
+
+ einfo "Generating caches and CFFI modules ..."
+
+ # 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/pypy3.9"
+ LIBDIR "${EPREFIX}/usr/$(get_libdir)"
+ TZPATH "${EPREFIX}/usr/share/zoneinfo"
+ WHEEL_PKG_DIR "${EPREFIX}/usr/lib/python/ensurepip"
+ )
+ ./pypy3.9-c -m sysconfig --generate-posix-vars "${overrides[@]}" || die
+ local outdir
+ outdir=$(<pybuilddir.txt) || die
+ cp "${outdir}"/_sysconfigdata__*.py lib-python/3/ || die
+
+ # Generate Grammar and PatternGrammar pickles.
+ ./pypy3.9-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!
+ # (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 )
+ 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
+ ../pypy3.9-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=63d4659f
+ local local_cksum=$(
+ ../pypy3.9-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.[co]" -delete || die
+ find -type d -empty -delete || die
+}
+
+src_install() {
+ einfo "Installing PyPy ..."
+ dodir /usr/bin
+ dosym pypy3.9-c-${PYPY_PV} /usr/bin/pypy3.9
+ dosym pypy3.9 /usr/bin/pypy3
+ insinto /usr/lib/pypy3.9
+ # preserve mtimes to avoid obsoleting caches
+ insopts -p
+ doins -r lib-python/3/. lib_pypy/.
+ insinto /usr/include
+ doins -r include/pypy3.9
+
+ # replace copied headers with symlinks
+ for x in "${BROOT}"/usr/include/pypy3.9/${PYPY_PV}/*; do
+ dosym "${PYPY_PV}/${x##*/}" "/usr/include/pypy3.9/${x##*/}"
+ done
+
+ dodoc README.rst
+
+ local dest=/usr/lib/pypy3.9
+ 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 sqlite; then
+ rm -r "${ED}${dest}"/sqlite3 \
+ "${ED}${dest}"/_sqlite3* \
+ "${ED}${dest}"/test/test_sqlite.py || 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
+
+ local -x EPYTHON=pypy3
+ local -x PYTHON=${ED}/usr/bin/pypy3.9-c-${PYPY_PV}
+ # temporarily copy to build tree to facilitate module builds
+ cp -p "${BROOT}/usr/bin/pypy3.9-c-${PYPY_PV}" "${PYTHON}" || die
+
+ einfo "Byte-compiling Python standard library..."
+ python_optimize "${ED}${dest}"
+
+ # remove to avoid collisions
+ rm "${PYTHON}" || die
+}
diff --git a/dev-python/pypy3/pypy3-7.3.12.ebuild b/dev-python/pypy3/pypy3-7.3.12.ebuild
deleted file mode 100644
index 7626af9e7fbf..000000000000
--- a/dev-python/pypy3/pypy3-7.3.12.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYVER=3.10
-DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language"
-HOMEPAGE="
- https://www.pypy.org/
- https://foss.heptapod.net/pypy/pypy/
-"
-S=${WORKDIR}
-
-LICENSE="MIT"
-SLOT="0/pypy310-pp73-384"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="+gdbm ncurses sqlite tk"
-
-RDEPEND="
- =dev-python/pypy3_10-${PV}*:${SLOT}[gdbm?,ncurses?,sqlite?,tk?]
-"
-
-src_install() {
- dodir /usr/bin
- dosym pypy${PYVER} /usr/bin/pypy3
-}