summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authororbea <orbea@riseup.net>2023-04-28 09:36:57 -0700
committerJoonas Niilola <juippis@gentoo.org>2023-05-01 11:05:29 +0300
commit9088957da743bd19ba56a001852568916b5d393a (patch)
tree402c198c4d3cdce1a31c359c7977e546c9b2badd /dev-libs/efl
parentprofiles: mask =dev-python/gast-0.5.4 (diff)
downloadgentoo-9088957da743bd19ba56a001852568916b5d393a.tar.gz
gentoo-9088957da743bd19ba56a001852568916b5d393a.tar.bz2
gentoo-9088957da743bd19ba56a001852568916b5d393a.zip
dev-libs/efl: add upstream patch for libressl
This patch was accepted upstream and fixed the build with libressl >= 3.5.0. Upstream-PR: https://git.enlightenment.org/enlightenment/efl/pulls/10 Upstream-Commit: https://git.enlightenment.org/enlightenment/efl/commit/bdd5b244e6a6161228f4a98210cefd9ef8a12e85 Upstream-Commit: https://git.enlightenment.org/enlightenment/efl/commit/0e22417f4579333a967fb5ce65ab339dfc066753 Bug: https://bugs.gentoo.org/903001 Closes: https://github.com/gentoo/gentoo/pull/30794 Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'dev-libs/efl')
-rw-r--r--dev-libs/efl/efl-1.26.3-r1.ebuild4
-rw-r--r--dev-libs/efl/files/efl-1.26.3-libressl.patch191
2 files changed, 195 insertions, 0 deletions
diff --git a/dev-libs/efl/efl-1.26.3-r1.ebuild b/dev-libs/efl/efl-1.26.3-r1.ebuild
index 8b00eb21d056..fb26d694f9b3 100644
--- a/dev-libs/efl/efl-1.26.3-r1.ebuild
+++ b/dev-libs/efl/efl-1.26.3-r1.ebuild
@@ -131,6 +131,10 @@ BDEPEND="${PYTHON_DEPS}
nls? ( sys-devel/gettext )
wayland? ( dev-util/wayland-scanner )"
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.26.3-libressl.patch #903001
+)
+
pkg_setup() {
# Deprecated, provided for backward-compatibility. Everything is moved to libefreet.so.
QA_FLAGS_IGNORED="/usr/$(get_libdir)/libefreet_trash.so.${PV}
diff --git a/dev-libs/efl/files/efl-1.26.3-libressl.patch b/dev-libs/efl/files/efl-1.26.3-libressl.patch
new file mode 100644
index 000000000000..6bb1b6bb83e3
--- /dev/null
+++ b/dev-libs/efl/files/efl-1.26.3-libressl.patch
@@ -0,0 +1,191 @@
+https://bugs.gentoo.org/903001
+https://git.enlightenment.org/enlightenment/efl/pulls/10
+https://git.enlightenment.org/enlightenment/efl/commit/bdd5b244e6a6161228f4a98210cefd9ef8a12e85
+https://git.enlightenment.org/enlightenment/efl/commit/0e22417f4579333a967fb5ce65ab339dfc066753
+
+From bdd5b244e6a6161228f4a98210cefd9ef8a12e85 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Mon, 4 Jul 2022 09:05:38 -0700
+Subject: [PATCH] Support LibreSSL 3.5.x
+
+LibreSSL 3.5.x now works with the standard OpenSSL code paths.
+---
+ src/lib/ecore_con/efl_net_ssl_conn-openssl.c | 12 ++++++------
+ src/lib/eet/eet_cipher.c | 8 ++++----
+ src/lib/emile/emile_cipher_openssl.c | 14 +++++++-------
+ 3 files changed, 17 insertions(+), 17 deletions(-)
+
+From 0e22417f4579333a967fb5ce65ab339dfc066753 Mon Sep 17 00:00:00 2001
+From: "Carsten Haitzler (Rasterman)" <raster@rasterman.com>
+Date: Mon, 1 Aug 2022 17:35:52 +0100
+Subject: [PATCH] eet emile - cipher - add braces for if defines to be clear on
+ order of op
+
+---
+ src/lib/ecore_con/efl_net_ssl_conn-openssl.c | 12 ++++++------
+ src/lib/eet/eet_cipher.c | 8 ++++----
+ src/lib/emile/emile_cipher_openssl.c | 10 +++++-----
+ 3 files changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/src/lib/ecore_con/efl_net_ssl_conn-openssl.c b/src/lib/ecore_con/efl_net_ssl_conn-openssl.c
+index e59c6811c9..56c8a595eb 100644
+--- a/src/lib/ecore_con/efl_net_ssl_conn-openssl.c
++++ b/src/lib/ecore_con/efl_net_ssl_conn-openssl.c
+@@ -27,7 +27,7 @@
+ static int
+ efl_net_socket_bio_create(BIO *b)
+ {
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
++#if (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) || ((OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER))
+ BIO_set_init(b, 1);
+ BIO_set_data(b, NULL);
+ BIO_set_flags(b, 0);
+@@ -44,7 +44,7 @@ static int
+ efl_net_socket_bio_destroy(BIO *b)
+ {
+ if (!b) return 0;
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
++#if (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) || ((OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER))
+ BIO_set_init(b, 0);
+ BIO_set_data(b, NULL);
+ BIO_set_flags(b, 0);
+@@ -63,7 +63,7 @@ efl_net_socket_bio_read(BIO *b, char *buf, int len)
+ .mem = buf,
+ .len = len
+ };
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
++#if (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) || ((OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER))
+ Eo *sock = BIO_get_data(b);
+ #else
+ Eo *sock = b->ptr;
+@@ -99,7 +99,7 @@ efl_net_socket_bio_write(BIO *b, const char *buf, int len)
+ .mem = buf,
+ .len = len
+ };
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
++#if (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) || ((OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER))
+ Eo *sock = BIO_get_data(b);
+ #else
+ Eo *sock = b->ptr;
+@@ -146,7 +146,7 @@ efl_net_socket_bio_puts(BIO *b, const char *str)
+ static BIO_METHOD *
+ __efl_net_socket_bio_get(void)
+ {
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
++#if (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) || ((OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER))
+ static BIO_METHOD *efl_net_socket_bio = NULL;
+
+ if (efl_net_socket_bio) return efl_net_socket_bio;
+@@ -359,7 +359,7 @@ efl_net_ssl_conn_setup(Efl_Net_Ssl_Conn *conn, Eina_Bool is_dialer, Efl_Net_Sock
+ conn->bio = BIO_new(__efl_net_socket_bio_get());
+ EINA_SAFETY_ON_NULL_GOTO(conn->bio, error_bio);
+
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
++#if (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) || ((OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER))
+ BIO_set_data(conn->bio, sock);
+ #else
+ conn->bio->ptr = sock;
+diff --git a/src/lib/eet/eet_cipher.c b/src/lib/eet/eet_cipher.c
+index 025750cc98..30501b99e1 100644
+--- a/src/lib/eet/eet_cipher.c
++++ b/src/lib/eet/eet_cipher.c
+@@ -472,7 +472,7 @@ eet_identity_sign(FILE *fp,
+ gnutls_datum_t signum = { NULL, 0 };
+ gnutls_privkey_t privkey;
+ # else /* ifdef HAVE_GNUTLS */
+-# if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
++# if (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) || ((OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER))
+ EVP_MD_CTX *md_ctx;
+ # else
+ EVP_MD_CTX md_ctx;
+@@ -562,7 +562,7 @@ eet_identity_sign(FILE *fp,
+ }
+
+ /* Do the signature. */
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
++#if (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) || ((OPENSSL_VERSION_NUMBER >= 0x10100000L) && (!defined(LIBRESSL_VERSION_NUMBER)))
+ md_ctx = EVP_MD_CTX_new();
+ if (!md_ctx)
+ {
+@@ -756,7 +756,7 @@ eet_identity_check(const void *data_base,
+ const unsigned char *tmp;
+ EVP_PKEY *pkey;
+ X509 *x509;
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
++#if (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) || ((OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER))
+ EVP_MD_CTX *md_ctx;
+ #else
+ EVP_MD_CTX md_ctx;
+@@ -779,7 +779,7 @@ eet_identity_check(const void *data_base,
+ }
+
+ /* Verify the signature */
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
++#if (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) || ((OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER))
+ md_ctx = EVP_MD_CTX_new();
+ if (!md_ctx)
+ {
+diff --git a/src/lib/emile/emile_cipher_openssl.c b/src/lib/emile/emile_cipher_openssl.c
+index e5a1ed4135..7fed417d3f 100644
+--- a/src/lib/emile/emile_cipher_openssl.c
++++ b/src/lib/emile/emile_cipher_openssl.c
+@@ -45,12 +45,12 @@ struct _Emile_SSL
+ Eina_Bool
+ _emile_cipher_init(void)
+ {
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || (LIBRESSL_VERSION_NUMBER < 0x3050000fL)
+ ERR_load_crypto_strings();
+ SSL_library_init();
+ SSL_load_error_strings();
+ OpenSSL_add_all_algorithms();
+-#endif /* if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) */
++#endif /* if OPENSSL_VERSION_NUMBER < 0x10100000L || LIBRESSL_VERSION_NUMBER < 0x3050000fL */
+
+ return EINA_TRUE;
+ }
+@@ -73,7 +73,7 @@ emile_binbuf_sha1(const Eina_Binbuf * data, unsigned char digest[20])
+ {
+ const EVP_MD *md = EVP_sha1();
+ Eina_Slice slice = eina_binbuf_slice_get(data);
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
++#if (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) || ((OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER))
+ EVP_MD_CTX *ctx = EVP_MD_CTX_new();
+ if (!ctx) return EINA_FALSE;
+
+@@ -196,7 +196,7 @@ on_error:
+ memset(ik, 0, sizeof (ik));
+
+ /* Openssl error */
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || (LIBRESSL_VERSION_NUMBER < 0x3050000fL)
+ if (ctx)
+ EVP_CIPHER_CTX_cleanup(ctx);
+ #else
+@@ -204,7 +204,7 @@ on_error:
+ EVP_CIPHER_CTX_cleanup(ctx);
+ EVP_CIPHER_CTX_free(ctx);
+ }
+-#endif /* if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) */
++#endif /* if OPENSSL_VERSION_NUMBER < 0x10100000L || LIBRESSL_VERSION_NUMBER < 0x3050000fL */
+
+
+ free(buffer);
+@@ -331,7 +331,7 @@ emile_cipher_server_listen(Emile_Cipher_Type t)
+ SSL_CTX_set_options(r->ssl_ctx,
+ options | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
+ break;
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || (LIBRESSL_VERSION_NUMBER < 0x3050000fL)
+ case EMILE_TLSv1:
+ r->ssl_ctx = SSL_CTX_new(TLSv1_server_method());
+ break;
+@@ -780,7 +780,7 @@ emile_cipher_server_connect(Emile_Cipher_Type t)
+ options | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
+ break;
+ case EMILE_TLSv1:
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || (LIBRESSL_VERSION_NUMBER < 0x3050000fL)
+ r->ssl_ctx = SSL_CTX_new(TLSv1_client_method());
+ break;
+ #endif