commit: 4b524bd2602388a0a6072608032911ba73a589d4
Author: orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Thu Jun 19 15:17:17 2025 +0000
Commit: orbea <orbea <AT> riseup <DOT> net>
CommitDate: Thu Jun 19 15:17:17 2025 +0000
URL: https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=4b524bd2
dev-lang/pypy: add versions, drop old
Signed-off-by: orbea <orbea <AT> riseup.net>
dev-lang/pypy/Manifest | 3 +-
.../pypy/files/pypy-3.10-7.3.17-libressl.patch | 264 ---------------------
....19_p3-r1.ebuild => pypy-3.10.7.3.19_p5.ebuild} | 2 +-
...19_p3-r1.ebuild => pypy-3.11.7.3.19_p10.ebuild} | 35 ++-
4 files changed, 28 insertions(+), 276 deletions(-)
diff --git a/dev-lang/pypy/Manifest b/dev-lang/pypy/Manifest
index ba32dca..0ad194e 100644
--- a/dev-lang/pypy/Manifest
+++ b/dev-lang/pypy/Manifest
@@ -1,4 +1,5 @@
-DIST pypy3.10-gentoo-patches-7.3.19_p3.tar.xz 11288 BLAKE2B
d087ef35dc6298f89df537c04b0833fb107638d47036faa892f9fae8de6ac820d0b45618f32364bf83238b8f38b371167c3061ac299792301dabe924360bdd20
SHA512
091dee8401d4a3f1c703066768a57d08fdf24aadb13f6754d8f696e395bc9e4cfe0038d93b883e8f03c8655f1dcdff1fa4c81dc45f918d82cc82461bf92a4fa7
+DIST pypy3.10-gentoo-patches-7.3.19_p5.tar.xz 26284 BLAKE2B
726121c69c24ef8d5c812842cc5b76d517cb6495530ea82f5379f6ed376f9e9afd613dff90af03cb72a01aa590e7ab7c3ed0de3f9fa45988b17ed49e0a34b12f
SHA512
646fe0610b2ec32ea895c968b388febc8634f7ff92b772dcd7732ef1bf7e7ffad23c2df47a695298284122780fb8f0ea4160901b3be16211428080e67af25a09
DIST pypy3.10-v7.3.19-src.tar.bz2 24547353 BLAKE2B
975de34c7e01117c74e184693b6659ba0e3d8d488d724c03737dbd64533452c954e045e45058e1e77b9bee68e01060e74e30d7898d29f1adce417ce4b46579b8
SHA512
8fa24d3556bcf9cd0e2facd697827a5001fcfae9bf7874957843e4751b259f85a8b36166921282d71f39bb468d1706bb669373aebbc52486b683fcc824fb30ad
+DIST pypy3.11-gentoo-patches-7.3.19_p10.tar.xz 27524 BLAKE2B
0970151af3274e968022e0a43fdcb1a24be0c77e61d6be49d1b011694b2ef88599319b8b1dbcdebed1de825b8734ef66eb6f2aa13fb2dbbfb1ad7a9d6207a37f
SHA512
21e95694fc4385f1f8a9b56067dce67cbae5208054c33077d1015bf8281020d8a56cd69390e404b44cf42038011fac9431a7c30c6b84876fdec8813935d2ceda
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.17-libressl.patch
b/dev-lang/pypy/files/pypy-3.10-7.3.17-libressl.patch
deleted file mode 100644
index 1fac486..0000000
--- a/dev-lang/pypy/files/pypy-3.10-7.3.17-libressl.patch
+++ /dev/null
@@ -1,264 +0,0 @@
---- 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/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;
-
-@@ -593,13 +588,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;
-@@ -726,7 +721,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 +739,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 +788,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
-@@ -895,7 +893,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.10.7.3.19_p3-r1.ebuild
b/dev-lang/pypy/pypy-3.10.7.3.19_p5.ebuild
similarity index 99%
copy from dev-lang/pypy/pypy-3.10.7.3.19_p3-r1.ebuild
copy to dev-lang/pypy/pypy-3.10.7.3.19_p5.ebuild
index 03f49aa..5c069d4 100644
--- a/dev-lang/pypy/pypy-3.10.7.3.19_p3-r1.ebuild
+++ b/dev-lang/pypy/pypy-3.10.7.3.19_p5.ebuild
@@ -57,7 +57,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.10.7.3.19_p3-r1.ebuild
b/dev-lang/pypy/pypy-3.11.7.3.19_p10.ebuild
similarity index 87%
rename from dev-lang/pypy/pypy-3.10.7.3.19_p3-r1.ebuild
rename to dev-lang/pypy/pypy-3.11.7.3.19_p10.ebuild
index 03f49aa..b3f6f5f 100644
--- a/dev-lang/pypy/pypy-3.10.7.3.19_p3-r1.ebuild
+++ b/dev-lang/pypy/pypy-3.11.7.3.19_p10.ebuild
@@ -27,18 +27,19 @@ 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}/pypy310-pp73-384"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="+ensurepip gdbm +jit ncurses sqlite +test-install tk"
+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-python/pypy3_10-exe-${PYPY_PV}:${PYPY_PV}[bzip2(+),ncurses?]
- >=dev-python/pypy3_10-exe-bin-${PYPY_PV}:${PYPY_PV}
+ 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 )
@@ -48,7 +49,10 @@ RDEPEND="
dev-lang/tk:0=
dev-tcltk/tix:0=
)
- !dev-python/pypy3_10
+ symlink? (
+ !dev-lang/pypy:3.10[symlink(-)]
+ !<dev-python/pypy3-7.3.17-r100
+ )
"
DEPEND="
${RDEPEND}
@@ -57,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
@@ -93,7 +97,7 @@ src_compile() {
[[ ${soabi} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
# Add epython.py to the distribution
- echo 'EPYTHON="pypy3"' > lib-python/3/epython.py || die
+ echo "EPYTHON=\"pypy${PYVER}\"" > lib-python/3/epython.py || die
einfo "Generating caches and CFFI modules ..."
@@ -190,14 +194,14 @@ src_install() {
rm -r "${ED}${dest}"/_gdbm* || die
fi
if ! use test-install; then
- rm -r "${ED}${dest}"/{ctypes,sqlite3,tkinter,unittest}/test \
+ 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_sqlite.py || die
+ "${ED}${dest}"/test/test_sqlite3 || die
fi
if ! use tk; then
rm -r "${ED}${dest}"/{idlelib,tkinter} \
@@ -222,4 +226,15 @@ src_install() {
# 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
}