From 21910776e88fc7c58729b17a733045eda1578ac0 Mon Sep 17 00:00:00 2001 From: Schrijvers Luc Date: Sun, 17 Aug 2025 11:48:27 +0200 Subject: [PATCH] kdevelop_kf6, add KF6 version 25.08.0 (#12763) --- dev-util/kdevelop/kdevelop_kf6-25.08.0.recipe | 308 +++++++++++++ .../patches/kdevelop-25.08.0.patchset | 426 ++++++++++++++++++ 2 files changed, 734 insertions(+) create mode 100644 dev-util/kdevelop/kdevelop_kf6-25.08.0.recipe create mode 100644 dev-util/kdevelop/patches/kdevelop-25.08.0.patchset diff --git a/dev-util/kdevelop/kdevelop_kf6-25.08.0.recipe b/dev-util/kdevelop/kdevelop_kf6-25.08.0.recipe new file mode 100644 index 000000000..337acd7ef --- /dev/null +++ b/dev-util/kdevelop/kdevelop_kf6-25.08.0.recipe @@ -0,0 +1,308 @@ +SUMMARY="A cross-platform IDE for C, C++, Python, QML/JavaScript and PHP" +DESCRIPTION="KDevelop is a free software integrated development environment \ +(IDE) developed under the KDE Umbrella. KDevelop provides support for a wide \ +variety of languages (such as C/C++, Python, PHP, Ruby, ...) via an extensible \ +plugin framework." +HOMEPAGE="https://www.kdevelop.org/" +COPYRIGHT="2010-2025 KDE Organisation" +LICENSE="GNU GPL v3 + GNU LGPL v3" +REVISION="1" +SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/kdevelop-$portVersion.tar.xz" +CHECKSUM_SHA256="8682c13bad865433cf93574275f3da8fe6ff7080ee6178541c5c46cb4560a0ad" +SOURCE_DIR="kdevelop-$portVersion" +PATCHES="kdevelop-$portVersion.patchset" +ADDITIONAL_FILES="kdevelop.rdef.in" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +libVersion="6.2.${portVersion//./}0" +libVersionCompat="$libVersion compat >= ${libVersion%%.*}" + +clangVer="20" + +PROVIDES=" + kdevelop_kf6$secondaryArchSuffix = $portVersion + # should be cmd:kdevelop! but haikuporter doesn't handle this + cmd:kdevelop = $portVersion + cmd:kdevplatform_shell_environment.sh = $portVersion + cmd:kdev_dbus_socket_transformer$secondaryArchSuffix = $portVersion + cmd:kdev_format_source$secondaryArchSuffix = $portVersion + cmd:kdev_includepathsconverter$secondaryArchSuffix = $portVersion + cmd:kdevelop$secondaryArchSuffix = $portVersion + lib:libKDevClangPrivate$secondaryArchSuffix + lib:libKDevCmakeCommon$secondaryArchSuffix + lib:libKDevCompileAnalyzerCommon$secondaryArchSuffix + lib:libKDevPlatformDebugger$secondaryArchSuffix = $libVersionCompat + lib:libKDevPlatformDocumentation$secondaryArchSuffix = $libVersionCompat + lib:libKDevPlatformInterfaces$secondaryArchSuffix = $libVersionCompat + lib:libKDevPlatformLanguage$secondaryArchSuffix = $libVersionCompat + lib:libKDevPlatformOutputView$secondaryArchSuffix = $libVersionCompat + lib:libKDevPlatformProject$secondaryArchSuffix = $libVersionCompat + lib:libKDevPlatformSerialization$secondaryArchSuffix = $libVersionCompat + lib:libKDevPlatformShell$secondaryArchSuffix = $libVersionCompat + lib:libKDevPlatformSublime$secondaryArchSuffix = $libVersionCompat + lib:libKDevPlatformTests$secondaryArchSuffix = $libVersionCompat + lib:libKDevPlatformUtil$secondaryArchSuffix = $libVersionCompat + lib:libKDevPlatformVcs$secondaryArchSuffix = $libVersionCompat + " +REQUIRES=" + haiku$secondaryArchSuffix +# cmd:dbus_launch # needs the one from x86 on 32bit +# kde_cli_tools6$secondaryArchSuffix + cmd:clazy_standalone + cmd:kdev_pg_qt$secondaryArchSuffix + lib:libboost_system$secondaryArchSuffix + lib:libclang$secondaryArchSuffix + lib:libdbus_1$secondaryArchSuffix + lib:libGL$secondaryArchSuffix + lib:libkomparediff2$secondaryArchSuffix + lib:libLLVM$secondaryArchSuffix + lib:libsvn_client_1$secondaryArchSuffix + lib:libsvn_fs_1$secondaryArchSuffix + lib:libsvn_repos_1$secondaryArchSuffix + lib:libsvn_ra_1$secondaryArchSuffix + lib:libsvn_subr_1$secondaryArchSuffix + lib:libsvn_wc_1$secondaryArchSuffix + lib:libz$secondaryArchSuffix + # KF6 + lib:libKF6Archive$secondaryArchSuffix + lib:libKF6Attica$secondaryArchSuffix + lib:libKF6AuthCore$secondaryArchSuffix + lib:libKF6Bookmarks$secondaryArchSuffix + lib:libKF6Codecs$secondaryArchSuffix + lib:libKF6ColorScheme$secondaryArchSuffix + lib:libKF6Completion$secondaryArchSuffix + lib:libKF6ConfigCore$secondaryArchSuffix + lib:libKF6ConfigGui$secondaryArchSuffix + lib:libKF6ConfigWidgets$secondaryArchSuffix + lib:libKF6CoreAddons$secondaryArchSuffix + lib:libKF6Crash$secondaryArchSuffix + lib:libKF6DBusAddons$secondaryArchSuffix + lib:libKF6FileMetadata$secondaryArchSuffix + lib:libKF6GuiAddons$secondaryArchSuffix + lib:libKF6I18n$secondaryArchSuffix + lib:libKF6IconThemes$secondaryArchSuffix + lib:libKF6ItemModels$secondaryArchSuffix + lib:libKF6ItemViews$secondaryArchSuffix + lib:libKF6JobWidgets$secondaryArchSuffix + lib:libKF6KCMUtils$secondaryArchSuffix + lib:libKF6KioCore$secondaryArchSuffix + lib:libKF6KIOCore$secondaryArchSuffix + lib:libKF6KIOWidgets$secondaryArchSuffix + lib:libKF6NewStuffCore$secondaryArchSuffix + lib:libKF6Notifications$secondaryArchSuffix + lib:libKF6NotifyConfig$secondaryArchSuffix + lib:libKF6Package$secondaryArchSuffix + lib:libKF6Parts$secondaryArchSuffix + lib:libKF6Service$secondaryArchSuffix + lib:libKF6Solid$secondaryArchSuffix + lib:libKF6SonnetUi$secondaryArchSuffix + lib:libKF6SyntaxHighlighting$secondaryArchSuffix + lib:libKF6TextEditor$secondaryArchSuffix + lib:libKF6TextTemplate$secondaryArchSuffix + lib:libKF6TextWidgets$secondaryArchSuffix + lib:libKF6ThreadWeaver$secondaryArchSuffix + lib:libKF6UnitConversion$secondaryArchSuffix + lib:libKF6WidgetsAddons$secondaryArchSuffix + lib:libKF6WindowSystem$secondaryArchSuffix + lib:libKF6XmlGui$secondaryArchSuffix + # Qt6 + lib:libQt6Core$secondaryArchSuffix + lib:libQt6Core5Compat$secondaryArchSuffix + lib:libQt6Gui$secondaryArchSuffix + lib:libQt6Network$secondaryArchSuffix + lib:libQt6PrintSupport$secondaryArchSuffix + lib:libQt6Qml$secondaryArchSuffix + lib:libQt6Quick$secondaryArchSuffix + lib:libQt6Svg$secondaryArchSuffix + lib:libQt6Test$secondaryArchSuffix +# lib:libQt6WebKit$secondaryArchSuffix +# lib:libQt6WebKitWidgets$secondaryArchSuffix + lib:libQt6Widgets$secondaryArchSuffix + lib:libQt6Xml$secondaryArchSuffix + " +CONFLICTS=" + kdevelop$secondaryArchSuffix + " + +PROVIDES_devel=" + kdevelop_kf6${secondaryArchSuffix}_devel = $portVersion + devel:libKDevPlatformDebugger$secondaryArchSuffix = $libVersionCompat + devel:libKDevPlatformDocumentation$secondaryArchSuffix = $libVersionCompat + devel:libKDevPlatformInterfaces$secondaryArchSuffix = $libVersionCompat + devel:libKDevPlatformLanguage$secondaryArchSuffix = $libVersionCompat + devel:libKDevPlatformOutputView$secondaryArchSuffix = $libVersionCompat + devel:libKDevPlatformProject$secondaryArchSuffix = $libVersionCompat + devel:libKDevPlatformSerialization$secondaryArchSuffix = $libVersionCompat + devel:libKDevPlatformShell$secondaryArchSuffix = $libVersionCompat + devel:libKDevPlatformSublime$secondaryArchSuffix = $libVersionCompat + devel:libKDevPlatformTests$secondaryArchSuffix = $libVersionCompat + devel:libKDevPlatformUtil$secondaryArchSuffix = $libVersionCompat + devel:libKDevPlatformVcs$secondaryArchSuffix = $libVersionCompat + " +REQUIRES_devel=" + kdevelop_kf6$secondaryArchSuffix == $portVersion base + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + kdevelop_pg_qt6${secondaryArchSuffix}_devel + cmd:clazy_standalone + devel:libboost_system$secondaryArchSuffix >= 1.88.0 + devel:libkomparediff2$secondaryArchSuffix >= 6 + devel:libLLVM_$clangVer$secondaryArchSuffix + devel:libomp$secondaryArchSuffix + devel:libsvn_client_1$secondaryArchSuffix + devel:libsvn_fs_1$secondaryArchSuffix + devel:libsvn_repos_1$secondaryArchSuffix + devel:libsvn_ra_1$secondaryArchSuffix + devel:libsvn_subr_1$secondaryArchSuffix + devel:libsvn_wc_1$secondaryArchSuffix + devel:libz$secondaryArchSuffix + # KF6 + extra_cmake_modules$secondaryArchSuffix + devel:libKF6Archive$secondaryArchSuffix + devel:libKF6ConfigCore$secondaryArchSuffix + devel:libKF6Crash$secondaryArchSuffix + devel:libKF6DocTools$secondaryArchSuffix + devel:libKF6GuiAddons$secondaryArchSuffix + devel:libKF6I18n$secondaryArchSuffix + devel:libKF6IconThemes$secondaryArchSuffix + devel:libKF6ItemModels$secondaryArchSuffix + devel:libKF6ItemViews$secondaryArchSuffix + devel:libKF6JobWidgets$secondaryArchSuffix + devel:libKF6KCMUtils$secondaryArchSuffix + devel:libKF6KIOCore$secondaryArchSuffix + devel:libKF6NewStuffCore$secondaryArchSuffix + devel:libKF6Notifications$secondaryArchSuffix + devel:libKF6NotifyConfig$secondaryArchSuffix + devel:libKF6Parts$secondaryArchSuffix + devel:libKF6Purpose$secondaryArchSuffix + devel:libKF6Service$secondaryArchSuffix + devel:libKF6SonnetUi$secondaryArchSuffix + devel:libKF6TextEditor$secondaryArchSuffix + devel:libKF6TextTemplate$secondaryArchSuffix + devel:libKF6TextWidgets$secondaryArchSuffix + devel:libKF6ThreadWeaver$secondaryArchSuffix + devel:libKF6WindowSystem$secondaryArchSuffix + devel:libKF6XmlGui$secondaryArchSuffix + # Qt6 + qt6_tools${secondaryArchSuffix}_devel + devel:libQt6Core$secondaryArchSuffix + devel:libQt6Core5Compat$secondaryArchSuffix + devel:libQt6Quick$secondaryArchSuffix +# devel:libQt6WebKit$secondaryArchSuffix +# devel:libQt6WebKitWidgets$secondaryArchSuffix + " + +BUILD_PREREQUIRES=" + cmd:apr_1_config$secondaryArchSuffix + cmd:apu_1_config$secondaryArchSuffix + cmd:clang_$clangVer + cmd:clazy_standalone + cmd:cmake + cmd:cppcheck$secondaryArchSuffix + cmd:find + cmd:g++$secondaryArchSuffix + cmd:kdev_pg_qt$secondaryArchSuffix + cmd:llvm_config >= $clangVer + cmd:make + cmd:meson + cmd:msgfmt$secondaryArchSuffix + cmd:msgmerge$secondaryArchSuffix + cmd:pkg_config$secondaryArchSuffix + cmd:sed + cmd:update_mime_database$secondaryArchSuffix + " + +TEST_REQUIRES=" + qthaikuplugins$secondaryArchSuffix + " + +PATCH() +{ + # disable docs generation until libxml package is fixed + sed -e '/add_subdirectory(doc)/ s/^#*/#/' -i CMakeLists.txt + sed -e '/kdoctools_install(po)/ s/^#*/#/' -i CMakeLists.txt + # use Haiku's icon theme + sed -e 's,\ KIconTheme::initTheme();,\// KIconTheme::initTheme();,g' -i app/main.cpp +} + +# BUILD_TESTING needs to be enabled for libKDevPlatformTests +# required to build kdevelop_python ... + +BUILD() +{ + CLANG_VERSION="`clang --version | head -n 1 | cut -d " " -f3`" + BUILTIN_DIR="`finddir B_SYSTEM_LIB_DIRECTORY`/clang/$CLANG_VERSION/include" + + cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \ + $cmakeDirArgs \ + -DCMAKE_AUTOGEN_PARALLEL=1 \ + -DKDE_INSTALL_QMLDIR=$dataDir/Qt6/qml \ + -DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt6 \ + -DKDE_INSTALL_QTPLUGINDIR=$addOnsDir/Qt6 \ + -DECM_DIR=/system/data/cmake/Modules/ECM/cmake \ + -DCLANG_BUILTIN_DIR="$BUILTIN_DIR" \ + -DBUILD_DOC_VIEWER=OFF \ + -DBUILD_TESTING=ON \ + -Wno-dev + + make -C build $jobArgs +} + +INSTALL() +{ + make -C build install + + # cleanup + rm -rf $dataDir/{applications,icons,metainfo} + # don't mess with shared_mime_info files + rm $dataDir/mime/{version,types,treemagic,subclasses,magic,mime.cache} + rm $dataDir/mime/{icons,globs,globs2,generic-icons,aliases,XMLnamespaces} + + local APP_SIGNATURE="application/x-vnd.Qt6-kdevelop" + local MAJOR="`echo "$portVersion" | cut -d. -f1`" + local MIDDLE="`echo "$portVersion" | cut -d. -f2`" + local MINOR="`echo "$portVersion" | cut -d. -f3`" + local LONG_INFO="$SUMMARY" + sed \ + -e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \ + -e "s|@MAJOR@|$MAJOR|" \ + -e "s|@MIDDLE@|$MIDDLE|" \ + -e "s|@MINOR@|$MINOR|" \ + -e "s|@LONG_INFO@|$LONG_INFO|" \ + $portDir/additional-files/kdevelop.rdef.in > kdevelop.rdef + + addResourcesToBinaries kdevelop.rdef $binDir/kdevelop + addAppDeskbarSymlink $binDir/kdevelop KDevelop + + prepareInstalledDevelLibs \ + libKDevPlatformDebugger \ + libKDevPlatformDocumentation \ + libKDevPlatformInterfaces \ + libKDevPlatformLanguage \ + libKDevPlatformOutputView \ + libKDevPlatformProject \ + libKDevPlatformSerialization \ + libKDevPlatformShell \ + libKDevPlatformSublime \ + libKDevPlatformTests \ + libKDevPlatformUtil \ + libKDevPlatformVcs + + packageEntries devel \ + $developDir \ + $libDir/cmake +} + +TEST() +{ + # 39% tests passed, 82 tests failed out of 135 + # Error window pops up witht: Could not find any plugins during startup. + # Please make sure QT_PLUGIN_PATH is set correctly + export LIBRARY_PATH="$sourceDir/build/bin${LIBRARY_PATH:+:$LIBRARY_PATH}" + ctest --test-dir build --output-on-failure +} diff --git a/dev-util/kdevelop/patches/kdevelop-25.08.0.patchset b/dev-util/kdevelop/patches/kdevelop-25.08.0.patchset new file mode 100644 index 000000000..19ec19607 --- /dev/null +++ b/dev-util/kdevelop/patches/kdevelop-25.08.0.patchset @@ -0,0 +1,426 @@ +From 633b66892f8851d82f61ead659c34fafca238e56 Mon Sep 17 00:00:00 2001 +From: begasus +Date: Mon, 23 Dec 2024 19:54:46 +0000 +Subject: Add option BUILD_DOC_VIEWER to disable the integrated document viewer + + +diff --git a/config-kdevelop.h.cmake b/config-kdevelop.h.cmake +index 28b8465..cd5d425 100644 +--- a/config-kdevelop.h.cmake ++++ b/config-kdevelop.h.cmake +@@ -7,4 +7,6 @@ + + #cmakedefine01 HAVE_KSYSGUARD + ++#cmakedefine01 BUILD_DOC_VIEWER ++ + #endif // CONFIG_KDEVELOP_H +diff --git a/kdevplatform/documentation/CMakeLists.txt b/kdevplatform/documentation/CMakeLists.txt +index 74759ff..f710a12 100644 +--- a/kdevplatform/documentation/CMakeLists.txt ++++ b/kdevplatform/documentation/CMakeLists.txt +@@ -1,10 +1,13 @@ + add_definitions(-DTRANSLATION_DOMAIN=\"kdevplatform\") + +-find_package(Qt6WebEngineWidgets CONFIG) +-set_package_properties(Qt6WebEngineWidgets PROPERTIES +- PURPOSE "QtWebEngine, for integrated documentation" +- URL "https://qt.io/" +- TYPE REQUIRED) ++option(BUILD_DOC_VIEWER "Build integrated documentation viewer" ON) ++if(BUILD_DOC_VIEWER) ++ find_package(Qt6WebEngineWidgets CONFIG) ++ set_package_properties(Qt6WebEngineWidgets PROPERTIES ++ PURPOSE "QtWebEngine, for integrated documentation" ++ URL "https://qt.io/" ++ TYPE REQUIRED) ++endif() + + set(KDevPlatformDocumentation_LIB_SRCS + standarddocumentationview.cpp +@@ -23,10 +26,16 @@ kdevplatform_add_library(KDevPlatformDocumentation SOURCES ${KDevPlatformDocumen + target_link_libraries(KDevPlatformDocumentation + PUBLIC + KDev::Interfaces +- Qt::WebEngineWidgets + PRIVATE + KDev::Util + ) ++if(BUILD_DOC_VIEWER) ++ target_compile_definitions(KDevPlatformDocumentation PUBLIC -DKDEV_STANDARD_DOCUMENTATION_VIEW_ENABLED=1) ++ target_link_libraries(KDevPlatformDocumentation PUBLIC Qt::WebEngineWidgets) ++else() ++ target_compile_definitions(KDevPlatformDocumentation PUBLIC -DKDEV_STANDARD_DOCUMENTATION_VIEW_ENABLED=0) ++ message(WARNING "Integrated documentation viewer will not function without QtWebEngine") ++endif() + + install(FILES + documentationfindwidget.h +diff --git a/kdevplatform/documentation/standarddocumentationview.cpp b/kdevplatform/documentation/standarddocumentationview.cpp +index e5e09be..2d4f759 100644 +--- a/kdevplatform/documentation/standarddocumentationview.cpp ++++ b/kdevplatform/documentation/standarddocumentationview.cpp +@@ -5,6 +5,7 @@ + SPDX-License-Identifier: LGPL-2.0-or-later + */ + ++#include "config-kdevelop.h" + #include "standarddocumentationview.h" + #include "documentationfindwidget.h" + #include "debug.h" +@@ -21,18 +22,21 @@ + #include + #include + #include ++#if BUILD_DOC_VIEWER + #include + #include + #include + #include + #include + #include ++#endif + + using namespace KDevelop; + + namespace { + auto qtHelpSchemeName() { return QByteArrayLiteral("qthelp"); } + ++#if BUILD_DOC_VIEWER + class StandardDocumentationPage : public QWebEnginePage + { + Q_OBJECT +@@ -67,13 +71,15 @@ private: + KDevelop::StandardDocumentationView* const m_view; + bool m_isDelegating = false; + }; +- ++#endif + } // unnamed namespace + + void StandardDocumentationView::registerCustomUrlSchemes() + { ++#if BUILD_DOC_VIEWER + QWebEngineUrlScheme scheme(qtHelpSchemeName()); + QWebEngineUrlScheme::registerScheme(scheme); ++#endif + } + + class KDevelop::StandardDocumentationViewPrivate +@@ -82,18 +88,23 @@ public: + ZoomController* m_zoomController = nullptr; + IDocumentation::Ptr m_doc; + ++#if BUILD_DOC_VIEWER + QWebEngineView* m_view = nullptr; + StandardDocumentationPage* m_page = nullptr; ++#endif + + ~StandardDocumentationViewPrivate() + { + // make sure the page is deleted before the profile + // see https://doc.qt.io/qt-5/qwebenginepage.html#QWebEnginePage-1 ++#if BUILD_DOC_VIEWER + delete m_page; ++#endif + } + + void init(StandardDocumentationView* parent) + { ++#if BUILD_DOC_VIEWER + // prevent QWebEngine (Chromium) from overriding the signal handlers of KCrash + const auto chromiumFlags = qgetenv("QTWEBENGINE_CHROMIUM_FLAGS"); + if (!chromiumFlags.contains("disable-in-process-stack-traces")) { +@@ -110,6 +121,7 @@ public: + + // The event filter is necessary for handling mouse events since they are swallowed by QWebEngineView. + m_view->installEventFilter(parent); ++#endif + } + }; + +@@ -118,13 +130,16 @@ StandardDocumentationView::StandardDocumentationView(DocumentationFindWidget* fi + , d_ptr(new StandardDocumentationViewPrivate) + { + Q_D(StandardDocumentationView); +- ++#if BUILD_DOC_VIEWER + auto mainLayout = new QVBoxLayout(this); + mainLayout->setContentsMargins(0, 0, 0, 0); + setLayout(mainLayout); ++#endif + + d->init(this); ++#if BUILD_DOC_VIEWER + layout()->addWidget(d->m_view); ++#endif + + findWidget->setEnabled(true); + connect(findWidget, &DocumentationFindWidget::searchRequested, this, &StandardDocumentationView::search); +@@ -137,13 +152,16 @@ KDevelop::StandardDocumentationView::~StandardDocumentationView() + Q_D(StandardDocumentationView); + + // Prevent getting a loadFinished() signal on destruction. ++#if BUILD_DOC_VIEWER + disconnect(d->m_view, nullptr, this, nullptr); ++#endif + } + + void StandardDocumentationView::search ( const QString& text, DocumentationFindWidget::FindOptions options ) + { + Q_D(StandardDocumentationView); + ++#if BUILD_DOC_VIEWER + QWebEnginePage::FindFlags ff = {}; + if(options & DocumentationFindWidget::Previous) + ff |= QWebEnginePage::FindBackward; +@@ -152,12 +170,14 @@ void StandardDocumentationView::search ( const QString& text, DocumentationFindW + ff |= QWebEnginePage::FindCaseSensitively; + + d->m_view->page()->findText(text, ff); ++#endif + } + + void StandardDocumentationView::searchIncremental(const QString& text, DocumentationFindWidget::FindOptions options) + { + Q_D(StandardDocumentationView); + ++#if BUILD_DOC_VIEWER + QWebEnginePage::FindFlags findFlags; + + if (options & DocumentationFindWidget::MatchCase) +@@ -173,6 +193,7 @@ void StandardDocumentationView::searchIncremental(const QString& text, Documenta + // casesensitivity, that global matches are not updated and the ones with non-matching casing + // still active. no workaround so far. + d->m_view->page()->findText(text, findFlags); ++#endif + } + + void StandardDocumentationView::finishSearch() +@@ -180,7 +201,9 @@ void StandardDocumentationView::finishSearch() + Q_D(StandardDocumentationView); + + // passing empty string to reset search, as told in API docs ++#if BUILD_DOC_VIEWER + d->m_view->page()->findText(QString()); ++#endif + } + + void StandardDocumentationView::initZoom(const QString& configSubGroup) +@@ -235,6 +258,7 @@ void StandardDocumentationView::setOverrideCssCode(const QByteArray& cssCode) + { + Q_D(StandardDocumentationView); + ++#if BUILD_DOC_VIEWER + const auto scriptName = QStringLiteral("OverrideCss"); + auto& scripts = d->m_view->page()->scripts(); + +@@ -268,20 +292,25 @@ void StandardDocumentationView::setOverrideCssCode(const QByteArray& cssCode) + script.setWorldId(QWebEngineScript::ApplicationWorld); + + scripts.insert(script); ++#endif + } + + void KDevelop::StandardDocumentationView::load(const QUrl& url) + { + Q_D(StandardDocumentationView); + ++#if BUILD_DOC_VIEWER + d->m_view->page()->load(url); ++#endif + } + + void KDevelop::StandardDocumentationView::setHtml(const QString& html) + { + Q_D(StandardDocumentationView); + ++#if BUILD_DOC_VIEWER + d->m_view->page()->setHtml(html); ++#endif + } + + void KDevelop::StandardDocumentationView::installUrlSchemeHandler(const QByteArray& scheme, +@@ -289,25 +318,30 @@ void KDevelop::StandardDocumentationView::installUrlSchemeHandler(const QByteArr + { + Q_D(StandardDocumentationView); + ++#if BUILD_DOC_VIEWER + if (QWebEngineUrlScheme::schemeByName(scheme).name() != scheme) { + qCWarning(DOCUMENTATION).nospace() << "unknown URL scheme " << scheme + << ", custom schemes must be registered early during startup, see " + "StandardDocumentationView::registerCustomUrlSchemes()"; + } + d->m_view->page()->profile()->installUrlSchemeHandler(scheme, handler); ++#endif + } + + void KDevelop::StandardDocumentationView::setDelegateLinks(bool delegate) + { + Q_D(StandardDocumentationView); + ++#if BUILD_DOC_VIEWER + d->m_page->setLinkDelegating(delegate); ++#endif + } + + QMenu* StandardDocumentationView::createStandardContextMenu() + { + Q_D(StandardDocumentationView); + ++#if BUILD_DOC_VIEWER + auto menu = new QMenu(this); + auto copyAction = d->m_view->pageAction(QWebEnginePage::Copy); + if (copyAction) { +@@ -315,12 +349,16 @@ QMenu* StandardDocumentationView::createStandardContextMenu() + menu->addAction(copyAction); + } + return menu; ++#else ++ return nullptr; ++#endif + } + + bool StandardDocumentationView::eventFilter(QObject* object, QEvent* event) + { + Q_D(StandardDocumentationView); + ++#if BUILD_DOC_VIEWER + if (object == d->m_view) { + /* HACK / Workaround for QTBUG-43602 + * Need to set an eventFilter on the child of WebengineView because it swallows +@@ -359,6 +397,9 @@ bool StandardDocumentationView::eventFilter(QObject* object, QEvent* event) + } + } + return QWidget::eventFilter(object, event); ++#else ++ return false; ++#endif + } + + void StandardDocumentationView::contextMenuEvent(QContextMenuEvent* event) +@@ -377,7 +418,9 @@ void StandardDocumentationView::updateZoomFactor(double zoomFactor) + { + Q_D(StandardDocumentationView); + ++#if BUILD_DOC_VIEWER + d->m_view->setZoomFactor(zoomFactor); ++#endif + } + + void StandardDocumentationView::keyReleaseEvent(QKeyEvent* event) +diff --git a/plugins/qthelp/qthelpdocumentation.cpp b/plugins/qthelp/qthelpdocumentation.cpp +index 3a762bc..e156360 100644 +--- a/plugins/qthelp/qthelpdocumentation.cpp ++++ b/plugins/qthelp/qthelpdocumentation.cpp +@@ -6,6 +6,7 @@ + SPDX-License-Identifier: LGPL-2.0-or-later + */ + ++#include "config-kdevelop.h" + #include "qthelpdocumentation.h" + + #include +@@ -20,8 +21,10 @@ + #include + #include + #include ++#if BUILD_DOC_VIEWER + #include + #include ++#endif + + #include + +@@ -330,6 +333,7 @@ QString QtHelpDocumentation::description() const + + namespace { + ++#if BUILD_DOC_VIEWER + class QtHelpSchemeHandler : public QWebEngineUrlSchemeHandler + { + Q_OBJECT +@@ -373,6 +377,7 @@ public: + private: + const QtHelpProviderAbstract* const m_provider; + }; ++#endif + + } // unnamed namespace + +@@ -384,6 +389,7 @@ QWidget* QtHelpDocumentation::documentationWidget(DocumentationFindWidget* findW + auto* view = new StandardDocumentationView(findWidget, parent); + view->initZoom(m_provider->name()); + view->setDelegateLinks(true); ++#if BUILD_DOC_VIEWER + view->installUrlSchemeHandler(QByteArrayLiteral("qthelp"), new QtHelpSchemeHandler(m_provider, this)); + view->setContextMenuPolicy(Qt::CustomContextMenu); + QObject::connect(view, &StandardDocumentationView::linkClicked, this, &QtHelpDocumentation::jumpedTo); +@@ -391,6 +397,9 @@ QWidget* QtHelpDocumentation::documentationWidget(DocumentationFindWidget* findW + + view->load(currentUrl()); + return view; ++#else ++ return new QLabel(i18n("Documentation viewer is disabled"), parent); ++#endif + } + } + +-- +2.50.1 + + +From 35c4bcb64f95f7de85e12031099beeb6cf5b2a3a Mon Sep 17 00:00:00 2001 +From: begasus +Date: Mon, 23 Dec 2024 21:51:03 +0000 +Subject: Build fix? + + +diff --git a/plugins/cmake/parser/cmStandardLexer.h b/plugins/cmake/parser/cmStandardLexer.h +index c489c03..aca1df7 100644 +--- a/plugins/cmake/parser/cmStandardLexer.h ++++ b/plugins/cmake/parser/cmStandardLexer.h +@@ -3,7 +3,12 @@ + #ifndef cmStandardLexer_h + #define cmStandardLexer_h + +-#include ++typedef signed char qint8; /* 8 bit signed */ ++typedef unsigned char quint8; /* 8 bit unsigned */ ++typedef short qint16; /* 16 bit signed */ ++typedef unsigned short quint16; /* 16 bit unsigned */ ++typedef int qint32; /* 32 bit signed */ ++typedef unsigned int quint32; /* 32 bit unsigned */ + + /* Disable some warnings. */ + #if defined(_MSC_VER) +-- +2.50.1 + + +From 41cfba901f5ecfcaa592ec15fe1ee5f4366607ad Mon Sep 17 00:00:00 2001 +From: Schrijvers Luc +Date: Tue, 26 Mar 2024 08:14:54 +0100 +Subject: Use system theme + + +diff --git a/kdevplatform/shell/mainwindow_p.cpp b/kdevplatform/shell/mainwindow_p.cpp +index 9c8861e..f412bda 100644 +--- a/kdevplatform/shell/mainwindow_p.cpp ++++ b/kdevplatform/shell/mainwindow_p.cpp +@@ -315,10 +315,12 @@ void MainWindowPrivate::setupActions() + action->setWhatsThis( i18nc( "@info:whatsthis", "Adds a new tool view to this window." ) ); + + //Load themes ++#ifndef Q_OS_HAIKU + auto* const manager = new KColorSchemeManager(this); + auto* const colorSelectionMenu = KColorSchemeMenu::createMenu(manager, actionCollection()); + colorSelectionMenu->menu()->setTitle(i18n("&Window Color Scheme")); + actionCollection()->addAction(QStringLiteral("colorscheme_menu"), colorSelectionMenu); ++#endif + } + + void MainWindowPrivate::toggleArea(bool b) +-- +2.50.1 +