public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qt-creator/files/, dev-qt/qt-creator/
@ 2020-06-25  7:11 Jason A. Donenfeld
  0 siblings, 0 replies; 7+ messages in thread
From: Jason A. Donenfeld @ 2020-06-25  7:11 UTC (permalink / raw
  To: gentoo-commits

commit:     bc68a1d9330ace294ef43e31bca5b5d430b73b39
Author:     Jason A. Donenfeld <zx2c4 <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 25 07:00:06 2020 +0000
Commit:     Jason A. Donenfeld <zx2c4 <AT> gentoo <DOT> org>
CommitDate: Thu Jun 25 07:11:04 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc68a1d9

dev-qt/qt-creator: rollback change to apply Peter's work

This reverts commit b5b9383e897b618372ae474fedb68517738a0d04.

Package-Manager: Portage-2.3.103, Repoman-2.3.23
Signed-off-by: Jason A. Donenfeld <zx2c4 <AT> gentoo.org>

 dev-qt/qt-creator/Manifest                         |  2 +-
 .../files/qt-creator-4.12.3-clang-libs.patch       | 24 ----------------------
 .../files/qt-creator-4.12.3-preload-plugins.patch  | 13 ------------
 ...ator-4.12.3.ebuild => qt-creator-4.12.0.ebuild} |  9 ++------
 4 files changed, 3 insertions(+), 45 deletions(-)

diff --git a/dev-qt/qt-creator/Manifest b/dev-qt/qt-creator/Manifest
index 98c7d26ee6f..d7586825807 100644
--- a/dev-qt/qt-creator/Manifest
+++ b/dev-qt/qt-creator/Manifest
@@ -1,3 +1,3 @@
 DIST qt-creator-opensource-src-4.10.1.tar.xz 26299716 BLAKE2B a72e05fc80cb4065851e5849f49c6ec8e35b08916e928a9fea856ba30710220d8632f4a1ffaf1d1d5e2cae8e9121ab188b8f9ed672f9c8695c9e572ae609397c SHA512 ec0ac4d37e4195e906b100405869cb8e6dff618b8862d8ab620e30e034553eb944de6e4a92478ab2e67b86bd4c3e9cff6fd6051411893be36387d7821d712ce3
-DIST qt-creator-opensource-src-4.12.3.tar.xz 34351356 BLAKE2B 7f1302df09bae10ebe1882552abd25333788d7185280e9a0c73e7da6fb8b4d929da326e42c500385fba3e044350cd46c2cf2e33e49b0cca2d9c3b4d68693115d SHA512 48cd5839cff724300516f78deba3b1a7199d46d6f9a6a4c662bf2f581db167e4376a9bdd544544071591c4ee43c319c92ffcaf5ebb85412297f4144c3c7db7bf
+DIST qt-creator-opensource-src-4.12.0.tar.xz 32575196 BLAKE2B 193e10a790f35944473c2177ba84e6e15d00effc769b4d63a51a217e4da93a4d6ca0061976d0def31c625a73d49b0adcb40e551d02a70ab7225b40f441d9b6b6 SHA512 9c35ebf095c2874b89af54b06fd190976a27f7e753a23e47db3b26947bdba64e4fe7774ae8b252867cf7f6f0c86b35d773a4012cae6d4aaa9101d7a31973f215
 DIST qt-creator-opensource-src-4.8.2.tar.xz 24600872 BLAKE2B c686ea4f0ab981cba98319d8d7dd8eee9fd967d17e80f2602e8416145bddcbd7cae928d06a950914d677c9b2e82ed855812e66d64ce7cc998742357284f41865 SHA512 9900a82b1298a1cc74b33eab6a1063ed77e11f3150b8f82a72b7703b88f979e5a332efee9a622554df5238b44470e99a061b6c70f0d8cdfc352a07ce51a4c450

diff --git a/dev-qt/qt-creator/files/qt-creator-4.12.3-clang-libs.patch b/dev-qt/qt-creator/files/qt-creator-4.12.3-clang-libs.patch
deleted file mode 100644
index a0cc8c54738..00000000000
--- a/dev-qt/qt-creator/files/qt-creator-4.12.3-clang-libs.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/src/shared/clang/clang_installation.pri b/src/shared/clang/clang_installation.pri
-index 08838838bc..bee3779484 100644
---- a/src/shared/clang/clang_installation.pri
-+++ b/src/shared/clang/clang_installation.pri
-@@ -131,9 +131,7 @@ defineReplace(extractWarnings) {
-     return($$result)
- }
- 
--CLANGTOOLING_LIBS=-lclangTooling -lclangIndex -lclangFrontend -lclangParse -lclangSerialization \
--                  -lclangSema -lclangEdit -lclangAnalysis -lclangDriver -lclangDynamicASTMatchers \
--                  -lclangASTMatchers -lclangToolingCore -lclangAST -lclangLex -lclangBasic
-+CLANGTOOLING_LIBS=-lclang-cpp
- win32:CLANGTOOLING_LIBS += -lversion
- 
- BIN_EXTENSION =
-@@ -207,7 +205,7 @@ isEmpty(LLVM_VERSION) {
-     isEmpty(QTC_CLANG_BUILDMODE_MISMATCH)|!equals(QTC_CLANG_BUILDMODE_MISMATCH, 1) {
-         CLANGFORMAT_MAIN_HEADER = $$LLVM_INCLUDEPATH/clang/Format/Format.h
-         exists($$CLANGFORMAT_MAIN_HEADER) {
--            CLANGFORMAT_LIBS=-lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangLex -lclangBasic
-+            CLANGFORMAT_LIBS=-lclang-cpp
-             ALL_CLANG_LIBS=-lclangFormat -lclangToolingInclusions -lclangTooling -lclangToolingCore \
-                            -lclangRewrite -lclangIndex -lclangFrontend -lclangParse -lclangSerialization \
-                            -lclangSema -lclangEdit -lclangAnalysis -lclangDriver -lclangDynamicASTMatchers \

diff --git a/dev-qt/qt-creator/files/qt-creator-4.12.3-preload-plugins.patch b/dev-qt/qt-creator/files/qt-creator-4.12.3-preload-plugins.patch
deleted file mode 100644
index d4ec515fe05..00000000000
--- a/dev-qt/qt-creator/files/qt-creator-4.12.3-preload-plugins.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/plugins/clangtools/clangtidyclazyrunner.cpp b/src/plugins/clangtools/clangtidyclazyrunner.cpp
-index 166d1c94e0..de0b9cc67b 100644
---- a/src/plugins/clangtools/clangtidyclazyrunner.cpp
-+++ b/src/plugins/clangtools/clangtidyclazyrunner.cpp
-@@ -67,7 +67,7 @@ static QStringList clazyPluginArguments(const ClangDiagnosticConfig diagnosticCo
-     QStringList arguments;
- 
-     if (diagnosticConfig.isClazyEnabled()) {
--        arguments << XclangArgs({"-add-plugin", "clazy"});
-+        arguments << XclangArgs({"-load", "ClazyPlugin.so", "-add-plugin", "clazy"});
-         if (!diagnosticConfig.clazyChecks().isEmpty())
-             arguments << XclangArgs({"-plugin-arg-clazy", diagnosticConfig.clazyChecks()});
-     }

diff --git a/dev-qt/qt-creator/qt-creator-4.12.3.ebuild b/dev-qt/qt-creator/qt-creator-4.12.0.ebuild
similarity index 97%
rename from dev-qt/qt-creator/qt-creator-4.12.3.ebuild
rename to dev-qt/qt-creator/qt-creator-4.12.0.ebuild
index bfcf6f271e6..a4ca520e993 100644
--- a/dev-qt/qt-creator/qt-creator-4.12.3.ebuild
+++ b/dev-qt/qt-creator/qt-creator-4.12.0.ebuild
@@ -2,7 +2,7 @@
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
-LLVM_MAX_SLOT=10
+LLVM_MAX_SLOT=9
 PLOCALES="cs da de fr ja pl ru sl uk zh-CN zh-TW"
 
 inherit llvm qmake-utils virtualx xdg
@@ -59,7 +59,7 @@ CDEPEND="
 	>=dev-qt/qtwidgets-${QT_PV}
 	>=dev-qt/qtx11extras-${QT_PV}
 	>=dev-qt/qtxml-${QT_PV}
-	clang? ( sys-devel/clang:10 )
+	clang? ( >=sys-devel/clang-9.0.1:= )
 	designer? ( >=dev-qt/designer-${QT_PV} )
 	help? (
 		>=dev-qt/qthelp-${QT_PV}
@@ -99,11 +99,6 @@ for x in ${PLOCALES}; do
 done
 unset x
 
-PATCHES=(
-	"${FILESDIR}/${PN}"-4.12.3-clang-libs.patch
-	"${FILESDIR}/${PN}"-4.12.3-preload-plugins.patch
-)
-
 pkg_setup() {
 	use clang && llvm_pkg_setup
 }


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

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qt-creator/files/, dev-qt/qt-creator/
@ 2020-06-25  7:11 Jason A. Donenfeld
  0 siblings, 0 replies; 7+ messages in thread
From: Jason A. Donenfeld @ 2020-06-25  7:11 UTC (permalink / raw
  To: gentoo-commits

commit:     24dd58fe4592775fe430ee98d17ecb7825a02ade
Author:     Peter Levine <plevine457 <AT> gmail <DOT> com>
AuthorDate: Fri May  8 07:11:14 2020 +0000
Commit:     Jason A. Donenfeld <zx2c4 <AT> gentoo <DOT> org>
CommitDate: Thu Jun 25 07:11:04 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=24dd58fe

dev-qt/qt-creator: Support clang-10

Builds and runs without issue using patch from
https://codereview.qt-project.org/c/qt-creator/qt-creator/+/299377

Closes: https://bugs.gentoo.org/720240
Closes: https://bugs.gentoo.org/711788
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Peter Levine <plevine457 <AT> gmail.com>
Signed-off-by: Jason A. Donenfeld <zx2c4 <AT> gentoo.org>

 .../files/qt-creator-4.12.0-dylib-fix.patch        | 84 ++++++++++++++++++++++
 dev-qt/qt-creator/qt-creator-9999.ebuild           | 13 +++-
 2 files changed, 95 insertions(+), 2 deletions(-)

diff --git a/dev-qt/qt-creator/files/qt-creator-4.12.0-dylib-fix.patch b/dev-qt/qt-creator/files/qt-creator-4.12.0-dylib-fix.patch
new file mode 100644
index 00000000000..0d4deb2c795
--- /dev/null
+++ b/dev-qt/qt-creator/files/qt-creator-4.12.0-dylib-fix.patch
@@ -0,0 +1,84 @@
+From 1c5faa6dcf16135ee31252d13766d01536a69405 Mon Sep 17 00:00:00 2001
+From: Peter Levine <plevine457@gmail.com>
+Date: Tue, 5 May 2020 03:45:35 -0400
+Subject: [PATCH] Fix building against clang configured with
+ CLANG_LINK_CLANG_DYLIB
+
+LLVM/Clang upstream only officially supports building shared
+components as a single dynamic library (via
+LLVM_BUILD_LLVM_DYLIB=ON, CLANG_LINK_CLANG_DYLIB=ON, etc..).
+Linux distros like Fedora and Gentoo have followed suit.
+
+Unfortunately, QT-Creator's src/shared/clang/clang_installation.pri
+file assumes clang is built with separate component libraries
+and the build fails.
+
+This change alters the build to check for the existence
+of clang component libraries and, if found, link to them, or
+otherwise to libclang-cpp.
+
+Task-number: QTCREATORBUG-23172
+Change-Id: I17df5822d7aeb471227f21f2cf4a71871d6f9b86
+---
+ src/shared/clang/clang_installation.pri | 35 +++++++++++++++----------
+ 1 file changed, 21 insertions(+), 14 deletions(-)
+
+diff --git a/src/shared/clang/clang_installation.pri b/src/shared/clang/clang_installation.pri
+index 08838838bca..c191c57f1c7 100644
+--- a/src/shared/clang/clang_installation.pri
++++ b/src/shared/clang/clang_installation.pri
+@@ -204,19 +204,6 @@ isEmpty(LLVM_VERSION) {
+         }
+     }
+ 
+-    isEmpty(QTC_CLANG_BUILDMODE_MISMATCH)|!equals(QTC_CLANG_BUILDMODE_MISMATCH, 1) {
+-        CLANGFORMAT_MAIN_HEADER = $$LLVM_INCLUDEPATH/clang/Format/Format.h
+-        exists($$CLANGFORMAT_MAIN_HEADER) {
+-            CLANGFORMAT_LIBS=-lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangLex -lclangBasic
+-            ALL_CLANG_LIBS=-lclangFormat -lclangToolingInclusions -lclangTooling -lclangToolingCore \
+-                           -lclangRewrite -lclangIndex -lclangFrontend -lclangParse -lclangSerialization \
+-                           -lclangSema -lclangEdit -lclangAnalysis -lclangDriver -lclangDynamicASTMatchers \
+-                           -lclangASTMatchers -lclangAST -lclangLex -lclangBasic
+-            win32:CLANGFORMAT_LIBS += -lversion
+-        }
+-    }
+-    win32:ALL_CLANG_LIBS += -lversion
+-
+     LIBCLANG_MAIN_HEADER = $$LLVM_INCLUDEPATH/clang-c/Index.h
+     !exists($$LIBCLANG_MAIN_HEADER) {
+         $$llvmWarningOrError(\
+@@ -237,10 +224,30 @@ isEmpty(LLVM_VERSION) {
+     LIBCLANG_LIBS += $${CLANG_LIB}
+ 
+     isEmpty(QTC_CLANG_BUILDMODE_MISMATCH)|!equals(QTC_CLANG_BUILDMODE_MISMATCH, 1) {
++        CLANGFORMAT_MAIN_HEADER = $$LLVM_INCLUDEPATH/clang/Format/Format.h
++        exists($$CLANGFORMAT_MAIN_HEADER) {
++            exists($${LLVM_LIBDIR}/libclangFormat.so*)|exists($${LLVM_LIBDIR}/libclangFormat.dylib) {
++                CLANGFORMAT_LIBS=-lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangLex -lclangBasic
++                ALL_CLANG_LIBS=-lclangFormat -lclangToolingInclusions -lclangTooling -lclangToolingCore \
++                           -lclangRewrite -lclangIndex -lclangFrontend -lclangParse -lclangSerialization \
++                           -lclangSema -lclangEdit -lclangAnalysis -lclangDriver -lclangDynamicASTMatchers \
++                           -lclangASTMatchers -lclangAST -lclangLex -lclangBasic
++                win32:CLANGFORMAT_LIBS += -lversion
++                win32:ALL_CLANG_LIBS += -lversion
++            } else {
++                CLANGFORMAT_LIBS=-lclang-cpp
++                ALL_CLANG_LIBS=-lclang-cpp
++            }
++        }
++
+         QTC_DISABLE_CLANG_REFACTORING=$$(QTC_DISABLE_CLANG_REFACTORING)
+         isEmpty(QTC_DISABLE_CLANG_REFACTORING) {
+             !contains(QMAKE_DEFAULT_LIBDIRS, $$LLVM_LIBDIR): LIBTOOLING_LIBS = -L$${LLVM_LIBDIR}
+-            LIBTOOLING_LIBS += $$CLANGTOOLING_LIBS $$LLVM_STATIC_LIBS
++            exists($${LLVM_LIBDIR}/libclangTooling.so*)|exists($${LLVM_LIBDIR}/libclangTooling.dylib) {
++                LIBTOOLING_LIBS += $$CLANGTOOLING_LIBS $$LLVM_STATIC_LIBS
++            } else {
++                LIBTOOLING_LIBS += -lclang-cpp $$LLVM_STATIC_LIBS
++            }
+         }
+     }
+ 
+-- 
+2.26.2
+

diff --git a/dev-qt/qt-creator/qt-creator-9999.ebuild b/dev-qt/qt-creator/qt-creator-9999.ebuild
index bf48a061bde..01f6e2d47c2 100644
--- a/dev-qt/qt-creator/qt-creator-9999.ebuild
+++ b/dev-qt/qt-creator/qt-creator-9999.ebuild
@@ -2,7 +2,7 @@
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
-LLVM_MAX_SLOT=8
+LLVM_MAX_SLOT=10
 PLOCALES="cs da de fr ja pl ru sl uk zh-CN zh-TW"
 
 inherit llvm qmake-utils virtualx xdg
@@ -64,7 +64,14 @@ CDEPEND="
 	>=dev-qt/qtwidgets-${QT_PV}
 	>=dev-qt/qtx11extras-${QT_PV}
 	>=dev-qt/qtxml-${QT_PV}
-	clang? ( sys-devel/clang:8= )
+	clang? (
+		|| (
+			sys-devel/clang:10
+			sys-devel/clang:9
+			sys-devel/clang:8
+		)
+		<sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=
+	)
 	designer? ( >=dev-qt/designer-${QT_PV} )
 	help? (
 		>=dev-qt/qthelp-${QT_PV}
@@ -101,6 +108,8 @@ for x in ${PLOCALES}; do
 done
 unset x
 
+PATCHES=( "${FILESDIR}"/${PN}-4.12.0-dylib-fix.patch )
+
 pkg_setup() {
 	use clang && llvm_pkg_setup
 }


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

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qt-creator/files/, dev-qt/qt-creator/
@ 2023-09-11 21:20 Ionen Wolkens
  0 siblings, 0 replies; 7+ messages in thread
From: Ionen Wolkens @ 2023-09-11 21:20 UTC (permalink / raw
  To: gentoo-commits

commit:     dcd602a4a0830f42b943bdb5eec75948efc0cee7
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Sep  9 17:23:26 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Sep 11 21:20:07 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dcd602a4

dev-qt/qt-creator: add 11.0.2

Not going to list every changes given this ebuild is from scratch.

There are a few ebuilds for this going around, but they about all
have (IMO) overcustomization, with a lot of USE to juggle for both
users and maintainers (some handled through sed'ing cmake files) --
all while plugins can still be disabled at runtime either way.

So this is now mostly limited to options that introduce an extra
dependency (e.g. clang). "Some" of the longest to build plugins
do have dependencies, so this still allows to cut down build time
a decent amount (not that this is a short build still).

Other small notes:
* Default IUSEs match what Qt Creator enables by default at runtime
 (albeit default USE=-tracing could be interesting for faster builds).
* Left gumbo unbundling out for now given ultimate goal is to unbundle
  litehtml instead (which itself uses gumbo), but currently it requires
  a large patch for 0.8 support (likewise to unbundle on qttools).

wrt bug #905166, delaying cleanup given restoring keywords is
non-trivial and users may need time to adjust for Qt5->Qt6, but
can be dropped anytime anyway if llvm:14 cleanup is happening
(do not consider this a blocker).

Bug: https://bugs.gentoo.org/905166
Closes: https://bugs.gentoo.org/835042
Closes: https://bugs.gentoo.org/905417
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-qt/qt-creator/Manifest                         |   1 +
 .../files/qt-creator-11.0.2-musl-no-execinfo.patch |  47 ++++
 .../qt-creator-11.0.2-musl-no-malloc-trim.patch    |  10 +
 .../qt-creator/files/qt-creator-11.0.2-qt653.patch |  26 +++
 dev-qt/qt-creator/metadata.xml                     |   7 +-
 dev-qt/qt-creator/qt-creator-11.0.2.ebuild         | 260 +++++++++++++++++++++
 6 files changed, 349 insertions(+), 2 deletions(-)

diff --git a/dev-qt/qt-creator/Manifest b/dev-qt/qt-creator/Manifest
index 9fd838575706..748984c50c0c 100644
--- a/dev-qt/qt-creator/Manifest
+++ b/dev-qt/qt-creator/Manifest
@@ -1 +1,2 @@
+DIST qt-creator-opensource-src-11.0.2.tar.xz 49828532 BLAKE2B 6028b71e1a7bf5ab953caa6223a2694e625449ab9e0eaa6e0dd8b34c0d64a9a5cea7b06d4aa98015d91defad04bc945db8528f87f5bddc70ba185ca32bb7ee8b SHA512 db123274e0652982f33db60b8f81610f0787357cdc7318ea2bbe105343ff905462c38e29a68f864c48bda51fee6f17859074c172f77dd2379ecc2e7028f5fcd5
 DIST qt-creator-opensource-src-8.0.2.tar.xz 48874868 BLAKE2B 53f491441ba28f9420c76cd4adfdcb7c7ef432d756fc5bf64a507c2cd1022b35700418a7b35b7119d97f9947b5dac2a8acc56b600c3e75001f80565f1619c072 SHA512 59ff62e6592fd33ff74aeab13dd33f3817ba132fb98f8a87ea818e1e52b4af0dc292e362085733665f0867d67ff867794755b2f02067897a9fb1c14023c6fb23

diff --git a/dev-qt/qt-creator/files/qt-creator-11.0.2-musl-no-execinfo.patch b/dev-qt/qt-creator/files/qt-creator-11.0.2-musl-no-execinfo.patch
new file mode 100644
index 000000000000..b36cfef2d4e7
--- /dev/null
+++ b/dev-qt/qt-creator/files/qt-creator-11.0.2-musl-no-execinfo.patch
@@ -0,0 +1,47 @@
+execinfo is unavailable with musl (unless opted to package+use libexecinfo)
+--- a/src/libs/utils/qtcassert.cpp
++++ b/src/libs/utils/qtcassert.cpp
+@@ -9,5 +9,5 @@
+ #include <QTime>
+ 
+-#if defined(Q_OS_UNIX)
++#if defined(Q_OS_UNIX) && defined(__GLIBC__)
+ #include <stdio.h>
+ #include <signal.h>
+@@ -30,5 +30,5 @@
+     if (maxdepth < 0 || maxdepth > ArraySize)
+         maxdepth = ArraySize;
+-#if defined(Q_OS_UNIX)
++#if defined(Q_OS_UNIX) && defined(__GLIBC__)
+     void *bt[ArraySize] = {nullptr};
+     int size = backtrace(bt, maxdepth);
+--- a/src/plugins/qmldesigner/designercore/exceptions/exception.cpp
++++ b/src/plugins/qmldesigner/designercore/exceptions/exception.cpp
+@@ -4,5 +4,5 @@
+ #include "exception.h"
+ 
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) && defined(__GLIBC__)
+ #include <execinfo.h>
+ #include <cxxabi.h>
+@@ -31,5 +31,5 @@
+ namespace QmlDesigner {
+ 
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) && defined(__GLIBC__)
+ const char* demangle(const char* name)
+ {
+@@ -76,5 +76,5 @@
+ }
+ 
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) && defined(__GLIBC__)
+ static QString getBackTrace()
+ {
+@@ -114,5 +114,5 @@
+   , m_file(QString::fromUtf8(file))
+   , m_description(description)
+-  #ifdef Q_OS_LINUX
++  #if defined(Q_OS_LINUX) && defined(__GLIBC__)
+   , m_backTrace(getBackTrace())
+   #endif

diff --git a/dev-qt/qt-creator/files/qt-creator-11.0.2-musl-no-malloc-trim.patch b/dev-qt/qt-creator/files/qt-creator-11.0.2-musl-no-malloc-trim.patch
new file mode 100644
index 000000000000..d4936882d4d2
--- /dev/null
+++ b/dev-qt/qt-creator/files/qt-creator-11.0.2-musl-no-malloc-trim.patch
@@ -0,0 +1,10 @@
+malloc_trim() is unavailable with musl
+--- a/src/plugins/coreplugin/mainwindow.cpp
++++ b/src/plugins/coreplugin/mainwindow.cpp
+@@ -222,5 +222,5 @@
+         m_trimTimer.setInterval(60000);
+         // glibc may not actually free memory in free().
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) && defined(__GLIBC__)
+         connect(&m_trimTimer, &QTimer::timeout, this, [] { malloc_trim(0); });
+ #endif

diff --git a/dev-qt/qt-creator/files/qt-creator-11.0.2-qt653.patch b/dev-qt/qt-creator/files/qt-creator-11.0.2-qt653.patch
new file mode 100644
index 000000000000..1ad23a207d9b
--- /dev/null
+++ b/dev-qt/qt-creator/files/qt-creator-11.0.2-qt653.patch
@@ -0,0 +1,26 @@
+Uses private parts of the QtQuick3D api which added a namespace in:
+https://github.com/qt/qtquick3d/commit/2b139225745a94ab4fa7e30f28cd0207469ee68e
+--- a/src/tools/qml2puppet/qml2puppet/editor3d/generalhelper.cpp
++++ b/src/tools/qml2puppet/qml2puppet/editor3d/generalhelper.cpp
+@@ -803,5 +803,9 @@
+     const QMatrix4x4 sceneTransform = parent->sceneTransform() * localTransform;
+ 
++#if (QT_VERSION >= QT_VERSION_CHECK(6, 5, 3))
++    return QSSGUtils::mat44::getPosition(sceneTransform);
++#else
+     return mat44::getPosition(sceneTransform);
++#endif
+ }
+ 
+--- a/src/tools/qml2puppet/qml2puppet/editor3d/mousearea3d.cpp
++++ b/src/tools/qml2puppet/qml2puppet/editor3d/mousearea3d.cpp
+@@ -738,5 +738,9 @@
+     const QMatrix4x4 sceneTransform = parent->sceneTransform() * localTransform;
+ 
++#if (QT_VERSION >= QT_VERSION_CHECK(6, 5, 3))
++    return QSSGUtils::mat44::getPosition(sceneTransform);
++#else
+     return mat44::getPosition(sceneTransform);
++#endif
+ }
+ 

diff --git a/dev-qt/qt-creator/metadata.xml b/dev-qt/qt-creator/metadata.xml
index dc11e329b879..8a364df28048 100644
--- a/dev-qt/qt-creator/metadata.xml
+++ b/dev-qt/qt-creator/metadata.xml
@@ -27,7 +27,7 @@
 		<flag name="designer">Enable designer for QtWidgets-based UIs</flag>
 		<flag name="docker">Build plugin for Docker support</flag>
 		<flag name="glsl">Build the GLSL editor plugin</flag>
-		<flag name="help">Enable the integrated documentation viewer</flag>
+		<flag name="help">Enable the integrated <pkg>dev-qt/qt-docs</pkg> viewer (also needed for examples)</flag>
 		<flag name="imageviewer">Build plugin to open and view image files</flag>
 		<flag name="incredibuild">Enable integration with Incredibuild</flag>
 		<flag name="lsp">Add support for the Language Server Protocol (LSP)</flag>
@@ -49,12 +49,15 @@
 		<flag name="serialterminal">Build the serial terminal plugin</flag>
 		<flag name="silversearcher">Enable integration with <pkg>sys-apps/the_silver_searcher</pkg></flag>
 		<flag name="systemd">Add support for retrieving application output from journald</flag>
+		<flag name="qmldesigner">Build QmlDesigner and related plugins (Insight, StudioWelcome)</flag>
+		<flag name="tracing">Build plugins requiring tracing capabilities (CtfVisualizer, PerfProfiler, QmlProfiler)</flag>
 		<flag name="valgrind">Enable integration with <pkg>dev-util/valgrind</pkg></flag>
 		<flag name="webassembly">Build WebAssembly plugin</flag>
-		<flag name="webengine">Use <pkg>dev-qt/qtwebengine</pkg> to view documentation</flag>
+		<flag name="webengine">Use <pkg>dev-qt/qtwebengine</pkg> with the help USE rather than bundled litehtml</flag>
 	</use>
 	<upstream>
 		<bugs-to>https://bugreports.qt.io/</bugs-to>
 		<doc>https://doc.qt.io/qtcreator/</doc>
+		<remote-id type="github">qt-creator/qt-creator</remote-id>
 	</upstream>
 </pkgmetadata>

diff --git a/dev-qt/qt-creator/qt-creator-11.0.2.ebuild b/dev-qt/qt-creator/qt-creator-11.0.2.ebuild
new file mode 100644
index 000000000000..2d43880f115f
--- /dev/null
+++ b/dev-qt/qt-creator/qt-creator-11.0.2.ebuild
@@ -0,0 +1,260 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit cmake flag-o-matic llvm python-any-r1 readme.gentoo-r1 xdg
+
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI=(
+		"https://code.qt.io/qt-creator/qt-creator.git"
+		"https://github.com/qt-creator/qt-creator.git"
+	)
+	EGIT_SUBMODULES=(
+		perfparser
+		src/libs/qlitehtml
+		src/libs/qlitehtml/src/3rdparty/litehtml
+	)
+else
+	QTC_PV=${PV/_/-}
+	QTC_P=${PN}-opensource-src-${QTC_PV}
+	[[ ${QTC_PV} == ${PV} ]] && QTC_REL=official || QTC_REL=development
+	SRC_URI="https://download.qt.io/${QTC_REL}_releases/qtcreator/$(ver_cut 1-2)/${PV/_/-}/${QTC_P}.tar.xz"
+	S=${WORKDIR}/${QTC_P}
+	KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Lightweight IDE for C++/QML development centering around Qt"
+HOMEPAGE="https://www.qt.io/product/development-tools"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="
+	+clang +designer doc +help qmldesigner serialterminal
+	+svg test +tracing webengine
+"
+RESTRICT="!test? ( test )"
+
+# 17+ may be usable, but there are many fixes for 17 in next version
+LLVM_MAX_SLOT=16
+QT_PV=6.2.0:6 # IDE_QT_VERSION_MIN
+
+# := is used where Qt's private APIs are used for safety
+COMMON_DEPEND="
+	>=dev-qt/qt5compat-${QT_PV}
+	>=dev-qt/qtbase-${QT_PV}=[concurrent,gui,network,widgets,xml]
+	>=dev-qt/qtdeclarative-${QT_PV}=
+	clang? (
+		dev-cpp/yaml-cpp:=
+		<sys-devel/clang-$((LLVM_MAX_SLOT+1)):=
+	)
+	designer? ( >=dev-qt/qttools-${QT_PV}[designer] )
+	help? (
+		>=dev-qt/qttools-${QT_PV}[assistant]
+		webengine? ( >=dev-qt/qtwebengine-${QT_PV} )
+	)
+	qmldesigner? (
+		>=dev-qt/qtquick3d-${QT_PV}=
+		>=dev-qt/qtsvg-${QT_PV}
+	)
+	serialterminal? ( >=dev-qt/qtserialport-${QT_PV} )
+	svg? ( >=dev-qt/qtsvg-${QT_PV} )
+	tracing? (
+		app-arch/zstd:=
+		dev-libs/elfutils
+		>=dev-qt/qtshadertools-${QT_PV}
+	)
+"
+# qtimageformats for .webp in examples, semi-optfeature but useful in general
+RDEPEND="
+	${COMMON_DEPEND}
+	help? ( >=dev-qt/qtimageformats-${QT_PV} )
+	qmldesigner? ( >=dev-qt/qtquicktimeline-${QT_PV} )
+"
+DEPEND="${COMMON_DEPEND}"
+BDEPEND="
+	${PYTHON_DEPS}
+	>=dev-qt/qttools-${QT_PV}[linguist]
+	doc? ( >=dev-qt/qttools-${QT_PV}[qdoc] )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-11.0.2-musl-no-execinfo.patch
+	"${FILESDIR}"/${PN}-11.0.2-musl-no-malloc-trim.patch
+	"${FILESDIR}"/${PN}-11.0.2-qt653.patch
+)
+
+pkg_setup() {
+	python-any-r1_pkg_setup
+	use clang && llvm_pkg_setup
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	# needed for finding docs at runtime in PF
+	sed -e "/_IDE_DOC_PATH/s/qtcreator/${PF}/" \
+		-i cmake/QtCreatorAPIInternal.cmake || die
+}
+
+src_configure() {
+	# -Werror=lto-type-mismatch issues, needs looking into
+	filter-lto
+
+	# temporary workaround for musl-1.2.4 (bug #903611), this ideally
+	# needs fixing in qtbase as *64 usage comes from its headers' macros
+	use elibc_musl && append-lfs-flags
+
+	local mycmakeargs=(
+		-DBUILD_WITH_PCH=no
+		-DWITH_DOCS=$(usex doc)
+		-DBUILD_DEVELOPER_DOCS=$(usex doc)
+		-DWITH_TESTS=$(usex test)
+
+		# TODO?: try to unbundle with =no when syntax-highlighting:6 exists
+		-DBUILD_LIBRARY_KSYNTAXHIGHLIGHTING=yes
+
+		# Much can be optional, but do not want to flood users (or maintainers)
+		# with too many flags. Not to mention that many plugins are merely
+		# wrappers around still optional tools (e.g. cvs) and any unwanted
+		# plugins can be disabled at runtime. So optional flags are limited
+		# to plugins with additional build-time dependencies.
+		-DBUILD_LIBRARY_TRACING=$(usex tracing) # qml+perfprofiler,ctfvisual
+		-DBUILD_EXECUTABLE_PERFPARSER=$(usex tracing)
+
+		-DBUILD_PLUGIN_CLANGCODEMODEL=$(usex clang)
+		-DBUILD_PLUGIN_CLANGFORMAT=$(usex clang)
+		-DBUILD_PLUGIN_CLANGTOOLS=$(usex clang)
+		-DCLANGTOOLING_LINK_CLANG_DYLIB=yes
+
+		-DBUILD_PLUGIN_DESIGNER=$(usex designer)
+
+		-DBUILD_PLUGIN_HELP=$(usex help)
+		-DBUILD_HELPVIEWERBACKEND_QTWEBENGINE=$(usex webengine)
+		-DBUILD_LIBRARY_QLITEHTML=$(usex help $(usex !webengine))
+		# TODO?: package litehtml, but support for latest releases seem
+		# to lag behind and bundled may work out better for now
+		# https://bugreports.qt.io/browse/QTCREATORBUG-29169
+		$(use help && usev !webengine '
+			-DCMAKE_DISABLE_FIND_PACKAGE_litehtml=yes
+			-DEXTERNAL_XXD=no
+		')
+
+		-DBUILD_PLUGIN_SERIALTERMINAL=$(usex serialterminal)
+
+		-DENABLE_SVG_SUPPORT=$(usex svg)
+
+		-DWITH_QMLDESIGNER=$(usex qmldesigner)
+
+		-Djournald=no # not really useful unless match qtbase (needs systemd)
+
+		# not packaged, but allow using if found
+		#-DCMAKE_DISABLE_FIND_PACKAGE_LibDDemangle=yes
+		#-DCMAKE_DISABLE_FIND_PACKAGE_LibRustcDemangle=yes
+	)
+
+	cmake_src_configure
+}
+
+src_test() {
+	local -x QT_QPA_PLATFORM=offscreen
+
+	local CMAKE_SKIP_TESTS=(
+		# unknown why these fails, but seems fixed in live
+		tst_tracing_timelineitemsrenderpass
+		tst_tracing_timelinenotesrenderpass
+		tst_tracing_timelineselectionrenderpass
+		# fails when built with clang, but also seems fixed in live
+		tst_process
+		# skipping same tests+label as upstream's CI by default
+		# `grep ctest .github/workflows/build_cmake.yml`
+		tst_perfdata
+	)
+
+	cmake_src_test --label-exclude exclude_from_precheck
+}
+
+src_compile() {
+	cmake_src_compile
+
+	use doc && cmake_build {qch,html}_docs
+}
+
+src_install() {
+	cmake_src_install
+
+	if use doc; then
+		dodoc -r "${BUILD_DIR}"/doc/html
+		dodoc "${BUILD_DIR}"/share/doc/${PF}/qtcreator{,-dev}.qch
+		docompress -x /usr/share/doc/${PF}/qtcreator{,-dev}.qch
+	fi
+
+	local DISABLE_AUTOFORMATTING=yes
+	local DOC_CONTENTS="\
+Some plugins (if used) may need optional extra dependencies/USE.
+
+This list provides associations with Gentoo's packages (if exists)
+ordered as in Qt Creator's Help -> About Plugins (not exhaustive).
+
+dev-qt/qt-docs:6 with USE=\"examples qch\" is notably recommended, or
+else the example tab will be empty alongside missing documentation.
+
+Build Systems:
+- CMakeProjectManager (dev-util/cmake)
+- MesonProjectManager (dev-util/meson)
+- QbsProjectManager (dev-util/qbs)
+
+C++:
+- Beautifier (dev-util/astyle and/or dev-util/uncrustify)
+- ClangCodeModel (USE=clang, dev-util/clazy to understand Qt semantics)
+- ClangFormat (USE=clang)
+
+Code Analyzer:
+- ClangTools (USE=clang)
+- Cppcheck (dev-util/cppcheck)
+- CtfVisualizer (USE=tracing)
+- PerfProfiler (USE=tracing)
+- Valgrind (dev-util/valgrind)
+
+Core:
+- Help (USE=help + dev-qt/qt-docs:6 with USE=\"examples qch\")
+
+Device Support:
+- Android (dev-util/android-sdk-update-manager)
+
+Other Languages:
+- Nim (dev-lang/nim)
+- Python (dev-lang/python)
+
+Qt Creator:
+- Designer (USE=designer)
+
+Qt Quick:
+- Insight (USE=qmldesigner)
+- QmlDesigner (USE=qmldesigner)
+- QmlProfiler (USE=tracing)
+
+Utilities:
+- Autotest (dev-cpp/catch, dev-cpp/gtest, or dev-libs/boost if used)
+- Conan (dev-util/conan)
+- Docker (app-containers/docker)
+- Haskell (dev-lang/ghc)
+- SerialTerminal (USE=serialterminal)
+- SilverSearcher (sys-apps/the_silver_searcher)
+- StudioWelcome (USE=qmldesigner)
+
+Version Control:
+- CVS (dev-vcs/cvs)
+- Fossil (dev-vcs/fossil)
+- Git (dev-vcs/git)
+- Mercurial (dev-vcs/mercurial)
+- Subversion (dev-vcs/subversion)"
+	readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+	xdg_pkg_postinst
+	readme.gentoo_print_elog
+}


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

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qt-creator/files/, dev-qt/qt-creator/
@ 2023-11-16  0:15 Ionen Wolkens
  0 siblings, 0 replies; 7+ messages in thread
From: Ionen Wolkens @ 2023-11-16  0:15 UTC (permalink / raw
  To: gentoo-commits

commit:     221865a1afcddfe95dc5ef3825c8f0682547f0d3
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 15 23:10:20 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Nov 16 00:14:47 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=221865a1

dev-qt/qt-creator: update live

Not much to update, but next release is close and checking state.

Tests pass except tst_utils_deviceshell which is failing in upstream's
CI as well (unless QTC_USE_QPROCESS=false). The change causing this is
not included in 12.0.0rc1 though, so not going to worry about it.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../qt-creator/files/qt-creator-12.0.0-musl-no-malloc-trim.patch  | 8 ++++++++
 dev-qt/qt-creator/qt-creator-9999.ebuild                          | 6 +++---
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/dev-qt/qt-creator/files/qt-creator-12.0.0-musl-no-malloc-trim.patch b/dev-qt/qt-creator/files/qt-creator-12.0.0-musl-no-malloc-trim.patch
new file mode 100644
index 000000000000..b22f20425129
--- /dev/null
+++ b/dev-qt/qt-creator/files/qt-creator-12.0.0-musl-no-malloc-trim.patch
@@ -0,0 +1,8 @@
+malloc_trim() is unavailable with musl
+--- a/src/plugins/coreplugin/icore.cpp
++++ b/src/plugins/coreplugin/icore.cpp
+@@ -1276,3 +1276,3 @@
+         // glibc may not actually free memory in free().
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) && defined(__GLIBC__)
+         connect(&m_trimTimer, &QTimer::timeout, this, [] { malloc_trim(0); });

diff --git a/dev-qt/qt-creator/qt-creator-9999.ebuild b/dev-qt/qt-creator/qt-creator-9999.ebuild
index 2680f1244fe9..ab3ca9782f99 100644
--- a/dev-qt/qt-creator/qt-creator-9999.ebuild
+++ b/dev-qt/qt-creator/qt-creator-9999.ebuild
@@ -81,7 +81,7 @@ BDEPEND="
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-11.0.2-musl-no-execinfo.patch
-	"${FILESDIR}"/${PN}-11.0.2-musl-no-malloc-trim.patch
+	"${FILESDIR}"/${PN}-12.0.0-musl-no-malloc-trim.patch
 )
 
 llvm_check_deps() {
@@ -120,7 +120,7 @@ src_configure() {
 
 		# Much can be optional, but do not want to flood users (or maintainers)
 		# with too many flags. Not to mention that many plugins are merely
-		# wrappers around still optional tools (e.g. cvs) and any unwanted
+		# wrappers around still optional tools (e.g. git) and any unwanted
 		# plugins can be disabled at runtime. So optional flags are limited
 		# to plugins with additional build-time dependencies.
 		-DBUILD_LIBRARY_TRACING=$(usex tracing) # qml+perfprofiler,ctfvisual
@@ -234,12 +234,12 @@ Utilities:
 - Conan (dev-util/conan)
 - Docker (app-containers/docker)
 - Haskell (dev-lang/ghc)
+- ScreenRecorder (media-video/ffmpeg)
 - SerialTerminal (USE=serialterminal)
 - SilverSearcher (sys-apps/the_silver_searcher)
 - StudioWelcome (USE=qmldesigner)
 
 Version Control:
-- CVS (dev-vcs/cvs)
 - Fossil (dev-vcs/fossil)
 - Git (dev-vcs/git)
 - Mercurial (dev-vcs/mercurial)


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

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qt-creator/files/, dev-qt/qt-creator/
@ 2024-09-04 10:21 Ionen Wolkens
  0 siblings, 0 replies; 7+ messages in thread
From: Ionen Wolkens @ 2024-09-04 10:21 UTC (permalink / raw
  To: gentoo-commits

commit:     4864940397a0b5808598d468d63605eb2e0217b1
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Sep  4 07:57:56 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Sep  4 10:20:54 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48649403

dev-qt/qt-creator: partially fix build with clang19 and gcc15

other.resetter bit with USE=qmldesigner wrt bug #937600 comment #4
still need attention, but adding what we have so far esp. given
qmldesigner is off by default and has limited impact.

Bug: https://bugs.gentoo.org/937600
Closes: https://bugs.gentoo.org/938486
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../files/qt-creator-14.0.1-clang19.patch          | 24 ++++++++++++++++++++++
 .../qt-creator-14.0.1-sol2-clang19-gcc15.patch     | 18 ++++++++++++++++
 dev-qt/qt-creator/qt-creator-14.0.1.ebuild         |  2 ++
 3 files changed, 44 insertions(+)

diff --git a/dev-qt/qt-creator/files/qt-creator-14.0.1-clang19.patch b/dev-qt/qt-creator/files/qt-creator-14.0.1-clang19.patch
new file mode 100644
index 000000000000..e296f5bf68be
--- /dev/null
+++ b/dev-qt/qt-creator/files/qt-creator-14.0.1-clang19.patch
@@ -0,0 +1,24 @@
+https://bugs.gentoo.org/937600
+
+qt-creator has a workaround for clang (formerly) lacking an implementation
+for __cpp_template_template_args, but the workaround causes issues now that
+it is available.
+
+https://github.com/llvm/llvm-project/pull/89807
+https://github.com/qt-creator/qt-creator/commit/d400dce35d817afd719ffadf8c8f43c8814c05c1
+--- a/src/libs/utils/algorithm.h
++++ b/src/libs/utils/algorithm.h
+@@ -259,5 +259,5 @@
+          typename ResultContainer = C<Result>>
+ Q_REQUIRED_RESULT decltype(auto) transform(SC &&container, F function);
+-#ifdef Q_CC_CLANG
++#if defined(Q_CC_CLANG) && !defined(__cpp_template_template_args)
+ // "Matching of template template-arguments excludes compatible templates"
+ // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0522r0.html (P0522R0)
+@@ -810,5 +810,5 @@
+ }
+ 
+-#ifdef Q_CC_CLANG
++#if defined(Q_CC_CLANG) && !defined(__cpp_template_template_args)
+ template<template<typename, typename> class C, // result container type
+          typename SC,                          // input container type

diff --git a/dev-qt/qt-creator/files/qt-creator-14.0.1-sol2-clang19-gcc15.patch b/dev-qt/qt-creator/files/qt-creator-14.0.1-sol2-clang19-gcc15.patch
new file mode 100644
index 000000000000..29e600ca33ef
--- /dev/null
+++ b/dev-qt/qt-creator/files/qt-creator-14.0.1-sol2-clang19-gcc15.patch
@@ -0,0 +1,18 @@
+https://bugs.gentoo.org/938486
+https://bugs.gentoo.org/937600
+https://bugs.gentoo.org/936924
+https://bugreports.qt.io/browse/QTCREATORBUG-31517
+https://github.com/ThePhD/sol2/commit/d805d027e0a0a7222e936926139f06e23828ce9f
+https://codereview.qt-project.org/c/qt-creator/qt-creator/+/587620
+--- a/src/libs/3rdparty/sol2/include/sol/sol.hpp
++++ b/src/libs/3rdparty/sol2/include/sol/sol.hpp
+@@ -6818,7 +6818,8 @@
+ 			static_assert(std::is_constructible<T, Args&&...>::value, "T must be constructible with Args");
+ 
+ 			*this = nullopt;
+-			this->construct(std::forward<Args>(args)...);
++			new (static_cast<void*>(this)) optional(std::in_place, std::forward<Args>(args)...);
++			return **this;
+ 		}
+ 
+ 		/// Swaps this optional with the other.

diff --git a/dev-qt/qt-creator/qt-creator-14.0.1.ebuild b/dev-qt/qt-creator/qt-creator-14.0.1.ebuild
index 78c4cd5ea7ef..57312a5304e4 100644
--- a/dev-qt/qt-creator/qt-creator-14.0.1.ebuild
+++ b/dev-qt/qt-creator/qt-creator-14.0.1.ebuild
@@ -91,6 +91,8 @@ BDEPEND="
 PATCHES=(
 	"${FILESDIR}"/${PN}-11.0.2-musl-no-execinfo.patch
 	"${FILESDIR}"/${PN}-12.0.0-musl-no-malloc-trim.patch
+	"${FILESDIR}"/${PN}-14.0.1-clang19.patch
+	"${FILESDIR}"/${PN}-14.0.1-sol2-clang19-gcc15.patch
 )
 
 pkg_setup() {


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

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qt-creator/files/, dev-qt/qt-creator/
@ 2024-09-27 12:10 Ionen Wolkens
  0 siblings, 0 replies; 7+ messages in thread
From: Ionen Wolkens @ 2024-09-27 12:10 UTC (permalink / raw
  To: gentoo-commits

commit:     371f7190a77ebcf80fe60993d8b3f2308e9c5e24
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 27 11:03:57 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Sep 27 12:09:12 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=371f7190

dev-qt/qt-creator: rebase execinfo patch in live

Untested but the patch is identical beside needing to update
a moved file's path.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../files/qt-creator-15.0.0-musl-no-execinfo.patch | 47 ++++++++++++++++++++++
 dev-qt/qt-creator/qt-creator-9999.ebuild           |  2 +-
 2 files changed, 48 insertions(+), 1 deletion(-)

diff --git a/dev-qt/qt-creator/files/qt-creator-15.0.0-musl-no-execinfo.patch b/dev-qt/qt-creator/files/qt-creator-15.0.0-musl-no-execinfo.patch
new file mode 100644
index 000000000000..5e3bbf25b6c3
--- /dev/null
+++ b/dev-qt/qt-creator/files/qt-creator-15.0.0-musl-no-execinfo.patch
@@ -0,0 +1,47 @@
+execinfo is unavailable with musl (unless opt to package+use libexecinfo)
+--- a/src/libs/utils/qtcassert.cpp
++++ b/src/libs/utils/qtcassert.cpp
+@@ -9,5 +9,5 @@
+ #include <QTime>
+ 
+-#if defined(Q_OS_UNIX)
++#if defined(Q_OS_UNIX) && defined(__GLIBC__)
+ #include <stdio.h>
+ #include <signal.h>
+@@ -30,5 +30,5 @@
+     if (maxdepth < 0 || maxdepth > ArraySize)
+         maxdepth = ArraySize;
+-#if defined(Q_OS_UNIX)
++#if defined(Q_OS_UNIX) && defined(__GLIBC__)
+     void *bt[ArraySize] = {nullptr};
+     int size = backtrace(bt, maxdepth);
+--- a/src/plugins/qmldesigner/libs/designercore/exceptions/exception.cpp
++++ b/src/plugins/qmldesigner/libs/designercore/exceptions/exception.cpp
+@@ -4,5 +4,5 @@
+ #include "exception.h"
+ 
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) && defined(__GLIBC__)
+ #include <execinfo.h>
+ #include <cxxabi.h>
+@@ -31,5 +31,5 @@
+ namespace QmlDesigner {
+ 
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) && defined(__GLIBC__)
+ const char* demangle(const char* name)
+ {
+@@ -76,5 +76,5 @@
+ }
+ 
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) && defined(__GLIBC__)
+ static QString getBackTrace()
+ {
+@@ -114,5 +114,5 @@
+   , m_file(QString::fromUtf8(file))
+   , m_description(description)
+-  #ifdef Q_OS_LINUX
++  #if defined(Q_OS_LINUX) && defined(__GLIBC__)
+   , m_backTrace(getBackTrace())
+   #endif

diff --git a/dev-qt/qt-creator/qt-creator-9999.ebuild b/dev-qt/qt-creator/qt-creator-9999.ebuild
index 23836162a90d..99cda33d0135 100644
--- a/dev-qt/qt-creator/qt-creator-9999.ebuild
+++ b/dev-qt/qt-creator/qt-creator-9999.ebuild
@@ -97,7 +97,7 @@ BDEPEND="
 "
 
 PATCHES=(
-	"${FILESDIR}"/${PN}-11.0.2-musl-no-execinfo.patch
+	"${FILESDIR}"/${PN}-15.0.0-musl-no-execinfo.patch
 	"${FILESDIR}"/${PN}-12.0.0-musl-no-malloc-trim.patch
 )
 


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

* [gentoo-commits] repo/gentoo:master commit in: dev-qt/qt-creator/files/, dev-qt/qt-creator/
@ 2024-11-13 10:04 Ionen Wolkens
  0 siblings, 0 replies; 7+ messages in thread
From: Ionen Wolkens @ 2024-11-13 10:04 UTC (permalink / raw
  To: gentoo-commits

commit:     14100fce76cdbb0b029750a6c04f63d93736dca6
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 13 02:10:07 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Nov 13 10:03:31 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=14100fce

dev-qt/qt-creator: fix tests with Qt6.8.0 and build with 6.8.1

Possible this may be for nothing if a new qt-creator releases
before Qt6.8.1 (and 6.8.0 is still masked), but wanted to get
potential blockers for 6.8.1 out of the way now esp. given this
is not currently fixed in the 14.x branch upstream and would need
qt-creator-15.x

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../qt-creator/files/qt-creator-14.0.2-qt681.patch | 141 +++++++++++++++++++++
 dev-qt/qt-creator/qt-creator-14.0.2.ebuild         |   1 +
 2 files changed, 142 insertions(+)

diff --git a/dev-qt/qt-creator/files/qt-creator-14.0.2-qt681.patch b/dev-qt/qt-creator/files/qt-creator-14.0.2-qt681.patch
new file mode 100644
index 000000000000..0dbe75feb7c4
--- /dev/null
+++ b/dev-qt/qt-creator/files/qt-creator-14.0.2-qt681.patch
@@ -0,0 +1,141 @@
+Backport of [1]+[2] to fix tests with Qt6.8.0 and build with Qt6.8.1.
+
+There was some refactoring in these files which prevent anything from
+applying cleanly, so this was manually rebased -- hopefully correct
+(fsengine tests pass again, so it should be fine).
+
+[1] https://github.com/qt-creator/qt-creator/commit/81d4e8a3742
+[2] https://github.com/qt-creator/qt-creator/commit/f993fb76ded
+--- a/src/libs/utils/fsengine/diriterator.h
++++ b/src/libs/utils/fsengine/diriterator.h
+@@ -16,4 +16,36 @@
+ namespace Internal {
+ 
++#if QT_VERSION >= QT_VERSION_CHECK(6, 8, 0)
++inline std::pair<QDir::Filters, QDirIterator::IteratorFlags> convertQDirListingIteratorFlags(
++    QDirListing::IteratorFlags flags)
++{
++    QDir::Filters filters = QDir::Files | QDir::Dirs | QDir::System | QDir::NoDotAndDotDot;
++    QDirIterator::IteratorFlags iteratorFlags = QDirIterator::NoIteratorFlags;
++
++    if (flags & QDirListing::IteratorFlag::ExcludeFiles)
++        filters.setFlag(QDir::Files, false);
++    if (flags & QDirListing::IteratorFlag::ExcludeDirs)
++        filters.setFlag(QDir::Dirs, false);
++    if (flags & QDirListing::IteratorFlag::ExcludeSpecial)
++        filters.setFlag(QDir::System, false);
++    if (flags & QDirListing::IteratorFlag::CaseSensitive)
++        filters.setFlag(QDir::CaseSensitive, true);
++    if (flags & QDirListing::IteratorFlag::IncludeHidden)
++        filters.setFlag(QDir::Hidden, true);
++
++    if (flags & QDirListing::IteratorFlag::IncludeDotAndDotDot) {
++        filters.setFlag(QDir::NoDot, false);
++        filters.setFlag(QDir::NoDotDot, false);
++    }
++
++    if (flags & QDirListing::IteratorFlag::Recursive)
++        iteratorFlags.setFlag(QDirIterator::Subdirectories, true);
++    if (flags & QDirListing::IteratorFlag::FollowDirSymlinks)
++        iteratorFlags.setFlag(QDirIterator::FollowSymlinks, true);
++
++    return {filters, iteratorFlags};
++}
++#endif
++
+ class DirIterator : public QAbstractFileEngineIterator
+ {
+--- a/src/libs/utils/fsengine/fixedlistfsengine.h
++++ b/src/libs/utils/fsengine/fixedlistfsengine.h
+@@ -67,8 +67,14 @@
+ 
+ #if QT_VERSION >= QT_VERSION_CHECK(6, 8, 0)
+-    IteratorUniquePtr beginEntryList(const QString &path,
+-                                     QDir::Filters filters,
+-                                     const QStringList &filterNames) override
++    QAbstractFileEngine::IteratorUniquePtr beginEntryList(
++        const QString &path,
++        QDirListing::IteratorFlags itFlags,
++        const QStringList &filterNames) override
+     {
++        // We do not support recursive or following symlinks for the Fixed List engine.
++        Q_ASSERT(itFlags.testFlag(QDirListing::IteratorFlag::Recursive) == false);
++
++        const auto [filters, _] = convertQDirListingIteratorFlags(itFlags);
++
+         return std::make_unique<DirIterator>(m_children, path, filters, filterNames);
+     }
+--- a/src/libs/utils/fsengine/fsengine_impl.cpp
++++ b/src/libs/utils/fsengine/fsengine_impl.cpp
+@@ -297,11 +297,25 @@
+ 
+ #if QT_VERSION >= QT_VERSION_CHECK(6, 8, 0)
+-QAbstractFileEngine::IteratorUniquePtr FSEngineImpl::beginEntryList(const QString &path,
+-                                                                    QDir::Filters filters,
+-                                                                    const QStringList &filterNames)
++QAbstractFileEngine::IteratorUniquePtr FSEngineImpl::beginEntryList(
++    const QString &path, QDirListing::IteratorFlags itFlags, const QStringList &filterNames)
++{
++    const auto [filters, iteratorFlags] = convertQDirListingIteratorFlags(itFlags);
++
++    FilePaths paths{m_filePath.pathAppended(".")};
++    m_filePath.iterateDirectory(
++        [&paths](const FilePath &p, const FilePathInfo &fi) {
++            paths.append(p);
++            FilePathInfoCache::CachedData *data
++                = new FilePathInfoCache::CachedData{fi, QDateTime::currentDateTime().addSecs(60)};
++            g_filePathInfoCache.cache(p, data);
++            return IterationPolicy::Continue;
++        },
++        {filterNames, filters, iteratorFlags});
++
++    return std::make_unique<DirIterator>(std::move(paths), path, filters, filterNames);
++}
+ #else
+ QAbstractFileEngine::Iterator *FSEngineImpl::beginEntryList(QDir::Filters filters,
+                                                             const QStringList &filterNames)
+-#endif
+ {
+     FilePaths paths{m_filePath.pathAppended(".")};
+@@ -317,10 +331,7 @@
+         {filterNames, filters});
+ 
+-#if QT_VERSION >= QT_VERSION_CHECK(6, 8, 0)
+-    return std::make_unique<DirIterator>(std::move(paths), path, filters, filterNames);
+-#else
+     return new DirIterator(std::move(paths));
+-#endif
+ }
++#endif
+ 
+ qint64 FSEngineImpl::read(char *data, qint64 maxlen)
+--- a/src/libs/utils/fsengine/fsengine_impl.h
++++ b/src/libs/utils/fsengine/fsengine_impl.h
+@@ -60,7 +60,10 @@
+ 
+ #if QT_VERSION >= QT_VERSION_CHECK(6, 8, 0)
+-    IteratorUniquePtr beginEntryList(const QString &path, QDir::Filters filters,
+-                                     const QStringList &filterNames) override;
+-    IteratorUniquePtr endEntryList() override { return {}; }
++    IteratorUniquePtr beginEntryList(
++        const QString &path,
++        QDirListing::IteratorFlags filters,
++        const QStringList &filterNames) final;
++
++    IteratorUniquePtr endEntryList() final { return {}; }
+ #else
+     Iterator *beginEntryList(QDir::Filters filters, const QStringList &filterNames) override;
+--- a/src/libs/utils/fsengine/fsenginehandler.cpp
++++ b/src/libs/utils/fsengine/fsenginehandler.cpp
+@@ -23,7 +23,8 @@
+ public:
+ #if QT_VERSION >= QT_VERSION_CHECK(6, 8, 0)
+-    IteratorUniquePtr beginEntryList(const QString &path,
+-                                     QDir::Filters filters,
+-                                     const QStringList &filterNames) override
++    IteratorUniquePtr beginEntryList(
++        const QString &path,
++        QDirListing::IteratorFlags filters,
++        const QStringList &filterNames) override
+     {
+         return std::make_unique<FileIteratorWrapper>(

diff --git a/dev-qt/qt-creator/qt-creator-14.0.2.ebuild b/dev-qt/qt-creator/qt-creator-14.0.2.ebuild
index 5c8f2609c396..3bd904903799 100644
--- a/dev-qt/qt-creator/qt-creator-14.0.2.ebuild
+++ b/dev-qt/qt-creator/qt-creator-14.0.2.ebuild
@@ -93,6 +93,7 @@ PATCHES=(
 	"${FILESDIR}"/${PN}-11.0.2-musl-no-execinfo.patch
 	"${FILESDIR}"/${PN}-12.0.0-musl-no-malloc-trim.patch
 	"${FILESDIR}"/${PN}-14.0.1-clang19.patch
+	"${FILESDIR}"/${PN}-14.0.2-qt681.patch
 )
 
 pkg_setup() {


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

end of thread, other threads:[~2024-11-13 10:04 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-27 12:10 [gentoo-commits] repo/gentoo:master commit in: dev-qt/qt-creator/files/, dev-qt/qt-creator/ Ionen Wolkens
  -- strict thread matches above, loose matches on Subject: below --
2024-11-13 10:04 Ionen Wolkens
2024-09-04 10:21 Ionen Wolkens
2023-11-16  0:15 Ionen Wolkens
2023-09-11 21:20 Ionen Wolkens
2020-06-25  7:11 Jason A. Donenfeld
2020-06-25  7:11 Jason A. Donenfeld

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