From c383ba9050168f1435c49f289cd7a4dec68cedd3 Mon Sep 17 00:00:00 2001 From: Niels Sascha Reedijk Date: Mon, 2 Oct 2023 10:17:06 +0100 Subject: [PATCH] QT Creator: bump to 11.0.3 (#9543) Based on previous patches by: * Sergei Reznikov * Jerome Duval * Gerasim Troeglazov <3dEyes@gmail.com> --- .../patches/qt_creator-11.0.3.patchset | 286 ++++++++++ .../patches/qt_creator-6.0.1.patchset | 498 ------------------ ...-6.0.1.recipe => qt_creator-11.0.3.recipe} | 28 +- 3 files changed, 300 insertions(+), 512 deletions(-) create mode 100644 dev-qt/qt_creator/patches/qt_creator-11.0.3.patchset delete mode 100644 dev-qt/qt_creator/patches/qt_creator-6.0.1.patchset rename dev-qt/qt_creator/{qt_creator-6.0.1.recipe => qt_creator-11.0.3.recipe} (85%) diff --git a/dev-qt/qt_creator/patches/qt_creator-11.0.3.patchset b/dev-qt/qt_creator/patches/qt_creator-11.0.3.patchset new file mode 100644 index 000000000..3dc9f4aec --- /dev/null +++ b/dev-qt/qt_creator/patches/qt_creator-11.0.3.patchset @@ -0,0 +1,286 @@ +From c7c336bec585fac00600050713192297ad011f7e Mon Sep 17 00:00:00 2001 +From: Niels Sascha Reedijk +Date: Fri, 29 Sep 2023 16:03:27 +0000 +Subject: [PATCH] Port 6.0.3 changes to 11.0.03 + +--- + src/libs/3rdparty/libptyqt/unixptyprocess.cpp | 13 +++++++++++-- + src/libs/3rdparty/sqlite/config.h | 5 +++++ + src/libs/3rdparty/sqlite/sqlite3.c | 2 +- + src/libs/sqlite/createtablesqlstatementbuilder.cpp | 0 + src/libs/utils/qtcassert.cpp | 2 +- + src/libs/utils/savefile.cpp | 2 +- + src/plugins/clangformat/clangformatutils.cpp | 2 +- + src/plugins/coreplugin/manhattanstyle.cpp | 8 ++++++++ + src/plugins/projectexplorer/abi.cpp | 4 ++++ + src/plugins/qmldesigner/CMakeLists.txt | 2 +- + .../qbs/src/lib/corelib/tools/processutils.cpp | 2 ++ + src/tools/process_stub/main.cpp | 6 +++--- + src/tools/qml2puppet/CMakeLists.txt | 2 +- + 13 files changed, 39 insertions(+), 11 deletions(-) + create mode 100644 src/libs/sqlite/createtablesqlstatementbuilder.cpp + +diff --git a/src/libs/3rdparty/libptyqt/unixptyprocess.cpp b/src/libs/3rdparty/libptyqt/unixptyprocess.cpp +index a72712c..11d8702 100644 +--- a/src/libs/3rdparty/libptyqt/unixptyprocess.cpp ++++ b/src/libs/3rdparty/libptyqt/unixptyprocess.cpp +@@ -118,7 +118,10 @@ bool UnixPtyProcess::startProcess(const QString &shellPath, + return false; + } + +- ttmode.c_iflag = ICRNL | IXON | IXANY | IMAXBEL | BRKINT; ++ ttmode.c_iflag = ICRNL | IXON | IXANY | BRKINT; ++#if !defined(Q_OS_HAIKU) ++ ttmode.c_iflag |= IMAXBEL; ++#endif + #if defined(IUTF8) + ttmode.c_iflag |= IUTF8; + #endif +@@ -131,16 +134,22 @@ bool UnixPtyProcess::startProcess(const QString &shellPath, + ttmode.c_cc[VEOL] = -1; + ttmode.c_cc[VEOL2] = -1; + ttmode.c_cc[VERASE] = 0x7f; ++#if !defined(Q_OS_HAIKU) + ttmode.c_cc[VWERASE] = 23; ++#endif + ttmode.c_cc[VKILL] = 21; ++#if !defined(Q_OS_HAIKU) + ttmode.c_cc[VREPRINT] = 18; ++#endif + ttmode.c_cc[VINTR] = 3; + ttmode.c_cc[VQUIT] = 0x1c; + ttmode.c_cc[VSUSP] = 26; + ttmode.c_cc[VSTART] = 17; + ttmode.c_cc[VSTOP] = 19; ++#if !defined(Q_OS_HAIKU) + ttmode.c_cc[VLNEXT] = 22; + ttmode.c_cc[VDISCARD] = 15; ++#endif + ttmode.c_cc[VMIN] = 1; + ttmode.c_cc[VTIME] = 0; + +@@ -318,7 +327,7 @@ void ShellProcess::configChildProcess() + ioctl(m_handleSlave, TIOCSCTTY, 0); + tcsetpgrp(m_handleSlave, sid); + +-#if !defined(Q_OS_ANDROID) && !defined(Q_OS_FREEBSD) ++#if !defined(Q_OS_ANDROID) && !defined(Q_OS_FREEBSD) && !defined(Q_OS_HAIKU) + // on Android imposible to put record to the 'utmp' file + struct utmpx utmpxInfo; + memset(&utmpxInfo, 0, sizeof(utmpxInfo)); +diff --git a/src/libs/3rdparty/sqlite/config.h b/src/libs/3rdparty/sqlite/config.h +index 3672f4c..2dcb402 100644 +--- a/src/libs/3rdparty/sqlite/config.h ++++ b/src/libs/3rdparty/sqlite/config.h +@@ -39,6 +39,11 @@ + #define HAVE_UTIME 1 + #endif + ++#ifdef __HAIKU__ ++#define _DEFAULT_SOURCE 1 ++#define _BSD_SOURCE 1 ++#endif ++ + #if (_XOPEN_SOURCE >= 500) && !(_POSIX_C_SOURCE >= 200809L) || _DEFAULT_SOURCE || _BSD_SOURCE + #define HAVE_USLEEP 1 + #endif +diff --git a/src/libs/3rdparty/sqlite/sqlite3.c b/src/libs/3rdparty/sqlite/sqlite3.c +index dd3b5c5..c5bec17 100644 +--- a/src/libs/3rdparty/sqlite/sqlite3.c ++++ b/src/libs/3rdparty/sqlite/sqlite3.c +@@ -40863,7 +40863,7 @@ static int full_fsync(int fd, int fullSync, int dataOnly){ + */ + if( rc ) rc = fsync(fd); + +-#elif defined(__APPLE__) ++#elif defined(__APPLE__) || defined(__HAIKU__) + /* fdatasync() on HFS+ doesn't yet flush the file size if it changed correctly + ** so currently we default to the macro that redefines fdatasync to fsync + */ +diff --git a/src/libs/sqlite/createtablesqlstatementbuilder.cpp b/src/libs/sqlite/createtablesqlstatementbuilder.cpp +new file mode 100644 +index 0000000..e69de29 +diff --git a/src/libs/utils/qtcassert.cpp b/src/libs/utils/qtcassert.cpp +index 78baa41..bb91104 100644 +--- a/src/libs/utils/qtcassert.cpp ++++ b/src/libs/utils/qtcassert.cpp +@@ -29,7 +29,7 @@ void dumpBacktrace(int maxdepth) + const int ArraySize = 1000; + if (maxdepth < 0 || maxdepth > ArraySize) + maxdepth = ArraySize; +-#if defined(Q_OS_UNIX) ++#if defined(Q_OS_UNIX) && !defined(Q_OS_HAIKU) + void *bt[ArraySize] = {nullptr}; + int size = backtrace(bt, maxdepth); + char **lines = backtrace_symbols(bt, size); +diff --git a/src/libs/utils/savefile.cpp b/src/libs/utils/savefile.cpp +index 4cf579a..0f3fb69 100644 +--- a/src/libs/utils/savefile.cpp ++++ b/src/libs/utils/savefile.cpp +@@ -88,7 +88,7 @@ bool SaveFile::commit() + } + #ifdef Q_OS_WIN + FlushFileBuffers(reinterpret_cast(_get_osfhandle(handle()))); +-#elif _POSIX_SYNCHRONIZED_IO > 0 ++#elif _POSIX_SYNCHRONIZED_IO > 0 && !defined(Q_OS_HAIKU) + fdatasync(handle()); + #else + fsync(handle()); +diff --git a/src/plugins/clangformat/clangformatutils.cpp b/src/plugins/clangformat/clangformatutils.cpp +index 1aae91a..458d142 100644 +--- a/src/plugins/clangformat/clangformatutils.cpp ++++ b/src/plugins/clangformat/clangformatutils.cpp +@@ -121,7 +121,7 @@ clang::format::FormatStyle qtcStyle() + #if LLVM_VERSION_MAJOR >= 12 + style.IncludeStyle.IncludeCategories = {{"^save(); + if (const auto mbi = qstyleoption_cast(option)) { +@@ -866,6 +871,7 @@ void ManhattanStyle::drawControl( + } + painter->restore(); + break; ++#endif + + case CE_MenuBarItem: + painter->save(); +@@ -1009,6 +1015,7 @@ void ManhattanStyle::drawControl( + } + break; + ++#if !defined(Q_OS_HAIKU) + case CE_MenuBarEmptyArea: { + if (creatorTheme()->flag(Theme::FlatMenuBar)) + painter->fillRect(option->rect, StyleHelper::baseColor()); +@@ -1022,6 +1029,7 @@ void ManhattanStyle::drawControl( + painter->restore(); + } + break; ++#endif + + case CE_ToolBar: + { +diff --git a/src/plugins/projectexplorer/abi.cpp b/src/plugins/projectexplorer/abi.cpp +index 88efb96..423c11e 100644 +--- a/src/plugins/projectexplorer/abi.cpp ++++ b/src/plugins/projectexplorer/abi.cpp +@@ -1117,6 +1117,10 @@ Abi Abi::hostAbi() + subos = WindowsMSysFlavor; + #endif + format = PEFormat; ++#elif defined (Q_OS_HAIKU) ++ os = UnknownOS; ++ subos = GenericFlavor; ++ format = UnknownFormat; + #elif defined (Q_OS_LINUX) + os = LinuxOS; + subos = GenericFlavor; +diff --git a/src/plugins/qmldesigner/CMakeLists.txt b/src/plugins/qmldesigner/CMakeLists.txt +index 072e802..16a529a 100644 +--- a/src/plugins/qmldesigner/CMakeLists.txt ++++ b/src/plugins/qmldesigner/CMakeLists.txt +@@ -93,7 +93,7 @@ extend_qtc_library(QmlDesignerCore + PUBLIC_DEFINES QDS_BUILD_QMLPARSER + ) + extend_qtc_library(QmlDesignerCore +- CONDITION UNIX AND NOT APPLE ++ CONDITION UNIX AND NOT APPLE AND NOT HAIKU + PUBLIC_DEPENDS rt + ) + +diff --git a/src/shared/qbs/src/lib/corelib/tools/processutils.cpp b/src/shared/qbs/src/lib/corelib/tools/processutils.cpp +index 02608cc..7e57db7 100644 +--- a/src/shared/qbs/src/lib/corelib/tools/processutils.cpp ++++ b/src/shared/qbs/src/lib/corelib/tools/processutils.cpp +@@ -56,6 +56,8 @@ + # include + # if !defined(Q_OS_NETBSD) + # include ++#elif defined(Q_OS_HAIKU) ++// Do nothing + # endif + #else + # error Missing implementation of processNameByPid for this platform. +diff --git a/src/tools/process_stub/main.cpp b/src/tools/process_stub/main.cpp +index 3749333..6688023 100644 +--- a/src/tools/process_stub/main.cpp ++++ b/src/tools/process_stub/main.cpp +@@ -50,7 +50,7 @@ std::optional environmentVariables; + QProcess inferiorProcess; + int inferiorId{0}; + +-#ifdef Q_OS_DARWIN ++#if defined(Q_OS_DARWIN) || defined(Q_OS_HAIKU) + // A memory mapped helper to retrieve the pid of the inferior process in debugMode + static int *shared_child_pid = nullptr; + #endif +@@ -250,7 +250,7 @@ void onInferiorStarted() + #ifdef Q_OS_WIN + sendThreadId(win_process_information->dwThreadId); + sendPid(inferiorId); +-#elif defined(Q_OS_DARWIN) ++#elif defined(Q_OS_DARWIN) || defined(Q_OS_HAIKU) + // In debug mode we use the poll timer to send the pid. + if (!debugMode) + sendPid(inferiorId); +@@ -279,7 +279,7 @@ void setupUnixInferior() + #ifndef Q_OS_WIN + if (debugMode) { + qCInfo(log) << "Debug mode enabled"; +-#ifdef Q_OS_DARWIN ++#if defined(Q_OS_DARWIN) || defined(Q_OS_HAIKU) + // We are using raise(SIGSTOP) to stop the child process, macOS does not support ptrace(...) + inferiorProcess.setChildProcessModifier([] { + // Let the parent know our pid ... +diff --git a/src/tools/qml2puppet/CMakeLists.txt b/src/tools/qml2puppet/CMakeLists.txt +index 77bde35..0d81fba 100644 +--- a/src/tools/qml2puppet/CMakeLists.txt ++++ b/src/tools/qml2puppet/CMakeLists.txt +@@ -85,7 +85,7 @@ extend_qtc_executable(qml2puppet + ) + + extend_qtc_executable(qml2puppet +- CONDITION UNIX AND (NOT APPLE) ++ CONDITION UNIX AND (NOT APPLE) AND (NOT HAIKU) + DEPENDS rt + ) + +-- +2.37.3 + diff --git a/dev-qt/qt_creator/patches/qt_creator-6.0.1.patchset b/dev-qt/qt_creator/patches/qt_creator-6.0.1.patchset deleted file mode 100644 index 7edfae625..000000000 --- a/dev-qt/qt_creator/patches/qt_creator-6.0.1.patchset +++ /dev/null @@ -1,498 +0,0 @@ -From d3b12ed3c57773cf953335e6a489e0ee0bc16c90 Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Sat, 15 Jul 2017 15:42:32 +0200 -Subject: apply patch from 4.1.0. - - -diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5nodeinstanceclientproxy.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5nodeinstanceclientproxy.cpp -index 8b1221a..78d984a 100644 ---- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5nodeinstanceclientproxy.cpp -+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5nodeinstanceclientproxy.cpp -@@ -47,7 +47,7 @@ - namespace QmlDesigner { - static void prioritizeDown() - { --#if defined(Q_OS_UNIX) -+#if defined(Q_OS_UNIX) && !defined(Q_OS_HAIKU) - nice(19); - #elif defined(Q_OS_WIN) - SetPriorityClass(GetCurrentProcess(), BELOW_NORMAL_PRIORITY_CLASS); -diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/qml2puppet.pri b/share/qtcreator/qml/qmlpuppet/qml2puppet/qml2puppet.pri -index 0b364d3..592133a 100644 ---- a/share/qtcreator/qml/qmlpuppet/qml2puppet/qml2puppet.pri -+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/qml2puppet.pri -@@ -34,7 +34,7 @@ else: RESOURCES += $$PWD/../editor3d_qt5.qrc - - DISTFILES += Info.plist - --unix:!openbsd:!osx: LIBS += -lrt # posix shared memory -+unix:!openbsd:!osx:!haiku: LIBS += -lrt # posix shared memory - - osx { - CONFIG -= app_bundle -diff --git a/src/libs/sqlite/sqlite-lib.pri b/src/libs/sqlite/sqlite-lib.pri -index f1248cd..f938e76 100644 ---- a/src/libs/sqlite/sqlite-lib.pri -+++ b/src/libs/sqlite/sqlite-lib.pri -@@ -6,7 +6,7 @@ shared { - - INCLUDEPATH += $$PWD - --unix:!bsd: LIBS += -ldl -+unix:!bsd:!haiku: LIBS += -ldl - - include(../3rdparty/sqlite/sqlite.pri) - -diff --git a/src/libs/utils/process_stub_unix.c b/src/libs/utils/process_stub_unix.c -index 1cb3e8a..245e901 100644 ---- a/src/libs/utils/process_stub_unix.c -+++ b/src/libs/utils/process_stub_unix.c -@@ -1,3 +1,4 @@ -+#if 0 - /**************************************************************************** - ** - ** Copyright (C) 2016 The Qt Company Ltd. -@@ -135,8 +136,10 @@ static void sigchldHandler(int sig) - - /* syntax: $0 {"run"|"debug"} */ - /* exit codes: 0 = ok, 1 = invocation error, 3 = internal error */ -+#endif - int main(int argc, char *argv[]) - { -+#if 0 - int errNo, hadInvalidCommand = 0; - char **env = 0; - struct sockaddr_un sau; -@@ -358,5 +361,6 @@ int main(int argc, char *argv[]) - } - } - assert(0); -+#endif - return 0; - } -diff --git a/src/plugins/qmldesigner/qmldesignerplugin.pro b/src/plugins/qmldesigner/qmldesignerplugin.pro -index 78fe856..bc72e8d 100644 ---- a/src/plugins/qmldesigner/qmldesignerplugin.pro -+++ b/src/plugins/qmldesigner/qmldesignerplugin.pro -@@ -4,7 +4,7 @@ CONFIG += exceptions - INCLUDEPATH += $$PWD - INCLUDEPATH += $$PWD/components - --unix:!openbsd:!osx: LIBS += -lrt # posix shared memory -+unix:!openbsd:!osx:!haiku: LIBS += -lrt # posix shared memory - - include(../../qtcreatorplugin.pri) - -diff --git a/src/shared/qbs/src/lib/corelib/tools/processutils.cpp b/src/shared/qbs/src/lib/corelib/tools/processutils.cpp -index b27592f..ca5fcd6 100644 ---- a/src/shared/qbs/src/lib/corelib/tools/processutils.cpp -+++ b/src/shared/qbs/src/lib/corelib/tools/processutils.cpp -@@ -57,6 +57,8 @@ - # if !defined(Q_OS_NETBSD) - # include - # endif -+#elif defined(Q_OS_HAIKU) -+// Do nothing. - #else - # error Missing implementation of processNameByPid for this platform. - #endif --- -2.30.2 - - -From b4777cbfd48da52d1ba478af52aba92fbe6341fd Mon Sep 17 00:00:00 2001 -From: Jerome Duval -Date: Sat, 15 Jul 2017 18:20:31 +0200 -Subject: Fix rpath handling. - - -diff --git a/qtcreator.pro b/qtcreator.pro -index 5666948..f8dc86b 100644 ---- a/qtcreator.pro -+++ b/qtcreator.pro -@@ -46,7 +46,7 @@ exists(src/shared/qbs/qbs.pro) { - QBS_APPS_RPATH_DIR = @loader_path/../Frameworks - } else { - QBS_PLUGINS_BUILD_DIR = $$IDE_PLUGIN_PATH -- QBS_APPS_RPATH_DIR = \$\$ORIGIN/../$$IDE_LIBRARY_BASENAME/qtcreator -+ QBS_APPS_RPATH_DIR = $$ORIGIN/../$$IDE_LIBRARY_BASENAME/qtcreator - } - cache(QBS_PLUGINS_BUILD_DIR) - cache(QBS_APPS_RPATH_DIR) -diff --git a/src/rpath.pri b/src/rpath.pri -index ef0a6b7..49dfaf6 100644 ---- a/src/rpath.pri -+++ b/src/rpath.pri -@@ -16,4 +16,10 @@ macos { - IDE_PLUGIN_RPATH = $$join(QMAKE_RPATHDIR, ":") - QMAKE_LFLAGS += -Wl,-z,origin \'-Wl,-rpath,$${IDE_PLUGIN_RPATH}\' - QMAKE_RPATHDIR = -+} else:haiku-* { -+ QMAKE_RPATHDIR += $ORIGIN/$$REL_PATH_TO_LIBS -+ QMAKE_RPATHDIR += $ORIGIN/$$REL_PATH_TO_PLUGINS -+ QMAKE_RPATHDIR += $ORIGIN -+ QMAKE_RPATHDIR += $ORIGIN/.. -+ QMAKE_RPATHDIR += $ORIGIN/../$$IDE_LIBRARY_BASENAME/qtcreator - } -diff --git a/src/shared/qbs/src/app/app.pri b/src/shared/qbs/src/app/app.pri -index 5cd9cb4..818df42 100644 ---- a/src/shared/qbs/src/app/app.pri -+++ b/src/shared/qbs/src/app/app.pri -@@ -7,6 +7,7 @@ DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_PROCESS_COMBINED_ARGUMENT_START - else:DESTDIR = ../../../bin - - !isEmpty(QBS_APPS_RPATH_DIR) { -+ haiku: QMAKE_RPATHDIR += $ORIGIN/../lib/qtcreator - linux-*:QMAKE_LFLAGS += -Wl,-z,origin \'-Wl,-rpath,$${QBS_APPS_RPATH_DIR}\' - macx:QMAKE_LFLAGS += -Wl,-rpath,$${QBS_APPS_RPATH_DIR} - } --- -2.30.2 - - -From fcc84f8696c455ab507c70f290a82747caf5f3dc Mon Sep 17 00:00:00 2001 -From: Sergei Reznikov -Date: Mon, 25 Jun 2018 16:18:26 +0300 -Subject: Enable Terminal on Haiku - - -diff --git a/src/libs/utils/consoleprocess.cpp b/src/libs/utils/consoleprocess.cpp -index d0979ac..9f61a01 100644 ---- a/src/libs/utils/consoleprocess.cpp -+++ b/src/libs/utils/consoleprocess.cpp -@@ -151,6 +151,9 @@ void ConsoleProcess::setSettings(QSettings *settings) - - Q_GLOBAL_STATIC_WITH_ARGS(const QVector, knownTerminals, ( - { -+#ifdef Q_OS_HAIKU -+ {"Terminal", "", ""}, -+#endif - {"x-terminal-emulator", "", "-e"}, - {"xdg-terminal", "", "", true}, - {"xterm", "", "-e"}, -@@ -178,7 +181,11 @@ TerminalCommand ConsoleProcess::defaultTerminalEmulator() - defaultTerm = {"/usr/X11/bin/xterm", "", "-e"}; - - } else if (HostOsInfo::isAnyUnixHost()) { -+#ifdef Q_OS_HAIKU -+ return {"/system/apps/Terminal", "", ""}; -+#else - defaultTerm = {"xterm", "", "-e"}; -+#endif - const Environment env = Environment::systemEnvironment(); - for (const TerminalCommand &term : *knownTerminals) { - const QString result = env.searchInPath(term.command).toString(); -diff --git a/src/libs/utils/unixutils.cpp b/src/libs/utils/unixutils.cpp -index 535bfa2..035ec66 100644 ---- a/src/libs/utils/unixutils.cpp -+++ b/src/libs/utils/unixutils.cpp -@@ -36,7 +36,11 @@ using namespace Utils; - - QString UnixUtils::defaultFileBrowser() - { -+#ifdef Q_OS_HAIKU -+ return QLatin1String("open %d"); -+#else - return QLatin1String("xdg-open %d"); -+#endif - } - - QString UnixUtils::fileBrowser(const QSettings *settings) --- -2.30.2 - - -From 7cd8e150fb5f9184742d678d486366662485274c Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Thu, 28 May 2020 14:42:59 +1000 -Subject: Don't using Manhattan style for QMenu and QMenuBar - - -diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp -index d2043b7..a8de63c 100644 ---- a/src/plugins/coreplugin/mainwindow.cpp -+++ b/src/plugins/coreplugin/mainwindow.cpp -@@ -144,6 +144,9 @@ MainWindow::MainWindow() - && baseName == QLatin1String("windows")) { - baseName = QLatin1String("fusion"); - } -+#ifndef __HAIKU__ -+ baseName = QLatin1String("haiku"); -+#endif - - // if the user has specified as base style in the theme settings, - // prefer that -@@ -156,6 +159,7 @@ MainWindow::MainWindow() - } - - QApplication::setStyle(new ManhattanStyle(baseName)); -+ - m_generalSettings->setShowShortcutsInContextMenu( - GeneralSettings::showShortcutsInContextMenu()); - -diff --git a/src/plugins/coreplugin/manhattanstyle.cpp b/src/plugins/coreplugin/manhattanstyle.cpp -index a6b9466..17f37dc 100644 ---- a/src/plugins/coreplugin/manhattanstyle.cpp -+++ b/src/plugins/coreplugin/manhattanstyle.cpp -@@ -218,16 +218,20 @@ int ManhattanStyle::pixelMetric(PixelMetric metric, const QStyleOption *option, - case PM_DockWidgetHandleExtent: - case PM_DockWidgetSeparatorExtent: - return 1; -+#ifndef __HAIKU__ - case PM_MenuPanelWidth: - case PM_MenuBarHMargin: - case PM_MenuBarVMargin: -+#endif - case PM_ToolBarFrameWidth: - if (panelWidget(widget)) - retval = 1; - break; - case PM_ButtonShiftVertical: - case PM_ButtonShiftHorizontal: -+#ifndef __HAIKU__ - case PM_MenuBarPanelWidth: -+#endif - case PM_ToolBarItemMargin: - case PM_ToolBarItemSpacing: - if (panelWidget(widget)) -@@ -796,6 +800,7 @@ void ManhattanStyle::drawControl(ControlElement element, const QStyleOption *opt - } - - switch (element) { -+#ifndef __HAIKU__ - case CE_MenuItem: - painter->save(); - if (const auto mbi = qstyleoption_cast(option)) { -@@ -853,7 +858,7 @@ void ManhattanStyle::drawControl(ControlElement element, const QStyleOption *opt - } - painter->restore(); - break; -- -+#endif - case CE_ComboBoxLabel: - if (const auto cb = qstyleoption_cast(option)) { - if (panelWidget(widget)) { -@@ -948,7 +953,7 @@ void ManhattanStyle::drawControl(ControlElement element, const QStyleOption *opt - painter->restore(); - } - break; -- -+#ifndef __HAIKU__ - case CE_MenuBarEmptyArea: { - if (creatorTheme()->flag(Theme::FlatMenuBar)) - painter->fillRect(option->rect, StyleHelper::baseColor()); -@@ -962,7 +967,7 @@ void ManhattanStyle::drawControl(ControlElement element, const QStyleOption *opt - painter->restore(); - } - break; -- -+#endif - case CE_ToolBar: - { - QRect rect = option->rect; --- -2.30.2 - - -From ef780df82431157d4b7269f00921e8e288c31ac0 Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Thu, 28 May 2020 15:38:35 +1000 -Subject: Don't validate Qt toolkit - - -diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp -index 61e9438..55304d5 100644 ---- a/src/plugins/qtsupport/baseqtversion.cpp -+++ b/src/plugins/qtsupport/baseqtversion.cpp -@@ -520,7 +520,7 @@ Tasks BaseQtVersion::validateKit(const Kit *k) - if (!tdt.isEmpty() && !tdt.contains(dt)) - result << BuildSystemTask(Task::Warning, tr("Device type is not supported by Qt version.")); - } -- -+#ifndef __HAIKU__ - if (ToolChain *tc = ToolChainKitAspect::cxxToolChain(k)) { - Abi targetAbi = tc->targetAbi(); - Abis supportedAbis = tc->supportedAbis(); -@@ -559,6 +559,7 @@ Tasks BaseQtVersion::validateKit(const Kit *k) - const QString message = tr("The kit has a Qt version, but no C++ compiler."); - result << BuildSystemTask(Task::Warning, message); - } -+#endif - return result; - } - --- -2.30.2 - - -From 9992e8e469dd6d3f78c7c5aedac0e054b9ab0a82 Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Thu, 28 May 2020 17:26:06 +1000 -Subject: Make unknown host abi for Haiku - - -diff --git a/src/plugins/projectexplorer/abi.cpp b/src/plugins/projectexplorer/abi.cpp -index 62fd00b..1d9a942 100644 ---- a/src/plugins/projectexplorer/abi.cpp -+++ b/src/plugins/projectexplorer/abi.cpp -@@ -1134,6 +1134,10 @@ Abi Abi::hostAbi() - subos = WindowsMSysFlavor; - #endif - format = PEFormat; -+#elif defined (Q_OS_HAIKU) -+ os = UnknownOS; -+ subos = GenericFlavor; -+ format = UnknownFormat; - #elif defined (Q_OS_LINUX) - os = LinuxOS; - subos = GenericFlavor; --- -2.30.2 - - -From 21254881e0b604095c4b4152fb7ee82bcaa7f78d Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Tue, 29 Dec 2020 14:16:57 +1000 -Subject: Fix build for clang 9 - - -diff --git a/src/plugins/clangformat/clangformatutils.cpp b/src/plugins/clangformat/clangformatutils.cpp -index ff184ea..66399f7 100644 ---- a/src/plugins/clangformat/clangformatutils.cpp -+++ b/src/plugins/clangformat/clangformatutils.cpp -@@ -124,7 +124,7 @@ static clang::format::FormatStyle qtcStyle() - #if LLVM_VERSION_MAJOR >= 12 - style.IncludeStyle.IncludeCategories = {{"^ -Date: Mon, 3 Jan 2022 11:41:36 +1000 -Subject: Fix build sqlite - - -diff --git a/src/libs/3rdparty/sqlite/config.h b/src/libs/3rdparty/sqlite/config.h -index 345e2b0..4fe631b 100644 ---- a/src/libs/3rdparty/sqlite/config.h -+++ b/src/libs/3rdparty/sqlite/config.h -@@ -35,6 +35,11 @@ - #define HAVE_UTIME 1 - #endif - -+#ifdef __HAIKU__ -+#define _DEFAULT_SOURCE 1 -+#define _BSD_SOURCE 1 -+#endif -+ - #if (_XOPEN_SOURCE >= 500) && !(_POSIX_C_SOURCE >= 200809L) || _DEFAULT_SOURCE || _BSD_SOURCE - #define HAVE_USLEEP 1 - #endif -diff --git a/src/libs/3rdparty/sqlite/sqlite3.c b/src/libs/3rdparty/sqlite/sqlite3.c -index 89faea5..030c772 100644 ---- a/src/libs/3rdparty/sqlite/sqlite3.c -+++ b/src/libs/3rdparty/sqlite/sqlite3.c -@@ -37710,7 +37710,7 @@ static int full_fsync(int fd, int fullSync, int dataOnly){ - */ - if( rc ) rc = fsync(fd); - --#elif defined(__APPLE__) -+#elif defined(__APPLE__) || defined(__HAIKU__) - /* fdatasync() on HFS+ doesn't yet flush the file size if it changed correctly - ** so currently we default to the macro that redefines fdatasync to fsync - */ -diff --git a/src/libs/sqlite/createtablesqlstatementbuilder.cpp b/src/libs/sqlite/createtablesqlstatementbuilder.cpp -new file mode 100644 -index 0000000..e69de29 --- -2.30.2 - - -From 1edd4310b32ec325e85da95ce617d316555ae51e Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Mon, 3 Jan 2022 11:46:26 +1000 -Subject: Use fsync - - -diff --git a/src/libs/utils/savefile.cpp b/src/libs/utils/savefile.cpp -index 721a872..e6cc8c1 100644 ---- a/src/libs/utils/savefile.cpp -+++ b/src/libs/utils/savefile.cpp -@@ -106,7 +106,7 @@ bool SaveFile::commit() - } - #ifdef Q_OS_WIN - FlushFileBuffers(reinterpret_cast(_get_osfhandle(handle()))); --#elif _POSIX_SYNCHRONIZED_IO > 0 -+#elif _POSIX_SYNCHRONIZED_IO > 0 && !defined(__HAIKU__) - fdatasync(handle()); - #else - fsync(handle()); --- -2.30.2 - - -From 7cdab8fe044610b85b6baa8397de5da73179e84a Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Mon, 3 Jan 2022 11:48:00 +1000 -Subject: Use localtime for FileTime::toString - - -diff --git a/src/shared/qbs/src/lib/corelib/tools/filetime.cpp b/src/shared/qbs/src/lib/corelib/tools/filetime.cpp -index 4ccb573..ee17422 100644 ---- a/src/shared/qbs/src/lib/corelib/tools/filetime.cpp -+++ b/src/shared/qbs/src/lib/corelib/tools/filetime.cpp -@@ -115,6 +115,13 @@ double FileTime::asDouble() const - - QString FileTime::toString() const - { -+#ifdef __HAIKU__ -+ tm* stLocal = localtime(&m_fileTime); -+ const QString result = QStringLiteral("%1.%2.%3 %4:%5:%6") -+ .arg(stLocal->tm_mday, 2, 10, QLatin1Char('0')).arg(stLocal->tm_mon, 2, 10, QLatin1Char('0')).arg(stLocal->tm_year) -+ .arg(stLocal->tm_hour, 2, 10, QLatin1Char('0')).arg(stLocal->tm_min, 2, 10, QLatin1Char('0')).arg(stLocal->tm_sec, 2, 10, QLatin1Char('0')); -+ return result; -+#else - auto const ft = reinterpret_cast(&m_fileTime); - SYSTEMTIME stUTC, stLocal; - FileTimeToSystemTime(ft, &stUTC); -@@ -123,6 +130,7 @@ QString FileTime::toString() const - .arg(stLocal.wDay, 2, 10, QLatin1Char('0')).arg(stLocal.wMonth, 2, 10, QLatin1Char('0')).arg(stLocal.wYear) - .arg(stLocal.wHour, 2, 10, QLatin1Char('0')).arg(stLocal.wMinute, 2, 10, QLatin1Char('0')).arg(stLocal.wSecond, 2, 10, QLatin1Char('0')); - return result; -+#endif - } - - #else // defined(Q_OS_WIN) --- -2.30.2 - - -From 51da680eafbba495ba180fbe219605e79a8b9ba8 Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Mon, 3 Jan 2022 11:48:53 +1000 -Subject: Disable dumpBacktrace for Haiku - - -diff --git a/src/libs/utils/qtcassert.cpp b/src/libs/utils/qtcassert.cpp -index 560df43..d1c2a29 100644 ---- a/src/libs/utils/qtcassert.cpp -+++ b/src/libs/utils/qtcassert.cpp -@@ -40,7 +40,7 @@ void dumpBacktrace(int maxdepth) - { - if (maxdepth == -1) - maxdepth = 1000; --#if defined(Q_OS_UNIX) -+#if defined(Q_OS_UNIX) && !defined(__HAIKU__) - void *bt[1000] = {nullptr}; - int size = backtrace(bt, sizeof(bt) / sizeof(bt[0])); - char **lines = backtrace_symbols(bt, size); --- -2.30.2 - diff --git a/dev-qt/qt_creator/qt_creator-6.0.1.recipe b/dev-qt/qt_creator/qt_creator-11.0.3.recipe similarity index 85% rename from dev-qt/qt_creator/qt_creator-6.0.1.recipe rename to dev-qt/qt_creator/qt_creator-11.0.3.recipe index 93880477f..2cf78b88a 100644 --- a/dev-qt/qt_creator/qt_creator-6.0.1.recipe +++ b/dev-qt/qt_creator/qt_creator-11.0.3.recipe @@ -4,11 +4,11 @@ development environment (IDE) for application developers to create \ applications for multiple desktop, embedded, and mobile device platforms, \ such as Android and iOS." HOMEPAGE="https://www.qt.io/ide/" -COPYRIGHT="2021 The Qt Company Ltd" +COPYRIGHT="2023 The Qt Company Ltd" LICENSE="GNU GPL v3" REVISION="1" SOURCE_URI="https://download.qt.io/official_releases/qtcreator/${portVersion%.*}/$portVersion/qt-creator-opensource-src-$portVersion.tar.xz" -CHECKSUM_SHA256="94ccca750150c731956ad368f69714ed5fd4c3b4cd35e5340df37920bded6f3b" +CHECKSUM_SHA256="5f501e64e836b7e3e50b98b3ebc345b201396a5fd92e49738dabb5e268d5cf1c" SOURCE_DIR="qt-creator-opensource-src-$portVersion" PATCHES="qt_creator-$portVersion.patchset" ADDITIONAL_FILES="qt_creator.rdef.in" @@ -26,7 +26,7 @@ REQUIRES=" lib:libclang_cpp$secondaryArchSuffix lib:libexecinfo$secondaryArchSuffix lib:libGL$secondaryArchSuffix - lib:libLLVM_9$secondaryArchSuffix + lib:libLLVM_17$secondaryArchSuffix lib:libQt6Concurrent$secondaryArchSuffix lib:libQt6Core$secondaryArchSuffix lib:libQt6Core5Compat$secondaryArchSuffix @@ -49,11 +49,11 @@ REQUIRES=" BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel qt6_tools${secondaryArchSuffix}_devel - devel:libclang$secondaryArchSuffix >= 9 - devel:libclang_cpp$secondaryArchSuffix >= 9 + devel:libclang$secondaryArchSuffix >= 17 + devel:libclang_cpp$secondaryArchSuffix >= 17 devel:libexecinfo$secondaryArchSuffix devel:libGL$secondaryArchSuffix - devel:libLLVM_9$secondaryArchSuffix + devel:libLLVM_17$secondaryArchSuffix devel:libQt6Concurrent$secondaryArchSuffix devel:libQt6Core$secondaryArchSuffix devel:libQt6Core5Compat$secondaryArchSuffix @@ -75,31 +75,31 @@ BUILD_REQUIRES=" " BUILD_PREREQUIRES=" cmd:g++$secondaryArchSuffix - cmd:make + cmd:cmake + cmd:ninja cmd:qdoc6$secondaryArchSuffix - cmd:qmake6$secondaryArchSuffix cmd:perl cmd:pkg_config$secondaryArchSuffix - cmd:python2 + cmd:python3 cmd:which " BUILD() { - qmake6 - make $jobArgs + cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release + cmake --build build $jobArgs } INSTALL() { - make install INSTALL_ROOT=$appsDir/QtCreator + cmake --install build --prefix $appsDir/QtCreator # Qt port doesn't support createPlatformOpenGLContext yet rm -rf $appsDir/QtCreator/lib/qtcreator/plugins/libQmlDesigner.so rm -rf $appsDir/QtCreator/lib/qtcreator/plugins/libQmlProfiler.so # Create symlink to libclang - ln -s /system/$relativeDevelopLibDir/libclang.so.9 $appsDir/QtCreator/lib/qtcreator/ - ln -s /system/$relativeDevelopLibDir/libclang.so.9 $appsDir/QtCreator/libexec/qtcreator/ + ln -s /system/$relativeDevelopLibDir/libclang.so.17 $appsDir/QtCreator/lib/qtcreator/ + ln -s /system/$relativeDevelopLibDir/libclang.so.17 $appsDir/QtCreator/libexec/qtcreator/ local APP_SIGNATURE="application/x-vnd.qt6-qtcreator" local MAJOR="`echo "$portVersion" | cut -d. -f1`"