public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/proj/libressl:master commit in: dev-qt/qtbase/files/, dev-qt/qtbase/
@ 2023-04-21 15:02 orbea
  0 siblings, 0 replies; 15+ messages in thread
From: orbea @ 2023-04-21 15:02 UTC (permalink / raw
  To: gentoo-commits

commit:     7a3627237357385646db06e2ea2ae731700eee1e
Author:     Anna “CyberTailor” <cyber <AT> sysrq <DOT> in>
AuthorDate: Thu Apr 20 16:42:00 2023 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Fri Apr 21 14:56:30 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=7a362723

dev-qt/qtbase: add 6.5.0, drop 6.4.2

Signed-off-by: Anna “CyberTailor” <cyber <AT> sysrq.in>
Closes: https://github.com/gentoo/libressl/pull/529
Signed-off-by: orbea <orbea <AT> riseup.net>

 dev-qt/qtbase/Manifest                             |   2 +-
 ...-libressl.patch => qtbase-6.5.0-libressl.patch} | 296 +++++++++++----------
 ...-6.5.0-setActiveWindow-deprecated-version.patch |  35 +++
 ...{qtbase-6.4.2.ebuild => qtbase-6.5.0-r1.ebuild} |  13 +-
 4 files changed, 195 insertions(+), 151 deletions(-)

diff --git a/dev-qt/qtbase/Manifest b/dev-qt/qtbase/Manifest
index e77cc5d..6b955e5 100644
--- a/dev-qt/qtbase/Manifest
+++ b/dev-qt/qtbase/Manifest
@@ -1 +1 @@
-DIST qtbase-everywhere-src-6.4.2.tar.xz 47987188 BLAKE2B 5d25d8b912ba775faa5855ad4326cbd19580cc7f98b997a9bbdb4a2216550a60b2c8a7a2ef1741a5dfd66ebde0d1cf5d0394215474c39c7779648b03c3892812 SHA512 b00cce7bfc29d3a34c9a2f08db147c4bfd962e178916d60033e1845b25eaeaa4fbd42f5c1d7e39453ddb412a4e91c22c8eae52745eda8a47e35a691054d5496e
+DIST qtbase-everywhere-src-6.5.0.tar.xz 48020636 BLAKE2B 234000eeb6e1b57a1c7561613bf437453fc2db0d23d5ddd61c38961311a7de5263c086864554aff7a0bc1e5a406af78ef8342eed3c8a5f48b9237912614f380b SHA512 29f70b9a9650afdd8e34703a7a8191feab4c3a25d0bc3a41010ea842389335b24e2685721fdb4a03653475ebd9bf8a8e4f4a77bf5d64b1289590b5ca0e4623f3

diff --git a/dev-qt/qtbase/files/qtbase-6.4.2-libressl.patch b/dev-qt/qtbase/files/qtbase-6.5.0-libressl.patch
similarity index 85%
rename from dev-qt/qtbase/files/qtbase-6.4.2-libressl.patch
rename to dev-qt/qtbase/files/qtbase-6.5.0-libressl.patch
index f75f651..d3d7313 100644
--- a/dev-qt/qtbase/files/qtbase-6.4.2-libressl.patch
+++ b/dev-qt/qtbase/files/qtbase-6.5.0-libressl.patch
@@ -1,12 +1,148 @@
 Fixes Qt6 build on LibreSSL.
 
-https://cvsweb.openbsd.org/ports/x11/qt6/qtbase/patches/patch-src_network_ssl_qsslsocket_openssl_symbols_cpp?rev=1.7
-https://cvsweb.openbsd.org/ports/x11/qt6/qtbase/patches/patch-src_plugins_tls_openssl_qopenssl_p_h?rev=1.2
-https://cvsweb.openbsd.org/ports/x11/qt6/qtbase/patches/patch-src_plugins_tls_openssl_qsslcontext_openssl_cpp?rev=1.2
-https://cvsweb.openbsd.org/ports/x11/qt6/qtbase/patches/patch-src_plugins_tls_openssl_qsslsocket_openssl_symbols_p_h?rev=1.2
-https://cvsweb.openbsd.org/ports/x11/qt6/qtbase/patches/patch-src_plugins_tls_openssl_qtls_openssl_cpp?rev=1.2
-https://cvsweb.openbsd.org/ports/x11/qt6/qtbase/patches/patch-src_plugins_tls_openssl_qx509_openssl_cpp?rev=1.2
+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 @@
@@ -251,7 +387,7 @@ https://cvsweb.openbsd.org/ports/x11/qt6/qtbase/patches/patch-src_plugins_tls_op
  
 --- a/src/plugins/tls/openssl/qx509_openssl.cpp
 +++ b/src/plugins/tls/openssl/qx509_openssl.cpp
-@@ -63,7 +63,11 @@ QMultiMap<QByteArray, QString> mapFromX509Name(X509_NA
+@@ -64,7 +64,12 @@ QMultiMap<QByteArray, QString> 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));
@@ -261,18 +397,19 @@ https://cvsweb.openbsd.org/ports/x11/qt6/qtbase/patches/patch-src_plugins_tls_op
 +#else
 +         q_CRYPTO_free(data);
 +#endif
++
      }
  
      return info;
-@@ -73,12 +77,27 @@ QDateTime dateTimeFromASN1(const ASN1_TIME *aTime)
- {
+@@ -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);
@@ -286,13 +423,13 @@ https://cvsweb.openbsd.org/ports/x11/qt6/qtbase/patches/patch-src_plugins_tls_op
      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, Qt::UTC);
+         result = QDateTime(resDate, resTime, QTimeZone::UTC);
      }
 +#endif
  
      return result;
  }
-@@ -189,7 +208,7 @@ QVariant x509UnknownExtensionToValue(X509_EXTENSION *e
+@@ -190,7 +211,7 @@ QVariant x509UnknownExtensionToValue(X509_EXTENSION *e
          QVariantList list;
          bool isMap = false;
  
@@ -301,7 +438,7 @@ https://cvsweb.openbsd.org/ports/x11/qt6/qtbase/patches/patch-src_plugins_tls_op
              CONF_VALUE *nval = q_SKM_sk_value(CONF_VALUE, val, j);
              if (nval->name && nval->value) {
                  isMap = true;
-@@ -285,7 +304,7 @@ QVariant x509ExtensionToValue(X509_EXTENSION *ext)
+@@ -286,7 +307,7 @@ QVariant x509ExtensionToValue(X509_EXTENSION *ext)
              if (!info)
                  return {};
              QVariantMap result;
@@ -310,136 +447,3 @@ https://cvsweb.openbsd.org/ports/x11/qt6/qtbase/patches/patch-src_plugins_tls_op
                  ACCESS_DESCRIPTION *ad = q_SKM_sk_value(ACCESS_DESCRIPTION, info, i);
  
                  GENERAL_NAME *name = ad->location;
---- a/src/plugins/tls/openssl/qsslsocket_openssl_symbols.cpp
-+++ b/src/plugins/tls/openssl/qsslsocket_openssl_symbols.cpp
-@@ -113,23 +113,36 @@ 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)
- 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)
-@@ -155,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)
-+#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)
-@@ -194,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)
-@@ -215,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)
-@@ -291,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)
-@@ -859,9 +882,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)
-@@ -955,7 +980,9 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(OCSP_check_validity)
-     RESOLVEFUNC(OCSP_cert_to_id)
-     RESOLVEFUNC(OCSP_id_get0_info)
-+#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)
-@@ -1051,12 +1078,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)
-@@ -1106,7 +1135,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

diff --git a/dev-qt/qtbase/files/qtbase-6.5.0-setActiveWindow-deprecated-version.patch b/dev-qt/qtbase/files/qtbase-6.5.0-setActiveWindow-deprecated-version.patch
new file mode 100644
index 0000000..0ba60e0
--- /dev/null
+++ b/dev-qt/qtbase/files/qtbase-6.5.0-setActiveWindow-deprecated-version.patch
@@ -0,0 +1,35 @@
+Upstream commit: https://code.qt.io/cgit/qt/qtbase.git/commit/?h=6.5&id=bbb330c95fd
+
+From bbb330c95fdf6161b23227cb08cec58cca31e465 Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@kdab.com>
+Date: Tue, 14 Mar 2023 19:14:41 +0100
+Subject: QApplication: Fix DEPRECATED_VERSION for setActiveWindow
+
+It's not deprecated in 6.4, only 6.5
+
+Change-Id: I86a09b9ce5a7f4d8b1d80a6e67218dfe00f93844
+Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
+(cherry picked from commit 99975ec07feb6b1a9f6be9e0d392a35e40f9550a)
+Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
+---
+ src/widgets/kernel/qapplication.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/widgets/kernel/qapplication.h b/src/widgets/kernel/qapplication.h
+index c4c73d4cf8..fd698fb69f 100644
+--- a/src/widgets/kernel/qapplication.h
++++ b/src/widgets/kernel/qapplication.h
+@@ -79,8 +79,8 @@ public:
+ 
+     static QWidget *activeWindow();
+ 
+-#if QT_DEPRECATED_SINCE(6,4)
+-    QT_DEPRECATED_VERSION_X_6_4("Use QWidget::activateWindow() instead.")
++#if QT_DEPRECATED_SINCE(6, 5)
++    QT_DEPRECATED_VERSION_X_6_5("Use QWidget::activateWindow() instead.")
+     static void setActiveWindow(QWidget* act);
+ #endif
+ 
+-- 
+cgit v1.2.3
+

diff --git a/dev-qt/qtbase/qtbase-6.4.2.ebuild b/dev-qt/qtbase/qtbase-6.5.0-r1.ebuild
similarity index 95%
rename from dev-qt/qtbase/qtbase-6.4.2.ebuild
rename to dev-qt/qtbase/qtbase-6.5.0-r1.ebuild
index 50f6845..e3c6abe 100644
--- a/dev-qt/qtbase/qtbase-6.4.2.ebuild
+++ b/dev-qt/qtbase/qtbase-6.5.0-r1.ebuild
@@ -93,6 +93,7 @@ DEPEND="
 		x11-libs/libX11
 		>=x11-libs/libxcb-1.12:=
 		>=x11-libs/libxkbcommon-0.5.0[X]
+		x11-libs/xcb-util-cursor
 		x11-libs/xcb-util-image
 		x11-libs/xcb-util-keysyms
 		x11-libs/xcb-util-renderutil
@@ -103,7 +104,8 @@ DEPEND="
 RDEPEND="${DEPEND}"
 
 PATCHES=(
-	"${FILESDIR}"/${PN}-6.4.2-libressl.patch # from OpenBSD ports, not upstreamable
+	"${FILESDIR}/${PN}-6.5.0-libressl.patch"
+	"${FILESDIR}/${PN}-6.5.0-setActiveWindow-deprecated-version.patch"
 )
 
 src_configure() {
@@ -137,6 +139,7 @@ src_configure() {
 	use gui && mycmakeargs+=(
 		$(qt_feature accessibility accessibility_atspi_bridge)
 		$(qt_feature egl)
+		$(qt_feature egl xcb_egl_plugin)
 		$(qt_feature eglfs eglfs_egldevice)
 		$(qt_feature eglfs eglfs_gbm)
 		$(qt_feature evdev)
@@ -162,12 +165,14 @@ src_configure() {
 	fi
 	use network && mycmakeargs+=(
 		$(qt_feature brotli)
-		-DQT_FEATURE_dtls=OFF
 		$(qt_feature gssapi)
 		$(qt_feature libproxy)
 		$(qt_feature sctp)
-		$(qt_feature ssl openssl_linked)
 		$(qt_feature vnc)
+
+		# Required for LibreSSL
+		-DQT_FEATURE_dtls=OFF
+		$(qt_feature ssl openssl_linked)
 	)
 	use sql && mycmakeargs+=(
 		$(qt_feature freetds sql_tds)
@@ -186,5 +191,5 @@ src_install() {
 	qt6-build_src_install
 
 	# https://bugs.gentoo.org/863395
-	dosym ../$(get_libdir)/qt6/bin/qmake /usr/bin/qmake6
+	qt6_symlink_binary_to_path qmake 6
 }


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [gentoo-commits] repo/proj/libressl:master commit in: dev-qt/qtbase/files/, dev-qt/qtbase/
@ 2023-05-24 18:06 orbea
  0 siblings, 0 replies; 15+ messages in thread
From: orbea @ 2023-05-24 18:06 UTC (permalink / raw
  To: gentoo-commits

commit:     9121a6d114c04e1530a14b657449d5d2aeb4c93b
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Wed May 24 17:13:13 2023 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Wed May 24 17:13:13 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=9121a6d1

dev-qt/qtbase: add 6.5.0-r2

Signed-off-by: orbea <orbea <AT> riseup.net>

 .../qtbase/files/qtbase-6.5.0-CVE-2023-32762.patch | 54 ++++++++++++++++++++++
 ...base-6.5.0-r1.ebuild => qtbase-6.5.0-r2.ebuild} |  1 +
 2 files changed, 55 insertions(+)

diff --git a/dev-qt/qtbase/files/qtbase-6.5.0-CVE-2023-32762.patch b/dev-qt/qtbase/files/qtbase-6.5.0-CVE-2023-32762.patch
new file mode 100644
index 0000000..3574706
--- /dev/null
+++ b/dev-qt/qtbase/files/qtbase-6.5.0-CVE-2023-32762.patch
@@ -0,0 +1,54 @@
+From eae7c36d681acfb82572b56e24bbb2cd42242e57 Mon Sep 17 00:00:00 2001
+From: =?utf8?q?M=C3=A5rten=20Nordheim?= <marten.nordheim@qt.io>
+Date: Fri, 5 May 2023 11:07:26 +0200
+Subject: [PATCH] Hsts: match header names case insensitively
+
+Header field names are always considered to be case-insensitive.
+
+Fixes: QTBUG-113392
+Change-Id: Ifb4def4bb7f2ac070416cdc76581a769f1e52b43
+Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
+Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
+Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
+(cherry picked from commit 1b736a815be0222f4b24289cf17575fc15707305)
+Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
+---
+ src/network/access/qhsts.cpp                 | 4 ++--
+ tests/auto/network/access/hsts/tst_qhsts.cpp | 6 ++++++
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/src/network/access/qhsts.cpp b/src/network/access/qhsts.cpp
+index 39905f354807..82deede17298 100644
+--- a/src/network/access/qhsts.cpp
++++ b/src/network/access/qhsts.cpp
+@@ -327,8 +327,8 @@ quoted-pair    = "\" CHAR
+ bool QHstsHeaderParser::parse(const QList<QPair<QByteArray, QByteArray>> &headers)
+ {
+     for (const auto &h : headers) {
+-        // We use '==' since header name was already 'trimmed' for us:
+-        if (h.first == "Strict-Transport-Security") {
++        // We compare directly because header name was already 'trimmed' for us:
++        if (h.first.compare("Strict-Transport-Security", Qt::CaseInsensitive) == 0) {
+             header = h.second;
+             // RFC6797, 8.1:
+             //
+diff --git a/tests/auto/network/access/hsts/tst_qhsts.cpp b/tests/auto/network/access/hsts/tst_qhsts.cpp
+index 252f5e8f5792..97a2d2889e57 100644
+--- a/tests/auto/network/access/hsts/tst_qhsts.cpp
++++ b/tests/auto/network/access/hsts/tst_qhsts.cpp
+@@ -216,6 +216,12 @@ void tst_QHsts::testSTSHeaderParser()
+     QVERIFY(parser.expirationDate() > QDateTime::currentDateTimeUtc());
+     QVERIFY(parser.includeSubDomains());
+ 
++    list.pop_back();
++    list << Header("strict-transport-security", "includeSubDomains;max-age=1000");
++    QVERIFY(parser.parse(list));
++    QVERIFY(parser.expirationDate() > QDateTime::currentDateTimeUtc());
++    QVERIFY(parser.includeSubDomains());
++
+     list.pop_back();
+     // Invalid (includeSubDomains twice):
+     list << Header("Strict-Transport-Security", "max-age = 1000 ; includeSubDomains;includeSubDomains");
+-- 
+2.16.3
+

diff --git a/dev-qt/qtbase/qtbase-6.5.0-r1.ebuild b/dev-qt/qtbase/qtbase-6.5.0-r2.ebuild
similarity index 99%
rename from dev-qt/qtbase/qtbase-6.5.0-r1.ebuild
rename to dev-qt/qtbase/qtbase-6.5.0-r2.ebuild
index e3c6abe..08f45a6 100644
--- a/dev-qt/qtbase/qtbase-6.5.0-r1.ebuild
+++ b/dev-qt/qtbase/qtbase-6.5.0-r2.ebuild
@@ -106,6 +106,7 @@ RDEPEND="${DEPEND}"
 PATCHES=(
 	"${FILESDIR}/${PN}-6.5.0-libressl.patch"
 	"${FILESDIR}/${PN}-6.5.0-setActiveWindow-deprecated-version.patch"
+	"${FILESDIR}/${PN}-6.5.0-CVE-2023-32762.patch"
 )
 
 src_configure() {


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [gentoo-commits] repo/proj/libressl:master commit in: dev-qt/qtbase/files/, dev-qt/qtbase/
@ 2023-07-21 20:56 orbea
  0 siblings, 0 replies; 15+ messages in thread
From: orbea @ 2023-07-21 20:56 UTC (permalink / raw
  To: gentoo-commits

commit:     fbbe6f58b487453ab7f68a80e439249e4395bc9c
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Fri Jul 21 20:46:09 2023 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Fri Jul 21 20:46:09 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=fbbe6f58

dev-qt/qtbase: add 6.5.2

Signed-off-by: orbea <orbea <AT> riseup.net>

 dev-qt/qtbase/Manifest                             |   1 +
 .../qtbase/files/qtbase-6.5.2-CVE-2023-38197.patch | 404 +++++++++++++++++++++
 dev-qt/qtbase/qtbase-6.5.2.ebuild                  | 196 ++++++++++
 3 files changed, 601 insertions(+)

diff --git a/dev-qt/qtbase/Manifest b/dev-qt/qtbase/Manifest
index 3c5bf4d..f18d34b 100644
--- a/dev-qt/qtbase/Manifest
+++ b/dev-qt/qtbase/Manifest
@@ -1 +1,2 @@
 DIST qtbase-everywhere-src-6.5.1.tar.xz 48287392 BLAKE2B 47872492f21a936d980891c28df61591380bc236adc66b57a90fbb87dd292cdeb3c632fb1159231ba40142d25e02944e4c5e8568153f1286e0a1abc8c5b26699 SHA512 7f7b20bbc25cda65266d6067cdd68e3e077636988d67dbf5783f79a61186135fb3a36d57ac72cfe4501012035b630ab1f5849148e4817726d4f459fa1937e91a
+DIST qtbase-everywhere-src-6.5.2.tar.xz 48410716 BLAKE2B 578c69ede6f45a8b21cba0a24674d5d8801722503d13ab9578b06b2446ce15e6a84bcdbd0c5d2c9aa868ec70862f0845406c959ed79b695f82bb398ecf299c63 SHA512 8d97029aae5b73a3e03624c9a8495dbf2fe54a4f5e992071c06f3d93935e64c80f2121b33eeb60a92d96ceb288cb25d74906a5bf47b45bb018d859d4a2d13f20

diff --git a/dev-qt/qtbase/files/qtbase-6.5.2-CVE-2023-38197.patch b/dev-qt/qtbase/files/qtbase-6.5.2-CVE-2023-38197.patch
new file mode 100644
index 0000000..220e94d
--- /dev/null
+++ b/dev-qt/qtbase/files/qtbase-6.5.2-CVE-2023-38197.patch
@@ -0,0 +1,404 @@
+Upstream: https://codereview.qt-project.org/c/qt/qtbase/+/490550
+Upstream: https://lists.qt-project.org/pipermail/development/2023-July/044166.html
+
+From c216c3d9859a20b3aeec985512e89316423fc3a8 Mon Sep 17 00:00:00 2001
+From: Axel Spoerl <axel.spoerl@qt.io>
+Date: Fri, 30 Jun 2023 12:43:59 +0200
+Subject: [PATCH] QXmlStreamReader: Raise error on unexpected tokens
+
+QXmlStreamReader accepted multiple DOCTYPE elements, containing DTD
+fragments in the XML prolog, and in the XML body.
+Well-formed but invalid XML files - with multiple DTD fragments in
+prolog and body, combined with recursive entity expansions - have
+caused infinite loops in QXmlStreamReader.
+
+This patch implements a token check in QXmlStreamReader.
+A stream is allowed to start with an XML prolog. StartDocument
+and DOCTYPE elements are only allowed in this prolog, which
+may also contain ProcessingInstruction and Comment elements.
+As soon as anything else is seen, the prolog ends.
+After that, the prolog-specific elements are treated as unexpected.
+Furthermore, the prolog can contain at most one DOCTYPE element.
+
+Update the documentation to reflect the new behavior.
+Add an autotest that checks the new error cases are correctly detected,
+and no error is raised for legitimate input.
+
+The original OSS-Fuzz files (see bug reports) are not included in this
+patch for file size reasons. They have been tested manually. Each of
+them has more than one DOCTYPE element, causing infinite loops in
+recursive entity expansions. The newly implemented functionality
+detects those invalid DTD fragments. By raising an error, it aborts
+stream reading before an infinite loop occurs.
+
+Thanks to OSS-Fuzz for finding this.
+
+Fixes: QTBUG-92113
+Fixes: QTBUG-95188
+Change-Id: I0a082b9188b2eee50b396c4d5b1c9e1fd237bbdd
+Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
+(cherry picked from commit c4301be7d5f94852e1b17f2c2989d5ca807855d4)
+---
+ src/corelib/serialization/qxmlstream.cpp           | 145 +++++++++++++++++++--
+ src/corelib/serialization/qxmlstream_p.h           |  11 ++
+ .../qxmlstream/tokenError/dtdInBody.xml            |  20 +++
+ .../qxmlstream/tokenError/multipleDtd.xml          |  20 +++
+ .../qxmlstream/tokenError/wellFormed.xml           |  15 +++
+ .../serialization/qxmlstream/tst_qxmlstream.cpp    |  39 ++++++
+ 6 files changed, 242 insertions(+), 8 deletions(-)
+ create mode 100644 tests/auto/corelib/serialization/qxmlstream/tokenError/dtdInBody.xml
+ create mode 100644 tests/auto/corelib/serialization/qxmlstream/tokenError/multipleDtd.xml
+ create mode 100644 tests/auto/corelib/serialization/qxmlstream/tokenError/wellFormed.xml
+
+diff --git a/src/corelib/serialization/qxmlstream.cpp b/src/corelib/serialization/qxmlstream.cpp
+index 6e34d4da6e5a..cf46d690f122 100644
+--- a/src/corelib/serialization/qxmlstream.cpp
++++ b/src/corelib/serialization/qxmlstream.cpp
+@@ -185,7 +185,7 @@ WRAP(indexOf, QLatin1StringView)
+     addData() or by waiting for it to arrive on the device().
+ 
+     \value UnexpectedElementError The parser encountered an element
+-    that was different to those it expected.
++    or token that was different to those it expected.
+ 
+ */
+ 
+@@ -322,13 +322,34 @@ QXmlStreamEntityResolver *QXmlStreamReader::entityResolver() const
+ 
+   QXmlStreamReader is a well-formed XML 1.0 parser that does \e not
+   include external parsed entities. As long as no error occurs, the
+-  application code can thus be assured that the data provided by the
+-  stream reader satisfies the W3C's criteria for well-formed XML. For
+-  example, you can be certain that all tags are indeed nested and
+-  closed properly, that references to internal entities have been
+-  replaced with the correct replacement text, and that attributes have
+-  been normalized or added according to the internal subset of the
+-  DTD.
++  application code can thus be assured, that
++  \list
++  \li the data provided by the stream reader satisfies the W3C's
++      criteria for well-formed XML,
++  \li tokens are provided in a valid order.
++  \endlist
++
++  Unless QXmlStreamReader raises an error, it guarantees the following:
++  \list
++  \li All tags are nested and closed properly.
++  \li References to internal entities have been replaced with the
++      correct replacement text.
++  \li Attributes have been normalized or added according to the
++      internal subset of the \l DTD.
++  \li Tokens of type \l StartDocument happen before all others,
++      aside from comments and processing instructions.
++  \li At most one DOCTYPE element (a token of type \l DTD) is present.
++  \li If present, the DOCTYPE appears before all other elements,
++      aside from StartDocument, comments and processing instructions.
++  \endlist
++
++  In particular, once any token of type \l StartElement, \l EndElement,
++  \l Characters, \l EntityReference or \l EndDocument is seen, no
++  tokens of type StartDocument or DTD will be seen. If one is present in
++  the input stream, out of order, an error is raised.
++
++  \note The token types \l Comment and \l ProcessingInstruction may appear
++  anywhere in the stream.
+ 
+   If an error occurs while parsing, atEnd() and hasError() return
+   true, and error() returns the error that occurred. The functions
+@@ -659,6 +680,7 @@ QXmlStreamReader::TokenType QXmlStreamReader::readNext()
+         d->token = -1;
+         return readNext();
+     }
++    d->checkToken();
+     return d->type;
+ }
+ 
+@@ -743,6 +765,11 @@ static constexpr auto QXmlStreamReader_tokenTypeString = qOffsetStringArray(
+     "ProcessingInstruction"
+ );
+ 
++static constexpr auto QXmlStreamReader_XmlContextString = qOffsetStringArray(
++    "Prolog",
++    "Body"
++);
++
+ /*!
+     \property  QXmlStreamReader::namespaceProcessing
+     \brief the namespace-processing flag of the stream reader.
+@@ -777,6 +804,15 @@ QString QXmlStreamReader::tokenString() const
+     return QLatin1StringView(QXmlStreamReader_tokenTypeString.at(d->type));
+ }
+ 
++/*!
++   \internal
++   \return \param loc (Prolog/Body) as a string.
++ */
++static constexpr QLatin1StringView contextString(QXmlStreamReaderPrivate::XmlContext ctxt)
++{
++    return QLatin1StringView(QXmlStreamReader_XmlContextString.at(static_cast<int>(ctxt)));
++}
++
+ #endif // QT_NO_XMLSTREAMREADER
+ 
+ QXmlStreamPrivateTagStack::QXmlStreamPrivateTagStack()
+@@ -864,6 +900,8 @@ void QXmlStreamReaderPrivate::init()
+ 
+     type = QXmlStreamReader::NoToken;
+     error = QXmlStreamReader::NoError;
++    currentContext = XmlContext::Prolog;
++    foundDTD = false;
+ }
+ 
+ /*
+@@ -3838,6 +3876,97 @@ void QXmlStreamWriter::writeCurrentToken(const QXmlStreamReader &reader)
+     }
+ }
+ 
++static constexpr bool isTokenAllowedInContext(QXmlStreamReader::TokenType type,
++                                               QXmlStreamReaderPrivate::XmlContext loc)
++{
++    switch (type) {
++    case QXmlStreamReader::StartDocument:
++    case QXmlStreamReader::DTD:
++        return loc == QXmlStreamReaderPrivate::XmlContext::Prolog;
++
++    case QXmlStreamReader::StartElement:
++    case QXmlStreamReader::EndElement:
++    case QXmlStreamReader::Characters:
++    case QXmlStreamReader::EntityReference:
++    case QXmlStreamReader::EndDocument:
++        return loc == QXmlStreamReaderPrivate::XmlContext::Body;
++
++    case QXmlStreamReader::Comment:
++    case QXmlStreamReader::ProcessingInstruction:
++        return true;
++
++    case QXmlStreamReader::NoToken:
++    case QXmlStreamReader::Invalid:
++        return false;
++    }
++
++    // GCC 8.x does not treat __builtin_unreachable() as constexpr
++#if !defined(Q_CC_GNU_ONLY) || (Q_CC_GNU >= 900)
++    Q_UNREACHABLE_RETURN(false);
++#else
++    return false;
++#endif
++}
++
++/*!
++   \internal
++   \brief QXmlStreamReader::isValidToken
++   \return \c true if \param type is a valid token type.
++   \return \c false if \param type is an unexpected token,
++   which indicates a non-well-formed or invalid XML stream.
++ */
++bool QXmlStreamReaderPrivate::isValidToken(QXmlStreamReader::TokenType type)
++{
++    // Don't change currentContext, if Invalid or NoToken occur in the prolog
++    if (type == QXmlStreamReader::Invalid || type == QXmlStreamReader::NoToken)
++        return false;
++
++    // If a token type gets rejected in the body, there is no recovery
++    const bool result = isTokenAllowedInContext(type, currentContext);
++    if (result || currentContext == XmlContext::Body)
++        return result;
++
++    // First non-Prolog token observed => switch context to body and check again.
++    currentContext = XmlContext::Body;
++    return isTokenAllowedInContext(type, currentContext);
++}
++
++/*!
++   \internal
++   Checks token type and raises an error, if it is invalid
++   in the current context (prolog/body).
++ */
++void QXmlStreamReaderPrivate::checkToken()
++{
++    Q_Q(QXmlStreamReader);
++
++    // The token type must be consumed, to keep track if the body has been reached.
++    const XmlContext context = currentContext;
++    const bool ok = isValidToken(type);
++
++    // Do nothing if an error has been raised already (going along with an unexpected token)
++    if (error != QXmlStreamReader::Error::NoError)
++        return;
++
++    if (!ok) {
++        raiseError(QXmlStreamReader::UnexpectedElementError,
++                   QObject::tr("Unexpected token type %1 in %2.")
++                   .arg(q->tokenString(), contextString(context)));
++        return;
++    }
++
++    if (type != QXmlStreamReader::DTD)
++        return;
++
++    // Raise error on multiple DTD tokens
++    if (foundDTD) {
++        raiseError(QXmlStreamReader::UnexpectedElementError,
++                   QObject::tr("Found second DTD token in %1.").arg(contextString(context)));
++    } else {
++        foundDTD = true;
++    }
++}
++
+ /*!
+  \fn bool QXmlStreamAttributes::hasAttribute(QAnyStringView qualifiedName) const
+ 
+diff --git a/src/corelib/serialization/qxmlstream_p.h b/src/corelib/serialization/qxmlstream_p.h
+index 070424a9f523..f09adaa37e66 100644
+--- a/src/corelib/serialization/qxmlstream_p.h
++++ b/src/corelib/serialization/qxmlstream_p.h
+@@ -297,6 +297,17 @@ public:
+     QStringDecoder decoder;
+     bool atEnd;
+ 
++    enum class XmlContext
++    {
++        Prolog,
++        Body,
++    };
++
++    XmlContext currentContext = XmlContext::Prolog;
++    bool foundDTD = false;
++    bool isValidToken(QXmlStreamReader::TokenType type);
++    void checkToken();
++
+     /*!
+       \sa setType()
+      */
+diff --git a/tests/auto/corelib/serialization/qxmlstream/tokenError/dtdInBody.xml b/tests/auto/corelib/serialization/qxmlstream/tokenError/dtdInBody.xml
+new file mode 100644
+index 000000000000..1c3ca4e2711f
+--- /dev/null
++++ b/tests/auto/corelib/serialization/qxmlstream/tokenError/dtdInBody.xml
+@@ -0,0 +1,20 @@
++<!DOCTYPE TEST [
++   <!ELEMENT TESTATTRIBUTE (CASE+)>
++   <!ELEMENT CASE (CLASS, FUNCTION)>
++   <!ELEMENT CLASS (#PCDATA)>
++
++   <!-- adding random ENTITY statement, as this is typical DTD content -->
++   <!ENTITY unite "&#x222a;">
++
++   <!ATTLIST CASE CLASS CDATA #REQUIRED>
++]>
++<TEST>
++  <CASE>
++    <CLASS>tst_QXmlStream</CLASS>
++  </CASE>
++  <!-- invalid DTD in XML body follows -->
++  <!DOCTYPE DTDTEST [
++    <!ELEMENT RESULT (CASE+)>
++    <!ATTLIST RESULT OUTPUT CDATA #REQUIRED>
++  ]>
++</TEST>
+diff --git a/tests/auto/corelib/serialization/qxmlstream/tokenError/multipleDtd.xml b/tests/auto/corelib/serialization/qxmlstream/tokenError/multipleDtd.xml
+new file mode 100644
+index 000000000000..cd398c0f9fde
+--- /dev/null
++++ b/tests/auto/corelib/serialization/qxmlstream/tokenError/multipleDtd.xml
+@@ -0,0 +1,20 @@
++<!DOCTYPE TEST [
++   <!ELEMENT TESTATTRIBUTE (CASE+)>
++   <!ELEMENT CASE (CLASS, FUNCTION, DATASET, COMMENTS)>
++   <!ELEMENT CLASS (#PCDATA)>
++
++   <!-- adding random ENTITY statements, as this is typical DTD content -->
++   <!ENTITY iff "&hArr;">
++
++   <!ATTLIST CASE CLASS CDATA #REQUIRED>
++]>
++<!-- invalid second DTD follows -->
++<!DOCTYPE SECOND [
++   <!ELEMENT SECONDATTRIBUTE (#PCDATA)>
++   <!ENTITY on "&#8728;">
++]>
++<TEST>
++  <CASE>
++    <CLASS>tst_QXmlStream</CLASS>
++  </CASE>
++</TEST>
+diff --git a/tests/auto/corelib/serialization/qxmlstream/tokenError/wellFormed.xml b/tests/auto/corelib/serialization/qxmlstream/tokenError/wellFormed.xml
+new file mode 100644
+index 000000000000..1b61a3f06225
+--- /dev/null
++++ b/tests/auto/corelib/serialization/qxmlstream/tokenError/wellFormed.xml
+@@ -0,0 +1,15 @@
++<!DOCTYPE TEST [
++   <!ELEMENT TESTATTRIBUTE (CASE+)>
++   <!ELEMENT CASE (CLASS, FUNCTION, DATASET, COMMENTS)>
++   <!ELEMENT CLASS (#PCDATA)>
++
++   <!-- adding random ENTITY statements, as this is typical DTD content -->
++   <!ENTITY unite "&#x222a;">
++
++   <!ATTLIST CASE CLASS CDATA #REQUIRED>
++]>
++<TEST>
++  <CASE>
++    <CLASS>tst_QXmlStream</CLASS>
++  </CASE>
++</TEST>
+diff --git a/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp b/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp
+index 2a340e11bff5..30f54999e7c8 100644
+--- a/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp
++++ b/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp
+@@ -590,6 +590,9 @@ private slots:
+ 
+     void entityExpansionLimit() const;
+ 
++    void tokenErrorHandling_data() const;
++    void tokenErrorHandling() const;
++
+ private:
+     static QByteArray readFile(const QString &filename);
+ 
+@@ -1855,5 +1858,41 @@ void tst_QXmlStream::test_fastScanName() const
+     QCOMPARE(reader.error(), errorType);
+ }
+ 
++void tst_QXmlStream::tokenErrorHandling_data() const
++{
++    QTest::addColumn<QString>("fileName");
++    QTest::addColumn<QXmlStreamReader::Error>("expectedError");
++    QTest::addColumn<QString>("errorKeyWord");
++
++    constexpr auto invalid = QXmlStreamReader::Error::UnexpectedElementError;
++    constexpr auto valid = QXmlStreamReader::Error::NoError;
++    QTest::newRow("DtdInBody") << "dtdInBody.xml" << invalid << "DTD";
++    QTest::newRow("multipleDTD") << "multipleDtd.xml" << invalid << "second DTD";
++    QTest::newRow("wellFormed") << "wellFormed.xml" << valid << "";
++}
++
++void tst_QXmlStream::tokenErrorHandling() const
++{
++    QFETCH(const QString, fileName);
++    QFETCH(const QXmlStreamReader::Error, expectedError);
++    QFETCH(const QString, errorKeyWord);
++
++    const QDir dir(QFINDTESTDATA("tokenError"));
++    QFile file(dir.absoluteFilePath(fileName));
++
++    // Cross-compiling: File will be on host only
++    if (!file.exists())
++        QSKIP("Testfile not found.");
++
++    file.open(QIODevice::ReadOnly);
++    QXmlStreamReader reader(&file);
++    while (!reader.atEnd())
++        reader.readNext();
++
++    QCOMPARE(reader.error(), expectedError);
++    if (expectedError != QXmlStreamReader::Error::NoError)
++        QVERIFY(reader.errorString().contains(errorKeyWord));
++}
++
+ #include "tst_qxmlstream.moc"
+ // vim: et:ts=4:sw=4:sts=4
+-- 
+2.16.3
+

diff --git a/dev-qt/qtbase/qtbase-6.5.2.ebuild b/dev-qt/qtbase/qtbase-6.5.2.ebuild
new file mode 100644
index 0000000..6ce1c77
--- /dev/null
+++ b/dev-qt/qtbase/qtbase-6.5.2.ebuild
@@ -0,0 +1,196 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit qt6-build
+
+DESCRIPTION="Cross-platform application development framework"
+
+if [[ ${QT6_BUILD_TYPE} == release ]]; then
+	KEYWORDS="~amd64"
+fi
+
+# Qt Modules
+IUSE="+concurrent +dbus +gui +network +sql opengl +widgets +xml zstd"
+REQUIRED_USE="
+	opengl? ( gui )
+	widgets? ( gui )
+	X? ( || ( evdev libinput ) )
+"
+
+QTGUI_IUSE="accessibility egl eglfs evdev gles2-only +jpeg +libinput tslib tuio vulkan +X"
+QTNETWORK_IUSE="brotli gssapi libproxy sctp +ssl vnc"
+QTSQL_IUSE="freetds mysql oci8 odbc postgres +sqlite"
+IUSE+=" ${QTGUI_IUSE} ${QTNETWORK_IUSE} ${QTSQL_IUSE} cups gtk icu systemd +udev wayland"
+# QtPrintSupport = QtGui + QtWidgets enabled.
+# ibus = xkbcommon + dbus, and xkbcommon needs either libinput or X
+REQUIRED_USE+="
+	$(printf '%s? ( gui ) ' ${QTGUI_IUSE//+/})
+	$(printf '%s? ( network ) ' ${QTNETWORK_IUSE//+/})
+	$(printf '%s? ( sql ) ' ${QTSQL_IUSE//+/})
+	accessibility? ( dbus X )
+	cups? ( gui widgets )
+	eglfs? ( egl )
+	gtk? ( widgets )
+	gui? ( || ( eglfs X ) || ( libinput X ) )
+	libinput? ( udev )
+	sql? ( || ( freetds mysql oci8 odbc postgres sqlite ) )
+	vnc? ( gui )
+	X? ( gles2-only? ( egl ) )
+"
+
+# TODO:
+# qtimageformats: mng not done yet, qtimageformats.git upstream commit 9443239c
+# qtnetwork: connman, networkmanager
+DEPEND="
+	app-crypt/libb2
+	dev-libs/double-conversion:=
+	dev-libs/glib:2
+	dev-libs/libpcre2:=[pcre16,unicode]
+	dev-util/gtk-update-icon-cache
+	media-libs/fontconfig
+	>=media-libs/freetype-2.6.1:2
+	>=media-libs/harfbuzz-1.6.0:=
+	media-libs/tiff:=
+	>=sys-apps/dbus-1.4.20
+	sys-libs/zlib:=
+	brotli? ( app-arch/brotli:= )
+	evdev? ( sys-libs/mtdev )
+	freetds? ( dev-db/freetds )
+	gles2-only? ( media-libs/libglvnd )
+	!gles2-only? ( media-libs/libglvnd[X] )
+	gssapi? ( virtual/krb5 )
+	gtk? (
+		x11-libs/gtk+:3
+		x11-libs/libX11
+		x11-libs/pango
+	)
+	gui? ( media-libs/libpng:= )
+	icu? ( dev-libs/icu:= )
+	!icu? ( virtual/libiconv )
+	jpeg? ( media-libs/libjpeg-turbo:= )
+	libinput? (
+		dev-libs/libinput:=
+		>=x11-libs/libxkbcommon-0.5.0
+	)
+	libproxy? ( net-libs/libproxy )
+	mysql? ( dev-db/mysql-connector-c:= )
+	oci8? ( dev-db/oracle-instantclient:=[sdk] )
+	odbc? ( dev-db/unixODBC )
+	postgres? ( dev-db/postgresql:* )
+	sctp? ( kernel_linux? ( net-misc/lksctp-tools ) )
+	sqlite? ( dev-db/sqlite:3 )
+	ssl? ( dev-libs/openssl:= )
+	systemd? ( sys-apps/systemd:= )
+	tslib? ( >=x11-libs/tslib-1.21 )
+	udev? ( virtual/libudev:= )
+	vulkan? ( dev-util/vulkan-headers )
+	X? (
+		x11-libs/libdrm
+		x11-libs/libICE
+		x11-libs/libSM
+		x11-libs/libX11
+		>=x11-libs/libxcb-1.12:=
+		>=x11-libs/libxkbcommon-0.5.0[X]
+		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
+	)
+	zstd? ( app-arch/zstd:= )
+"
+RDEPEND="${DEPEND}"
+PDEPEND="wayland? ( =dev-qt/qtwayland-${PV}* )"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-6.5.0-libressl.patch"
+	"${FILESDIR}/${PN}-6.5.2-CVE-2023-38197.patch"
+)
+
+src_configure() {
+	local mycmakeargs=(
+		-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_ARCHDATADIR}/mkspecs
+		-DINSTALL_PLUGINSDIR=${QT6_PLUGINDIR}
+		-DINSTALL_QMLDIR=${QT6_QMLDIR}
+		-DINSTALL_SYSCONFDIR=${QT6_SYSCONFDIR}
+		-DINSTALL_TRANSLATIONSDIR=${QT6_TRANSLATIONDIR}
+		-DQT_FEATURE_androiddeployqt=OFF
+		$(qt_feature concurrent)
+		$(qt_feature dbus)
+		$(qt_feature gui)
+		$(qt_feature gui testlib)
+		$(qt_feature icu)
+		$(qt_feature network)
+		$(qt_feature sql)
+		$(qt_feature systemd journald)
+		$(qt_feature udev libudev)
+		$(qt_feature xml)
+		$(qt_feature zstd)
+	)
+	use gui && mycmakeargs+=(
+		$(qt_feature accessibility accessibility_atspi_bridge)
+		$(qt_feature egl)
+		$(qt_feature egl xcb_egl_plugin)
+		$(qt_feature eglfs eglfs_egldevice)
+		$(qt_feature eglfs eglfs_gbm)
+		$(qt_feature evdev)
+		$(qt_feature evdev mtdev)
+		-DQT_FEATURE_gif=ON
+		$(qt_feature jpeg)
+		$(qt_feature opengl)
+		$(qt_feature gles2-only opengles2)
+		$(qt_feature libinput)
+		$(qt_feature tslib)
+		$(qt_feature tuio tuiotouch)
+		$(qt_feature vulkan)
+		$(qt_feature widgets)
+		$(qt_feature X xcb)
+		$(qt_feature X xcb_xlib)
+	)
+	use widgets && mycmakeargs+=(
+		$(qt_feature cups)
+		$(qt_feature gtk gtk3)
+	)
+	if use libinput || use X; then
+		mycmakeargs+=( -DQT_FEATURE_xkbcommon=ON )
+	fi
+	use network && mycmakeargs+=(
+		$(qt_feature brotli)
+		$(qt_feature gssapi)
+		$(qt_feature libproxy)
+		$(qt_feature sctp)
+		$(qt_feature vnc)
+
+		# Required for LibreSSL
+		-DQT_FEATURE_dtls=OFF
+		$(qt_feature ssl openssl_linked)
+	)
+	use sql && mycmakeargs+=(
+		$(qt_feature freetds sql_tds)
+		$(qt_feature mysql sql_mysql)
+		$(qt_feature oci8 sql_oci)
+		$(qt_feature odbc sql_odbc)
+		$(qt_feature postgres sql_psql)
+		$(qt_feature sqlite sql_sqlite)
+		$(qt_feature sqlite system_sqlite)
+	)
+
+	qt6-build_src_configure
+}
+
+src_install() {
+	qt6-build_src_install
+
+	# https://bugs.gentoo.org/863395
+	qt6_symlink_binary_to_path qmake 6
+}


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [gentoo-commits] repo/proj/libressl:master commit in: dev-qt/qtbase/files/, dev-qt/qtbase/
@ 2023-07-26 15:23 orbea
  0 siblings, 0 replies; 15+ messages in thread
From: orbea @ 2023-07-26 15:23 UTC (permalink / raw
  To: gentoo-commits

commit:     232704864cb16d7f2f0253253b25c4ed73e5fefd
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Wed Jul 26 14:44:51 2023 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Wed Jul 26 14:44:51 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=23270486

dev-qt/qtbase: drop 6.5.1-r1

Signed-off-by: orbea <orbea <AT> riseup.net>

 dev-qt/qtbase/Manifest                             |   1 -
 .../qtbase/files/qtbase-6.5.1-CVE-2023-34410.patch |  54 ------
 dev-qt/qtbase/qtbase-6.5.1-r1.ebuild               | 196 ---------------------
 3 files changed, 251 deletions(-)

diff --git a/dev-qt/qtbase/Manifest b/dev-qt/qtbase/Manifest
index f18d34b..9476478 100644
--- a/dev-qt/qtbase/Manifest
+++ b/dev-qt/qtbase/Manifest
@@ -1,2 +1 @@
-DIST qtbase-everywhere-src-6.5.1.tar.xz 48287392 BLAKE2B 47872492f21a936d980891c28df61591380bc236adc66b57a90fbb87dd292cdeb3c632fb1159231ba40142d25e02944e4c5e8568153f1286e0a1abc8c5b26699 SHA512 7f7b20bbc25cda65266d6067cdd68e3e077636988d67dbf5783f79a61186135fb3a36d57ac72cfe4501012035b630ab1f5849148e4817726d4f459fa1937e91a
 DIST qtbase-everywhere-src-6.5.2.tar.xz 48410716 BLAKE2B 578c69ede6f45a8b21cba0a24674d5d8801722503d13ab9578b06b2446ce15e6a84bcdbd0c5d2c9aa868ec70862f0845406c959ed79b695f82bb398ecf299c63 SHA512 8d97029aae5b73a3e03624c9a8495dbf2fe54a4f5e992071c06f3d93935e64c80f2121b33eeb60a92d96ceb288cb25d74906a5bf47b45bb018d859d4a2d13f20

diff --git a/dev-qt/qtbase/files/qtbase-6.5.1-CVE-2023-34410.patch b/dev-qt/qtbase/files/qtbase-6.5.1-CVE-2023-34410.patch
deleted file mode 100644
index 6f12647..0000000
--- a/dev-qt/qtbase/files/qtbase-6.5.1-CVE-2023-34410.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From: https://lists.qt-project.org/pipermail/development/2023-June/044031.html
-
---- a/src/plugins/tls/schannel/qtls_schannel.cpp
-+++ b/src/plugins/tls/schannel/qtls_schannel.cpp
-@@ -2106,6 +2106,27 @@ bool TlsCryptographSchannel::verifyCertContext(CERT_CONTEXT *certContext)
-         verifyDepth = DWORD(q->peerVerifyDepth());
-
-     const auto &caCertificates = q->sslConfiguration().caCertificates();
-+
-+    if (!rootCertOnDemandLoadingAllowed()
-+            && !(chain->TrustStatus.dwErrorStatus & CERT_TRUST_IS_PARTIAL_CHAIN)
-+            && (q->peerVerifyMode() == QSslSocket::VerifyPeer
-+                    || (isClient && q->peerVerifyMode() == QSslSocket::AutoVerifyPeer))) {
-+        // When verifying a peer Windows "helpfully" builds a chain that
-+        // may include roots from the system store. But we don't want that if
-+        // the user has set their own CA certificates.
-+        // Since Windows claims this is not a partial chain the root is included
-+        // and we have to check that it is one of our configured CAs.
-+        CERT_CHAIN_ELEMENT *element = chain->rgpElement[chain->cElement - 1];
-+        QSslCertificate certificate = getCertificateFromChainElement(element);
-+        if (!caCertificates.contains(certificate)) {
-+            auto error = QSslError(QSslError::CertificateUntrusted, certificate);
-+            sslErrors += error;
-+            emit q->peerVerifyError(error);
-+            if (q->state() != QAbstractSocket::ConnectedState)
-+                return false;
-+        }
-+    }
-+
-     QList<QSslCertificate> peerCertificateChain;
-     for (DWORD i = 0; i < verifyDepth; i++) {
-         CERT_CHAIN_ELEMENT *element = chain->rgpElement[i];
-
---- a/src/network/ssl/qsslsocket.cpp
-+++ b/src/network/ssl/qsslsocket.cpp
-@@ -1973,6 +1973,10 @@ QSslSocketPrivate::QSslSocketPrivate()
-     , flushTriggered(false)
- {
-     QSslConfigurationPrivate::deepCopyDefaultConfiguration(&configuration);
-+    // If the global configuration doesn't allow root certificates to be loaded
-+    // on demand then we have to disable it for this socket as well.
-+    if (!configuration.allowRootCertOnDemandLoading)
-+        allowRootCertOnDemandLoading = false;
-
-     const auto *tlsBackend = tlsBackendInUse();
-     if (!tlsBackend) {
-@@ -2281,6 +2285,7 @@ void QSslConfigurationPrivate::deepCopyDefaultConfiguration(QSslConfigurationPri
-     ptr->sessionProtocol = global->sessionProtocol;
-     ptr->ciphers = global->ciphers;
-     ptr->caCertificates = global->caCertificates;
-+    ptr->allowRootCertOnDemandLoading = global->allowRootCertOnDemandLoading;
-     ptr->protocol = global->protocol;
-     ptr->peerVerifyMode = global->peerVerifyMode;
-     ptr->peerVerifyDepth = global->peerVerifyDepth;

diff --git a/dev-qt/qtbase/qtbase-6.5.1-r1.ebuild b/dev-qt/qtbase/qtbase-6.5.1-r1.ebuild
deleted file mode 100644
index fde9d03..0000000
--- a/dev-qt/qtbase/qtbase-6.5.1-r1.ebuild
+++ /dev/null
@@ -1,196 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit qt6-build
-
-DESCRIPTION="Cross-platform application development framework"
-
-if [[ ${QT6_BUILD_TYPE} == release ]]; then
-	KEYWORDS="~amd64"
-fi
-
-# Qt Modules
-IUSE="+concurrent +dbus +gui +network +sql opengl +widgets +xml zstd"
-REQUIRED_USE="
-	opengl? ( gui )
-	widgets? ( gui )
-	X? ( || ( evdev libinput ) )
-"
-
-QTGUI_IUSE="accessibility egl eglfs evdev gles2-only +jpeg +libinput tslib tuio vulkan +X"
-QTNETWORK_IUSE="brotli gssapi libproxy sctp +ssl vnc"
-QTSQL_IUSE="freetds mysql oci8 odbc postgres +sqlite"
-IUSE+=" ${QTGUI_IUSE} ${QTNETWORK_IUSE} ${QTSQL_IUSE} cups gtk icu systemd +udev wayland"
-# QtPrintSupport = QtGui + QtWidgets enabled.
-# ibus = xkbcommon + dbus, and xkbcommon needs either libinput or X
-REQUIRED_USE+="
-	$(printf '%s? ( gui ) ' ${QTGUI_IUSE//+/})
-	$(printf '%s? ( network ) ' ${QTNETWORK_IUSE//+/})
-	$(printf '%s? ( sql ) ' ${QTSQL_IUSE//+/})
-	accessibility? ( dbus X )
-	cups? ( gui widgets )
-	eglfs? ( egl )
-	gtk? ( widgets )
-	gui? ( || ( eglfs X ) || ( libinput X ) )
-	libinput? ( udev )
-	sql? ( || ( freetds mysql oci8 odbc postgres sqlite ) )
-	vnc? ( gui )
-	X? ( gles2-only? ( egl ) )
-"
-
-# TODO:
-# qtimageformats: mng not done yet, qtimageformats.git upstream commit 9443239c
-# qtnetwork: connman, networkmanager
-DEPEND="
-	app-crypt/libb2
-	dev-libs/double-conversion:=
-	dev-libs/glib:2
-	dev-libs/libpcre2:=[pcre16,unicode]
-	dev-util/gtk-update-icon-cache
-	media-libs/fontconfig
-	>=media-libs/freetype-2.6.1:2
-	>=media-libs/harfbuzz-1.6.0:=
-	media-libs/tiff:=
-	>=sys-apps/dbus-1.4.20
-	sys-libs/zlib:=
-	brotli? ( app-arch/brotli:= )
-	evdev? ( sys-libs/mtdev )
-	freetds? ( dev-db/freetds )
-	gles2-only? ( media-libs/libglvnd )
-	!gles2-only? ( media-libs/libglvnd[X] )
-	gssapi? ( virtual/krb5 )
-	gtk? (
-		x11-libs/gtk+:3
-		x11-libs/libX11
-		x11-libs/pango
-	)
-	gui? ( media-libs/libpng:= )
-	icu? ( dev-libs/icu:= )
-	!icu? ( virtual/libiconv )
-	jpeg? ( media-libs/libjpeg-turbo:= )
-	libinput? (
-		dev-libs/libinput:=
-		>=x11-libs/libxkbcommon-0.5.0
-	)
-	libproxy? ( net-libs/libproxy )
-	mysql? ( dev-db/mysql-connector-c:= )
-	oci8? ( dev-db/oracle-instantclient:=[sdk] )
-	odbc? ( dev-db/unixODBC )
-	postgres? ( dev-db/postgresql:* )
-	sctp? ( kernel_linux? ( net-misc/lksctp-tools ) )
-	sqlite? ( dev-db/sqlite:3 )
-	ssl? ( dev-libs/openssl:= )
-	systemd? ( sys-apps/systemd:= )
-	tslib? ( >=x11-libs/tslib-1.21 )
-	udev? ( virtual/libudev:= )
-	vulkan? ( dev-util/vulkan-headers )
-	X? (
-		x11-libs/libdrm
-		x11-libs/libICE
-		x11-libs/libSM
-		x11-libs/libX11
-		>=x11-libs/libxcb-1.12:=
-		>=x11-libs/libxkbcommon-0.5.0[X]
-		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
-	)
-	zstd? ( app-arch/zstd:= )
-"
-RDEPEND="${DEPEND}"
-PDEPEND="wayland? ( =dev-qt/qtwayland-${PV}* )"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-6.5.0-libressl.patch"
-	"${FILESDIR}/${PN}-6.5.1-CVE-2023-34410.patch"
-)
-
-src_configure() {
-	local mycmakeargs=(
-		-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_ARCHDATADIR}/mkspecs
-		-DINSTALL_PLUGINSDIR=${QT6_PLUGINDIR}
-		-DINSTALL_QMLDIR=${QT6_QMLDIR}
-		-DINSTALL_SYSCONFDIR=${QT6_SYSCONFDIR}
-		-DINSTALL_TRANSLATIONSDIR=${QT6_TRANSLATIONDIR}
-		-DQT_FEATURE_androiddeployqt=OFF
-		$(qt_feature concurrent)
-		$(qt_feature dbus)
-		$(qt_feature gui)
-		$(qt_feature gui testlib)
-		$(qt_feature icu)
-		$(qt_feature network)
-		$(qt_feature sql)
-		$(qt_feature systemd journald)
-		$(qt_feature udev libudev)
-		$(qt_feature xml)
-		$(qt_feature zstd)
-	)
-	use gui && mycmakeargs+=(
-		$(qt_feature accessibility accessibility_atspi_bridge)
-		$(qt_feature egl)
-		$(qt_feature egl xcb_egl_plugin)
-		$(qt_feature eglfs eglfs_egldevice)
-		$(qt_feature eglfs eglfs_gbm)
-		$(qt_feature evdev)
-		$(qt_feature evdev mtdev)
-		-DQT_FEATURE_gif=ON
-		$(qt_feature jpeg)
-		$(qt_feature opengl)
-		$(qt_feature gles2-only opengles2)
-		$(qt_feature libinput)
-		$(qt_feature tslib)
-		$(qt_feature tuio tuiotouch)
-		$(qt_feature vulkan)
-		$(qt_feature widgets)
-		$(qt_feature X xcb)
-		$(qt_feature X xcb_xlib)
-	)
-	use widgets && mycmakeargs+=(
-		$(qt_feature cups)
-		$(qt_feature gtk gtk3)
-	)
-	if use libinput || use X; then
-		mycmakeargs+=( -DQT_FEATURE_xkbcommon=ON )
-	fi
-	use network && mycmakeargs+=(
-		$(qt_feature brotli)
-		$(qt_feature gssapi)
-		$(qt_feature libproxy)
-		$(qt_feature sctp)
-		$(qt_feature vnc)
-
-		# Required for LibreSSL
-		-DQT_FEATURE_dtls=OFF
-		$(qt_feature ssl openssl_linked)
-	)
-	use sql && mycmakeargs+=(
-		$(qt_feature freetds sql_tds)
-		$(qt_feature mysql sql_mysql)
-		$(qt_feature oci8 sql_oci)
-		$(qt_feature odbc sql_odbc)
-		$(qt_feature postgres sql_psql)
-		$(qt_feature sqlite sql_sqlite)
-		$(qt_feature sqlite system_sqlite)
-	)
-
-	qt6-build_src_configure
-}
-
-src_install() {
-	qt6-build_src_install
-
-	# https://bugs.gentoo.org/863395
-	qt6_symlink_binary_to_path qmake 6
-}


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [gentoo-commits] repo/proj/libressl:master commit in: dev-qt/qtbase/files/, dev-qt/qtbase/
@ 2023-09-06 18:11 orbea
  0 siblings, 0 replies; 15+ messages in thread
From: orbea @ 2023-09-06 18:11 UTC (permalink / raw
  To: gentoo-commits

commit:     2239c79daced0d97373e4811db08426d13a07c83
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Wed Sep  6 18:10:16 2023 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Wed Sep  6 18:10:16 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=2239c79d

dev-qt/qtbase: add 6.5.2-r1, drop 6.5.2

Signed-off-by: orbea <orbea <AT> riseup.net>

 dev-qt/qtbase/files/qtbase-6.5.2-tests-gcc13.patch |  25 ++
 dev-qt/qtbase/metadata.xml                         |   3 +-
 dev-qt/qtbase/qtbase-6.5.2-r1.ebuild               | 335 +++++++++++++++++++++
 dev-qt/qtbase/qtbase-6.5.2.ebuild                  | 196 ------------
 4 files changed, 361 insertions(+), 198 deletions(-)

diff --git a/dev-qt/qtbase/files/qtbase-6.5.2-tests-gcc13.patch b/dev-qt/qtbase/files/qtbase-6.5.2-tests-gcc13.patch
new file mode 100644
index 0000000..431d89a
--- /dev/null
+++ b/dev-qt/qtbase/files/qtbase-6.5.2-tests-gcc13.patch
@@ -0,0 +1,25 @@
+https://bugreports.qt.io/browse/QTBUG-114785
+https://code.qt.io/cgit/qt/qtbase.git/commit/?id=3e801b5477a7abfe4b87f20639e345bf3dc7eca8
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sat, 29 Apr 2023 13:01:56 +0200
+Subject: [PATCH] tinycbor: fix build with gcc-13
+
+Fixes: QTBUG-114785
+Pick-to: 6.6 6.5
+Change-Id: I4876ebd8890eee883a0d1a2bef8cb7aec4fd0f2f
+Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
+--- a/src/3rdparty/tinycbor/tests/encoder/data.cpp
++++ b/src/3rdparty/tinycbor/tests/encoder/data.cpp
+@@ -239,9 +239,9 @@
+     QTest::newRow("0.f16") << raw("\xf9\0\0") << QVariant::fromValue(qfloat16(0));
+     QTest::newRow("-1.f16") << raw("\xf9\xbc\0") << QVariant::fromValue(qfloat16(-1));
+     QTest::newRow("1.5f16") << raw("\xf9\x3e\0") << QVariant::fromValue(qfloat16(1.5));
+-    QTest::newRow("nan_f16") << raw("\xf9\x7e\0") << QVariant::fromValue<qfloat16>(myNaNf());
+-    QTest::newRow("-inf_f16") << raw("\xf9\xfc\0") << QVariant::fromValue<qfloat16>(myNInff());
+-    QTest::newRow("+inf_f16") << raw("\xf9\x7c\0") << QVariant::fromValue<qfloat16>(myInff());
++    QTest::newRow("nan_f16") << raw("\xf9\x7e\0") << QVariant::fromValue<qfloat16>(qfloat16(myNaNf()));
++    QTest::newRow("-inf_f16") << raw("\xf9\xfc\0") << QVariant::fromValue<qfloat16>(qfloat16(myNInff()));
++    QTest::newRow("+inf_f16") << raw("\xf9\x7c\0") << QVariant::fromValue<qfloat16>(qfloat16(myInff()));
+ #endif
+ 
+     QTest::newRow("0.f") << raw("\xfa\0\0\0\0") << QVariant::fromValue(0.f);

diff --git a/dev-qt/qtbase/metadata.xml b/dev-qt/qtbase/metadata.xml
index d828e06..573775d 100644
--- a/dev-qt/qtbase/metadata.xml
+++ b/dev-qt/qtbase/metadata.xml
@@ -9,7 +9,6 @@
 		<flag name="brotli">Enable support for Brotli decompression</flag>
 		<flag name="concurrent">Build Qt6Concurrent module</flag>
 		<flag name="dbus">Build Qt6DBus module</flag>
-		<flag name="egl">Enable EGL integration</flag>
 		<flag name="eglfs">Build the EGL Full Screen/Single Surface platform plugin</flag>
 		<flag name="evdev">Enable support for input devices via evdev</flag>
 		<flag name="gssapi">Enable support for GSSAPI (<pkg>virtual/krb5</pkg>)</flag>
@@ -21,13 +20,13 @@
 		<flag name="sql">Build Qt6Sql module</flag>
 		<flag name="systemd">Enable native journald logging support</flag>
 		<flag name="tslib">Enable support for touchscreen devices via <pkg>x11-libs/tslib</pkg></flag>
-		<flag name="tuio">Build plugin to receive touch events over the TUIO protocol</flag>
 		<flag name="widgets">Build Qt6Widgets module</flag>
 		<flag name="X">Build the XCB platform plugin and enable X11 integration</flag>
 	</use>
 	<upstream>
 		<bugs-to>https://bugreports.qt.io/</bugs-to>
 		<doc>https://doc.qt.io/</doc>
+		<remote-id type="github">qt/qtbase</remote-id>
 	</upstream>
 	<slots>
 		<subslots>

diff --git a/dev-qt/qtbase/qtbase-6.5.2-r1.ebuild b/dev-qt/qtbase/qtbase-6.5.2-r1.ebuild
new file mode 100644
index 0000000..e0bb6d1
--- /dev/null
+++ b/dev-qt/qtbase/qtbase-6.5.2-r1.ebuild
@@ -0,0 +1,335 @@
+# 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"
+fi
+
+declare -A QT6_IUSE=(
+	[global]="+ssl +udev zstd"
+	[core]="icu systemd"
+	[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]="wayland" #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 )
+	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:= )
+	systemd? ( sys-apps/systemd:= )
+
+	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? ( 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="wayland? ( ~dev-qt/qtwayland-${PV}:6 )"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-6.5.0-libressl.patch"
+	"${FILESDIR}"/${P}-CVE-2023-38197.patch
+	"${FILESDIR}"/${P}-tests-gcc13.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=(
+		-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}"
+
+		-DQT_FEATURE_precompile_header=OFF
+		$(qt_feature ssl openssl)
+		$(qt_feature ssl openssl_linked)
+		$(qt_feature udev libudev)
+		$(qt_feature zstd)
+
+		# qtcore
+		$(qt_feature icu)
+		$(qt_feature systemd journald)
+
+		# 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 gles2-only opengles2)
+		$(qt_feature libinput)
+		$(qt_feature opengl)
+		$(usev !opengl -DINPUT_opengl=no) #913691
+		$(qt_feature tslib)
+		$(qt_feature vulkan)
+		$(qt_feature widgets)
+		-DQT_FEATURE_system_textmarkdownreader=OFF # TODO?: package md4c
+	) && use widgets && mycmakeargs+=(
+		$(qt_feature cups) # qtprintsupport is enabled w/ gui+widgets
+		$(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)
+
+		# Required for LibreSSL
+		-DQT_FEATURE_dtls=OFF
+	)
+
+	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 <x86intrin.h>
+				#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
+		# these can be flaky depending on the environment/toolchain
+		tst_qlogging # backtrace log test can easily vary
+		tst_qrawfont # can be affected by available fonts
+		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
+		# partially broken on llvm-musl, needs looking into but skip to have
+		# a baseline for regressions (like above, rest of dev-qt is fine)
+		$(usev elibc_musl '
+			tst_qfiledialog2
+			tst_qicoimageformat
+			tst_qimagereader
+			tst_qpainter
+			tst_qimage
+		')
+		# 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.5.2.ebuild b/dev-qt/qtbase/qtbase-6.5.2.ebuild
deleted file mode 100644
index 6ce1c77..0000000
--- a/dev-qt/qtbase/qtbase-6.5.2.ebuild
+++ /dev/null
@@ -1,196 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit qt6-build
-
-DESCRIPTION="Cross-platform application development framework"
-
-if [[ ${QT6_BUILD_TYPE} == release ]]; then
-	KEYWORDS="~amd64"
-fi
-
-# Qt Modules
-IUSE="+concurrent +dbus +gui +network +sql opengl +widgets +xml zstd"
-REQUIRED_USE="
-	opengl? ( gui )
-	widgets? ( gui )
-	X? ( || ( evdev libinput ) )
-"
-
-QTGUI_IUSE="accessibility egl eglfs evdev gles2-only +jpeg +libinput tslib tuio vulkan +X"
-QTNETWORK_IUSE="brotli gssapi libproxy sctp +ssl vnc"
-QTSQL_IUSE="freetds mysql oci8 odbc postgres +sqlite"
-IUSE+=" ${QTGUI_IUSE} ${QTNETWORK_IUSE} ${QTSQL_IUSE} cups gtk icu systemd +udev wayland"
-# QtPrintSupport = QtGui + QtWidgets enabled.
-# ibus = xkbcommon + dbus, and xkbcommon needs either libinput or X
-REQUIRED_USE+="
-	$(printf '%s? ( gui ) ' ${QTGUI_IUSE//+/})
-	$(printf '%s? ( network ) ' ${QTNETWORK_IUSE//+/})
-	$(printf '%s? ( sql ) ' ${QTSQL_IUSE//+/})
-	accessibility? ( dbus X )
-	cups? ( gui widgets )
-	eglfs? ( egl )
-	gtk? ( widgets )
-	gui? ( || ( eglfs X ) || ( libinput X ) )
-	libinput? ( udev )
-	sql? ( || ( freetds mysql oci8 odbc postgres sqlite ) )
-	vnc? ( gui )
-	X? ( gles2-only? ( egl ) )
-"
-
-# TODO:
-# qtimageformats: mng not done yet, qtimageformats.git upstream commit 9443239c
-# qtnetwork: connman, networkmanager
-DEPEND="
-	app-crypt/libb2
-	dev-libs/double-conversion:=
-	dev-libs/glib:2
-	dev-libs/libpcre2:=[pcre16,unicode]
-	dev-util/gtk-update-icon-cache
-	media-libs/fontconfig
-	>=media-libs/freetype-2.6.1:2
-	>=media-libs/harfbuzz-1.6.0:=
-	media-libs/tiff:=
-	>=sys-apps/dbus-1.4.20
-	sys-libs/zlib:=
-	brotli? ( app-arch/brotli:= )
-	evdev? ( sys-libs/mtdev )
-	freetds? ( dev-db/freetds )
-	gles2-only? ( media-libs/libglvnd )
-	!gles2-only? ( media-libs/libglvnd[X] )
-	gssapi? ( virtual/krb5 )
-	gtk? (
-		x11-libs/gtk+:3
-		x11-libs/libX11
-		x11-libs/pango
-	)
-	gui? ( media-libs/libpng:= )
-	icu? ( dev-libs/icu:= )
-	!icu? ( virtual/libiconv )
-	jpeg? ( media-libs/libjpeg-turbo:= )
-	libinput? (
-		dev-libs/libinput:=
-		>=x11-libs/libxkbcommon-0.5.0
-	)
-	libproxy? ( net-libs/libproxy )
-	mysql? ( dev-db/mysql-connector-c:= )
-	oci8? ( dev-db/oracle-instantclient:=[sdk] )
-	odbc? ( dev-db/unixODBC )
-	postgres? ( dev-db/postgresql:* )
-	sctp? ( kernel_linux? ( net-misc/lksctp-tools ) )
-	sqlite? ( dev-db/sqlite:3 )
-	ssl? ( dev-libs/openssl:= )
-	systemd? ( sys-apps/systemd:= )
-	tslib? ( >=x11-libs/tslib-1.21 )
-	udev? ( virtual/libudev:= )
-	vulkan? ( dev-util/vulkan-headers )
-	X? (
-		x11-libs/libdrm
-		x11-libs/libICE
-		x11-libs/libSM
-		x11-libs/libX11
-		>=x11-libs/libxcb-1.12:=
-		>=x11-libs/libxkbcommon-0.5.0[X]
-		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
-	)
-	zstd? ( app-arch/zstd:= )
-"
-RDEPEND="${DEPEND}"
-PDEPEND="wayland? ( =dev-qt/qtwayland-${PV}* )"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-6.5.0-libressl.patch"
-	"${FILESDIR}/${PN}-6.5.2-CVE-2023-38197.patch"
-)
-
-src_configure() {
-	local mycmakeargs=(
-		-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_ARCHDATADIR}/mkspecs
-		-DINSTALL_PLUGINSDIR=${QT6_PLUGINDIR}
-		-DINSTALL_QMLDIR=${QT6_QMLDIR}
-		-DINSTALL_SYSCONFDIR=${QT6_SYSCONFDIR}
-		-DINSTALL_TRANSLATIONSDIR=${QT6_TRANSLATIONDIR}
-		-DQT_FEATURE_androiddeployqt=OFF
-		$(qt_feature concurrent)
-		$(qt_feature dbus)
-		$(qt_feature gui)
-		$(qt_feature gui testlib)
-		$(qt_feature icu)
-		$(qt_feature network)
-		$(qt_feature sql)
-		$(qt_feature systemd journald)
-		$(qt_feature udev libudev)
-		$(qt_feature xml)
-		$(qt_feature zstd)
-	)
-	use gui && mycmakeargs+=(
-		$(qt_feature accessibility accessibility_atspi_bridge)
-		$(qt_feature egl)
-		$(qt_feature egl xcb_egl_plugin)
-		$(qt_feature eglfs eglfs_egldevice)
-		$(qt_feature eglfs eglfs_gbm)
-		$(qt_feature evdev)
-		$(qt_feature evdev mtdev)
-		-DQT_FEATURE_gif=ON
-		$(qt_feature jpeg)
-		$(qt_feature opengl)
-		$(qt_feature gles2-only opengles2)
-		$(qt_feature libinput)
-		$(qt_feature tslib)
-		$(qt_feature tuio tuiotouch)
-		$(qt_feature vulkan)
-		$(qt_feature widgets)
-		$(qt_feature X xcb)
-		$(qt_feature X xcb_xlib)
-	)
-	use widgets && mycmakeargs+=(
-		$(qt_feature cups)
-		$(qt_feature gtk gtk3)
-	)
-	if use libinput || use X; then
-		mycmakeargs+=( -DQT_FEATURE_xkbcommon=ON )
-	fi
-	use network && mycmakeargs+=(
-		$(qt_feature brotli)
-		$(qt_feature gssapi)
-		$(qt_feature libproxy)
-		$(qt_feature sctp)
-		$(qt_feature vnc)
-
-		# Required for LibreSSL
-		-DQT_FEATURE_dtls=OFF
-		$(qt_feature ssl openssl_linked)
-	)
-	use sql && mycmakeargs+=(
-		$(qt_feature freetds sql_tds)
-		$(qt_feature mysql sql_mysql)
-		$(qt_feature oci8 sql_oci)
-		$(qt_feature odbc sql_odbc)
-		$(qt_feature postgres sql_psql)
-		$(qt_feature sqlite sql_sqlite)
-		$(qt_feature sqlite system_sqlite)
-	)
-
-	qt6-build_src_configure
-}
-
-src_install() {
-	qt6-build_src_install
-
-	# https://bugs.gentoo.org/863395
-	qt6_symlink_binary_to_path qmake 6
-}


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [gentoo-commits] repo/proj/libressl:master commit in: dev-qt/qtbase/files/, dev-qt/qtbase/
@ 2023-09-28 16:55 orbea
  0 siblings, 0 replies; 15+ messages in thread
From: orbea @ 2023-09-28 16:55 UTC (permalink / raw
  To: gentoo-commits

commit:     8386075470cbc50e34e85629f57614aefc77fc4b
Author:     Saki Xi <space_raccoon <AT> riseup <DOT> net>
AuthorDate: Thu Sep 28 16:16:28 2023 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Thu Sep 28 16:54:31 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=83860754

dev-qt/qtbase: Update upstream sync ::gentoo

Signed-off-by: Saki Xi <space_raccoon <AT> riseup.net>
Closes: https://github.com/gentoo/libressl/pull/540
Signed-off-by: orbea <orbea <AT> riseup.net>

 dev-qt/qtbase/Manifest                             |   1 +
 .../qtbase-6.5.2-hppa-forkfd-grow-stack.patch      |  28 ++
 dev-qt/qtbase/files/qtbase-6.5.2-no-glx.patch      |  29 ++
 dev-qt/qtbase/qtbase-6.5.3.ebuild                  | 351 +++++++++++++++++++++
 4 files changed, 409 insertions(+)

diff --git a/dev-qt/qtbase/Manifest b/dev-qt/qtbase/Manifest
index 9476478..4622d92 100644
--- a/dev-qt/qtbase/Manifest
+++ b/dev-qt/qtbase/Manifest
@@ -1 +1,2 @@
 DIST qtbase-everywhere-src-6.5.2.tar.xz 48410716 BLAKE2B 578c69ede6f45a8b21cba0a24674d5d8801722503d13ab9578b06b2446ce15e6a84bcdbd0c5d2c9aa868ec70862f0845406c959ed79b695f82bb398ecf299c63 SHA512 8d97029aae5b73a3e03624c9a8495dbf2fe54a4f5e992071c06f3d93935e64c80f2121b33eeb60a92d96ceb288cb25d74906a5bf47b45bb018d859d4a2d13f20
+DIST qtbase-everywhere-src-6.5.3.tar.xz 47142456 BLAKE2B 5b4c774b7199563dc7f2aebf9b2b531d851ee49bc038212f4970eeb43a17c364710432708f82a518eee6692ab123d78b642c234d9548d5b553f689a43aa05ee6 SHA512 31c6c01d466f1e01f18d6dcee593360c08ee83ad0a6be495a8eba023faad628cf07ce7285426fabfd247db306319e9a64da329682c99a712a282e32f7493cdb9

diff --git a/dev-qt/qtbase/files/qtbase-6.5.2-hppa-forkfd-grow-stack.patch b/dev-qt/qtbase/files/qtbase-6.5.2-hppa-forkfd-grow-stack.patch
new file mode 100644
index 0000000..ccada9f
--- /dev/null
+++ b/dev-qt/qtbase/files/qtbase-6.5.2-hppa-forkfd-grow-stack.patch
@@ -0,0 +1,28 @@
+Patch taken from Debian[1], largely broken on HPPA without and several
+tests give segmentation faults[2].
+
+Needs upstreaming if someone familiar with HPPA wants to give this
+attention. Note forkfd is essentially maintained in qtbase's repo[3]
+rather than truly third party.
+
+[1] https://bugs.debian.org/1042018
+[2] https://bugs.gentoo.org/914371
+[3] https://code.qt.io/cgit/qt/qtbase.git/tree/src/3rdparty/forkfd
+
+Description: Change how stack grows on HPPA.
+ On HPPA stack grows upwards. This patch introduces this change for
+ this 3rd party code.
+Author: John David Anglin <dave.anglin@bell.net>
+--- a/src/3rdparty/forkfd/forkfd_linux.c
++++ b/src/3rdparty/forkfd/forkfd_linux.c
+@@ -170,5 +170,10 @@
+     *system = 1;
+ 
++#if defined(__hppa__)
++    /* Stack grows up */
++    pid = clone(childFn, childStack, cloneflags, token, &pidfd, NULL, NULL);
++#else
+     pid = clone(childFn, childStack + sizeof(childStack), cloneflags, token, &pidfd, NULL, NULL);
++#endif
+     if (pid < 0)
+         return pid;

diff --git a/dev-qt/qtbase/files/qtbase-6.5.2-no-glx.patch b/dev-qt/qtbase/files/qtbase-6.5.2-no-glx.patch
new file mode 100644
index 0000000..f8263d1
--- /dev/null
+++ b/dev-qt/qtbase/files/qtbase-6.5.2-no-glx.patch
@@ -0,0 +1,29 @@
+Fixes build with libglvnd[-X].
+
+https://github.com/qt/qtbase/commit/929d9a4ca5c9eb0a590479182471d0bbc81589aa
+From: Yaroslav Isakov <yaroslav.isakov@gmail.com>
+Date: Sat, 8 Jul 2023 22:09:40 +0200
+Subject: [PATCH] Allow OpenGL to be found on X11-less Linux systems (using
+ libOpenGL)
+
+Cmake supports finding OpenGL, even if there is no GLX (for glvnd) or
+old-style libGL. This change keeps old behavior, but in case, if
+X11-related OpenGL libraries cannot be found on Linux, it adds logic
+to check for (and link with) libOpenGL, if it is present.
+--- a/cmake/FindWrapOpenGL.cmake
++++ b/cmake/FindWrapOpenGL.cmake
+@@ -47,4 +47,14 @@
+         target_link_libraries(WrapOpenGL::WrapOpenGL INTERFACE OpenGL::GL)
+     endif()
++elseif(UNIX AND NOT APPLE AND NOT CMAKE_SYSTEM_NAME STREQUAL "Integrity")
++    # Requesting only the OpenGL component ensures CMake does not mark the package as
++    # not found if neither GLX nor libGL are available. This allows finding OpenGL
++    # on an X11-less Linux system.
++    find_package(OpenGL ${WrapOpenGL_FIND_VERSION} COMPONENTS OpenGL)
++    if (OpenGL_FOUND)
++        set(WrapOpenGL_FOUND ON)
++        add_library(WrapOpenGL::WrapOpenGL INTERFACE IMPORTED)
++        target_link_libraries(WrapOpenGL::WrapOpenGL INTERFACE OpenGL::OpenGL)
++    endif()
+ endif()
+ 

diff --git a/dev-qt/qtbase/qtbase-6.5.3.ebuild b/dev-qt/qtbase/qtbase-6.5.3.ebuild
new file mode 100644
index 0000000..df8f999
--- /dev/null
+++ b/dev-qt/qtbase/qtbase-6.5.3.ebuild
@@ -0,0 +1,351 @@
+# 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
+)
+
+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+=(
+		$(qt_feature cups) # qtprintsupport is enabled w/ gui+widgets
+		$(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)
+
+		# Required for LibreSSL
+		-DQT_FEATURE_dtls=OFF
+	)
+
+	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 <x86intrin.h>
+				#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
+		# 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_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_qfiledialog2
+			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
+}


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [gentoo-commits] repo/proj/libressl:master commit in: dev-qt/qtbase/files/, dev-qt/qtbase/
@ 2023-12-06  4:58 orbea
  0 siblings, 0 replies; 15+ messages in thread
From: orbea @ 2023-12-06  4:58 UTC (permalink / raw
  To: gentoo-commits

commit:     16863d6c45c6839a1f4e27edf934a5ac29551f01
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Wed Dec  6 04:41:15 2023 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Wed Dec  6 04:41:15 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=16863d6c

dev-qt/qtbase: add 6.6.1-r1

Signed-off-by: orbea <orbea <AT> riseup.net>

 dev-qt/qtbase/Manifest                             |   1 +
 .../qtbase-6.6.1-forkfd-childstack-size.patch      |  23 ++
 dev-qt/qtbase/qtbase-6.6.1-r1.ebuild               | 362 +++++++++++++++++++++
 3 files changed, 386 insertions(+)

diff --git a/dev-qt/qtbase/Manifest b/dev-qt/qtbase/Manifest
index b6ec5a5..dc81a32 100644
--- a/dev-qt/qtbase/Manifest
+++ b/dev-qt/qtbase/Manifest
@@ -1,3 +1,4 @@
 DIST qtbase-everywhere-src-6.5.2.tar.xz 48410716 BLAKE2B 578c69ede6f45a8b21cba0a24674d5d8801722503d13ab9578b06b2446ce15e6a84bcdbd0c5d2c9aa868ec70862f0845406c959ed79b695f82bb398ecf299c63 SHA512 8d97029aae5b73a3e03624c9a8495dbf2fe54a4f5e992071c06f3d93935e64c80f2121b33eeb60a92d96ceb288cb25d74906a5bf47b45bb018d859d4a2d13f20
 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.6.1-forkfd-childstack-size.patch b/dev-qt/qtbase/files/qtbase-6.6.1-forkfd-childstack-size.patch
new file mode 100644
index 0000000..6b0ff17
--- /dev/null
+++ b/dev-qt/qtbase/files/qtbase-6.6.1-forkfd-childstack-size.patch
@@ -0,0 +1,23 @@
+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.
+
+Former fix involved replacing 4096 by SIGSTKSZ but
+bug #918664 shown that this may be insufficient so this
+tries 32k instead.
+
+https://bugs.gentoo.org/908809
+https://bugs.gentoo.org/908816
+https://bugs.gentoo.org/913493
+https://bugs.gentoo.org/915695
+https://bugs.gentoo.org/918664
+https://codereview.qt-project.org/c/qt/qtbase/+/513140
+--- a/src/3rdparty/forkfd/forkfd_linux.c
++++ b/src/3rdparty/forkfd/forkfd_linux.c
+@@ -158,5 +158,5 @@
+ int system_vforkfd(int flags, pid_t *ppid, int (*childFn)(void *), void *token, int *system)
+ {
+-    __attribute__((aligned(64))) char childStack[SIGSTKSZ];
++    __attribute__((aligned(64))) char childStack[32768];
+     pid_t pid;
+     int pidfd;

diff --git a/dev-qt/qtbase/qtbase-6.6.1-r1.ebuild b/dev-qt/qtbase/qtbase-6.6.1-r1.ebuild
new file mode 100644
index 0000000..678d382
--- /dev/null
+++ b/dev-qt/qtbase/qtbase-6.6.1-r1.ebuild
@@ -0,0 +1,362 @@
+# 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 ~ppc ~ppc64 ~riscv ~sparc ~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? ( 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.6.1-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 <x86intrin.h>
+				#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 on BE arches (bug #914033,914371,918878)
+		tst_qimagereader
+		tst_qimagewriter
+		tst_qpluginloader
+		tst_quuid
+		# 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
+		')
+		# bug #914033
+		$(usev sparc '
+			tst_qbuffer
+			tst_qprocess
+			tst_qtconcurrentiteratekernel
+		')
+		# 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
+}


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [gentoo-commits] repo/proj/libressl:master commit in: dev-qt/qtbase/files/, dev-qt/qtbase/
@ 2023-12-29 15:34 orbea
  0 siblings, 0 replies; 15+ messages in thread
From: orbea @ 2023-12-29 15:34 UTC (permalink / raw
  To: gentoo-commits

commit:     6ef9c10dd62b23238000728abf2f4acbe7b77848
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Fri Dec 29 15:20:34 2023 +0000
Commit:     orbea <orbea <AT> riseup <DOT> 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 <orbea <AT> 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<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);
-@@ -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<QByteArray, QString> 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 <vowstar@users.noreply.github.com>
-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<XKB_KEY_dead_lowline,            Qt::Key_Dead_Lowline>,
--        Xkb2Qt<XKB_KEY_dead_aboveverticalline,  Qt::Key_Dead_Aboveverticalline>,
--        Xkb2Qt<XKB_KEY_dead_belowverticalline,  Qt::Key_Dead_Belowverticalline>,
--        Xkb2Qt<XKB_KEY_dead_longsolidusoverlay, Qt::Key_Dead_Longsolidusoverlay>,
-+        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 <x86intrin.h>
-				#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 <x86intrin.h>
-				#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
-}


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [gentoo-commits] repo/proj/libressl:master commit in: dev-qt/qtbase/files/, dev-qt/qtbase/
@ 2024-02-25  2:42 orbea
  0 siblings, 0 replies; 15+ messages in thread
From: orbea @ 2024-02-25  2:42 UTC (permalink / raw
  To: gentoo-commits

commit:     8520a12ca5a255ea1f0b0523a585f2d4396a51b3
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Sun Feb 25 02:05:21 2024 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Sun Feb 25 02:05:21 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=8520a12c

dev-qt/qtbase: sync ::gentoo

Signed-off-by: orbea <orbea <AT> riseup.net>

 dev-qt/qtbase/files/qtbase-6.6.2-x32abi.patch | 13 +++++++++++++
 dev-qt/qtbase/qtbase-6.6.2.ebuild             |  1 +
 2 files changed, 14 insertions(+)

diff --git a/dev-qt/qtbase/files/qtbase-6.6.2-x32abi.patch b/dev-qt/qtbase/files/qtbase-6.6.2-x32abi.patch
new file mode 100644
index 0000000..1204dcc
--- /dev/null
+++ b/dev-qt/qtbase/files/qtbase-6.6.2-x32abi.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/925103
+--- a/src/corelib/thread/qthread.h
++++ b/src/corelib/thread/qthread.h
+@@ -166,5 +166,9 @@
+ #elif defined(Q_PROCESSOR_X86_64) && ((defined(Q_OS_LINUX) && defined(__GLIBC__)) || defined(Q_OS_FREEBSD))
+     // x86_64 Linux, BSD uses FS
++# if defined(__ILP32__)
++    __asm__("mov %%fs:%c1, %0" : "=r" (tid) : "i" (2 * sizeof(void*)) : );
++# else
+     __asm__("movq %%fs:%c1, %0" : "=r" (tid) : "i" (2 * sizeof(void*)) : );
++# endif
+ #elif defined(Q_PROCESSOR_X86_64) && defined(Q_OS_WIN)
+     // See https://en.wikipedia.org/wiki/Win32_Thread_Information_Block

diff --git a/dev-qt/qtbase/qtbase-6.6.2.ebuild b/dev-qt/qtbase/qtbase-6.6.2.ebuild
index aafc726..9348366 100644
--- a/dev-qt/qtbase/qtbase-6.6.2.ebuild
+++ b/dev-qt/qtbase/qtbase-6.6.2.ebuild
@@ -138,6 +138,7 @@ PATCHES=(
 	"${FILESDIR}"/${PN}-6.5.2-no-glx.patch
 	"${FILESDIR}"/${PN}-6.5.2-no-symlink-check.patch
 	"${FILESDIR}"/${PN}-6.6.1-forkfd-childstack-size.patch
+	"${FILESDIR}"/${PN}-6.6.2-x32abi.patch
 )
 
 src_prepare() {


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [gentoo-commits] repo/proj/libressl:master commit in: dev-qt/qtbase/files/, dev-qt/qtbase/
@ 2024-04-22 23:44 orbea
  0 siblings, 0 replies; 15+ messages in thread
From: orbea @ 2024-04-22 23:44 UTC (permalink / raw
  To: gentoo-commits

commit:     3c72ae0b23aa64d4cae4b690adff6d794a4724fb
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Mon Apr 22 23:30:37 2024 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Mon Apr 22 23:30:37 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=3c72ae0b

dev-qt/qtbase: drop 6.6.2-r1, 6.6.3-r1

Signed-off-by: orbea <orbea <AT> riseup.net>

 dev-qt/qtbase/Manifest                        |   2 -
 dev-qt/qtbase/files/qtbase-6.5.2-no-glx.patch |  29 --
 dev-qt/qtbase/files/qtbase-6.6.2-x32abi.patch |  13 -
 dev-qt/qtbase/qtbase-6.6.2-r1.ebuild          | 368 -------------------------
 dev-qt/qtbase/qtbase-6.6.3-r1.ebuild          | 371 --------------------------
 5 files changed, 783 deletions(-)

diff --git a/dev-qt/qtbase/Manifest b/dev-qt/qtbase/Manifest
index ca12030..339951b 100644
--- a/dev-qt/qtbase/Manifest
+++ b/dev-qt/qtbase/Manifest
@@ -1,3 +1 @@
-DIST qtbase-everywhere-src-6.6.2.tar.xz 48689304 BLAKE2B e00f4ac7ede0694b7934612f7dc3acdd50139d385492034c3046625a973d8adbca059e9d4081e248502cab8c673806cdb6b8bc5cee6d9356bbb0a7845db528a2 SHA512 ea343bcf269779a4e078ed8baddfbe6c5ec4a34275c7d72b3f3928da60feece2ddc9ce4a380c6536a4e1654b483cee8918f8ad3038904725d2dd1c653ae83ece
-DIST qtbase-everywhere-src-6.6.3.tar.xz 48784716 BLAKE2B f79e369c31968d026fb50dd64d53931ea28c25bd7eb442806760f733dbcacd868774d1c991d4da80c5eb40e24d75ffaba61b2cb9036fdc2d189f865b22143596 SHA512 cd96903a3947a1f5cf6a3ff21ab0b3209ed421d2a8c45acb34ae5aa7ad0501cb79e26cfa81bc02141d5731ebfa662442f37806e97994332077d963c9e70a5f54
 DIST qtbase-everywhere-src-6.7.0.tar.xz 49314276 BLAKE2B f4ec35fd3c15d56a28e1608dec927eaf34d84c2250405d921adadc16d90ec148f4983024dcf9be1832de91381d18e33fd7578d60d8654469e23530a210618e11 SHA512 72896cc5a677361779f49d60dbdfc33a21d77bd479e0586b0beb03eee2016d613aee56e798143a489431a07a5e7a7db4c7c046105a11b63dd178768f3a7f195a

diff --git a/dev-qt/qtbase/files/qtbase-6.5.2-no-glx.patch b/dev-qt/qtbase/files/qtbase-6.5.2-no-glx.patch
deleted file mode 100644
index f8263d1..0000000
--- a/dev-qt/qtbase/files/qtbase-6.5.2-no-glx.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Fixes build with libglvnd[-X].
-
-https://github.com/qt/qtbase/commit/929d9a4ca5c9eb0a590479182471d0bbc81589aa
-From: Yaroslav Isakov <yaroslav.isakov@gmail.com>
-Date: Sat, 8 Jul 2023 22:09:40 +0200
-Subject: [PATCH] Allow OpenGL to be found on X11-less Linux systems (using
- libOpenGL)
-
-Cmake supports finding OpenGL, even if there is no GLX (for glvnd) or
-old-style libGL. This change keeps old behavior, but in case, if
-X11-related OpenGL libraries cannot be found on Linux, it adds logic
-to check for (and link with) libOpenGL, if it is present.
---- a/cmake/FindWrapOpenGL.cmake
-+++ b/cmake/FindWrapOpenGL.cmake
-@@ -47,4 +47,14 @@
-         target_link_libraries(WrapOpenGL::WrapOpenGL INTERFACE OpenGL::GL)
-     endif()
-+elseif(UNIX AND NOT APPLE AND NOT CMAKE_SYSTEM_NAME STREQUAL "Integrity")
-+    # Requesting only the OpenGL component ensures CMake does not mark the package as
-+    # not found if neither GLX nor libGL are available. This allows finding OpenGL
-+    # on an X11-less Linux system.
-+    find_package(OpenGL ${WrapOpenGL_FIND_VERSION} COMPONENTS OpenGL)
-+    if (OpenGL_FOUND)
-+        set(WrapOpenGL_FOUND ON)
-+        add_library(WrapOpenGL::WrapOpenGL INTERFACE IMPORTED)
-+        target_link_libraries(WrapOpenGL::WrapOpenGL INTERFACE OpenGL::OpenGL)
-+    endif()
- endif()
- 

diff --git a/dev-qt/qtbase/files/qtbase-6.6.2-x32abi.patch b/dev-qt/qtbase/files/qtbase-6.6.2-x32abi.patch
deleted file mode 100644
index 1204dcc..0000000
--- a/dev-qt/qtbase/files/qtbase-6.6.2-x32abi.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-https://bugs.gentoo.org/925103
---- a/src/corelib/thread/qthread.h
-+++ b/src/corelib/thread/qthread.h
-@@ -166,5 +166,9 @@
- #elif defined(Q_PROCESSOR_X86_64) && ((defined(Q_OS_LINUX) && defined(__GLIBC__)) || defined(Q_OS_FREEBSD))
-     // x86_64 Linux, BSD uses FS
-+# if defined(__ILP32__)
-+    __asm__("mov %%fs:%c1, %0" : "=r" (tid) : "i" (2 * sizeof(void*)) : );
-+# else
-     __asm__("movq %%fs:%c1, %0" : "=r" (tid) : "i" (2 * sizeof(void*)) : );
-+# endif
- #elif defined(Q_PROCESSOR_X86_64) && defined(Q_OS_WIN)
-     // See https://en.wikipedia.org/wiki/Win32_Thread_Information_Block

diff --git a/dev-qt/qtbase/qtbase-6.6.2-r1.ebuild b/dev-qt/qtbase/qtbase-6.6.2-r1.ebuild
deleted file mode 100644
index 420111b..0000000
--- a/dev-qt/qtbase/qtbase-6.6.2-r1.ebuild
+++ /dev/null
@@ -1,368 +0,0 @@
-# Copyright 2021-2024 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 ~ppc ~ppc64 ~riscv ~sparc ~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? ( 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.6.1-forkfd-childstack-size.patch
-	"${FILESDIR}"/${PN}-6.6.2-x32abi.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}"
-
-		-DQT_FEATURE_relocatable=OFF #927691
-		$(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)
-		# trivial, and is often needed (sometimes even when not building tests)
-		-DQT_FEATURE_testlib=ON
-		$(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
-				$(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
-		# similarly broken when relocatable=OFF (bug #927691)
-		tst_qapplication
-		tst_qt_cmake_create
-		tst_uic
-		# 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}
-		# may randomly hang+timeout, perhaps related to -j as well
-		tst_qtimer
-		# 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 on BE arches (bug #914033,914371,918878)
-		tst_qimagereader
-		tst_qimagewriter
-		tst_qpluginloader
-		tst_quuid # >=6.6.2 had related fixes, needs retesting
-		# 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
-		')
-		# bug #914033
-		$(usev sparc '
-			tst_qbuffer
-			tst_qprocess
-			tst_qtconcurrentiteratekernel
-		')
-		# 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.3-r1.ebuild b/dev-qt/qtbase/qtbase-6.6.3-r1.ebuild
deleted file mode 100644
index ffc9fda..0000000
--- a/dev-qt/qtbase/qtbase-6.6.3-r1.ebuild
+++ /dev/null
@@ -1,371 +0,0 @@
-# Copyright 2021-2024 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 ~ppc ~ppc64 ~riscv ~sparc ~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? ( 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.6.1-forkfd-childstack-size.patch
-	"${FILESDIR}"/${PN}-6.6.3-gcc14-avx512fp16.patch
-	"${FILESDIR}"/${PN}-6.6.3-pkgconf-deps.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}"
-
-		-DQT_UNITY_BUILD=ON # ~30% faster build, affects other dev-qt/* too
-
-		-DQT_FEATURE_relocatable=OFF #927691
-		$(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)
-		# trivial, and is often needed (sometimes even when not building tests)
-		-DQT_FEATURE_testlib=ON
-		$(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
-				$(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
-		# similarly broken when relocatable=OFF (bug #927691)
-		tst_qapplication
-		tst_qt_cmake_create
-		tst_uic
-		# 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}
-		# may randomly hang+timeout, perhaps related to -j as well
-		tst_qtimer
-		# 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 on BE arches (bug #914033,914371,918878)
-		tst_qimagereader
-		tst_qimagewriter
-		tst_qpluginloader
-		tst_quuid # >=6.6.2 had related fixes, needs retesting
-		# 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
-		')
-		# bug #914033
-		$(usev sparc '
-			tst_qbuffer
-			tst_qprocess
-			tst_qtconcurrentiteratekernel
-		')
-		# 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
-}


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [gentoo-commits] repo/proj/libressl:master commit in: dev-qt/qtbase/files/, dev-qt/qtbase/
@ 2024-05-03  0:59 orbea
  0 siblings, 0 replies; 15+ messages in thread
From: orbea @ 2024-05-03  0:59 UTC (permalink / raw
  To: gentoo-commits

commit:     062236cf874509ab4640351ec35a277b7e61d0c2
Author:     Saki Xi <space_raccoon <AT> riseup <DOT> net>
AuthorDate: Fri May  3 00:34:23 2024 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Fri May  3 00:58:13 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=062236cf

dev-qt/qtbase: upstream sync

Signed-off-by: Saki Xi <space_raccoon <AT> riseup.net>
Closes: https://github.com/gentoo/libressl/pull/558
Signed-off-by: orbea <orbea <AT> riseup.net>

 .../qtbase/files/qtbase-6.7.0-CVE-2024-33861.patch | 23 ++++++++++++++++++++++
 ...base-6.7.0-r1.ebuild => qtbase-6.7.0-r2.ebuild} |  1 +
 2 files changed, 24 insertions(+)

diff --git a/dev-qt/qtbase/files/qtbase-6.7.0-CVE-2024-33861.patch b/dev-qt/qtbase/files/qtbase-6.7.0-CVE-2024-33861.patch
new file mode 100644
index 0000000..0a73d72
--- /dev/null
+++ b/dev-qt/qtbase/files/qtbase-6.7.0-CVE-2024-33861.patch
@@ -0,0 +1,23 @@
+https://bugs.gentoo.org/931096
+https://www.qt.io/blog/security-advisory-qstringconverter
+https://codereview.qt-project.org/c/qt/qtbase/+/556191
+--- a/src/corelib/text/qstringconverter.cpp
++++ b/src/corelib/text/qstringconverter.cpp
+@@ -1954,7 +1954,7 @@ struct QStringConverterICU : QStringConverter
+         const void *context;
+         ucnv_getToUCallBack(icu_conv, &action, &context);
+         if (context != state)
+-             ucnv_setToUCallBack(icu_conv, action, &state, nullptr, nullptr, &err);
++             ucnv_setToUCallBack(icu_conv, action, state, nullptr, nullptr, &err);
+ 
+         ucnv_toUnicode(icu_conv, &target, targetLimit, &source, sourceLimit, nullptr, flush, &err);
+         // We did reserve enough space:
+@@ -1987,7 +1987,7 @@ struct QStringConverterICU : QStringConverter
+         const void *context;
+         ucnv_getFromUCallBack(icu_conv, &action, &context);
+         if (context != state)
+-             ucnv_setFromUCallBack(icu_conv, action, &state, nullptr, nullptr, &err);
++             ucnv_setFromUCallBack(icu_conv, action, state, nullptr, nullptr, &err);
+ 
+         ucnv_fromUnicode(icu_conv, &target, targetLimit, &source, sourceLimit, nullptr, flush, &err);
+         // We did reserve enough space:

diff --git a/dev-qt/qtbase/qtbase-6.7.0-r1.ebuild b/dev-qt/qtbase/qtbase-6.7.0-r2.ebuild
similarity index 99%
rename from dev-qt/qtbase/qtbase-6.7.0-r1.ebuild
rename to dev-qt/qtbase/qtbase-6.7.0-r2.ebuild
index fb2a882..50d8950 100644
--- a/dev-qt/qtbase/qtbase-6.7.0-r1.ebuild
+++ b/dev-qt/qtbase/qtbase-6.7.0-r2.ebuild
@@ -142,6 +142,7 @@ PATCHES=(
 	"${FILESDIR}"/${PN}-6.6.3-gcc14-avx512fp16.patch
 	"${FILESDIR}"/${PN}-6.6.3-pkgconf-deps.patch
 	"${FILESDIR}"/${PN}-6.7.0-qspan-ifdef.patch
+	"${FILESDIR}"/${PN}-6.7.0-CVE-2024-33861.patch
 )
 
 src_prepare() {


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [gentoo-commits] repo/proj/libressl:master commit in: dev-qt/qtbase/files/, dev-qt/qtbase/
@ 2024-06-11 19:21 orbea
  0 siblings, 0 replies; 15+ messages in thread
From: orbea @ 2024-06-11 19:21 UTC (permalink / raw
  To: gentoo-commits

commit:     7796878dbdb74004e30c2b0bbd3afab668dd23cc
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Tue Jun 11 19:21:01 2024 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Tue Jun 11 19:21:01 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=7796878d

dev-qt/qtbase: drop 6.7.0-r2

Signed-off-by: orbea <orbea <AT> riseup.net>

 dev-qt/qtbase/Manifest                             |   1 -
 .../qtbase/files/qtbase-6.7.0-CVE-2024-33861.patch |  23 --
 dev-qt/qtbase/files/qtbase-6.7.0-qspan-ifdef.patch |  29 --
 dev-qt/qtbase/qtbase-6.7.0-r2.ebuild               | 384 ---------------------
 4 files changed, 437 deletions(-)

diff --git a/dev-qt/qtbase/Manifest b/dev-qt/qtbase/Manifest
index 5852d21..0b37c03 100644
--- a/dev-qt/qtbase/Manifest
+++ b/dev-qt/qtbase/Manifest
@@ -1,2 +1 @@
-DIST qtbase-everywhere-src-6.7.0.tar.xz 49314276 BLAKE2B f4ec35fd3c15d56a28e1608dec927eaf34d84c2250405d921adadc16d90ec148f4983024dcf9be1832de91381d18e33fd7578d60d8654469e23530a210618e11 SHA512 72896cc5a677361779f49d60dbdfc33a21d77bd479e0586b0beb03eee2016d613aee56e798143a489431a07a5e7a7db4c7c046105a11b63dd178768f3a7f195a
 DIST qtbase-everywhere-src-6.7.1.tar.xz 49324536 BLAKE2B 5e5a5801c29c1ac541812931cd56709a934a500ce4d5a38e7d3776620cb46db0d25408c22cbf33a7bcc657098c571e501fde14f523a77acba1827edd977d2bc5 SHA512 864bebfc3659907e52b8dc3f62a65d431573ef2bf406a9f71c688229083a2128c5474f75823275d11948be3d031de1d6427acf373f977df9ee9e73a27ef56efb

diff --git a/dev-qt/qtbase/files/qtbase-6.7.0-CVE-2024-33861.patch b/dev-qt/qtbase/files/qtbase-6.7.0-CVE-2024-33861.patch
deleted file mode 100644
index 0a73d72..0000000
--- a/dev-qt/qtbase/files/qtbase-6.7.0-CVE-2024-33861.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-https://bugs.gentoo.org/931096
-https://www.qt.io/blog/security-advisory-qstringconverter
-https://codereview.qt-project.org/c/qt/qtbase/+/556191
---- a/src/corelib/text/qstringconverter.cpp
-+++ b/src/corelib/text/qstringconverter.cpp
-@@ -1954,7 +1954,7 @@ struct QStringConverterICU : QStringConverter
-         const void *context;
-         ucnv_getToUCallBack(icu_conv, &action, &context);
-         if (context != state)
--             ucnv_setToUCallBack(icu_conv, action, &state, nullptr, nullptr, &err);
-+             ucnv_setToUCallBack(icu_conv, action, state, nullptr, nullptr, &err);
- 
-         ucnv_toUnicode(icu_conv, &target, targetLimit, &source, sourceLimit, nullptr, flush, &err);
-         // We did reserve enough space:
-@@ -1987,7 +1987,7 @@ struct QStringConverterICU : QStringConverter
-         const void *context;
-         ucnv_getFromUCallBack(icu_conv, &action, &context);
-         if (context != state)
--             ucnv_setFromUCallBack(icu_conv, action, &state, nullptr, nullptr, &err);
-+             ucnv_setFromUCallBack(icu_conv, action, state, nullptr, nullptr, &err);
- 
-         ucnv_fromUnicode(icu_conv, &target, targetLimit, &source, sourceLimit, nullptr, flush, &err);
-         // We did reserve enough space:

diff --git a/dev-qt/qtbase/files/qtbase-6.7.0-qspan-ifdef.patch b/dev-qt/qtbase/files/qtbase-6.7.0-qspan-ifdef.patch
deleted file mode 100644
index 4c2a37c..0000000
--- a/dev-qt/qtbase/files/qtbase-6.7.0-qspan-ifdef.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://bugreports.qt.io/browse/QTBUG-123937
-From 6810220218cbbf2854ecdedb291f7e4a84b31e54 Mon Sep 17 00:00:00 2001
-From: Albert Astals Cid <aacid@kde.org>
-Date: Wed, 3 Apr 2024 00:47:01 +0200
-Subject: [PATCH] Use ifdef instead of if for __cpp_lib_span
-
-Like the other times it's used in this file
-
-This is causing compilation errors in projects that use -Werror=undef
-
-Fixes: QTBUG-123937
-Change-Id: I0cdd2910755dc9079890011dd8dbc27a6e64793e
-Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-(cherry picked from commit 699ddcb15b5e981d32ea65d1c1a12f8fa0b06e0d)
-Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
---- a/src/corelib/tools/qspan.h
-+++ b/src/corelib/tools/qspan.h
-@@ -297,7 +297,7 @@ public:
-         : QSpanBase(il.begin(), il.size())
-     {}
- 
--#if __cpp_lib_span
-+#ifdef __cpp_lib_span
-     template <typename S, size_t N, if_qualification_conversion<S> = true>
-     Q_IMPLICIT constexpr QSpanBase(std::span<S, N> other) noexcept
-         : QSpanBase(other.data(), other.size())
--- 
-2.44.0
-

diff --git a/dev-qt/qtbase/qtbase-6.7.0-r2.ebuild b/dev-qt/qtbase/qtbase-6.7.0-r2.ebuild
deleted file mode 100644
index 50d8950..0000000
--- a/dev-qt/qtbase/qtbase-6.7.0-r2.ebuild
+++ /dev/null
@@ -1,384 +0,0 @@
-# Copyright 2021-2024 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 ~ppc ~ppc64 ~riscv ~sparc ~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 renderdoc tslib vulkan wayland +widgets
-	"
-	[network]="brotli gssapi libproxy sctp"
-	[sql]="mysql oci8 odbc postgres +sqlite"
-	[widgets]="cups gtk"
-
-	[optfeature]="nls" #810802
-)
-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? ( 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)
-# dlopen: renderdoc
-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?] )
-		)
-		renderdoc? ( media-gfx/renderdoc )
-		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-symlink-check.patch
-	"${FILESDIR}"/${PN}-6.6.1-forkfd-childstack-size.patch
-	"${FILESDIR}"/${PN}-6.6.3-gcc14-avx512fp16.patch
-	"${FILESDIR}"/${PN}-6.6.3-pkgconf-deps.patch
-	"${FILESDIR}"/${PN}-6.7.0-qspan-ifdef.patch
-	"${FILESDIR}"/${PN}-6.7.0-CVE-2024-33861.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
-
-		# workaround for __extendhfxf2 being used for tst_qfloat16.cpp
-		# which is unavailable with compiler-rt (assume used if clang)
-		if tc-is-clang; then
-			sed -e '/add_subdirectory(qfloat16)/d' \
-				-i tests/auto/corelib/global/CMakeLists.txt || die
-		fi
-	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}"
-
-		-DQT_UNITY_BUILD=ON # ~30% faster build, affects other dev-qt/* too
-
-		-DQT_FEATURE_relocatable=OFF #927691
-		$(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)
-		# trivial, and is often needed (sometimes even when not building tests)
-		-DQT_FEATURE_testlib=ON
-		$(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 renderdoc graphicsframecapture)
-		$(qt_feature tslib)
-		$(qt_feature vulkan)
-		$(qt_feature wayland)
-		$(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
-				$(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
-		# similarly broken when relocatable=OFF (bug #927691)
-		tst_qapplication
-		tst_qt_cmake_create
-		tst_uic
-		# 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}
-		# may randomly hang+timeout, perhaps related to -j as well
-		tst_qtimer
-		# 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 on BE arches (bug #914033,914371,918878)
-		tst_qimagereader
-		tst_qimagewriter
-		tst_qpluginloader
-		tst_quuid # >=6.6.2 had related fixes, needs retesting
-		# 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
-			tst_qprocess
-		')
-		# fails due to hppa's NaN handling, needs looking into (bug #914371)
-		$(usev hppa '
-			tst_qcborvalue
-			tst_qnumeric
-		')
-		# bug #914033
-		$(usev sparc '
-			tst_qbuffer
-			tst_qprocess
-			tst_qtconcurrentiteratekernel
-		')
-		# 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
-}


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [gentoo-commits] repo/proj/libressl:master commit in: dev-qt/qtbase/files/, dev-qt/qtbase/
@ 2024-07-19  3:40 orbea
  0 siblings, 0 replies; 15+ messages in thread
From: orbea @ 2024-07-19  3:40 UTC (permalink / raw
  To: gentoo-commits

commit:     8d7093b3245de3d6c206cd2a5d4c7cdb293c8ab1
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Fri Jul 19 02:47:47 2024 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Fri Jul 19 02:47:47 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=8d7093b3

dev-qt/qtbase: add 6.7.2-r1, drop 6.7.1

Signed-off-by: orbea <orbea <AT> riseup.net>

 dev-qt/qtbase/Manifest                             |   1 -
 .../qtbase/files/qtbase-6.6.3-pkgconf-deps.patch   |  35 ----
 .../files/qtbase-6.7.1-qeventlooplocker.patch      | 159 ----------------
 .../qtbase/files/qtbase-6.7.2-CVE-2024-39936.patch | 200 +++++++++++++++++++++
 ...{qtbase-6.7.1.ebuild => qtbase-6.7.2-r1.ebuild} |   5 +-
 5 files changed, 202 insertions(+), 198 deletions(-)

diff --git a/dev-qt/qtbase/Manifest b/dev-qt/qtbase/Manifest
index a8aaf26..24deb29 100644
--- a/dev-qt/qtbase/Manifest
+++ b/dev-qt/qtbase/Manifest
@@ -1,2 +1 @@
-DIST qtbase-everywhere-src-6.7.1.tar.xz 49324536 BLAKE2B 5e5a5801c29c1ac541812931cd56709a934a500ce4d5a38e7d3776620cb46db0d25408c22cbf33a7bcc657098c571e501fde14f523a77acba1827edd977d2bc5 SHA512 864bebfc3659907e52b8dc3f62a65d431573ef2bf406a9f71c688229083a2128c5474f75823275d11948be3d031de1d6427acf373f977df9ee9e73a27ef56efb
 DIST qtbase-everywhere-src-6.7.2.tar.xz 49364504 BLAKE2B b48b8a8decafe3262d459b9446c25561851fef88b3316107c2909f5964e8122a558b5501a3e59667bdf4776d36ea5ba0d9f227538c45c1f8e94fbc8fff4244a6 SHA512 eb4b2f1fb02ab0ed5508d32449e140778278ff1a619cfcae14920b276b5c46e01a566d73fb8f84cf2cfc81e19cb11e53ab500df6b27d12ab875aa8c07bd15d6b

diff --git a/dev-qt/qtbase/files/qtbase-6.6.3-pkgconf-deps.patch b/dev-qt/qtbase/files/qtbase-6.6.3-pkgconf-deps.patch
deleted file mode 100644
index 965dade..0000000
--- a/dev-qt/qtbase/files/qtbase-6.6.3-pkgconf-deps.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-https://bugs.gentoo.org/928299
-https://bugreports.qt.io/browse/QTBUG-124135
-https://codereview.qt-project.org/c/qt/qtbase/+/553372
-From: Alexey Edelev <alexey.edelev@qt.io>
-Date: Fri, 05 Apr 2024 14:50:37 +0200
-Subject: [PATCH] Prefer the versioned targets over the namespaceless one when collecting deps
-
-Change the way we collect dependencies in __qt_internal_walk_libs.
-Prefer the versioned Qt targets over the namespaceless. This fixes the
-generating of the pkg-config configs.
-
-Pick-to: 6.5 6.6 6.7
-Task-number: QTBUG-124135
-Change-Id: I660376e122a99b5bc0874f2bc6ccd4d80c9ad453
---- a/cmake/QtPublicWalkLibsHelpers.cmake
-+++ b/cmake/QtPublicWalkLibsHelpers.cmake
-@@ -184,13 +184,13 @@
-             if(lib_target MATCHES "^::@")
-                 continue()
-             elseif(TARGET ${lib_target})
--                if ("${lib_target}" MATCHES "^Qt::(.*)")
--                    # If both, Qt::Foo and Foo targets exist, prefer the target name without
-+                if(NOT "${lib_target}" MATCHES "^(Qt|${QT_CMAKE_EXPORT_NAMESPACE})::.+")
-+                    # If both, Qt::Foo and Foo targets exist, prefer the target name with versioned
-                     # namespace. Which one is preferred doesn't really matter. This code exists to
-                     # avoid ending up with both, Qt::Foo and Foo in our dependencies.
--                    set(namespaceless_lib_target "${CMAKE_MATCH_1}")
--                    if(TARGET "${namespaceless_lib_target}")
--                        set(lib_target ${namespaceless_lib_target})
-+                    set(versioned_qt_target "${QT_CMAKE_EXPORT_NAMESPACE}::${lib_target}")
-+                    if(TARGET "${versioned_qt_target}")
-+                        set(lib_target ${versioned_qt_target})
-                     endif()
-                 endif()
-                 get_target_property(lib_target_type ${lib_target} TYPE)

diff --git a/dev-qt/qtbase/files/qtbase-6.7.1-qeventlooplocker.patch b/dev-qt/qtbase/files/qtbase-6.7.1-qeventlooplocker.patch
deleted file mode 100644
index ff2bf19..0000000
--- a/dev-qt/qtbase/files/qtbase-6.7.1-qeventlooplocker.patch
+++ /dev/null
@@ -1,159 +0,0 @@
-https://bugs.kde.org/show_bug.cgi?id=484405
-https://bugreports.qt.io/browse/QTBUG-124386
-https://codereview.qt-project.org/c/qt/qtbase/+/556573
-https://github.com/qt/qtbase/commit/a8ef8ea55014546e0e835cd0eacf694919702a11
-From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= <tor.arne.vestbo@qt.io>
-Date: Wed, 24 Apr 2024 22:33:42 +0200
-Subject: [PATCH] Don't quit automatically via QEventLoopLocker if there are
- open windows
-
-As part of df359bcb703db5a8adbf14e88ba4ae0d54f0cfcd the semantics and
-interaction between QEventLoopLocker and QGuiApplication was changed,
-based on the assumption that these two mechanisms were independent
-and should not affect each other.
-
-This had a surprising regression where the use of QEventLoopLocker in
-combination with the QCoreApplication::isQuitLockEnabled() automatic
-quit would end up quitting the app, even if it had open windows, for
-example when the last job of some internal job queue finished.
-
-It could be argued that if the app has open windows that should not
-be closed, they should ignore the Close event, and that an application
-with running QEventLoopLocker jobs should maintain an active window
-showing the progress of those jobs, but still, this is regression
-that we want to fix.
-
-We now bail out if !lastWindowClosed() in QGuiApplication's
-canQuitAutomatically, which is triggered from QEventLoopLocker's
-isQuitLockEnabled() behavior. And we do so regardless of whether
-quitOnLastWindowClosed is set or not, as the latter property
-determines the behavior when closing a window, not the behavior
-when a QEventLoopLocker goes out of scope.
-
-Similarly, we now block quitting of the application when triggered
-by quitOnLastWindowClosed() if a QEventLoop is active, regardless of
-the isQuitLockEnabled(), as the latter property is determining
-whether we should trigger a quit, not whether we should block them.
-
-[ChangeLog][Important behavior changes] Fixed a regression where
-the last QEventLoopLocker going out of scope would quit the app,
-even if there were open windows, if quitOnLastWindowClosed was
-false.
-
-[ChangeLog][Important behavior changes] Fixed a regression where
-closing the last window would quit the app, even if there were
-active QEventLoopLockers, if isQuitLockEnabled was false.
---- a/src/corelib/kernel/qcoreapplication.cpp
-+++ b/src/corelib/kernel/qcoreapplication.cpp
-@@ -1081,2 +1081,10 @@
- 
-+    When this property is \c true the release of the last remaining
-+    QEventLoopLocker operating on the application will attempt to
-+    quit the application.
-+
-+    Note that attempting a quit may not necessarily result in the
-+    application quitting, for example if there still are open windows,
-+    or the QEvent::Quit event is ignored.
-+
-     The default is \c true.
-@@ -2083,3 +2091,9 @@
- 
--    if (quitLockEnabled && quitLockRef.loadRelaxed())
-+    // The automatic quit functionality is triggered by
-+    // both QEventLoopLocker and maybeLastWindowClosed.
-+    // In either case, we don't want to quit if there
-+    // are active QEventLoopLockers, even if quitLockEnabled
-+    // is not enabled, as the property signals whether to
-+    // trigger the automatic quit, not whether to block it.
-+    if (quitLockRef.loadRelaxed())
-         return false;
---- a/src/corelib/kernel/qeventloop.cpp
-+++ b/src/corelib/kernel/qeventloop.cpp
-@@ -339,3 +339,7 @@
- 
--    The application will quit when there are no more QEventLoopLockers operating on it.
-+    The application will attempt to quit when there are no more QEventLoopLockers
-+    operating on it, as long as QCoreApplication::isQuitLockEnabled() is \c true.
-+
-+    Note that attempting a quit may not necessarily result in the application quitting,
-+    if there for example are open windows, or the QEvent::Quit event is ignored.
- 
---- a/src/gui/kernel/qguiapplication.cpp
-+++ b/src/gui/kernel/qguiapplication.cpp
-@@ -3677,5 +3677,9 @@
- 
--    If this property is \c true, the applications quits when the last visible
--    \l{Primary and Secondary Windows}{primary window} (i.e. top level window
--    with no transient parent) is closed.
-+    If this property is \c true, the application will attempt to
-+    quit when the last visible \l{Primary and Secondary Windows}{primary window}
-+    (i.e. top level window with no transient parent) is closed.
-+
-+    Note that attempting a quit may not necessarily result in the
-+    application quitting, for example if there still are active
-+    QEventLoopLocker instances, or the QEvent::Quit event is ignored.
- 
-@@ -3735,3 +3739,9 @@
- {
--    if (quitOnLastWindowClosed && !lastWindowClosed())
-+    // The automatic quit functionality is triggered by
-+    // both QEventLoopLocker and maybeLastWindowClosed.
-+    // Although the former is a QCoreApplication feature
-+    // we don't want to quit the application when there
-+    // are open windows, regardless of whether the app
-+    // also quits automatically on maybeLastWindowClosed.
-+    if (!lastWindowClosed())
-         return false;
---- a/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp
-+++ b/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp
-@@ -1010,4 +1010,4 @@
-     {
--        // Disabling QEventLoopLocker support should not affect
--        // quitting when last window is closed.
-+        // Disabling QEventLoopLocker automatic quit should not affect
-+        // quitting when last window is closed if there are no lockers.
-         app.setQuitLockEnabled(false);
-@@ -1025,4 +1025,36 @@
-     {
--        // Disabling quitOnLastWindowClosed support should not affect
--        // quitting when last QEventLoopLocker goes out of scope.
-+        // Disabling QEventLoopLocker automatic quit should still block
-+        // quitting when last window is closed if there is a locker alive.
-+        app.setQuitLockEnabled(false);
-+
-+        QScopedPointer<QEventLoopLocker> locker(new QEventLoopLocker);
-+
-+        QuitSpy quitSpy;
-+        QWindow window;
-+        window.show();
-+        QVERIFY(QTest::qWaitForWindowExposed(&window));
-+        QTimer::singleShot(0, &window, &QWindow::close);
-+        QTimer::singleShot(200, &app, []{ QCoreApplication::exit(0); });
-+        app.exec();
-+        QCOMPARE(quitSpy.quits, 0);
-+    }
-+
-+    {
-+        // Disabling quitOnLastWindowClosed automatic quit should not affect
-+        // quitting when last QEventLoopLocker goes out of scope if
-+        // there are no windows.
-+        app.setQuitLockEnabled(true);
-+        app.setQuitOnLastWindowClosed(false);
-+
-+        QuitSpy quitSpy;
-+        QScopedPointer<QEventLoopLocker> locker(new QEventLoopLocker);
-+        QTimer::singleShot(0, [&]{ locker.reset(nullptr); });
-+        QTimer::singleShot(200, &app, []{ QCoreApplication::exit(0); });
-+        app.exec();
-+        QCOMPARE(quitSpy.quits, 1);
-+    }
-+
-+    {
-+        // Disabling quitOnLastWindowClosed automatic quit should still block
-+        // quitting via QEventLoopLocker if there's a window alive.
-         app.setQuitLockEnabled(true);
-@@ -1038,3 +1070,3 @@
-         app.exec();
--        QCOMPARE(quitSpy.quits, 1);
-+        QCOMPARE(quitSpy.quits, 0);
-     }

diff --git a/dev-qt/qtbase/files/qtbase-6.7.2-CVE-2024-39936.patch b/dev-qt/qtbase/files/qtbase-6.7.2-CVE-2024-39936.patch
new file mode 100644
index 0000000..cc6238a
--- /dev/null
+++ b/dev-qt/qtbase/files/qtbase-6.7.2-CVE-2024-39936.patch
@@ -0,0 +1,200 @@
+https://bugs.gentoo.org/935869
+https://github.com/qt/qtbase/commit/2b1e36e183ce75c224305c7a94457b92f7a5cf58
+From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= <marten.nordheim@qt.io>
+Date: Tue, 25 Jun 2024 17:09:35 +0200
+Subject: [PATCH] HTTP2: Delay any communication until encrypted() can be
+ responded to
+
+We have the encrypted() signal that lets users do extra checks on the
+established connection. It is emitted as BlockingQueued, so the HTTP
+thread stalls until it is done emitting. Users can potentially call
+abort() on the QNetworkReply at that point, which is passed as a Queued
+call back to the HTTP thread. That means that any currently queued
+signal emission will be processed before the abort() call is processed.
+
+In the case of HTTP2 it is a little special since it is multiplexed and
+the code is built to start requests as they are available. This means
+that, while the code worked fine for HTTP1, since one connection only
+has one request, it is not working for HTTP2, since we try to send more
+requests in-between the encrypted() signal and the abort() call.
+
+This patch changes the code to delay any communication until the
+encrypted() signal has been emitted and processed, for HTTP2 only.
+It's done by adding a few booleans, both to know that we have to return
+early and so we can keep track of what events arose and what we need to
+resume once enough time has passed that any abort() call must have been
+processed.
+
+Fixes: QTBUG-126610
+--- a/src/network/access/qhttp2protocolhandler.cpp
++++ b/src/network/access/qhttp2protocolhandler.cpp
+@@ -304,10 +304,10 @@
+     }
+ 
+-    if (!prefaceSent && !sendClientPreface())
+-        return false;
+-
+     if (!requests.size())
+         return true;
+ 
++    if (!prefaceSent && !sendClientPreface())
++        return false;
++
+     m_channel->state = QHttpNetworkConnectionChannel::WritingState;
+     // Check what was promised/pushed, maybe we do not have to send a request
+--- a/src/network/access/qhttpnetworkconnectionchannel.cpp
++++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
+@@ -210,4 +210,8 @@
+ {
+     Q_ASSERT(protocolHandler);
++    if (waitingForPotentialAbort) {
++        needInvokeSendRequest = true;
++        return false; // this return value is unused
++    }
+     return protocolHandler->sendRequest();
+ }
+@@ -222,7 +226,6 @@
+ {
+     QMetaObject::invokeMethod(this, [this] {
+-        Q_ASSERT(protocolHandler);
+         if (reply)
+-            protocolHandler->sendRequest();
++            sendRequest();
+     }, Qt::ConnectionType::QueuedConnection);
+ }
+@@ -231,4 +234,8 @@
+ {
+     Q_ASSERT(protocolHandler);
++    if (waitingForPotentialAbort) {
++        needInvokeReceiveReply = true;
++        return;
++    }
+     protocolHandler->_q_receiveReply();
+ }
+@@ -237,4 +244,8 @@
+ {
+     Q_ASSERT(protocolHandler);
++    if (waitingForPotentialAbort) {
++        needInvokeReadyRead = true;
++        return;
++    }
+     protocolHandler->_q_readyRead();
+ }
+@@ -1240,5 +1251,16 @@
+             // Similar to HTTP/1.1 counterpart below:
+             const auto &pair = std::as_const(h2RequestsToSend).first();
++            waitingForPotentialAbort = true;
+             emit pair.second->encrypted();
++
++            // We don't send or handle any received data until any effects from
++            // emitting encrypted() have been processed. This is necessary
++            // because the user may have called abort(). We may also abort the
++            // whole connection if the request has been aborted and there is
++            // no more requests to send.
++            QMetaObject::invokeMethod(this,
++                                      &QHttpNetworkConnectionChannel::checkAndResumeCommunication,
++                                      Qt::QueuedConnection);
++
+             // In case our peer has sent us its settings (window size, max concurrent streams etc.)
+             // let's give _q_receiveReply a chance to read them first ('invokeMethod', QueuedConnection).
+@@ -1258,4 +1280,26 @@
+ }
+ 
++
++void QHttpNetworkConnectionChannel::checkAndResumeCommunication()
++{
++    Q_ASSERT(connection->connectionType() == QHttpNetworkConnection::ConnectionTypeHTTP2
++             || connection->connectionType() == QHttpNetworkConnection::ConnectionTypeHTTP2Direct);
++
++    // Because HTTP/2 requires that we send a SETTINGS frame as the first thing we do, and respond
++    // to a SETTINGS frame with an ACK, we need to delay any handling until we can ensure that any
++    // effects from emitting encrypted() have been processed.
++    // This function is called after encrypted() was emitted, so check for changes.
++
++    if (!reply && h2RequestsToSend.isEmpty())
++        abort();
++    waitingForPotentialAbort = false;
++    if (needInvokeReadyRead)
++        _q_readyRead();
++    if (needInvokeReceiveReply)
++        _q_receiveReply();
++    if (needInvokeSendRequest)
++        sendRequest();
++}
++
+ void QHttpNetworkConnectionChannel::requeueHttp2Requests()
+ {
+--- a/src/network/access/qhttpnetworkconnectionchannel_p.h
++++ b/src/network/access/qhttpnetworkconnectionchannel_p.h
+@@ -75,4 +75,8 @@
+     bool ssl;
+     bool isInitialized;
++    bool waitingForPotentialAbort = false;
++    bool needInvokeReceiveReply = false;
++    bool needInvokeReadyRead = false;
++    bool needInvokeSendRequest = false;
+     ChannelState state;
+     QHttpNetworkRequest request; // current request, only used for HTTP
+@@ -147,4 +151,6 @@
+     void resendCurrentRequest();
+ 
++    void checkAndResumeCommunication();
++
+     bool isSocketBusy() const;
+     bool isSocketWriting() const;
+--- a/tests/auto/network/access/http2/tst_http2.cpp
++++ b/tests/auto/network/access/http2/tst_http2.cpp
+@@ -107,4 +107,6 @@
+     void duplicateRequestsWithAborts();
+ 
++    void abortOnEncrypted();
++
+ protected slots:
+     // Slots to listen to our in-process server:
+@@ -1480,4 +1482,46 @@
+ }
+ 
++void tst_Http2::abortOnEncrypted()
++{
++#if !QT_CONFIG(ssl)
++    QSKIP("TLS support is needed for this test");
++#else
++    clearHTTP2State();
++    serverPort = 0;
++
++    ServerPtr targetServer(newServer(defaultServerSettings, H2Type::h2Direct));
++
++    QMetaObject::invokeMethod(targetServer.data(), "startServer", Qt::QueuedConnection);
++    runEventLoop();
++
++    nRequests = 1;
++    nSentRequests = 0;
++
++    const auto url = requestUrl(H2Type::h2Direct);
++    QNetworkRequest request(url);
++    request.setAttribute(QNetworkRequest::Http2DirectAttribute, true);
++
++    std::unique_ptr<QNetworkReply> reply{manager->get(request)};
++    reply->ignoreSslErrors();
++    connect(reply.get(), &QNetworkReply::encrypted, reply.get(), [reply = reply.get()](){
++        reply->abort();
++    });
++    connect(reply.get(), &QNetworkReply::errorOccurred, this, &tst_Http2::replyFinishedWithError);
++
++    runEventLoop();
++    STOP_ON_FAILURE
++
++    QCOMPARE(nRequests, 0);
++    QCOMPARE(reply->error(), QNetworkReply::OperationCanceledError);
++
++    const bool res = QTest::qWaitFor(
++            [this, server = targetServer.get()]() {
++                return serverGotSettingsACK || prefaceOK || nSentRequests > 0;
++            },
++            500);
++    QVERIFY(!res);
++#endif // QT_CONFIG(ssl)
++}
++
+ void tst_Http2::serverStarted(quint16 port)
+ {

diff --git a/dev-qt/qtbase/qtbase-6.7.1.ebuild b/dev-qt/qtbase/qtbase-6.7.2-r1.ebuild
similarity index 98%
rename from dev-qt/qtbase/qtbase-6.7.1.ebuild
rename to dev-qt/qtbase/qtbase-6.7.2-r1.ebuild
index cf41a45..cc80ee8 100644
--- a/dev-qt/qtbase/qtbase-6.7.1.ebuild
+++ b/dev-qt/qtbase/qtbase-6.7.2-r1.ebuild
@@ -8,7 +8,7 @@ inherit qt6-build toolchain-funcs
 DESCRIPTION="Cross-platform application development framework"
 
 if [[ ${QT6_BUILD_TYPE} == release ]]; then
-	KEYWORDS="amd64 arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~sparc x86"
+	KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
 fi
 
 declare -A QT6_IUSE=(
@@ -140,8 +140,7 @@ PATCHES=(
 	"${FILESDIR}"/${PN}-6.5.2-no-symlink-check.patch
 	"${FILESDIR}"/${PN}-6.6.1-forkfd-childstack-size.patch
 	"${FILESDIR}"/${PN}-6.6.3-gcc14-avx512fp16.patch
-	"${FILESDIR}"/${PN}-6.6.3-pkgconf-deps.patch
-	"${FILESDIR}"/${PN}-6.7.1-qeventlooplocker.patch
+	"${FILESDIR}"/${PN}-6.7.2-CVE-2024-39936.patch
 )
 
 src_prepare() {


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [gentoo-commits] repo/proj/libressl:master commit in: dev-qt/qtbase/files/, dev-qt/qtbase/
@ 2024-10-02 15:08 orbea
  0 siblings, 0 replies; 15+ messages in thread
From: orbea @ 2024-10-02 15:08 UTC (permalink / raw
  To: gentoo-commits

commit:     807eb1e58726c837e399d45da8c935a8283d408a
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Wed Oct  2 14:44:57 2024 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Wed Oct  2 14:45:38 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=807eb1e5

dev-qt/qtbase: add 6.7.3-r1, drop 6.7.3

Signed-off-by: orbea <orbea <AT> riseup.net>

 .../files/qtbase-6.7.3-erratic-mouse-input.patch   | 156 +++++++++++++++++++++
 ...{qtbase-6.7.3.ebuild => qtbase-6.7.3-r1.ebuild} |   1 +
 2 files changed, 157 insertions(+)

diff --git a/dev-qt/qtbase/files/qtbase-6.7.3-erratic-mouse-input.patch b/dev-qt/qtbase/files/qtbase-6.7.3-erratic-mouse-input.patch
new file mode 100644
index 0000000..14bdf14
--- /dev/null
+++ b/dev-qt/qtbase/files/qtbase-6.7.3-erratic-mouse-input.patch
@@ -0,0 +1,156 @@
+https://bugreports.qt.io/browse/QTBUG-129509
+https://bugreports.qt.io/browse/QTBUG-129514
+https://codereview.qt-project.org/c/qt/qtbase/+/594889
+From 42845904d51ad14b2ab41a165bd9b9b1a9459840 Mon Sep 17 00:00:00 2001
+From: Liang Qi <liang.qi@qt.io>
+Date: Tue, 01 Oct 2024 12:46:30 +0200
+Subject: [PATCH] Revert "xcb: handle XI2 input button and motion events from slave devices"
+
+This reverts commit b71be292780b858f2c55ce92601452e2ea946de2, which causes a regression when using mouse wheel and moving cursor together
+on scroll bar for some qt applications, like qutebrowser and
+qbittorrent.
+
+Fixes: QTBUG-129509
+Fixes: QTBUG-129514
+Task-number: QTBUG-110841
+Pick-to: 6.8.0 6.8 6.7 6.5 6.2 5.15
+Change-Id: I703158874413a1306ea99217bced4ba38382f543
+--- a/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
++++ b/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
+@@ -683,94 +683,21 @@
+ }
+ 
+-//implementation is ported from https://codereview.qt-project.org/c/qt/qtbase/+/231552/12/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp#558
+-namespace {
+-
+-/*! \internal
+-
+- Qt listens for XIAllDevices to avoid losing mouse events. This function
+- ensures that we don't process the same event twice: from a slave device and
+- then again from a master device.
+-
+- In a normal use case (e.g. mouse press and release inside a window), we will
+- drop events from master devices as duplicates. Other advantage of processing
+- events from slave devices is that they don't share button state. All buttons
+- on a master device share the state.
+-
+- Examples of special cases:
+-
+-\list
+-
+-\li During system move/resize, window manager (_NET_WM_MOVERESIZE) grabs the
+-   master pointer, in this case we process the matching release from the slave
+-   device. A master device event is not sent by the server, hence no duplicate
+-   event to drop. If we listened for XIAllMasterDevices instead, we would never
+-   see a release event in this case.
+-
+-\li If we dismiss a context menu by clicking somewhere outside a Qt application,
+-   we will process the mouse press from the master pointer as that is the
+-   device we are grabbing. We are not grabbing slave devices (grabbing on the
+-   slave device is buggy according to 19d289ab1b5bde3e136765e5432b5c7d004df3a4).
+-   And since the event occurs outside our window, the slave device event is
+-   not sent to us by the server, hence no duplicate event to drop.
+-
+-\endlist
+-*/
+-bool isDuplicateEvent(xcb_ge_event_t *event)
+-{
+-    Q_ASSERT(event);
+-
+-    struct qXIEvent {
+-        bool isValid = false;
+-        uint16_t sourceid;
+-        uint8_t evtype;
+-        uint32_t detail;
+-        int32_t root_x;
+-        int32_t root_y;
+-    };
+-    static qXIEvent lastSeenEvent;
+-
+-    bool isDuplicate = false;
+-    auto *xiDeviceEvent = reinterpret_cast<qt_xcb_input_device_event_t *>(event);
+-    if (lastSeenEvent.isValid) {
+-        isDuplicate = lastSeenEvent.sourceid == xiDeviceEvent->sourceid &&
+-                lastSeenEvent.evtype == xiDeviceEvent->event_type &&
+-                lastSeenEvent.detail == xiDeviceEvent->detail &&
+-                lastSeenEvent.root_x == xiDeviceEvent->root_x &&
+-                lastSeenEvent.root_y == xiDeviceEvent->root_y;
+-    } else {
+-        lastSeenEvent.isValid = true;
+-    }
+-    lastSeenEvent.sourceid = xiDeviceEvent->sourceid;
+-    lastSeenEvent.evtype = xiDeviceEvent->event_type;
+-    lastSeenEvent.detail = xiDeviceEvent->detail;
+-    lastSeenEvent.root_x = xiDeviceEvent->root_x;
+-    lastSeenEvent.root_y = xiDeviceEvent->root_y;
+-
+-    if (isDuplicate) {
+-        qCDebug(lcQpaXInputEvents, "Duplicate XI2 event %d", event->event_type);
+-        // This sanity check ensures that special cases like QTBUG-59277 keep working.
+-        lastSeenEvent.isValid = false; // An event can be a duplicate only once.
+-    }
+-
+-    return isDuplicate;
+-}
+-
+-} // namespace
+-
+ void QXcbConnection::xi2HandleEvent(xcb_ge_event_t *event)
+ {
+     auto *xiEvent = reinterpret_cast<qt_xcb_input_device_event_t *>(event);
+-    if (m_xiSlavePointerIds.contains(xiEvent->deviceid)) {
+-        if (!(xiEvent->event_type == XCB_INPUT_BUTTON_PRESS
+-              || xiEvent->event_type == XCB_INPUT_BUTTON_RELEASE
+-              || xiEvent->event_type == XCB_INPUT_MOTION)) {
+-            if (!m_duringSystemMoveResize)
+-                return;
+-            if (xiEvent->event == XCB_NONE)
+-                return;
+-
+-            if (xiEvent->event_type == XCB_INPUT_TOUCH_END)
+-                abortSystemMoveResize(xiEvent->event);
++    setTime(xiEvent->time);
++    if (m_xiSlavePointerIds.contains(xiEvent->deviceid) && xiEvent->event_type != XCB_INPUT_PROPERTY) {
++        if (!m_duringSystemMoveResize)
++            return;
++        if (xiEvent->event == XCB_NONE)
++            return;
+ 
++        if (xiEvent->event_type == XCB_INPUT_BUTTON_RELEASE
++            && xiEvent->detail == XCB_BUTTON_INDEX_1 ) {
++            abortSystemMoveResize(xiEvent->event);
++        } else if (xiEvent->event_type == XCB_INPUT_TOUCH_END) {
++            abortSystemMoveResize(xiEvent->event);
++            return;
++        } else {
+             return;
+         }
+@@ -784,25 +711,9 @@
+     case XCB_INPUT_BUTTON_PRESS:
+     case XCB_INPUT_BUTTON_RELEASE:
+-    case XCB_INPUT_MOTION: {
+-        if (isDuplicateEvent(event))
+-            return;
+-        if (m_xiSlavePointerIds.contains(xiEvent->deviceid)) {
+-            if (m_duringSystemMoveResize) {
+-                if (xiEvent->event_type == XCB_INPUT_BUTTON_RELEASE
+-                    && xiEvent->detail == XCB_BUTTON_INDEX_1 ) {
+-                    abortSystemMoveResize(xiEvent->event);
+-                } else {
+-                    return;
+-                }
+-            }
+-        }
+-        xiDeviceEvent = xiEvent;
+-        eventListener = windowEventListenerFromId(xiDeviceEvent->event);
+-        sourceDeviceId = xiDeviceEvent->sourceid; // use the actual device id instead of the master
+-        break;
+-    }
++    case XCB_INPUT_MOTION:
+     case XCB_INPUT_TOUCH_BEGIN:
+     case XCB_INPUT_TOUCH_UPDATE:
+-    case XCB_INPUT_TOUCH_END: {
++    case XCB_INPUT_TOUCH_END:
++    {
+         xiDeviceEvent = xiEvent;
+         eventListener = windowEventListenerFromId(xiDeviceEvent->event);

diff --git a/dev-qt/qtbase/qtbase-6.7.3.ebuild b/dev-qt/qtbase/qtbase-6.7.3-r1.ebuild
similarity index 99%
rename from dev-qt/qtbase/qtbase-6.7.3.ebuild
rename to dev-qt/qtbase/qtbase-6.7.3-r1.ebuild
index 0c67ab8..660c9cf 100644
--- a/dev-qt/qtbase/qtbase-6.7.3.ebuild
+++ b/dev-qt/qtbase/qtbase-6.7.3-r1.ebuild
@@ -148,6 +148,7 @@ PATCHES=(
 	"${FILESDIR}"/${PN}-6.6.3-gcc14-avx512fp16.patch
 	"${FILESDIR}"/${PN}-6.7.2-qcontiguouscache.patch
 	"${FILESDIR}"/${PN}-6.7.2-haswell-no-rdrnd.patch
+	"${FILESDIR}"/${PN}-6.7.3-erratic-mouse-input.patch
 )
 
 src_prepare() {


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [gentoo-commits] repo/proj/libressl:master commit in: dev-qt/qtbase/files/, dev-qt/qtbase/
@ 2024-10-09  4:25 orbea
  0 siblings, 0 replies; 15+ messages in thread
From: orbea @ 2024-10-09  4:25 UTC (permalink / raw
  To: gentoo-commits

commit:     dc781b4f0a4f13f27667fc0e3d051f2bee349437
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Wed Oct  9 03:17:58 2024 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Wed Oct  9 03:17:58 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=dc781b4f

dev-qt/qtbase: add 6.7.3-r2, drop 6.7.3-r1

Signed-off-by: orbea <orbea <AT> riseup.net>

 .../qtbase/files/qtbase-6.7.3-QTBUG-125053.patch   | 46 ++++++++++++++++++++++
 ...base-6.7.3-r1.ebuild => qtbase-6.7.3-r2.ebuild} |  1 +
 2 files changed, 47 insertions(+)

diff --git a/dev-qt/qtbase/files/qtbase-6.7.3-QTBUG-125053.patch b/dev-qt/qtbase/files/qtbase-6.7.3-QTBUG-125053.patch
new file mode 100644
index 0000000..fc60e30
--- /dev/null
+++ b/dev-qt/qtbase/files/qtbase-6.7.3-QTBUG-125053.patch
@@ -0,0 +1,46 @@
+https://bugreports.qt.io/browse/QTBUG-125053
+https://bugreports.qt.io/browse/QTBUG-127340
+https://codereview.qt-project.org/c/qt/qtbase/+/593123
+--- a/src/corelib/itemmodels/qabstractitemmodel.cpp
++++ b/src/corelib/itemmodels/qabstractitemmodel.cpp
+@@ -3396,4 +3396,11 @@
+ void QAbstractItemModel::beginResetModel()
+ {
++    Q_D(QAbstractItemModel);
++    if (d->resetting) {
++        qWarning() << "beginResetModel called on" << this << "without calling endResetModel first";
++        // Warn, but don't return early in case user code relies on the incorrect behavior.
++    }
++
++    d->resetting = true;
+     emit modelAboutToBeReset(QPrivateSignal());
+ }
+@@ -3413,6 +3420,12 @@
+ {
+     Q_D(QAbstractItemModel);
++    if (!d->resetting) {
++        qWarning() << "endResetModel called on" << this << "without calling beginResetModel first";
++        // Warn, but don't return early in case user code relies on the incorrect behavior.
++    }
++
+     d->invalidatePersistentIndexes();
+     resetInternalData();
++    d->resetting = false;
+     emit modelReset(QPrivateSignal());
+ }
+--- a/src/corelib/itemmodels/qabstractitemmodel_p.h
++++ b/src/corelib/itemmodels/qabstractitemmodel_p.h
+@@ -46,4 +46,6 @@
+     ~QAbstractItemModelPrivate();
+ 
++    static const QAbstractItemModelPrivate *get(const QAbstractItemModel *model) { return model->d_func(); }
++
+     void removePersistentIndexData(QPersistentModelIndexData *data);
+     void movePersistentIndexes(const QList<QPersistentModelIndexData *> &indexes, int change, const QModelIndex &parent,
+@@ -116,4 +118,6 @@
+     } persistent;
+ 
++    bool resetting = false;
++
+     static const QHash<int,QByteArray> &defaultRoleNames();
+     static bool isVariantLessThan(const QVariant &left, const QVariant &right,

diff --git a/dev-qt/qtbase/qtbase-6.7.3-r1.ebuild b/dev-qt/qtbase/qtbase-6.7.3-r2.ebuild
similarity index 99%
rename from dev-qt/qtbase/qtbase-6.7.3-r1.ebuild
rename to dev-qt/qtbase/qtbase-6.7.3-r2.ebuild
index 660c9cf..1c3de53 100644
--- a/dev-qt/qtbase/qtbase-6.7.3-r1.ebuild
+++ b/dev-qt/qtbase/qtbase-6.7.3-r2.ebuild
@@ -149,6 +149,7 @@ PATCHES=(
 	"${FILESDIR}"/${PN}-6.7.2-qcontiguouscache.patch
 	"${FILESDIR}"/${PN}-6.7.2-haswell-no-rdrnd.patch
 	"${FILESDIR}"/${PN}-6.7.3-erratic-mouse-input.patch
+	"${FILESDIR}"/${PN}-6.7.3-QTBUG-125053.patch
 )
 
 src_prepare() {


^ permalink raw reply related	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2024-10-09  4:25 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-26 15:23 [gentoo-commits] repo/proj/libressl:master commit in: dev-qt/qtbase/files/, dev-qt/qtbase/ orbea
  -- strict thread matches above, loose matches on Subject: below --
2024-10-09  4:25 orbea
2024-10-02 15:08 orbea
2024-07-19  3:40 orbea
2024-06-11 19:21 orbea
2024-05-03  0:59 orbea
2024-04-22 23:44 orbea
2024-02-25  2:42 orbea
2023-12-29 15:34 orbea
2023-12-06  4:58 orbea
2023-09-28 16:55 orbea
2023-09-06 18:11 orbea
2023-07-21 20:56 orbea
2023-05-24 18:06 orbea
2023-04-21 15:02 orbea

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox