diff --git a/desktop/toolkit/qtcreator/actions.py b/desktop/toolkit/qtcreator/actions.py index 0fa4d2ccb1..951c56a59b 100644 --- a/desktop/toolkit/qtcreator/actions.py +++ b/desktop/toolkit/qtcreator/actions.py @@ -3,23 +3,25 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/copyleft/gpl.txt from pisi.actionsapi import autotools -from pisi.actionsapi import qt5 -from pisi.actionsapi import shelltools +from pisi.actionsapi import cmaketools from pisi.actionsapi import pisitools +from pisi.actionsapi import qt5 from pisi.actionsapi import get #WorkDir="qt-creator-opensource-src-%s" % get.srcVERSION() def setup(): pisitools.dosed("qtcreator.pri", "libexec/qtcreator", "lib/qtcreator") - pisitools.dosed("src/tools/tools.pro", "libexec", "lib") - - shelltools.system("qmake LLVM_INSTALL_DIR=/usr QBS_INSTALL_DIR=/usr \ - CONFIG+=release QMAKE_CFLAGS_ISYSTEM=-I \ - DEFINES+=QBS_ENABLE_PROJECT_FILE_UPDATES \ - QTC_PREFIX=/usr qtcreator.pro") - + # pisitools.dosed("src/tools/tools.pro", "libexec", "lib") + cmaketools.configure("-DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBEXECDIR=lib \ + -DWITH_DOCS=ON \ + -DBUILD_DEVELOPER_DOCS=ON \ + -DBUILD_QBS=OFF \ + -DQTC_CLANG_BUILDMODE_MATCH=ON \ + -DCLANGTOOLING_LINK_CLANG_DYLIB=ON") def build(): qt5.make() + def install(): qt5.install() diff --git a/desktop/toolkit/qtcreator/files/qtcreator-languageclient2.patch b/desktop/toolkit/qtcreator/files/qtcreator-languageclient2.patch new file mode 100644 index 0000000000..01b7ea2423 --- /dev/null +++ b/desktop/toolkit/qtcreator/files/qtcreator-languageclient2.patch @@ -0,0 +1,60 @@ +From bd00cc8bf8742a0c344266879cef680093bfdbf0 Mon Sep 17 00:00:00 2001 +From: Christian Kandeler +Date: Wed, 10 Aug 2022 15:37:31 +0200 +Subject: LanguageClient: Introduce timeout for restart counter + +While it makes sense to stop trying to restart a continuously crashing +server, the restart counter should be reset regularly, as it's not +critical if the server restarts "once in a while" during a longer +programming session. + +Change-Id: Ia2efca28ae4a4dba72da947d9eb776e3909d0cb3 +Reviewed-by: +Reviewed-by: David Schulz +--- + src/plugins/languageclient/client.cpp | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +diff --git a/src/plugins/languageclient/client.cpp b/src/plugins/languageclient/client.cpp +index 78a2a259c9..c624b13979 100644 +--- a/src/plugins/languageclient/client.cpp ++++ b/src/plugins/languageclient/client.cpp +@@ -197,6 +197,11 @@ public: + connect(&m_shutdownTimer, &QTimer::timeout, this, [this] { + LanguageClientManager::deleteClient(q); + }); ++ ++ m_restartCountResetTimer.setSingleShot(true); ++ m_restartCountResetTimer.setInterval(5 * 60 * 1000); ++ connect(&m_restartCountResetTimer, &QTimer::timeout, ++ this, [this] { m_restartsLeft = MaxRestarts; }); + } + + ~ClientPrivate() +@@ -307,7 +312,9 @@ public: + AssistProviders m_clientProviders; + QMap m_resetAssistProvider; + QHash m_highlightRequests; +- int m_restartsLeft = 5; ++ static const int MaxRestarts = 2; ++ int m_restartsLeft = MaxRestarts; ++ QTimer m_restartCountResetTimer; + InterfaceController *m_clientInterface = nullptr; + DiagnosticManager *m_diagnosticManager = nullptr; + DocumentSymbolCache m_documentSymbolCache; +@@ -1511,8 +1518,11 @@ bool Client::reset() + + bool ClientPrivate::reset() + { +- if (!m_restartsLeft) ++ if (!m_restartsLeft) { ++ m_restartCountResetTimer.stop(); + return false; ++ } ++ m_restartCountResetTimer.start(); + --m_restartsLeft; + m_state = Client::Uninitialized; + m_responseHandlers.clear(); +-- +cgit v1.2.1 + diff --git a/desktop/toolkit/qtcreator/files/qtcreator-languageclient3.patch b/desktop/toolkit/qtcreator/files/qtcreator-languageclient3.patch new file mode 100644 index 0000000000..98cf6fe6c5 --- /dev/null +++ b/desktop/toolkit/qtcreator/files/qtcreator-languageclient3.patch @@ -0,0 +1,42 @@ +From 8276bd265bb5440690e58876901c8c70a4f446a6 Mon Sep 17 00:00:00 2001 +From: Aaron Barany +Date: Sat, 27 Aug 2022 14:21:47 -0700 +Subject: LanguageClient: Adjust restart limits + +Changed restart timer to 2 minutes and max restarts to 5 for restarting +language client after it exits unexpectedly. This avoids disabling the +language client with clangd 14 in situations where it's likely to crash +during normal editing. + +Change-Id: I333bb9d67ed1dbba2b52a1cd916f5d1cf3c0b60b +Reviewed-by: +Reviewed-by: David Schulz +--- + src/plugins/languageclient/client.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/plugins/languageclient/client.cpp b/src/plugins/languageclient/client.cpp +index c86462bee4..49778d8f79 100644 +--- a/src/plugins/languageclient/client.cpp ++++ b/src/plugins/languageclient/client.cpp +@@ -177,7 +177,7 @@ public: + }); + + m_restartCountResetTimer.setSingleShot(true); +- m_restartCountResetTimer.setInterval(5 * 60 * 1000); ++ m_restartCountResetTimer.setInterval(2 * 60 * 1000); + connect(&m_restartCountResetTimer, &QTimer::timeout, + this, [this] { m_restartsLeft = MaxRestarts; }); + } +@@ -301,7 +301,7 @@ public: + AssistProviders m_clientProviders; + QMap m_resetAssistProvider; + QHash m_highlightRequests; +- static const int MaxRestarts = 2; ++ static const int MaxRestarts = 5; + int m_restartsLeft = MaxRestarts; + QTimer m_restartCountResetTimer; + InterfaceController *m_clientInterface = nullptr; +-- +cgit v1.2.1 + diff --git a/desktop/toolkit/qtcreator/pspec.xml b/desktop/toolkit/qtcreator/pspec.xml index 0447867998..019ab45711 100644 --- a/desktop/toolkit/qtcreator/pspec.xml +++ b/desktop/toolkit/qtcreator/pspec.xml @@ -13,7 +13,7 @@ app:gui Lightweight, cross-platform integrated development environment Lightweight, cross-platform integrated development environment - https://download.qt.io/official_releases/qtcreator/4.14/.4.14.1/qt-creator-opensource-src-4.14.1.tar.xz + https://download.qt.io/official_releases/qtcreator/8.0/8.0.2/qt-creator-opensource-src-8.0.2.tar.xz libgcc libX11-devel @@ -21,26 +21,32 @@ git mesa-devel openssh - qt5-quickcontrols - qt5-base-devel - qt5-declarative-devel - qt5-linguist - qt5-serialport-devel - qt5-quickcontrols2 - qt5-svg-devel - qt5-xmlpatterns - qt5-webkit-devel - qt5-x11extras-devel - qt5-assistant-devel - qt5-designer-devel - qt5-script-devel - qt5-webengine-devel + qt5-sql-mysql + qt5-sql-odbc + qt5-sql-sqlite + qt5-sql-postgresql + qt5-quickcontrols + qt5-base-devel + qt5-declarative-devel + qt5-linguist + qt5-serialport-devel + qt5-quickcontrols2 + qt5-svg-devel + qt5-xmlpatterns + qt5-webkit-devel + qt5-x11extras-devel + qt5-assistant-devel + qt5-designer-devel + qt5-script-devel + qt5-webengine-devel valgrind llvm-clang-devel llvm + llvm-mlir - + qtcreator-languageclient2.patch + qtcreator-languageclient3.patch @@ -48,19 +54,20 @@ qtcreator Lightweight, cross-platform integrated development environment + zstd elfutils llvm-libs llvm-clang - qt5-svg - qt5-base - qt5-base-devel - qt5-script - qt5-webkit - qt5-designer - qt5-assistant - qt5-serialport - qt5-declarative - qt5-webengine + qt5-svg + qt5-base + qt5-base-devel + qt5-script + qt5-webkit + qt5-designer + qt5-assistant + qt5-serialport + qt5-declarative + qt5-webengine /usr/bin @@ -82,6 +89,13 @@ + + 2022-11-11 + 8.0.2 + Version bump. + Mustafa Cinasal + muscnsl@gmail.com + 2021-02-24 4.14.1