lang/pypy: fix build after libressl changes

SSL_CTX became opaque, so libssl now provides SSL_CTX_get_ssl_method(3)
and unbreak build after addition of EVP_Digest{Sign,Verify}(3) to
libcrypto.

ok edd (previous version)
This commit is contained in:
tb 2021-05-10 17:26:04 +00:00
parent 8cbe12966a
commit 09c248f3a4
3 changed files with 33 additions and 3 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.46 2021/03/31 17:17:25 tb Exp $
# $OpenBSD: Makefile,v 1.47 2021/05/10 17:26:04 tb Exp $
ONLY_FOR_ARCHS = aarch64 amd64
@ -29,7 +29,7 @@ BOOTSTRAP-aarch64 = pypy-bootstrap-aarch64-${BOOTSTRAP_V}.tar.xz
# list bootstraps for all arches in SUPDISTFILES
SUPDISTFILES += ${BOOTSTRAP-amd64}:0
SUPDISTFILES += ${BOOTSTRAP-aarch64}:0
REVISION = 0
REVISION = 1
CATEGORIES = lang

View File

@ -0,0 +1,21 @@
$OpenBSD: patch-lib_pypy__cffi_ssl__cffi_src_openssl_evp_py,v 1.1 2021/05/10 17:26:04 tb Exp $
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 *,

View File

@ -1,8 +1,17 @@
$OpenBSD: patch-lib_pypy__cffi_ssl__cffi_src_openssl_ssl_py,v 1.2 2021/03/31 17:17:25 tb Exp $
$OpenBSD: patch-lib_pypy__cffi_ssl__cffi_src_openssl_ssl_py,v 1.3 2021/05/10 17:26:04 tb Exp $
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;
@@ -729,8 +729,6 @@ const SSL_METHOD *(*DTLS_client_method)(void) = NULL;
static const long Cryptography_HAS_GENERIC_DTLS_METHOD = 1;
#endif