diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2023-07-26 19:53:20 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2023-07-26 19:53:20 +0000 |
| commit | 04b1885d8f229998d367ac5e87b7a526f3ff82f5 (patch) | |
| tree | be9491f8c833d300c1399572b2fff5c6bdac6106 /dev-python | |
| parent | 3eefa8485ec8e09b626b5cbcf202f2a9956ba2c4 (diff) | |
| download | baldeagleos-repo-04b1885d8f229998d367ac5e87b7a526f3ff82f5.tar.gz baldeagleos-repo-04b1885d8f229998d367ac5e87b7a526f3ff82f5.tar.xz baldeagleos-repo-04b1885d8f229998d367ac5e87b7a526f3ff82f5.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
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 -} |
