diff options
Diffstat (limited to 'dev-qt')
-rw-r--r-- | dev-qt/Manifest.gz | bin | 10365 -> 10363 bytes | |||
-rw-r--r-- | dev-qt/qtnetwork/Manifest | 3 | ||||
-rw-r--r-- | dev-qt/qtnetwork/files/qtnetwork-5.15.2-libressl.patch | 377 | ||||
-rw-r--r-- | dev-qt/qtnetwork/qtnetwork-5.15.2-r1.ebuild | 6 | ||||
-rw-r--r-- | dev-qt/qtwebengine/Manifest | 2 | ||||
-rw-r--r-- | dev-qt/qtwebengine/qtwebengine-5.15.2_p20210421.ebuild | 216 |
6 files changed, 221 insertions, 383 deletions
diff --git a/dev-qt/Manifest.gz b/dev-qt/Manifest.gz Binary files differindex bae2dc2b5e3d..8edfd9648710 100644 --- a/dev-qt/Manifest.gz +++ b/dev-qt/Manifest.gz diff --git a/dev-qt/qtnetwork/Manifest b/dev-qt/qtnetwork/Manifest index d54328cf1e3d..a7ca951322ae 100644 --- a/dev-qt/qtnetwork/Manifest +++ b/dev-qt/qtnetwork/Manifest @@ -1,6 +1,5 @@ AUX qtnetwork-5.15.2-QNetworkAccessManager-memleak.patch 2104 BLAKE2B 2fdeae57b0751f68273e79edb602b90c96d9a3287dec43c1fb3cf1e3b5cf17ae1570e62bc59b330748938cd1ca2b9326062ee61415114d1f08211235dcdae7a6 SHA512 880cab4279a663e4709f93aedf875f2fd3c17dcfd45fe57aa9b75887fbee981b13ff899d9223a37186f2c93493823ca36d4128500f2943b7ca67e409e6523ed3 -AUX qtnetwork-5.15.2-libressl.patch 17869 BLAKE2B 663ce12ef626325e97d59c63ab66fc1233fe020b390e4e8917480b1dffd73df60717bf1bbc2e716a86e3bb96a3f56660283b962c904e990c80a8fd1e174be8cd SHA512 55d2c40f2660e22c9bc944d52fc88bc7a1fb4a09b0f831d7954055b17e496e0011084bd766054b848320cf42955b1fcb932a79bb2aa3ac858a7c0854d6a9dd04 DIST qtbase-5.15.2-gcc11.patch.xz 1208 BLAKE2B a2e5764b723adda991eca5b84cf8e15437a4832febd12e3c93cdc394931af666e17c01e229e9be7e0efc446a955cc26388c0f93cadfcabd93cc6b6f03bb41eb0 SHA512 da3a41ea5d9573a029946d26b26d51d6dce9c8b91db6d78ca71d8343d3ceb5010d21750dcb45abb663e227b5f068985ff4ed51da07efd17c64cc8dd5aef8f3e4 DIST qtbase-everywhere-src-5.15.2.tar.xz 50179672 BLAKE2B 0e4bdaab43cf59664bde89f87ea260c39acc2ef866d8629d41d9c326cab0ab68bcd943c86a472ae74bc9fb0b7ad50795ccb66275bb6b77d1fcf0a38b5662cb42 SHA512 a549bfaf867d746ff744ab224eb65ac1bdcdac7e8457dfa379941b2b225a90442fcfc1e1175b9afb1f169468f8130b7ab917c67be67156520a4bfb5c92d304f9 -EBUILD qtnetwork-5.15.2-r1.ebuild 1960 BLAKE2B b817fccbeb97e1d064d4b10abb6b70e7e04c81b761215504f4b482a083ee447a9c75dc6aea3daaafadb5d4138ad85297cd2ec09f440b92dfd84864c81d05dbb8 SHA512 2be8e22d53773f3a618bc236adaf06101d45a7a40482c1dbe51b45a8e166bdbd7f32e7fb67faeee865a0ea98e1fcc82665b82f030d640f5490cf8afc10a7b39a +EBUILD qtnetwork-5.15.2-r1.ebuild 1825 BLAKE2B a36b4b6bfe7dfb6a0d5e3ded08c2dbb92b2187dd11b856226ec3eb7db6d2a774f117a578970509de392801d15fb5c2704212fe4900de9887cae1723b7772688b SHA512 9aefb9884f970d7ef74229b447b2bef3efd8ec8266a57f6660c70f47f3fc455a54cb559afe87ee5a48b93761a615f9d5f1eeae2288b5ab7664a3a36c6a1beefd MISC metadata.xml 957 BLAKE2B 5c888322d402a3f037e194bd13001ff3a7e449fe423b8b4661c4b1365263a63e105be92ab0bd6a99ae79e7e8062c65e52e9e04763f9c15c50cb28c1215a06b0d SHA512 aa07869c984c4c2d7653820213b94fa4db247e4e30f0efad8df64c09b2578cd2143ab81890584521e1f561953312abb36d8e049dabd42893fecefea4182f176a diff --git a/dev-qt/qtnetwork/files/qtnetwork-5.15.2-libressl.patch b/dev-qt/qtnetwork/files/qtnetwork-5.15.2-libressl.patch deleted file mode 100644 index f7fe32f06e49..000000000000 --- a/dev-qt/qtnetwork/files/qtnetwork-5.15.2-libressl.patch +++ /dev/null @@ -1,377 +0,0 @@ -From 07a00f9c6d87f1fa5360cfb8f086670f3fa5bd3f Mon Sep 17 00:00:00 2001 -From: Stefan Strogin <steils@gentoo.org> -Date: Sat, 28 Nov 2020 06:12:22 +0200 -Subject: [PATCH] QSslSocket: add LibreSSL support - -Upstream-Status: Inappropriate -[Upstream is not willing to accept any patches for LibreSSL support] -Signed-off-by: Stefan Strogin <steils@gentoo.org> ---- - src/network/ssl/qsslcertificate_openssl.cpp | 2 +- - src/network/ssl/qsslcontext_openssl.cpp | 19 +++++++- - src/network/ssl/qsslcontext_openssl_p.h | 7 +++ - src/network/ssl/qsslsocket_openssl.cpp | 2 +- - .../ssl/qsslsocket_openssl_symbols.cpp | 31 +++++++++++++ - .../ssl/qsslsocket_openssl_symbols_p.h | 45 +++++++++++++++++++ - 6 files changed, 103 insertions(+), 3 deletions(-) - -diff --git a/src/network/ssl/qsslcertificate_openssl.cpp b/src/network/ssl/qsslcertificate_openssl.cpp -index ca9d61cc..19774432 100644 ---- a/src/network/ssl/qsslcertificate_openssl.cpp -+++ b/src/network/ssl/qsslcertificate_openssl.cpp -@@ -661,7 +661,7 @@ static QMultiMap<QByteArray, QString> _q_mapFromX509Name(X509_NAME *name) - unsigned char *data = nullptr; - int size = q_ASN1_STRING_to_UTF8(&data, q_X509_NAME_ENTRY_get_data(e)); - info.insert(name, QString::fromUtf8((char*)data, size)); --#if QT_CONFIG(opensslv11) -+#if QT_CONFIG(opensslv11) && !defined(LIBRESSL_VERSION_NUMBER) - q_CRYPTO_free(data, nullptr, 0); - #else - q_CRYPTO_free(data); -diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp -index c9f202f5..d3626cab 100644 ---- a/src/network/ssl/qsslcontext_openssl.cpp -+++ b/src/network/ssl/qsslcontext_openssl.cpp -@@ -351,9 +351,11 @@ init_context: - return; - } - -+#ifndef LIBRESSL_VERSION_NUMBER - // A nasty hacked OpenSSL using a level that will make our auto-tests fail: - if (q_SSL_CTX_get_security_level(sslContext->ctx) > 1 && *forceSecurityLevel()) - q_SSL_CTX_set_security_level(sslContext->ctx, 1); -+#endif // LIBRESSL_VERSION_NUMBER - - const long anyVersion = - #if QT_CONFIG(dtls) -@@ -408,16 +410,28 @@ init_context: - maxVersion = DTLS1_VERSION; - break; - case QSsl::DtlsV1_0OrLater: -+#ifdef DTLS_MAX_VERSION - minVersion = DTLS1_VERSION; - maxVersion = DTLS_MAX_VERSION; -+#else -+ Q_UNREACHABLE(); -+#endif // DTLS_MAX_VERSION - break; - case QSsl::DtlsV1_2: -+#ifdef DTLS1_2_VERSION - minVersion = DTLS1_2_VERSION; - maxVersion = DTLS1_2_VERSION; -+#else -+ Q_UNREACHABLE(); -+#endif // DTLS1_2_VERSION - break; - case QSsl::DtlsV1_2OrLater: -+#if defined(DTLS1_2_VERSION) && defined(DTLS_MAX_VERSION) - minVersion = DTLS1_2_VERSION; - maxVersion = DTLS_MAX_VERSION; -+#else -+ Q_UNREACHABLE(); -+#endif // DTLS1_2_VERSION && DTLS_MAX_VERSION - break; - case QSsl::TlsV1_3OrLater: - #ifdef TLS1_3_VERSION -@@ -722,6 +736,7 @@ void QSslContext::applyBackendConfig(QSslContext *sslContext) - } - #endif // ocsp - -+#ifndef LIBRESSL_VERSION_NUMBER - QSharedPointer<SSL_CONF_CTX> cctx(q_SSL_CONF_CTX_new(), &q_SSL_CONF_CTX_free); - if (cctx) { - q_SSL_CONF_CTX_set_ssl_ctx(cctx.data(), sslContext->ctx); -@@ -768,7 +783,9 @@ void QSslContext::applyBackendConfig(QSslContext *sslContext) - sslContext->errorStr = msgErrorSettingBackendConfig(QSslSocket::tr("SSL_CONF_finish() failed")); - sslContext->errorCode = QSslError::UnspecifiedError; - } -- } else { -+ } else -+#endif // LIBRESSL_VERSION_NUMBER -+ { - sslContext->errorStr = msgErrorSettingBackendConfig(QSslSocket::tr("SSL_CONF_CTX_new() failed")); - sslContext->errorCode = QSslError::UnspecifiedError; - } -diff --git a/src/network/ssl/qsslcontext_openssl_p.h b/src/network/ssl/qsslcontext_openssl_p.h -index 70cb97aa..01a61cf5 100644 ---- a/src/network/ssl/qsslcontext_openssl_p.h -+++ b/src/network/ssl/qsslcontext_openssl_p.h -@@ -61,6 +61,13 @@ - - QT_BEGIN_NAMESPACE - -+#ifndef DTLS_ANY_VERSION -+#define DTLS_ANY_VERSION 0x1FFFF -+#endif -+#ifndef TLS_ANY_VERSION -+#define TLS_ANY_VERSION 0x10000 -+#endif -+ - #ifndef QT_NO_SSL - - class QSslContextPrivate; -diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp -index 277037e5..f599498d 100644 ---- a/src/network/ssl/qsslsocket_openssl.cpp -+++ b/src/network/ssl/qsslsocket_openssl.cpp -@@ -653,7 +653,7 @@ bool QSslSocketBackendPrivate::initSslContext() - else if (mode == QSslSocket::SslServerMode) - q_SSL_set_psk_server_callback(ssl, &q_ssl_psk_server_callback); - --#if OPENSSL_VERSION_NUMBER >= 0x10101006L -+#if OPENSSL_VERSION_NUMBER >= 0x10101006L && !defined(LIBRESSL_VERSION_NUMBER) - // Set the client callback for TLSv1.3 PSK - if (mode == QSslSocket::SslClientMode - && QSslSocket::sslLibraryBuildVersionNumber() >= 0x10101006L) { -diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp -index ed80fc14..6941b4db 100644 ---- a/src/network/ssl/qsslsocket_openssl_symbols.cpp -+++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp -@@ -145,11 +145,14 @@ DEFINEFUNC(const BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return nullptr, return - DEFINEFUNC2(int, BN_is_word, BIGNUM *a, a, BN_ULONG w, w, return 0, return) - DEFINEFUNC(int, EVP_CIPHER_CTX_reset, EVP_CIPHER_CTX *c, c, return 0, return) - DEFINEFUNC(int, EVP_PKEY_up_ref, EVP_PKEY *a, a, return 0, return) -+#ifdef OPENSSL_NO_DEPRECATED_3_0 - DEFINEFUNC2(EVP_PKEY_CTX *, EVP_PKEY_CTX_new, EVP_PKEY *pkey, pkey, ENGINE *e, e, return nullptr, return) - DEFINEFUNC(int, EVP_PKEY_param_check, EVP_PKEY_CTX *ctx, ctx, return 0, return) - DEFINEFUNC(void, EVP_PKEY_CTX_free, EVP_PKEY_CTX *ctx, ctx, return, return) -+#endif // OPENSSL_NO_DEPRECATED_3_0 - DEFINEFUNC(int, EVP_PKEY_base_id, EVP_PKEY *a, a, return NID_undef, return) - DEFINEFUNC(int, RSA_bits, RSA *a, a, return 0, return) -+#ifndef LIBRESSL_VERSION_NUMBER - DEFINEFUNC(int, DSA_bits, DSA *a, a, return 0, return) - DEFINEFUNC(int, OPENSSL_sk_num, OPENSSL_STACK *a, a, return -1, return) - DEFINEFUNC2(void, OPENSSL_sk_pop_free, OPENSSL_STACK *a, a, void (*b)(void*), b, return, DUMMYARG) -@@ -157,10 +160,20 @@ DEFINEFUNC(OPENSSL_STACK *, OPENSSL_sk_new_null, DUMMYARG, DUMMYARG, return null - DEFINEFUNC2(void, OPENSSL_sk_push, OPENSSL_STACK *a, a, void *b, b, return, DUMMYARG) - DEFINEFUNC(void, OPENSSL_sk_free, OPENSSL_STACK *a, a, return, DUMMYARG) - DEFINEFUNC2(void *, OPENSSL_sk_value, OPENSSL_STACK *a, a, int b, b, return nullptr, return) -+#else -+DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return) -+DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG) -+DEFINEFUNC(_STACK *, sk_new_null, DUMMYARG, DUMMYARG, return nullptr, return) -+DEFINEFUNC2(void, sk_push, _STACK *a, a, void *b, b, return, DUMMYARG) -+DEFINEFUNC(void, sk_free, _STACK *a, a, return, DUMMYARG) -+DEFINEFUNC2(void *, sk_value, STACK *a, a, int b, b, return nullptr, return) -+#endif // LIBRESSL_VERSION_NUMBER - DEFINEFUNC(int, SSL_session_reused, SSL *a, a, return 0, return) - DEFINEFUNC2(unsigned long, SSL_CTX_set_options, SSL_CTX *ctx, ctx, unsigned long op, op, return 0, return) -+#ifndef LIBRESSL_VERSION_NUMBER - DEFINEFUNC(int, SSL_CTX_get_security_level, const SSL_CTX *ctx, ctx, return -1, return) - DEFINEFUNC2(void, SSL_CTX_set_security_level, SSL_CTX *ctx, ctx, int level, level, return, return) -+#endif // LIBRESSL_VERSION_NUMBER - #ifdef TLS1_3_VERSION - DEFINEFUNC2(int, SSL_CTX_set_ciphersuites, SSL_CTX *ctx, ctx, const char *str, str, return 0, return) - DEFINEFUNC2(void, SSL_set_psk_use_session_callback, SSL *ssl, ssl, q_SSL_psk_use_session_cb_func_t callback, callback, return, DUMMYARG) -@@ -184,7 +197,11 @@ DEFINEFUNC2(void, X509_STORE_set_verify_cb, X509_STORE *a, a, X509_STORE_CTX_ver - DEFINEFUNC3(int, X509_STORE_set_ex_data, X509_STORE *a, a, int idx, idx, void *data, data, return 0, return) - DEFINEFUNC2(void *, X509_STORE_get_ex_data, X509_STORE *r, r, int idx, idx, return nullptr, return) - DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get0_chain, X509_STORE_CTX *a, a, return nullptr, return) -+#ifndef LIBRESSL_VERSION_NUMBER - DEFINEFUNC3(void, CRYPTO_free, void *str, str, const char *file, file, int line, line, return, DUMMYARG) -+#else -+DEFINEFUNC(void, CRYPTO_free, void *a, a, return, DUMMYARG) -+#endif - DEFINEFUNC(long, OpenSSL_version_num, void, DUMMYARG, return 0, return) - DEFINEFUNC(const char *, OpenSSL_version, int a, a, return nullptr, return) - DEFINEFUNC(unsigned long, SSL_SESSION_get_ticket_lifetime_hint, const SSL_SESSION *session, session, return 0, return) -@@ -224,7 +241,9 @@ DEFINEFUNC5(int, OCSP_id_get0_info, ASN1_OCTET_STRING **piNameHash, piNameHash, - ASN1_OCTET_STRING **piKeyHash, piKeyHash, ASN1_INTEGER **pserial, pserial, OCSP_CERTID *cid, cid, - return 0, return) - DEFINEFUNC2(OCSP_RESPONSE *, OCSP_response_create, int status, status, OCSP_BASICRESP *bs, bs, return nullptr, return) -+#ifndef LIBRESSL_VERSION_NUMBER - DEFINEFUNC(const STACK_OF(X509) *, OCSP_resp_get0_certs, const OCSP_BASICRESP *bs, bs, return nullptr, return) -+#endif - DEFINEFUNC2(int, OCSP_id_cmp, OCSP_CERTID *a, a, OCSP_CERTID *b, b, return -1, return) - DEFINEFUNC7(OCSP_SINGLERESP *, OCSP_basic_add1_status, OCSP_BASICRESP *r, r, OCSP_CERTID *c, c, int s, s, - int re, re, ASN1_TIME *rt, rt, ASN1_TIME *t, t, ASN1_TIME *n, n, return nullptr, return) -@@ -356,12 +375,14 @@ DEFINEFUNC2(int, SSL_CTX_use_PrivateKey, SSL_CTX *a, a, EVP_PKEY *b, b, return - - DEFINEFUNC2(int, SSL_CTX_use_RSAPrivateKey, SSL_CTX *a, a, RSA *b, b, return -1, return) - DEFINEFUNC3(int, SSL_CTX_use_PrivateKey_file, SSL_CTX *a, a, const char *b, b, int c, c, return -1, return) - DEFINEFUNC(X509_STORE *, SSL_CTX_get_cert_store, const SSL_CTX *a, a, return nullptr, return) -+#ifndef LIBRESSL_VERSION_NUMBER - DEFINEFUNC(SSL_CONF_CTX *, SSL_CONF_CTX_new, DUMMYARG, DUMMYARG, return nullptr, return); - DEFINEFUNC(void, SSL_CONF_CTX_free, SSL_CONF_CTX *a, a, return ,return); - DEFINEFUNC2(void, SSL_CONF_CTX_set_ssl_ctx, SSL_CONF_CTX *a, a, SSL_CTX *b, b, return, return); - DEFINEFUNC2(unsigned int, SSL_CONF_CTX_set_flags, SSL_CONF_CTX *a, a, unsigned int b, b, return 0, return); - DEFINEFUNC(int, SSL_CONF_CTX_finish, SSL_CONF_CTX *a, a, return 0, return); - DEFINEFUNC3(int, SSL_CONF_cmd, SSL_CONF_CTX *a, a, const char *b, b, const char *c, c, return 0, return); -+#endif - DEFINEFUNC(void, SSL_free, SSL *a, a, return, DUMMYARG) - DEFINEFUNC(STACK_OF(SSL_CIPHER) *, SSL_get_ciphers, const SSL *a, a, return nullptr, return) - DEFINEFUNC(const SSL_CIPHER *, SSL_get_current_cipher, SSL *a, a, return nullptr, return) -@@ -845,17 +866,21 @@ bool q_resolveOpenSslSymbols() - RESOLVEFUNC(ASN1_STRING_get0_data) - RESOLVEFUNC(EVP_CIPHER_CTX_reset) - RESOLVEFUNC(EVP_PKEY_up_ref) -+#ifdef OPENSSL_NO_DEPRECATED_3_0 - RESOLVEFUNC(EVP_PKEY_CTX_new) - RESOLVEFUNC(EVP_PKEY_param_check) - RESOLVEFUNC(EVP_PKEY_CTX_free) -+#endif // OPENSSL_NO_DEPRECATED_3_0 - RESOLVEFUNC(EVP_PKEY_base_id) - RESOLVEFUNC(RSA_bits) -+#ifndef LIBRESSL_VERSION_NUMBER - RESOLVEFUNC(OPENSSL_sk_new_null) - RESOLVEFUNC(OPENSSL_sk_push) - RESOLVEFUNC(OPENSSL_sk_free) - RESOLVEFUNC(OPENSSL_sk_num) - RESOLVEFUNC(OPENSSL_sk_pop_free) - RESOLVEFUNC(OPENSSL_sk_value) -+#endif - RESOLVEFUNC(DH_get0_pqg) - RESOLVEFUNC(SSL_CTX_set_options) - RESOLVEFUNC(SSL_CTX_get_security_level) -@@ -898,7 +923,9 @@ bool q_resolveOpenSslSymbols() - - RESOLVEFUNC(SSL_SESSION_get_ticket_lifetime_hint) - RESOLVEFUNC(DH_bits) -+#ifndef LIBRESSL_VERSION_NUMBER - RESOLVEFUNC(DSA_bits) -+#endif - - #if QT_CONFIG(dtls) - RESOLVEFUNC(DTLSv1_listen) -@@ -928,7 +955,9 @@ bool q_resolveOpenSslSymbols() - RESOLVEFUNC(OCSP_check_validity) - RESOLVEFUNC(OCSP_cert_to_id) - RESOLVEFUNC(OCSP_id_get0_info) -+#ifndef LIBRESSL_VERSION_NUMBER - RESOLVEFUNC(OCSP_resp_get0_certs) -+#endif - RESOLVEFUNC(OCSP_basic_sign) - RESOLVEFUNC(OCSP_response_create) - RESOLVEFUNC(i2d_OCSP_RESPONSE) -@@ -1058,12 +1087,14 @@ bool q_resolveOpenSslSymbols() - RESOLVEFUNC(SSL_CTX_use_RSAPrivateKey) - RESOLVEFUNC(SSL_CTX_use_PrivateKey_file) - RESOLVEFUNC(SSL_CTX_get_cert_store); -+#ifndef LIBRESSL_VERSION_NUMBER - RESOLVEFUNC(SSL_CONF_CTX_new); - RESOLVEFUNC(SSL_CONF_CTX_free); - RESOLVEFUNC(SSL_CONF_CTX_set_ssl_ctx); - RESOLVEFUNC(SSL_CONF_CTX_set_flags); - RESOLVEFUNC(SSL_CONF_CTX_finish); - RESOLVEFUNC(SSL_CONF_cmd); -+#endif - RESOLVEFUNC(SSL_accept) - RESOLVEFUNC(SSL_clear) - RESOLVEFUNC(SSL_connect) -diff --git a/src/network/ssl/qsslsocket_openssl_symbols_p.h b/src/network/ssl/qsslsocket_openssl_symbols_p.h -index c46afcf5..42a31119 100644 ---- a/src/network/ssl/qsslsocket_openssl_symbols_p.h -+++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h -@@ -80,6 +80,13 @@ QT_BEGIN_NAMESPACE - - #define DUMMYARG - -+#ifdef LIBRESSL_VERSION_NUMBER -+typedef _STACK STACK; -+typedef STACK OPENSSL_STACK; -+typedef void OPENSSL_INIT_SETTINGS; -+typedef int (*X509_STORE_CTX_verify_cb)(int ok,X509_STORE_CTX *ctx); -+#endif -+ - #if !defined QT_LINKED_OPENSSL - // **************** Shared declarations ****************** - // ret func(arg) -@@ -230,20 +237,43 @@ const unsigned char * q_ASN1_STRING_get0_data(const ASN1_STRING *x); - Q_AUTOTEST_EXPORT BIO *q_BIO_new(const BIO_METHOD *a); - Q_AUTOTEST_EXPORT const BIO_METHOD *q_BIO_s_mem(); - -+#ifndef LIBRESSL_VERSION_NUMBER - int q_DSA_bits(DSA *a); -+#else -+#define q_DSA_bits(dsa) q_BN_num_bits((dsa)->p) -+#endif - int q_EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *c); - Q_AUTOTEST_EXPORT int q_EVP_PKEY_up_ref(EVP_PKEY *a); -+#ifdef OPENSSL_NO_DEPRECATED_3_0 - EVP_PKEY_CTX *q_EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e); - void q_EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx); - int q_EVP_PKEY_param_check(EVP_PKEY_CTX *ctx); -+#endif // OPENSSL_NO_DEPRECATED_3_0 - int q_EVP_PKEY_base_id(EVP_PKEY *a); - int q_RSA_bits(RSA *a); -+ -+#ifndef LIBRESSL_VERSION_NUMBER - Q_AUTOTEST_EXPORT int q_OPENSSL_sk_num(OPENSSL_STACK *a); - Q_AUTOTEST_EXPORT void q_OPENSSL_sk_pop_free(OPENSSL_STACK *a, void (*b)(void *)); - Q_AUTOTEST_EXPORT OPENSSL_STACK *q_OPENSSL_sk_new_null(); - Q_AUTOTEST_EXPORT void q_OPENSSL_sk_push(OPENSSL_STACK *st, void *data); - Q_AUTOTEST_EXPORT void q_OPENSSL_sk_free(OPENSSL_STACK *a); - Q_AUTOTEST_EXPORT void * q_OPENSSL_sk_value(OPENSSL_STACK *a, int b); -+#else // LIBRESSL_VERSION_NUMBER -+int q_sk_num(STACK *a); -+#define q_OPENSSL_sk_num(a) q_sk_num(a) -+void q_sk_pop_free(STACK *a, void (*b)(void *)); -+#define q_OPENSSL_sk_pop_free(a, b) q_sk_pop_free(a, b) -+STACK *q_sk_new_null(); -+#define q_OPENSSL_sk_new_null() q_sk_new_null() -+void q_sk_push(STACK *st, void *data); -+#define q_OPENSSL_sk_push(st, data) q_sk_push(st, data) -+void q_sk_free(STACK *a); -+#define q_OPENSSL_sk_free q_sk_free -+void *q_sk_value(STACK *a, int b); -+#define q_OPENSSL_sk_value(a, b) q_sk_value(a, b) -+#endif // LIBRESSL_VERSION_NUMBER -+ - int q_SSL_session_reused(SSL *a); - unsigned long q_SSL_CTX_set_options(SSL_CTX *ctx, unsigned long op); - int q_OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); -@@ -269,8 +299,13 @@ int q_DH_bits(DH *dh); - # define q_SSL_load_error_strings() q_OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS \ - | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL) - -+#ifndef LIBRESSL_VERSION_NUMBER - #define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_OPENSSL_sk_num)(st) - #define q_SKM_sk_value(type, st,i) ((type * (*)(const STACK_OF(type) *, int))q_OPENSSL_sk_value)(st, i) -+#else -+#define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_sk_num)(st) -+#define q_SKM_sk_value(type, st,i) ((type * (*)(const STACK_OF(type) *, int))q_sk_value)(st, i) -+#endif // LIBRESSL_VERSION_NUMBER - - #define q_OPENSSL_add_all_algorithms_conf() q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \ - | OPENSSL_INIT_ADD_ALL_DIGESTS \ -@@ -279,7 +314,11 @@ int q_DH_bits(DH *dh); - | OPENSSL_INIT_ADD_ALL_DIGESTS, NULL) - - int q_OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); -+#ifndef LIBRESSL_VERSION_NUMBER - void q_CRYPTO_free(void *str, const char *file, int line); -+#else -+void q_CRYPTO_free(void *a); -+#endif - - long q_OpenSSL_version_num(); - const char *q_OpenSSL_version(int type); -@@ -497,12 +536,14 @@ int q_SSL_CTX_use_PrivateKey(SSL_CTX *a, EVP_PKEY *b); - int q_SSL_CTX_use_RSAPrivateKey(SSL_CTX *a, RSA *b); - int q_SSL_CTX_use_PrivateKey_file(SSL_CTX *a, const char *b, int c); - X509_STORE *q_SSL_CTX_get_cert_store(const SSL_CTX *a); -+#ifndef LIBRESSL_VERSION_NUMBER - SSL_CONF_CTX *q_SSL_CONF_CTX_new(); - void q_SSL_CONF_CTX_free(SSL_CONF_CTX *a); - void q_SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *a, SSL_CTX *b); - unsigned int q_SSL_CONF_CTX_set_flags(SSL_CONF_CTX *a, unsigned int b); - int q_SSL_CONF_CTX_finish(SSL_CONF_CTX *a); - int q_SSL_CONF_cmd(SSL_CONF_CTX *a, const char *b, const char *c); -+#endif - void q_SSL_free(SSL *a); - STACK_OF(SSL_CIPHER) *q_SSL_get_ciphers(const SSL *a); - const SSL_CIPHER *q_SSL_get_current_cipher(SSL *a); -@@ -728,7 +769,11 @@ int q_OCSP_check_validity(ASN1_GENERALIZEDTIME *thisupd, ASN1_GENERALIZEDTIME *n - int q_OCSP_id_get0_info(ASN1_OCTET_STRING **piNameHash, ASN1_OBJECT **pmd, ASN1_OCTET_STRING **pikeyHash, - ASN1_INTEGER **pserial, OCSP_CERTID *cid); - -+#ifndef LIBRESSL_VERSION_NUMBER - const STACK_OF(X509) *q_OCSP_resp_get0_certs(const OCSP_BASICRESP *bs); -+#else -+#define q_OCSP_resp_get0_certs(bs) ((bs)->certs) -+#endif - Q_AUTOTEST_EXPORT OCSP_CERTID *q_OCSP_cert_to_id(const EVP_MD *dgst, X509 *subject, X509 *issuer); - Q_AUTOTEST_EXPORT void q_OCSP_CERTID_free(OCSP_CERTID *cid); - int q_OCSP_id_cmp(OCSP_CERTID *a, OCSP_CERTID *b); --- -2.29.2 - diff --git a/dev-qt/qtnetwork/qtnetwork-5.15.2-r1.ebuild b/dev-qt/qtnetwork/qtnetwork-5.15.2-r1.ebuild index cc9144c0b3ff..598505d38d75 100644 --- a/dev-qt/qtnetwork/qtnetwork-5.15.2-r1.ebuild +++ b/dev-qt/qtnetwork/qtnetwork-5.15.2-r1.ebuild @@ -13,7 +13,7 @@ if [[ ${QT5_BUILD_TYPE} == release ]]; then KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~sparc x86" fi -IUSE="bindist connman gssapi libressl libproxy networkmanager sctp +ssl" +IUSE="bindist connman gssapi libproxy networkmanager sctp +ssl" DEPEND=" ~dev-qt/qtcore-${PV}:5= @@ -24,8 +24,7 @@ DEPEND=" networkmanager? ( ~dev-qt/qtdbus-${PV} ) sctp? ( kernel_linux? ( net-misc/lksctp-tools ) ) ssl? ( - !libressl? ( >=dev-libs/openssl-1.1.1:0=[bindist=] ) - libressl? ( dev-libs/libressl:0= ) + >=dev-libs/openssl-1.1.1:0=[bindist=] ) " RDEPEND="${DEPEND} @@ -51,7 +50,6 @@ QT5_GENTOO_PRIVATE_CONFIG=( PATCHES=( "${FILESDIR}"/${P}-QNetworkAccessManager-memleak.patch # QTBUG-88063 - "${FILESDIR}"/${PN}-5.15.2-libressl.patch # Bug 562050, not upstreamable "${WORKDIR}"/qtbase-${PV}-gcc11.patch # bug 752012 ) diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest index 75b75b3305fb..b2ea2cd3c0ba 100644 --- a/dev-qt/qtwebengine/Manifest +++ b/dev-qt/qtwebengine/Manifest @@ -9,6 +9,8 @@ AUX qtwebengine-5.15.2_p20210406-icu69.patch 3299 BLAKE2B 0b1eaf1c86adc9f95195c1 DIST qtwebengine-5.15.2-chromium87-ppc64le.tar.xz 28536 BLAKE2B 98f8e01e7026d9df1d30ae453d4394d3c4ad04c0620a2496235d45f5f1080c2280e040826cde7f72d9771bfc80d0c3df56c9dcbe4f763cec432ad56de37d64c5 SHA512 c90a76f44a9d720624016fd082ab3036f12e13b9789e869ebaf5e4774afca7d4187faf187f365f696d1a7eda05ca75516556ee9d291cdb3408d57cc4b23e2654 DIST qtwebengine-5.15.2_p20210224.tar.xz 320052028 BLAKE2B a1ebaae7cf114041576f4920de1e484bea70c715a470e83e7c47bd8ff95480fc4e408bba173990480732bd464a9eb07d304f4afdb90d943c0a8cbe1e8299df84 SHA512 939292511703f3a6d758d38f1c860ffacd003be65761b19f23e8817bf1121cb9e6351216f737126d8defb1c97ca877e1c6f352e7cfee8e9289274d0793348b51 DIST qtwebengine-5.15.2_p20210406.tar.xz 320144324 BLAKE2B 45aafc32f4642fee5525f0504d61ed47c3085d5eff566271701805942ce5fcb2233655111592059775991da5b89dc1702031373f6ff171722ed163265d894daa SHA512 c4a0d5fec3247c04acc447c1c819d1e5dcb1d3c0cbb57a87a5cfa5c0c2b765e82c9f75a7297ba57303df5e1004d75dc554ffd70e24ecb8655126136672f38fdb +DIST qtwebengine-5.15.2_p20210421.tar.xz 320142308 BLAKE2B 1ed6e3daad8e8da7336c1575f524f1474eb043a44a86eebdc2375e9a01dbb21a4bf622b01525c627ff5846bb375b19617ca78f418749d6e4ce53b376da0b8317 SHA512 3a57cc8eb1aab086ae2ef69b1b1eaac47827d1f460ff53d5954b0dcb6753cc0e5fb24db490ea186141e6659e26a59862e8096126450a9fde6ed1230c00e4ceaa EBUILD qtwebengine-5.15.2_p20210224.ebuild 6069 BLAKE2B a718532bfafc9190988ea17046d78856ab9c2e272adb053f271347171444447d5735786b70ec217b1dde33135e50cd38a2689174ed2c4d9ce2cc2e1134f7cd6d SHA512 9c38e5017a75fd4654cb6fa02f3a28fc04bfe58c09fd0dc605bae2cc684518cba542485caac5ed2d7ef106125b6843408b017062a95d7f33c121c3d5bd825667 EBUILD qtwebengine-5.15.2_p20210406.ebuild 6189 BLAKE2B 8eb34399ff626fcff3a4b88a6cdf6455e0b9e9ee94320d656c4bc3fdbbe8d08b65b29438019a50dc79530ff9ab905107d5c000030eb835fb77977ab880388700 SHA512 a6c5897c3747c0d4398247016389932986d42327ed6cd85f0b4e062a91d5bf8c1f1d4d602fc66b0caf571d4f7e3285a4983a4891c3d16a22180419b99434090a +EBUILD qtwebengine-5.15.2_p20210421.ebuild 6924 BLAKE2B e08cad6eb6ab5a3376bffa1e550f1afd9f76075e5bb3c1ec5aaf8e7f2f76129be7696b86351726d866b9560b86b8b53972f2b83b3a830dd8f0b1e6419fbb18b5 SHA512 789e4ea9e9df3aaec3ad0b44a3895feb6ac7aa8a879318a87bb4355e4669221a233dd22b5858822fc85a1282b8d6391c9a46f1a5fa081698d516619a4693da8c MISC metadata.xml 1269 BLAKE2B f95392929bcecbce9334108e3446d631e2a91d1aceb0fa6347496d2d0eeaff8cff55e08b7c3bb39fb8b51667988a6cc2b8e500143f2ebe0d78e6985a6f7af3c1 SHA512 7949854cf55f26750ded6787ce295762af7fd16600f8b251b25e1c9dd4d643338ed4c3b2a8a3405a2c427ed8b5a9ad13a8566a640161768d4dbf6db7e54811a3 diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210421.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210421.ebuild new file mode 100644 index 000000000000..3aaec6f38074 --- /dev/null +++ b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210421.ebuild @@ -0,0 +1,216 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 ) +QTVER=$(ver_cut 1-3) +inherit estack flag-o-matic multiprocessing python-any-r1 qt5-build + +DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications" +HOMEPAGE="https://www.qt.io/" + +if [[ ${QT5_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" + if [[ ${PV} == ${QTVER}_p* ]]; then + SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz" + S="${WORKDIR}/${P}" + QT5_BUILD_DIR="${S}_build" + fi +else + EGIT_BRANCH="5.15" + EGIT_REPO_URI=( + "https://code.qt.io/qt/${QT5_MODULE}.git" + "https://github.com/qt/${QT5_MODULE}.git" + ) + inherit git-r3 +fi + +# patchset based on https://github.com/chromium-ppc64le releases +SRC_URI+=" ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-chromium87-ppc64le.tar.xz )" + +IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio +system-ffmpeg +system-icu widgets" +REQUIRED_USE="designer? ( widgets )" + +RDEPEND=" + app-arch/snappy:= + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + dev-libs/expat + dev-libs/libevent:= + dev-libs/libxml2[icu] + dev-libs/libxslt + dev-libs/re2:= + ~dev-qt/qtcore-${QTVER} + ~dev-qt/qtdeclarative-${QTVER} + ~dev-qt/qtgui-${QTVER} + ~dev-qt/qtnetwork-${QTVER} + ~dev-qt/qtprintsupport-${QTVER} + ~dev-qt/qtwebchannel-${QTVER}[qml] + media-libs/fontconfig + media-libs/freetype + media-libs/harfbuzz:= + media-libs/lcms:2 + media-libs/libjpeg-turbo:= + media-libs/libpng:0= + >=media-libs/libvpx-1.5:=[svc(+)] + media-libs/libwebp:= + media-libs/mesa[egl,X(+)] + media-libs/opus + sys-apps/dbus + sys-apps/pciutils + sys-libs/zlib[minizip] + virtual/libudev + x11-libs/libdrm + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXScrnSaver + x11-libs/libXtst + alsa? ( media-libs/alsa-lib ) + designer? ( ~dev-qt/designer-${QTVER} ) + geolocation? ( ~dev-qt/qtpositioning-${QTVER} ) + kerberos? ( virtual/krb5 ) + pulseaudio? ( media-sound/pulseaudio:= ) + system-ffmpeg? ( media-video/ffmpeg:0= ) + system-icu? ( >=dev-libs/icu-68.2:= ) + widgets? ( + ~dev-qt/qtdeclarative-${QTVER}[widgets] + ~dev-qt/qtwidgets-${QTVER} + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + dev-util/gperf + dev-util/ninja + dev-util/re2c + net-libs/nodejs[ssl] + sys-devel/bison +" + +PATCHES=( + "${FILESDIR}/${PN}-5.15.0-disable-fatal-warnings.patch" # bug 695446 + "${FILESDIR}/${PN}-5.15.2_p20210224-chromium-87-v8-icu68.patch" # downstream, bug 757606 + "${FILESDIR}/${PN}-5.15.2_p20210224-disable-git.patch" # downstream snapshot fix + "${FILESDIR}/${PN}-5.15.2_p20210406-glibc-2.33.patch" # by Fedora, bug 769989 + "${FILESDIR}/${PN}-5.15.2_p20210406-gcc11.patch" # by Fedora, bug 768261 + "${FILESDIR}/${PN}-5.15.2_p20210406-icu69.patch" # bug 781236 +) + +src_unpack() { + # bug 307861 + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + ewarn + ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)." + ewarn "You may experience really long compilation times and/or increased memory usage." + ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug." + ewarn + fi + eshopts_pop + + case ${QT5_BUILD_TYPE} in + live) git-r3_src_unpack ;& + release) default ;; + esac +} + +src_prepare() { + if [[ ${PV} == ${QTVER}_p* ]]; then + # This is made from git, and for some reason will fail w/o .git directories. + mkdir -p .git src/3rdparty/chromium/.git || die + + # We need to make sure this integrates well into Qt 5.15.2 installation. + # Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it. + sed -e "/^MODULE_VERSION/s/5.*/${QTVER}/" -i .qmake.conf || die + fi + + # QTBUG-88657 - jumbo-build could still make trouble + if ! use jumbo-build; then + sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \ + src/buildtools/config/common.pri || die + fi + + # bug 630834 - pass appropriate options to ninja when building GN + sed -e "s/\['ninja'/&, '-j$(makeopts_jobs)', '-l$(makeopts_loadavg "${MAKEOPTS}" 0)', '-v'/" \ + -i src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py || die + + # bug 620444 - ensure local headers are used + find "${S}" -type f -name "*.pr[fio]" | \ + xargs sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' || die + + if use system-icu; then + # Sanity check to ensure that bundled copy of ICU is not used. + # Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because + # src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system. + # If usage of headers of bundled copy of ICU occurs, then lists of shim headers in + # shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in + # src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated. + local file + while read file; do + echo "#error This file should not be used!" > "${file}" || die + done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null) + fi + + qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri + qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri + + qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro + + qt_use_disable_mod widgets widgets src/src.pro + + qt5-build_src_prepare + + # we need to generate ppc64 stuff because upstream does not ship it yet + if use ppc64; then + einfo "Patching for ppc64le and generating build files" + eapply "${FILESDIR}/qtwebengine-5.15.2-enable-ppc64.patch" + pushd src/3rdparty/chromium > /dev/null || die + eapply -p0 "${WORKDIR}/${PN}-ppc64le" + popd > /dev/null || die + pushd src/3rdparty/chromium/third_party/libvpx > /dev/null || die + mkdir -vp source/config/linux/ppc64 || die + mkdir -p source/libvpx/test || die + touch source/libvpx/test/test.mk || die + ./generate_gni.sh || die + popd >/dev/null || die + fi +} + +src_configure() { + export NINJA_PATH=/usr/bin/ninja + export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}" + + local myqmakeargs=( + -- + -no-build-qtpdf + -printing-and-pdf + -system-opus + -system-webp + $(usex alsa '-alsa' '-no-alsa') + $(usex bindist '-no-proprietary-codecs' '-proprietary-codecs') + $(usex geolocation '-webengine-geolocation' '-no-webengine-geolocation') + $(usex kerberos '-webengine-kerberos' '-no-webengine-kerberos') + $(usex pulseaudio '-pulseaudio' '-no-pulseaudio') + $(usex system-ffmpeg '-system-ffmpeg' '-qt-ffmpeg') + $(usex system-icu '-webengine-icu' '-no-webengine-icu') + ) + qt5-build_src_configure +} + +src_install() { + qt5-build_src_install + + # bug 601472 + if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then + die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/" + fi +} |