From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 9AF1E158015 for ; Fri, 29 Dec 2023 15:34:59 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id CDD5D2BC030; Fri, 29 Dec 2023 15:34:57 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 97A2F2BC030 for ; Fri, 29 Dec 2023 15:34:57 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 78A7F343008 for ; Fri, 29 Dec 2023 15:34:56 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id DB52C14B4 for ; Fri, 29 Dec 2023 15:34:54 +0000 (UTC) From: "orbea" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "orbea" Message-ID: <1703863234.6ef9c10dd62b23238000728abf2f4acbe7b77848.orbea@gentoo> Subject: [gentoo-commits] repo/proj/libressl:master commit in: dev-qt/qtbase/files/, dev-qt/qtbase/ X-VCS-Repository: repo/proj/libressl X-VCS-Files: dev-qt/qtbase/Manifest dev-qt/qtbase/files/qtbase-6.5.0-libressl.patch dev-qt/qtbase/files/qtbase-6.5.3-forkfd-childstack-size.patch dev-qt/qtbase/files/qtbase-6.5.3-xkbcommon160.patch dev-qt/qtbase/qtbase-6.5.3-r1.ebuild dev-qt/qtbase/qtbase-6.6.0-r1.ebuild X-VCS-Directories: dev-qt/qtbase/ dev-qt/qtbase/files/ X-VCS-Committer: orbea X-VCS-Committer-Name: orbea X-VCS-Revision: 6ef9c10dd62b23238000728abf2f4acbe7b77848 X-VCS-Branch: master Date: Fri, 29 Dec 2023 15:34:54 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: fd582692-2b45-419e-bd99-f0a2fe2d103c X-Archives-Hash: 418199e86b9edd6b803a4c0983d81c91 commit: 6ef9c10dd62b23238000728abf2f4acbe7b77848 Author: orbea riseup net> AuthorDate: Fri Dec 29 15:20:34 2023 +0000 Commit: orbea riseup net> CommitDate: Fri Dec 29 15:20:34 2023 +0000 URL: https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=6ef9c10d dev-qt/qtbase: drop 6.5.3-r1, 6.6.0-r1 Signed-off-by: orbea riseup.net> dev-qt/qtbase/Manifest | 2 - dev-qt/qtbase/files/qtbase-6.5.0-libressl.patch | 449 --------------------- .../qtbase-6.5.3-forkfd-childstack-size.patch | 27 -- .../qtbase/files/qtbase-6.5.3-xkbcommon160.patch | 18 - dev-qt/qtbase/qtbase-6.5.3-r1.ebuild | 354 ---------------- dev-qt/qtbase/qtbase-6.6.0-r1.ebuild | 356 ---------------- 6 files changed, 1206 deletions(-) diff --git a/dev-qt/qtbase/Manifest b/dev-qt/qtbase/Manifest index 71ca1f2..67b563a 100644 --- a/dev-qt/qtbase/Manifest +++ b/dev-qt/qtbase/Manifest @@ -1,3 +1 @@ -DIST qtbase-everywhere-src-6.5.3.tar.xz 47142456 BLAKE2B 5b4c774b7199563dc7f2aebf9b2b531d851ee49bc038212f4970eeb43a17c364710432708f82a518eee6692ab123d78b642c234d9548d5b553f689a43aa05ee6 SHA512 31c6c01d466f1e01f18d6dcee593360c08ee83ad0a6be495a8eba023faad628cf07ce7285426fabfd247db306319e9a64da329682c99a712a282e32f7493cdb9 -DIST qtbase-everywhere-src-6.6.0.tar.xz 48350308 BLAKE2B 719e265dfafb4fd95f972a317acb95e2d83f8d62175c28ab97837c635435bdcd79bdca113362dea2f04dab799d4749e23056ddb9583908ee20ab23cedeca19b7 SHA512 4e85acefeddc0a3cd6ba615b4768f435c4e237a605172153a1777a10285dab83d9cf220c18ce6d723d051b8b432f3e92be94925b54c2eb972c2c1d9ace849e17 DIST qtbase-everywhere-src-6.6.1.tar.xz 48370760 BLAKE2B 2dd551d15eef30c7d9a5f4c406143d6f8908d7ebade9daf9fbd3d82a25765425956f2cb8689c50f87f6477de2150eee7b820ef25bb4355c51e7e7fad3ef73005 SHA512 93e77b9b077a3acd5607b643db282fdd7ed0bdfa07df74c3f0d2285afeb1672a6fa229a7e7a6c8a462701305fc22ffef20c212d906484e50fb5cdb706a7b72e1 diff --git a/dev-qt/qtbase/files/qtbase-6.5.0-libressl.patch b/dev-qt/qtbase/files/qtbase-6.5.0-libressl.patch deleted file mode 100644 index d3d7313..0000000 --- a/dev-qt/qtbase/files/qtbase-6.5.0-libressl.patch +++ /dev/null @@ -1,449 +0,0 @@ -Fixes Qt6 build on LibreSSL. - -http://cvsweb.openbsd.org/ports/x11/qt6/qtbase/patches/patch-src_network_ssl_qsslsocket_openssl_symbols_cpp?rev=1.8 -http://cvsweb.openbsd.org/ports/x11/qt6/qtbase/patches/patch-src_plugins_tls_openssl_qopenssl_p_h?rev=1.2 -http://cvsweb.openbsd.org/ports/x11/qt6/qtbase/patches/patch-src_plugins_tls_openssl_qsslcontext_openssl_cpp?rev=1.2 -http://cvsweb.openbsd.org/ports/x11/qt6/qtbase/patches/patch-src_plugins_tls_openssl_qsslsocket_openssl_symbols_p_h?rev=1.2 -http://cvsweb.openbsd.org/ports/x11/qt6/qtbase/patches/patch-src_plugins_tls_openssl_qtls_openssl_cpp?rev=1.2 -http://cvsweb.openbsd.org/ports/x11/qt6/qtbase/patches/patch-src_plugins_tls_openssl_qx509_openssl_cpp?rev=1.3 - ---- a/src/plugins/tls/openssl/qsslsocket_openssl_symbols.cpp -+++ b/src/plugins/tls/openssl/qsslsocket_openssl_symbols.cpp -@@ -112,23 +112,37 @@ DEFINEFUNC(const BIO_METHOD *, BIO_s_mem, void, DUMMYA - 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) -+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 -+#ifndef LIBRESSL_VERSION_NUMBER - 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) - DEFINEFUNC(OPENSSL_STACK *, OPENSSL_sk_new_null, DUMMYARG, DUMMYARG, return nullptr, return) - 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(qssloptions, SSL_CTX_set_options, SSL_CTX *ctx, ctx, qssloptions op, op, return 0, return) - using info_callback = void (*) (const SSL *ssl, int type, int val); - DEFINEFUNC2(void, SSL_set_info_callback, SSL *ssl, ssl, info_callback cb, cb, return, return) - DEFINEFUNC(const char *, SSL_alert_type_string, int value, value, return nullptr, return) - DEFINEFUNC(const char *, SSL_alert_desc_string_long, int value, value, return nullptr, 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) -@@ -154,7 +168,11 @@ DEFINEFUNC2(void, X509_STORE_set_verify_cb, X509_STORE - 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) --DEFINEFUNC3(void, CRYPTO_free, void *str, str, const char *file, file, int line, line, return, DUMMYARG) -+#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) -@@ -193,7 +211,9 @@ DEFINEFUNC5(int, OCSP_id_get0_info, ASN1_OCTET_STRING - 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) -+#if !defined(LIBRESSL_VERSION_NUMBER) || (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) - 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) -@@ -214,7 +234,9 @@ DEFINEFUNC(long, ASN1_INTEGER_get, ASN1_INTEGER *a, a, - DEFINEFUNC2(int, ASN1_INTEGER_cmp, const ASN1_INTEGER *a, a, const ASN1_INTEGER *b, b, return 1, return) - DEFINEFUNC(int, ASN1_STRING_length, ASN1_STRING *a, a, return 0, return) - DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return) -+#ifndef LIBRESSL_VERSION_NUMBER - DEFINEFUNC2(int, ASN1_TIME_to_tm, const ASN1_TIME *s, s, struct tm *tm, tm, return 0, return) -+#endif - DEFINEFUNC4(long, BIO_ctrl, BIO *a, a, int b, b, long c, c, void *d, d, return -1, return) - DEFINEFUNC(int, BIO_free, BIO *a, a, return 0, return) - DEFINEFUNC2(BIO *, BIO_new_mem_buf, void *a, a, int b, b, return nullptr, return) -@@ -290,12 +312,14 @@ DEFINEFUNC3(int, SSL_CTX_use_certificate_file, SSL_CTX - DEFINEFUNC2(int, SSL_CTX_use_PrivateKey, SSL_CTX *a, a, EVP_PKEY *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) -@@ -846,9 +870,11 @@ bool q_resolveOpenSslSymbols() - RESOLVEFUNC(EVP_CIPHER_CTX_reset) - RESOLVEFUNC(AUTHORITY_INFO_ACCESS_free) - 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(OPENSSL_sk_new_null) - RESOLVEFUNC(OPENSSL_sk_push) - RESOLVEFUNC(OPENSSL_sk_free) -@@ -942,7 +968,9 @@ bool q_resolveOpenSslSymbols() - RESOLVEFUNC(OCSP_check_validity) - RESOLVEFUNC(OCSP_cert_to_id) - RESOLVEFUNC(OCSP_id_get0_info) -- RESOLVEFUNC(OCSP_resp_get0_certs) -+#if !defined(LIBRESSL_VERSION_NUMBER) || (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) -+ RESOLVEFUNC(OCSP_resp_get0_certs) -+#endif - RESOLVEFUNC(OCSP_basic_sign) - RESOLVEFUNC(OCSP_response_create) - RESOLVEFUNC(i2d_OCSP_RESPONSE) -@@ -1038,12 +1066,14 @@ bool q_resolveOpenSslSymbols() - RESOLVEFUNC(SSL_CTX_use_PrivateKey) - 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) -@@ -1093,7 +1123,9 @@ bool q_resolveOpenSslSymbols() - RESOLVEFUNC(RSA_free) - - RESOLVEFUNC(DH_bits) -+#if !defined(LIBRESSL_VERSION_NUMBER) || (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) - RESOLVEFUNC(DSA_bits) -+#endif - RESOLVEFUNC(RSA_bits) - - #ifndef OPENSSL_NO_EC ---- a/src/plugins/tls/openssl/qopenssl_p.h -+++ b/src/plugins/tls/openssl/qopenssl_p.h -@@ -70,6 +70,13 @@ - - QT_BEGIN_NAMESPACE - -+#ifndef DTLS_ANY_VERSION -+#define DTLS_ANY_VERSION 0x1FFFF -+#endif -+#ifndef TLS_ANY_VERSION -+#define TLS_ANY_VERSION 0x10000 -+#endif -+ - struct QSslErrorEntry { - int code = 0; - int depth = 0; ---- a/src/plugins/tls/openssl/qsslcontext_openssl.cpp -+++ b/src/plugins/tls/openssl/qsslcontext_openssl.cpp -@@ -49,9 +49,9 @@ extern "C" int q_verify_cookie_callback(SSL *ssl, cons - } - #endif // dtls - --#ifdef TLS1_3_VERSION -+#if defined(TLS1_3_VERSION) && !defined(LIBRESSL_VERSION_NUMBER) - extern "C" int q_ssl_sess_set_new_cb(SSL *context, SSL_SESSION *session); --#endif // TLS1_3_VERSION -+#endif // TLS1_3_VERSION && LIBRESSL_VERSION_NUMBE - - static inline QString msgErrorSettingBackendConfig(const QString &why) - { -@@ -370,9 +370,11 @@ QT_WARNING_POP - 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) -@@ -663,14 +665,14 @@ QT_WARNING_POP - q_SSL_CTX_set_verify(sslContext->ctx, verificationMode, verificationCallback); - } - --#ifdef TLS1_3_VERSION -+#if defined(TLS1_3_VERSION) && !defined(LIBRESSL_VERSION_NUMBER) - // NewSessionTicket callback: - if (mode == QSslSocket::SslClientMode && !isDtls) { - q_SSL_CTX_sess_set_new_cb(sslContext->ctx, q_ssl_sess_set_new_cb); - q_SSL_CTX_set_session_cache_mode(sslContext->ctx, SSL_SESS_CACHE_CLIENT); - } - --#endif // TLS1_3_VERSION -+#endif // TLS1_3_VERSION && LIBRESSL_VERSION_NUMBER - - #if QT_CONFIG(dtls) - // DTLS cookies: -@@ -758,6 +760,7 @@ void QSslContext::applyBackendConfig(QSslContext *sslC - } - #endif // ocsp - -+#ifndef LIBRESSL_VERSION_NUMBER - QSharedPointer cctx(q_SSL_CONF_CTX_new(), &q_SSL_CONF_CTX_free); - if (cctx) { - q_SSL_CONF_CTX_set_ssl_ctx(cctx.data(), sslContext->ctx); -@@ -804,7 +807,9 @@ void QSslContext::applyBackendConfig(QSslContext *sslC - 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; - } ---- a/src/plugins/tls/openssl/qsslsocket_openssl_symbols_p.h -+++ b/src/plugins/tls/openssl/qsslsocket_openssl_symbols_p.h -@@ -46,6 +46,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) -@@ -203,15 +210,32 @@ const BIO_METHOD *q_BIO_s_mem(); - void q_AUTHORITY_INFO_ACCESS_free(AUTHORITY_INFO_ACCESS *a); - int q_EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *c); - 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); -+#endif // OPENSSL_NO_DEPRECATED_3_0 - int q_EVP_PKEY_param_check(EVP_PKEY_CTX *ctx); -+#ifndef LIBRESSL_VERSION_NUMBER - int q_OPENSSL_sk_num(OPENSSL_STACK *a); - void q_OPENSSL_sk_pop_free(OPENSSL_STACK *a, void (*b)(void *)); - OPENSSL_STACK *q_OPENSSL_sk_new_null(); - void q_OPENSSL_sk_push(OPENSSL_STACK *st, void *data); - void q_OPENSSL_sk_free(OPENSSL_STACK *a); - 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); - qssloptions q_SSL_CTX_set_options(SSL_CTX *ctx, qssloptions op); - int q_OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); -@@ -238,9 +262,15 @@ void q_DH_get0_pqg(const DH *dh, const BIGNUM **p, con - # 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(st) q_OPENSSL_sk_num((OPENSSL_STACK *)st) - #define q_SKM_sk_value(type, st,i) (type *)q_OPENSSL_sk_value((OPENSSL_STACK *)st, i) -+#else // LIBRESSL_VERSION_NUMBER -+#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 \ - | OPENSSL_INIT_LOAD_CONFIG, NULL) -@@ -425,12 +455,14 @@ int q_SSL_CTX_use_certificate_file(SSL_CTX *a, const c - int q_SSL_CTX_use_PrivateKey(SSL_CTX *a, EVP_PKEY *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 // LIBRESSL_VERSION_NUMBER - 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); -@@ -532,14 +564,26 @@ void q_PKCS12_free(PKCS12 *pkcs12); - #define q_BIO_get_mem_data(b, pp) (int)q_BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)pp) - #define q_BIO_pending(b) (int)q_BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL) - #define q_SSL_CTX_set_mode(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,(op),NULL) -+#ifndef LIBRESSL_VERSION_NUMBER - #define q_sk_GENERAL_NAME_num(st) q_SKM_sk_num((st)) -+#else -+#define q_sk_GENERAL_NAME_num(st) q_SKM_sk_num(GENERAL_NAME, (st)) -+#endif - #define q_sk_GENERAL_NAME_value(st, i) q_SKM_sk_value(GENERAL_NAME, (st), (i)) - - void q_GENERAL_NAME_free(GENERAL_NAME *a); - -+#ifndef LIBRESSL_VERSION_NUMBER - #define q_sk_X509_num(st) q_SKM_sk_num((st)) -+#else -+#define q_sk_X509_num(st) q_SKM_sk_num(X509, (st)) -+#endif - #define q_sk_X509_value(st, i) q_SKM_sk_value(X509, (st), (i)) -+#ifndef LIBRESSL_VERSION_NUMBER - #define q_sk_SSL_CIPHER_num(st) q_SKM_sk_num((st)) -+#else -+#define q_sk_SSL_CIPHER_num(st) q_SKM_sk_num(SSL_CIPHER, (st)) -+#endif - #define q_sk_SSL_CIPHER_value(st, i) q_SKM_sk_value(SSL_CIPHER, (st), (i)) - #define q_SSL_CTX_add_extra_chain_cert(ctx,x509) \ - q_SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509) -@@ -641,7 +685,11 @@ int q_OCSP_check_validity(ASN1_GENERALIZEDTIME *thisup - int q_OCSP_id_get0_info(ASN1_OCTET_STRING **piNameHash, ASN1_OBJECT **pmd, ASN1_OCTET_STRING **pikeyHash, - ASN1_INTEGER **pserial, OCSP_CERTID *cid); - -+#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x3050000fL -+#define q_OCSP_resp_get0_certs(bs) ((bs)->certs) -+#else - const STACK_OF(X509) *q_OCSP_resp_get0_certs(const OCSP_BASICRESP *bs); -+#endif - OCSP_CERTID *q_OCSP_cert_to_id(const EVP_MD *dgst, X509 *subject, X509 *issuer); - void q_OCSP_CERTID_free(OCSP_CERTID *cid); - int q_OCSP_id_cmp(OCSP_CERTID *a, OCSP_CERTID *b); -@@ -660,8 +708,14 @@ int q_OCSP_id_cmp(OCSP_CERTID *a, OCSP_CERTID *b); - - void *q_CRYPTO_malloc(size_t num, const char *file, int line); - #define q_OPENSSL_malloc(num) q_CRYPTO_malloc(num, "", 0) -+ -+#ifndef LIBRESSL_VERSION_NUMBER - void q_CRYPTO_free(void *str, const char *file, int line); - # define q_OPENSSL_free(addr) q_CRYPTO_free(addr, "", 0) -+#else -+void q_CRYPTO_free(void *a); -+# define q_OPENSSL_free(addr) q_CRYPTO_free(addr) -+#endif - - void q_SSL_set_info_callback(SSL *ssl, void (*cb) (const SSL *ssl, int type, int val)); - const char *q_SSL_alert_type_string(int value); -@@ -724,7 +778,11 @@ int q_EVP_PKEY_set1_DH(EVP_PKEY *a, DH *b); - - int q_DH_bits(DH *dh); - int q_RSA_bits(RSA *a); -+#if defined(LIBRESSL_VERSION_NUMBER) && (LIBRESSL_VERSION_NUMBER < 0x3050000fL) -+#define q_DSA_bits(dsa) q_BN_num_bits((dsa)->p) -+#else - int q_DSA_bits(DSA *a); -+#endif - - int q_EVP_PKEY_assign(EVP_PKEY *a, int b, void *r); - int q_EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b); ---- a/src/plugins/tls/openssl/qtls_openssl.cpp -+++ b/src/plugins/tls/openssl/qtls_openssl.cpp -@@ -1438,13 +1438,13 @@ bool TlsCryptographOpenSSL::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) { - q_SSL_set_psk_use_session_callback(ssl, &q_ssl_psk_use_session_callback); - } --#endif // openssl version >= 0x10101006L -+#endif // OPENSSL_VERSION_NUMBER >= 0x10101006L && !defined(LIBRESSL_VERSION_NUMBER) - - #endif // OPENSSL_NO_PSK - ---- a/src/plugins/tls/openssl/qx509_openssl.cpp -+++ b/src/plugins/tls/openssl/qx509_openssl.cpp -@@ -64,7 +64,12 @@ QMultiMap mapFromX509Name(X509_NA - 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)); -- q_CRYPTO_free(data, nullptr, 0); -+#if QT_CONFIG(opensslv11) && !defined(LIBRESSL_VERSION_NUMBER) -+ q_CRYPTO_free(data, nullptr, 0); -+#else -+ q_CRYPTO_free(data); -+#endif -+ - } - - return info; -@@ -75,11 +80,27 @@ QDateTime dateTimeFromASN1(const ASN1_TIME *aTime) - QDateTime result; - tm lTime; - -+#ifdef LIBRESSL_VERSION_NUMBER -+ const char *data; -+ size_t len; -+ int type; -+ -+ data = (const char*)ASN1_STRING_get0_data((const ASN1_STRING *)aTime); -+ len = ASN1_STRING_length(aTime); -+ type = ASN1_STRING_type(aTime); -+ -+ if (ASN1_time_parse(data, len, &lTime, type) == type) { -+ QDate resDate(lTime.tm_year + 1900, lTime.tm_mon + 1, lTime.tm_mday); -+ QTime resTime(lTime.tm_hour, lTime.tm_min, lTime.tm_sec); -+ result = QDateTime(resDate, resTime, Qt::UTC); -+ } -+#else - if (q_ASN1_TIME_to_tm(aTime, &lTime)) { - QDate resDate(lTime.tm_year + 1900, lTime.tm_mon + 1, lTime.tm_mday); - QTime resTime(lTime.tm_hour, lTime.tm_min, lTime.tm_sec); - result = QDateTime(resDate, resTime, QTimeZone::UTC); - } -+#endif - - return result; - } -@@ -190,7 +211,7 @@ QVariant x509UnknownExtensionToValue(X509_EXTENSION *e - QVariantList list; - bool isMap = false; - -- for (int j = 0; j < q_SKM_sk_num(val); j++) { -+ for (int j = 0; j < q_SKM_sk_num(CONF_VALUE, val); j++) { - CONF_VALUE *nval = q_SKM_sk_value(CONF_VALUE, val, j); - if (nval->name && nval->value) { - isMap = true; -@@ -286,7 +307,7 @@ QVariant x509ExtensionToValue(X509_EXTENSION *ext) - if (!info) - return {}; - QVariantMap result; -- for (int i=0; i < q_SKM_sk_num(info); i++) { -+ for (int i=0; i < q_SKM_sk_num(ACCESS_DESCRIPTION, info); i++) { - ACCESS_DESCRIPTION *ad = q_SKM_sk_value(ACCESS_DESCRIPTION, info, i); - - GENERAL_NAME *name = ad->location; diff --git a/dev-qt/qtbase/files/qtbase-6.5.3-forkfd-childstack-size.patch b/dev-qt/qtbase/files/qtbase-6.5.3-forkfd-childstack-size.patch deleted file mode 100644 index 34cbec6..0000000 --- a/dev-qt/qtbase/files/qtbase-6.5.3-forkfd-childstack-size.patch +++ /dev/null @@ -1,27 +0,0 @@ -Avoid crash that happens for some users in qsb, qmake, and -potentially other Qt tools when ran under sandbox leading -to build failures for qtdeclarative and other packages. - -Note that this is the initial (simple) version of the patch -to ensure no issues, a more proper fix should land upstream -eventually. - -https://bugs.gentoo.org/908809 -https://bugs.gentoo.org/908816 -https://bugs.gentoo.org/913493 -https://bugs.gentoo.org/915695 -https://codereview.qt-project.org/c/qt/qtbase/+/513140 -From: Huang Rui -Date: Fri, 20 Oct 2023 10:16:01 +0800 -Subject: [PATCH] folkfd_linux,c: set stack size to 8192 ---- a/src/3rdparty/forkfd/forkfd_linux.c -+++ b/src/3rdparty/forkfd/forkfd_linux.c -@@ -157,7 +157,7 @@ static int system_forkfd_pidfd_set_flags(int pidfd, int flags) - - int system_vforkfd(int flags, pid_t *ppid, int (*childFn)(void *), void *token, int *system) - { -- __attribute__((aligned(64))) char childStack[4096]; -+ __attribute__((aligned(64))) char childStack[8192]; - pid_t pid; - int pidfd; - unsigned long cloneflags = CLONE_PIDFD | CLONE_VFORK | CLONE_VM | SIGCHLD; diff --git a/dev-qt/qtbase/files/qtbase-6.5.3-xkbcommon160.patch b/dev-qt/qtbase/files/qtbase-6.5.3-xkbcommon160.patch deleted file mode 100644 index bc0e079..0000000 --- a/dev-qt/qtbase/files/qtbase-6.5.3-xkbcommon160.patch +++ /dev/null @@ -1,18 +0,0 @@ -These were removed in libxkbcommon-1.6.0[1] and were apparently -unnecesary. Usage results in build failure. - -Just a quick fix while waiting for what [2] comes up with. - -[1] https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/merge_requests/70 -[2] https://bugreports.qt.io/browse/QTBUG-117950 ---- a/src/gui/platform/unix/qxkbcommon.cpp -+++ b/src/gui/platform/unix/qxkbcommon.cpp -@@ -242,4 +242,4 @@ -- Xkb2Qt, -- Xkb2Qt, -- Xkb2Qt, -- Xkb2Qt, -+ Xkb2Qt<0xfe90, Qt::Key_Dead_Lowline>, -+ Xkb2Qt<0xfe91, Qt::Key_Dead_Aboveverticalline>, -+ Xkb2Qt<0xfe92, Qt::Key_Dead_Belowverticalline>, -+ Xkb2Qt<0xfe93, Qt::Key_Dead_Longsolidusoverlay>, diff --git a/dev-qt/qtbase/qtbase-6.5.3-r1.ebuild b/dev-qt/qtbase/qtbase-6.5.3-r1.ebuild deleted file mode 100644 index b426bce..0000000 --- a/dev-qt/qtbase/qtbase-6.5.3-r1.ebuild +++ /dev/null @@ -1,354 +0,0 @@ -# Copyright 2021-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic qt6-build toolchain-funcs - -DESCRIPTION="Cross-platform application development framework" - -if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="amd64 ~arm ~arm64 ~hppa ~loong ~x86" -fi - -declare -A QT6_IUSE=( - [global]="+ssl +udev zstd" - [core]="icu" - [modules]="+concurrent +dbus +gui +network +sql +xml" - - [gui]=" - +X accessibility eglfs evdev gles2-only +libinput - opengl tslib vulkan +widgets - " - [network]="brotli gssapi libproxy sctp" - [sql]="mysql oci8 odbc postgres +sqlite" - [widgets]="cups gtk" - - [optfeature]="nls wayland" #810802,864509 -) -IUSE="${QT6_IUSE[*]}" -REQUIRED_USE=" - $( - printf '%s? ( gui ) ' ${QT6_IUSE[gui]//+/} - printf '%s? ( network ) ' ${QT6_IUSE[network]//+/} - printf '%s? ( sql ) ' ${QT6_IUSE[sql]//+/} - printf '%s? ( gui widgets ) ' ${QT6_IUSE[widgets]//+/} - ) - accessibility? ( X dbus ) - eglfs? ( opengl ) - gles2-only? ( opengl ) - gui? ( || ( X eglfs wayland ) ) - libinput? ( udev ) - sql? ( || ( ${QT6_IUSE[sql]//+/} ) ) - test? ( icu sql? ( sqlite ) ) -" - -# groups: -# - global (configure.cmake) -# - qtcore (src/corelib/configure.cmake) -# - qtgui (src/gui/configure.cmake) -# - qtnetwork (src/network/configure.cmake) -# - qtprintsupport (src/printsupport/configure.cmake) [gui+widgets] -# - qtsql (src/plugins/sqldrivers/configure.cmake) -RDEPEND=" - sys-libs/zlib:= - ssl? ( dev-libs/openssl:= ) - udev? ( virtual/libudev:= ) - zstd? ( app-arch/zstd:= ) - - app-crypt/libb2 - dev-libs/double-conversion:= - dev-libs/glib:2 - dev-libs/libpcre2:=[pcre16,unicode(+)] - icu? ( dev-libs/icu:= ) - - dbus? ( sys-apps/dbus ) - gui? ( - media-libs/fontconfig - media-libs/freetype:2 - media-libs/harfbuzz:= - media-libs/libjpeg-turbo:= - media-libs/libpng:= - x11-libs/libdrm - x11-libs/libxkbcommon[X?] - X? ( - x11-libs/libICE - x11-libs/libSM - x11-libs/libX11 - x11-libs/libxcb:= - x11-libs/xcb-util-cursor - x11-libs/xcb-util-image - x11-libs/xcb-util-keysyms - x11-libs/xcb-util-renderutil - x11-libs/xcb-util-wm - ) - accessibility? ( app-accessibility/at-spi2-core:2 ) - eglfs? ( media-libs/mesa[gbm(+)] ) - evdev? ( sys-libs/mtdev ) - libinput? ( dev-libs/libinput:= ) - opengl? ( - gles2-only? ( media-libs/libglvnd ) - !gles2-only? ( media-libs/libglvnd[X?] ) - ) - tslib? ( x11-libs/tslib ) - widgets? ( - cups? ( net-print/cups ) - gtk? ( - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3 - x11-libs/pango - ) - ) - ) - network? ( - brotli? ( app-arch/brotli:= ) - gssapi? ( virtual/krb5 ) - libproxy? ( net-libs/libproxy ) - ) - sql? ( - mysql? ( dev-db/mysql-connector-c:= ) - oci8? ( dev-db/oracle-instantclient:=[sdk] ) - odbc? ( dev-db/unixODBC ) - postgres? ( dev-db/postgresql:* ) - sqlite? ( dev-db/sqlite:3 ) - ) -" -DEPEND=" - ${RDEPEND} - X? ( x11-base/xorg-proto ) - gui? ( - vulkan? ( dev-util/vulkan-headers ) - ) - network? ( - sctp? ( net-misc/lksctp-tools ) - ) - test? ( - elibc_musl? ( sys-libs/timezone-data ) - ) -" -BDEPEND="zstd? ( app-arch/libarchive[zstd] )" #910392 -PDEPEND=" - nls? ( ~dev-qt/qttranslations-${PV}:6 ) - wayland? ( ~dev-qt/qtwayland-${PV}:6 ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-6.5.0-libressl.patch - "${FILESDIR}"/${PN}-6.5.2-hppa-forkfd-grow-stack.patch - "${FILESDIR}"/${PN}-6.5.2-no-glx.patch - "${FILESDIR}"/${PN}-6.5.2-no-symlink-check.patch - "${FILESDIR}"/${PN}-6.5.3-xkbcommon160.patch - "${FILESDIR}"/${PN}-6.5.3-forkfd-childstack-size.patch -) - -src_prepare() { - qt6-build_src_prepare - - if use test; then - # test itself has -Werror=strict-aliasing issues, drop for simplicity - sed -e '/add_subdirectory(qsharedpointer)/d' \ - -i tests/auto/corelib/tools/CMakeLists.txt || die - fi -} - -src_configure() { - local mycmakeargs=( - -DBUILD_WITH_PCH=OFF - - -DINSTALL_ARCHDATADIR="${QT6_ARCHDATADIR}" - -DINSTALL_BINDIR="${QT6_BINDIR}" - -DINSTALL_DATADIR="${QT6_DATADIR}" - -DINSTALL_DOCDIR="${QT6_DOCDIR}" - -DINSTALL_EXAMPLESDIR="${QT6_EXAMPLESDIR}" - -DINSTALL_INCLUDEDIR="${QT6_HEADERDIR}" - -DINSTALL_LIBDIR="${QT6_LIBDIR}" - -DINSTALL_LIBEXECDIR="${QT6_LIBEXECDIR}" - -DINSTALL_MKSPECSDIR="${QT6_MKSPECSDIR}" - -DINSTALL_PLUGINSDIR="${QT6_PLUGINDIR}" - -DINSTALL_QMLDIR="${QT6_QMLDIR}" - -DINSTALL_SYSCONFDIR="${QT6_SYSCONFDIR}" - -DINSTALL_TRANSLATIONSDIR="${QT6_TRANSLATIONDIR}" - - $(qt_feature ssl openssl) - $(qt_feature ssl openssl_linked) - $(qt_feature udev libudev) - $(qt_feature zstd) - - # qtcore - $(qt_feature icu) - - # tools - -DQT_FEATURE_androiddeployqt=OFF - - # modules - $(qt_feature concurrent) - $(qt_feature dbus) - $(qt_feature gui) - $(qt_feature network) - $(qt_feature sql) - -DQT_FEATURE_testlib=ON # trivial and often needed to build revdeps - $(qt_feature xml) - ) - - use gui && mycmakeargs+=( - $(qt_feature X xcb) - $(qt_feature X system_xcb_xinput) - $(qt_feature X xkbcommon_x11) - $(cmake_use_find_package X X11) # needed for truly no automagic - $(qt_feature accessibility accessibility_atspi_bridge) - $(qt_feature eglfs) - $(qt_feature evdev) - $(qt_feature evdev mtdev) - $(qt_feature libinput) - $(qt_feature tslib) - $(qt_feature vulkan) - $(qt_feature widgets) - -DINPUT_opengl=$(usex opengl $(usex gles2-only es2 desktop) no) - -DQT_FEATURE_system_textmarkdownreader=OFF # TODO?: package md4c - ) && use widgets && mycmakeargs+=( - # note: qtprintsupport is enabled w/ gui+widgets regardless of USE=cups - $(qt_feature cups) - $(qt_feature gtk gtk3) - ) - - use network && mycmakeargs+=( - $(qt_feature brotli) - $(qt_feature gssapi) - $(qt_feature libproxy) - $(qt_feature sctp) - $(usev test -DQT_SKIP_DOCKER_COMPOSE=ON) - -DQT_FEATURE_dtls=OFF # Required for LibreSSL - ) - - use sql && mycmakeargs+=( - -DQT_FEATURE_sql_db2=OFF # unpackaged - -DQT_FEATURE_sql_ibase=OFF # unpackaged - $(qt_feature mysql sql_mysql) - $(qt_feature oci8 sql_oci) - $(usev oci8 -DOracle_ROOT="${ESYSROOT}"/usr/$(get_libdir)/oracle/client) - $(qt_feature odbc sql_odbc) - $(qt_feature postgres sql_psql) - $(qt_feature sqlite sql_sqlite) - $(qt_feature sqlite system_sqlite) - -DQT_FEATURE_sql_tds=OFF # currently a no-op in CMakeLists.txt - ) - - if use amd64 || use x86; then - # see bug #913400 for explanations - local cpufeats=( - # list of checked cpu features in configure.cmake - avx avx2 avx512{bw,cd,dq,er,f,ifma,pf,vbmi,vbmi2,vl} - f16c rdrnd rdseed sse2 sse3 sse4_1 sse4_2 ssse3 vaes - ) - # handle odd ones out not matching -m* and macros (keep same order) - local cpuflags=( "${cpufeats[@]}" aes sha ) - local cpufeats+=( aesni shani ) - - local -a intrins - IFS=' ' read -ra intrins < <( - : "$(test-flags-CXX "${cpuflags[@]/#/-m}")" - $(tc-getCXX) -E -P ${_} ${CXXFLAGS} ${CPPFLAGS} - <<-EOF | tail -n 1 - #if defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__)) - #include - #endif - $(printf '__%s__ ' "${cpuflags[@]^^}") - EOF - assert - ) - - # do nothing and leave to qtbase if no macros expanded (test failed?) - if [[ \ ${intrins[*]} == *\ [^_\ ]* ]]; then - local -i i - for ((i=0; i<${#cpufeats[@]}; i++)); do - [[ ${intrins[i]} == __* ]] && - mycmakeargs+=( -DQT_FEATURE_${cpufeats[i]}=OFF ) - done - mycmakeargs+=( -DTEST_x86intrin=ON ) - fi - fi - - qt6-build_src_configure -} - -src_test() { - local -x TZ=UTC - local -x LC_TIME=C - - local CMAKE_SKIP_TESTS=( - # broken with out-of-source + if qtbase is not already installed - tst_moc - tst_qmake - # needs x11/opengl, we *could* run these but tend to be flaky - # when opengl rendering is involved (even if software-only) - tst_qopengl{,config,widget,window} - tst_qgraphicsview - tst_qx11info - # fails with network sandbox - tst_qdnslookup - # typical to lack SCTP support on non-generic kernels - tst_qsctpsocket - # randomly fails without -j1, and not worth it over this (bug #916181) - tst_qfiledialog{,2} - # these can be flaky depending on the environment/toolchain - tst_qlogging # backtrace log test can easily vary - tst_q{,raw}font # affected by available fonts / settings (bug #914737) - tst_qprinter # checks system's printers (bug #916216) - tst_qstorageinfo # checks mounted filesystems - # flaky due to using different test framework and fails with USE=-gui - tst_selftests - # known failing when using clang+glibc+stdc++, needs looking into - tst_qthread - # partially failing on x86 chroots and seemingly(?) harmless (dev-qt - # revdeps tests pass), skip globally to avoid keywording flakiness - tst_json - tst_qcolorspace - tst_qdoublevalidator - tst_qglobal - tst_qglyphrun - tst_qvectornd - tst_rcc - # similarly, but on armv7 and potentially others (bug #914028) - tst_qlineedit - tst_qpainter - # likewise, known failing at least on BE arches (bug #914033,914371) - tst_qimagereader - tst_qimagewriter - tst_qpluginloader - # partially broken on llvm-musl, needs looking into but skip to have - # a baseline for regressions (rest of dev-qt still passes with musl) - $(usev elibc_musl ' - tst_qicoimageformat - tst_qimagereader - tst_qimage - ') - # fails due to hppa's NaN handling, needs looking into (bug #914371) - $(usev hppa ' - tst_qcborvalue - tst_qnumeric - ') - # note: for linux, upstream only really runs+maintains tests for amd64 - # https://doc.qt.io/qt-6/supported-platforms.html - ) - - qt6-build_src_test -} - -src_install() { - qt6-build_src_install - - if use test; then - local delete_bins=( # need a better way to handle this - clientserver copier crashingServer desktopsettingsaware_helper - echo fileWriterProcess modal_helper nospace 'one space' - paster qcommandlineparser_test_helper qfileopeneventexternal - socketprocess syslocaleapp tst_qhashseed_helper 'two space s' - write-read-write - ) - local delete=( # sigh - "${D}${QT6_BINDIR}"/test* - "${delete_bins[@]/#/${D}${QT6_BINDIR}/}" - ) - # using -f given not tracking which tests may be skipped or not - rm -rf -- "${delete[@]}" || die - fi -} diff --git a/dev-qt/qtbase/qtbase-6.6.0-r1.ebuild b/dev-qt/qtbase/qtbase-6.6.0-r1.ebuild deleted file mode 100644 index aa683f4..0000000 --- a/dev-qt/qtbase/qtbase-6.6.0-r1.ebuild +++ /dev/null @@ -1,356 +0,0 @@ -# Copyright 2021-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic qt6-build toolchain-funcs - -DESCRIPTION="Cross-platform application development framework" - -if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~x86" -fi - -declare -A QT6_IUSE=( - [global]="+ssl +udev zstd" - [core]="icu" - [modules]="+concurrent +dbus +gui +network +sql +xml" - - [gui]=" - +X accessibility eglfs evdev gles2-only +libinput - opengl tslib vulkan +widgets - " - [network]="brotli gssapi libproxy sctp" - [sql]="mysql oci8 odbc postgres +sqlite" - [widgets]="cups gtk" - - [optfeature]="nls wayland" #810802,864509 -) -IUSE="${QT6_IUSE[*]}" -REQUIRED_USE=" - $( - printf '%s? ( gui ) ' ${QT6_IUSE[gui]//+/} - printf '%s? ( network ) ' ${QT6_IUSE[network]//+/} - printf '%s? ( sql ) ' ${QT6_IUSE[sql]//+/} - printf '%s? ( gui widgets ) ' ${QT6_IUSE[widgets]//+/} - ) - accessibility? ( X dbus ) - eglfs? ( opengl ) - gles2-only? ( opengl ) - gui? ( || ( X eglfs wayland ) ) - libinput? ( udev ) - sql? ( || ( ${QT6_IUSE[sql]//+/} ) ) - test? ( icu sql? ( sqlite ) ) -" - -# groups: -# - global (configure.cmake) -# - qtcore (src/corelib/configure.cmake) -# - qtgui (src/gui/configure.cmake) -# - qtnetwork (src/network/configure.cmake) -# - qtprintsupport (src/printsupport/configure.cmake) [gui+widgets] -# - qtsql (src/plugins/sqldrivers/configure.cmake) -RDEPEND=" - sys-libs/zlib:= - ssl? ( dev-libs/openssl:= ) - udev? ( virtual/libudev:= ) - zstd? ( app-arch/zstd:= ) - - app-crypt/libb2 - dev-libs/double-conversion:= - dev-libs/glib:2 - dev-libs/libpcre2:=[pcre16,unicode(+)] - icu? ( dev-libs/icu:= ) - - dbus? ( sys-apps/dbus ) - gui? ( - media-libs/fontconfig - media-libs/freetype:2 - media-libs/harfbuzz:= - media-libs/libjpeg-turbo:= - media-libs/libpng:= - x11-libs/libdrm - x11-libs/libxkbcommon[X?] - X? ( - x11-libs/libICE - x11-libs/libSM - x11-libs/libX11 - x11-libs/libxcb:= - x11-libs/xcb-util-cursor - x11-libs/xcb-util-image - x11-libs/xcb-util-keysyms - x11-libs/xcb-util-renderutil - x11-libs/xcb-util-wm - ) - accessibility? ( app-accessibility/at-spi2-core:2 ) - eglfs? ( media-libs/mesa[gbm(+)] ) - evdev? ( sys-libs/mtdev ) - libinput? ( dev-libs/libinput:= ) - opengl? ( - gles2-only? ( media-libs/libglvnd ) - !gles2-only? ( media-libs/libglvnd[X?] ) - ) - tslib? ( x11-libs/tslib ) - widgets? ( - cups? ( net-print/cups ) - gtk? ( - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3 - x11-libs/pango - ) - ) - ) - network? ( - brotli? ( app-arch/brotli:= ) - gssapi? ( virtual/krb5 ) - libproxy? ( net-libs/libproxy ) - ) - sql? ( - mysql? ( dev-db/mysql-connector-c:= ) - oci8? ( dev-db/oracle-instantclient:=[sdk] ) - odbc? ( dev-db/unixODBC ) - postgres? ( dev-db/postgresql:* ) - sqlite? ( dev-db/sqlite:3 ) - ) -" -DEPEND=" - ${RDEPEND} - X? ( x11-base/xorg-proto ) - gui? ( - vulkan? ( dev-util/vulkan-headers ) - ) - network? ( - sctp? ( net-misc/lksctp-tools ) - ) - test? ( - elibc_musl? ( sys-libs/timezone-data ) - ) -" -BDEPEND="zstd? ( app-arch/libarchive[zstd] )" #910392 -PDEPEND=" - nls? ( ~dev-qt/qttranslations-${PV}:6 ) - wayland? ( ~dev-qt/qtwayland-${PV}:6 ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-6.6.0-libressl.patch - "${FILESDIR}"/${PN}-6.5.2-hppa-forkfd-grow-stack.patch - "${FILESDIR}"/${PN}-6.5.2-no-glx.patch - "${FILESDIR}"/${PN}-6.5.2-no-symlink-check.patch - "${FILESDIR}"/${PN}-6.5.3-xkbcommon160.patch - "${FILESDIR}"/${PN}-6.5.3-forkfd-childstack-size.patch -) - -src_prepare() { - qt6-build_src_prepare - - if use test; then - # test itself has -Werror=strict-aliasing issues, drop for simplicity - sed -e '/add_subdirectory(qsharedpointer)/d' \ - -i tests/auto/corelib/tools/CMakeLists.txt || die - fi -} - -src_configure() { - local mycmakeargs=( - -DBUILD_WITH_PCH=OFF - - -DINSTALL_ARCHDATADIR="${QT6_ARCHDATADIR}" - -DINSTALL_BINDIR="${QT6_BINDIR}" - -DINSTALL_DATADIR="${QT6_DATADIR}" - -DINSTALL_DOCDIR="${QT6_DOCDIR}" - -DINSTALL_EXAMPLESDIR="${QT6_EXAMPLESDIR}" - -DINSTALL_INCLUDEDIR="${QT6_HEADERDIR}" - -DINSTALL_LIBDIR="${QT6_LIBDIR}" - -DINSTALL_LIBEXECDIR="${QT6_LIBEXECDIR}" - -DINSTALL_MKSPECSDIR="${QT6_MKSPECSDIR}" - -DINSTALL_PLUGINSDIR="${QT6_PLUGINDIR}" - -DINSTALL_QMLDIR="${QT6_QMLDIR}" - -DINSTALL_SYSCONFDIR="${QT6_SYSCONFDIR}" - -DINSTALL_TRANSLATIONSDIR="${QT6_TRANSLATIONDIR}" - - $(qt_feature ssl openssl) - $(qt_feature ssl openssl_linked) - $(qt_feature udev libudev) - $(qt_feature zstd) - - # qtcore - $(qt_feature icu) - - # tools - -DQT_FEATURE_androiddeployqt=OFF - - # modules - $(qt_feature concurrent) - $(qt_feature dbus) - $(qt_feature gui) - $(qt_feature network) - $(qt_feature sql) - -DQT_FEATURE_testlib=ON # trivial and often needed to build revdeps - $(qt_feature xml) - ) - - use gui && mycmakeargs+=( - $(qt_feature X xcb) - $(qt_feature X system_xcb_xinput) - $(qt_feature X xkbcommon_x11) - $(cmake_use_find_package X X11) # needed for truly no automagic - $(qt_feature accessibility accessibility_atspi_bridge) - $(qt_feature eglfs) - $(qt_feature evdev) - $(qt_feature evdev mtdev) - $(qt_feature libinput) - $(qt_feature tslib) - $(qt_feature vulkan) - $(qt_feature widgets) - -DINPUT_opengl=$(usex opengl $(usex gles2-only es2 desktop) no) - -DQT_FEATURE_system_textmarkdownreader=OFF # TODO?: package md4c - ) && use widgets && mycmakeargs+=( - # note: qtprintsupport is enabled w/ gui+widgets regardless of USE=cups - $(qt_feature cups) - $(qt_feature gtk gtk3) - ) - - use network && mycmakeargs+=( - $(qt_feature brotli) - $(qt_feature gssapi) - $(qt_feature libproxy) - $(qt_feature sctp) - $(usev test -DQT_SKIP_DOCKER_COMPOSE=ON) - -DQT_FEATURE_dtls=OFF # Required for LibreSSL - ) - - use sql && mycmakeargs+=( - -DQT_FEATURE_sql_db2=OFF # unpackaged - -DQT_FEATURE_sql_ibase=OFF # unpackaged - -DQT_FEATURE_sql_mimer=OFF # unpackaged - $(qt_feature mysql sql_mysql) - $(qt_feature oci8 sql_oci) - $(usev oci8 -DOracle_ROOT="${ESYSROOT}"/usr/$(get_libdir)/oracle/client) - $(qt_feature odbc sql_odbc) - $(qt_feature postgres sql_psql) - $(qt_feature sqlite sql_sqlite) - $(qt_feature sqlite system_sqlite) - ) - - if use amd64 || use x86; then - # see bug #913400 for explanations - local cpufeats=( - # list of checked cpu features in configure.cmake - avx avx2 avx512{bw,cd,dq,er,f,ifma,pf,vbmi,vbmi2,vl} - f16c rdrnd rdseed sse2 sse3 sse4_1 sse4_2 ssse3 vaes - ) - # handle odd ones out not matching -m* and macros (keep same order) - local cpuflags=( "${cpufeats[@]}" aes sha ) - local cpufeats+=( aesni shani ) - - local -a intrins - IFS=' ' read -ra intrins < <( - : "$(test-flags-CXX "${cpuflags[@]/#/-m}")" - $(tc-getCXX) -E -P ${_} ${CXXFLAGS} ${CPPFLAGS} - <<-EOF | tail -n 1 - #if defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__)) - #include - #endif - $(printf '__%s__ ' "${cpuflags[@]^^}") - EOF - assert - ) - - # do nothing and leave to qtbase if no macros expanded (test failed?) - if [[ \ ${intrins[*]} == *\ [^_\ ]* ]]; then - local -i i - for ((i=0; i<${#cpufeats[@]}; i++)); do - [[ ${intrins[i]} == __* ]] && - mycmakeargs+=( -DQT_FEATURE_${cpufeats[i]}=OFF ) - done - mycmakeargs+=( -DTEST_x86intrin=ON ) - fi - fi - - qt6-build_src_configure -} - -src_test() { - local -x TZ=UTC - local -x LC_TIME=C - - local CMAKE_SKIP_TESTS=( - # broken with out-of-source + if qtbase is not already installed - tst_moc - tst_qmake - # needs x11/opengl, we *could* run these but tend to be flaky - # when opengl rendering is involved (even if software-only) - tst_qopengl{,config,widget,window} - tst_qgraphicsview - tst_qx11info - # fails with network sandbox - tst_qdnslookup - # fails with sandbox - tst_qsharedmemory - # typical to lack SCTP support on non-generic kernels - tst_qsctpsocket - # randomly fails without -j1, and not worth it over this (bug #916181) - tst_qfiledialog{,2} - # these can be flaky depending on the environment/toolchain - tst_qlogging # backtrace log test can easily vary - tst_q{,raw}font # affected by available fonts / settings (bug #914737) - tst_qprinter # checks system's printers (bug #916216) - tst_qstorageinfo # checks mounted filesystems - # flaky due to using different test framework and fails with USE=-gui - tst_selftests - # known failing when using clang+glibc+stdc++, needs looking into - tst_qthread - # partially failing on x86 chroots and seemingly(?) harmless (dev-qt - # revdeps tests pass), skip globally to avoid keywording flakiness - tst_json - tst_qcolorspace - tst_qdoublevalidator - tst_qglobal - tst_qglyphrun - tst_qvectornd - tst_rcc - # similarly, but on armv7 and potentially others (bug #914028) - tst_qlineedit - tst_qpainter - # likewise, known failing at least on BE arches (bug #914033,914371) - tst_qimagereader - tst_qimagewriter - tst_qpluginloader - # partially broken on llvm-musl, needs looking into but skip to have - # a baseline for regressions (rest of dev-qt still passes with musl) - $(usev elibc_musl ' - tst_qicoimageformat - tst_qimagereader - tst_qimage - ') - # fails due to hppa's NaN handling, needs looking into (bug #914371) - $(usev hppa ' - tst_qcborvalue - tst_qnumeric - ') - # note: for linux, upstream only really runs+maintains tests for amd64 - # https://doc.qt.io/qt-6/supported-platforms.html - ) - - qt6-build_src_test -} - -src_install() { - qt6-build_src_install - - if use test; then - local delete_bins=( # need a better way to handle this - clientserver copier crashingServer desktopsettingsaware_helper - echo fileWriterProcess modal_helper nospace 'one space' - paster qcommandlineparser_test_helper qfileopeneventexternal - socketprocess syslocaleapp tst_qhashseed_helper 'two space s' - write-read-write - ) - local delete=( # sigh - "${D}${QT6_BINDIR}"/test* - "${delete_bins[@]/#/${D}${QT6_BINDIR}/}" - ) - # using -f given not tracking which tests may be skipped or not - rm -rf -- "${delete[@]}" || die - fi -}