diff --git a/dev-util/kdevelop/kdevelop-24.02.1.recipe b/dev-util/kdevelop/kdevelop-24.02.1.recipe new file mode 100644 index 000000000..54db2dac2 --- /dev/null +++ b/dev-util/kdevelop/kdevelop-24.02.1.recipe @@ -0,0 +1,266 @@ +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-2024 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="5fcc927a536f4f1e48aefbe63303593e88b1f6657e588b6240e9616b334a9e8f" +SOURCE_DIR="kdevelop-$portVersion" +PATCHES="kdevelop-$portVersion.patchset" +ADDITIONAL_FILES="kdevelop.rdef.in" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="?x86" + + +PROVIDES=" + kdevelop$secondaryArchSuffix = $portVersion + 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 + lib:libkdevplatformdocumentation$secondaryArchSuffix + lib:libkdevplatforminterfaces$secondaryArchSuffix + lib:libkdevplatformlanguage$secondaryArchSuffix + lib:libkdevplatformoutputview$secondaryArchSuffix + lib:libkdevplatformproject$secondaryArchSuffix + lib:libkdevplatformserialization$secondaryArchSuffix + lib:libkdevplatformshell$secondaryArchSuffix + lib:libkdevplatformsublime$secondaryArchSuffix + lib:libkdevplatformtests$secondaryArchSuffix + lib:libkdevplatformutil$secondaryArchSuffix + lib:libkdevplatformvcs$secondaryArchSuffix + " +REQUIRES=" + haiku$secondaryArchSuffix + cmd:dbus_launch + lib:libboost_system$secondaryArchSuffix + lib:libclang$secondaryArchSuffix >= 17 + lib:libgrantlee_templates$secondaryArchSuffix + lib:libKF5Activities$secondaryArchSuffix + lib:libKF5Archive$secondaryArchSuffix + lib:libKF5Attica$secondaryArchSuffix + lib:libKF5Auth$secondaryArchSuffix + lib:libKF5Bookmarks$secondaryArchSuffix + lib:libKF5Codecs$secondaryArchSuffix + lib:libKF5Completion$secondaryArchSuffix + lib:libKF5ConfigCore$secondaryArchSuffix + lib:libKF5ConfigGui$secondaryArchSuffix + lib:libKF5ConfigWidgets$secondaryArchSuffix + lib:libKF5CoreAddons$secondaryArchSuffix + lib:libKF5Crash$secondaryArchSuffix + lib:libKF5DBusAddons$secondaryArchSuffix + lib:libKF5Declarative$secondaryArchSuffix + lib:libKF5DocTools$secondaryArchSuffix + lib:libKF5Emoticons$secondaryArchSuffix + lib:libKF5FileMetadata$secondaryArchSuffix + lib:libKF5GlobalAccel$secondaryArchSuffix + lib:libKF5GuiAddons$secondaryArchSuffix + lib:libKF5I18n$secondaryArchSuffix + lib:libKF5IconThemes$secondaryArchSuffix + lib:libKF5ItemModels$secondaryArchSuffix + lib:libKF5ItemViews$secondaryArchSuffix + lib:libKF5JobWidgets$secondaryArchSuffix + lib:libKF5KCMUtils$secondaryArchSuffix + lib:libKF5KDELibs4Support$secondaryArchSuffix + lib:libKF5KioCore$secondaryArchSuffix + lib:libKF5KIOCore$secondaryArchSuffix + lib:libKF5KIOWidgets$secondaryArchSuffix + lib:libKF5NewStuff$secondaryArchSuffix + lib:libKF5NewStuffCore$secondaryArchSuffix + lib:libKF5Notifications$secondaryArchSuffix + lib:libKF5NotifyConfig$secondaryArchSuffix + lib:libKF5Package$secondaryArchSuffix + lib:libKF5Parts$secondaryArchSuffix + lib:libKF5Service$secondaryArchSuffix + lib:libKF5Solid$secondaryArchSuffix + lib:libKF5SonnetUi$secondaryArchSuffix + lib:libKF5SyntaxHighlighting$secondaryArchSuffix + lib:libKF5TextEditor$secondaryArchSuffix + lib:libKF5TextWidgets$secondaryArchSuffix + lib:libKF5ThreadWeaver$secondaryArchSuffix + lib:libKF5UnitConversion$secondaryArchSuffix + lib:libKF5WidgetsAddons$secondaryArchSuffix + lib:libKF5WindowSystem$secondaryArchSuffix + lib:libKF5XmlGui$secondaryArchSuffix + lib:libkomparediff2$secondaryArchSuffix + lib:libLLVM_17$secondaryArchSuffix + lib:libQt5Core$secondaryArchSuffix + lib:libQt5DBus$secondaryArchSuffix + lib:libQt5Gui$secondaryArchSuffix + lib:libQt5Network$secondaryArchSuffix + lib:libQt5PrintSupport$secondaryArchSuffix + lib:libQt5Svg$secondaryArchSuffix + lib:libQt5Test$secondaryArchSuffix + lib:libQt5WebKit$secondaryArchSuffix + lib:libQt5WebKitWidgets$secondaryArchSuffix + lib:libQt5Widgets$secondaryArchSuffix + lib:libQt5Xml$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + extra_cmake_modules$secondaryArchSuffix + devel:libboost_system$secondaryArchSuffix >= 1.83.0 + devel:libgrantlee_templates$secondaryArchSuffix + devel:libKF5Activities$secondaryArchSuffix + devel:libKF5Archive$secondaryArchSuffix + devel:libKF5Attica$secondaryArchSuffix + devel:libKF5Auth$secondaryArchSuffix + devel:libKF5Bookmarks$secondaryArchSuffix + devel:libKF5Codecs$secondaryArchSuffix + devel:libKF5Completion$secondaryArchSuffix + devel:libKF5ConfigCore$secondaryArchSuffix + devel:libKF5ConfigGui$secondaryArchSuffix + devel:libKF5ConfigWidgets$secondaryArchSuffix + devel:libKF5CoreAddons$secondaryArchSuffix + devel:libKF5Crash$secondaryArchSuffix + devel:libKF5DBusAddons$secondaryArchSuffix + devel:libKF5Declarative$secondaryArchSuffix + devel:libKF5DesignerPlugin$secondaryArchSuffix + devel:libKF5DocTools$secondaryArchSuffix + devel:libKF5Emoticons$secondaryArchSuffix + devel:libKF5FileMetadata$secondaryArchSuffix + devel:libKF5GlobalAccel$secondaryArchSuffix + devel:libKF5GuiAddons$secondaryArchSuffix + devel:libKF5I18n$secondaryArchSuffix + devel:libKF5IconThemes$secondaryArchSuffix + devel:libKF5ItemModels$secondaryArchSuffix + devel:libKF5ItemViews$secondaryArchSuffix + devel:libKF5JobWidgets$secondaryArchSuffix + devel:libKF5KCMUtils$secondaryArchSuffix + devel:libKF5KDELibs4Support$secondaryArchSuffix + devel:libKF5KioCore$secondaryArchSuffix + devel:libKF5KIOCore$secondaryArchSuffix + devel:libKF5KIOWidgets$secondaryArchSuffix + devel:libKF5NewStuff$secondaryArchSuffix + devel:libKF5NewStuffCore$secondaryArchSuffix + devel:libKF5Notifications$secondaryArchSuffix + devel:libKF5NotifyConfig$secondaryArchSuffix + devel:libKF5Package$secondaryArchSuffix + devel:libKF5Parts$secondaryArchSuffix + devel:libKF5Service$secondaryArchSuffix + devel:libKF5Solid$secondaryArchSuffix + devel:libKF5SonnetUi$secondaryArchSuffix + devel:libKF5SyntaxHighlighting$secondaryArchSuffix + devel:libKF5TextEditor$secondaryArchSuffix + devel:libKF5TextWidgets$secondaryArchSuffix + devel:libKF5ThreadWeaver$secondaryArchSuffix + devel:libKF5UnitConversion$secondaryArchSuffix + devel:libKF5WidgetsAddons$secondaryArchSuffix + devel:libKF5WindowSystem$secondaryArchSuffix + devel:libKF5XmlGui$secondaryArchSuffix + devel:libkomparediff2$secondaryArchSuffix + devel:libLLVM_17$secondaryArchSuffix + devel:libQt5Core$secondaryArchSuffix + devel:libQt5DBus$secondaryArchSuffix + devel:libQt5Gui$secondaryArchSuffix + devel:libQt5Network$secondaryArchSuffix + devel:libQt5PrintSupport$secondaryArchSuffix + devel:libQt5Svg$secondaryArchSuffix + devel:libQt5Test$secondaryArchSuffix + devel:libQt5WebKit$secondaryArchSuffix + devel:libQt5WebKitWidgets$secondaryArchSuffix + devel:libQt5Widgets$secondaryArchSuffix + devel:libQt5Xml$secondaryArchSuffix + " + +BUILD_PREREQUIRES=" + cmd:apr_1_config$secondaryArchSuffix + cmd:apu_1_config$secondaryArchSuffix + cmd:clang_17$secondaryArchSuffix + cmd:cmake + cmd:find + cmd:g++$secondaryArchSuffix + cmd:llvm_config$secondaryArchSuffix >= 17 + cmd:lrelease$secondaryArchSuffix >= 5.15 + cmd:make + cmd:pkg_config$secondaryArchSuffix + cmd:python3 + cmd:sed + cmd:update_mime_database$secondaryArchSuffix + " + +if [ $effectiveTargetArchitecture != "x86_gcc2" ] ; then + REQUIRES+=" + lib:libsvn_client_1 + " + BUILD_REQUIRES+=" + devel:libsvn_client_1 + " +fi + +TEST_REQUIRES=" + qthaikuplugins$secondaryArchSuffix + " + +BUILD() +{ + # disable docs generation until libxml package is fixed + sed -i s/add_subdirectory\(doc\)/#add_subdirectory\(doc\)/g CMakeLists.txt + + CLANG_VERSION="`clang --version | head -n 1 | cut -d " " -f3`" + BUILTIN_DIR="`finddir B_SYSTEM_LIB_DIRECTORY`/clang/$CLANG_VERSION/include" + + cmake -Bbuild -S. $cmakeDirArgs \ + -DCMAKE_BUILD_TYPE=Release \ + -DECM_DIR=/system/data/cmake/Modules/ECM/cmake \ + -DKDE_INSTALL_QMLDIR=$dataDir/Qt5/qml \ + -DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt5 \ + -DKDE_INSTALL_QTPLUGINDIR=$addOnsDir/Qt5 \ + -DCMAKE_INSTALL_PREFIX=$prefix \ + -DINCLUDE_INSTALL_DIR=$includeDir \ + -DSHARE_INSTALL_PREFIX=$dataDir \ + -DKDE_INSTALL_APPDIR=$appsDir/KDevelop \ + -DCMAKE_INSTALL_DATAROOTDIR=$dataDir \ + -DCLANG_BUILTIN_DIR="$BUILTIN_DIR" \ + -DBUILD_TESTING=OFF -Wno-dev + make -C build $jobArgs +} + +INSTALL() +{ + make -C build install + + mkdir -p $appsDir + mv $binDir/kdevelop $appsDir/KDevelop/KDevelop + mv $prefix/bin/kdevelop! $prefix/bin/kdevelop + 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.qt5-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 $appsDir/KDevelop/KDevelop + addAppDeskbarSymlink $appsDir/KDevelop/KDevelop +} + +TEST() +{ + # 36% tests passed, 82 tests failed out of 128 + # 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}" + make -C build test +} diff --git a/dev-util/kdevelop/patches/kdevelop-24.02.1.patchset b/dev-util/kdevelop/patches/kdevelop-24.02.1.patchset new file mode 100644 index 000000000..8a3982d43 --- /dev/null +++ b/dev-util/kdevelop/patches/kdevelop-24.02.1.patchset @@ -0,0 +1,79 @@ +From a3f811fa006b455eb09a927089fcd42e960533ed Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Tue, 22 Sep 2020 13:41:47 +1000 +Subject: Fix for Haiku + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f43b47d..1663333 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -80,7 +80,6 @@ endif() + find_package(KF5 ${KF5_DEP_VERSION} REQUIRED COMPONENTS + Config + Declarative +- DocTools + IconThemes + I18n + ItemModels +@@ -189,7 +188,7 @@ add_subdirectory(app) + add_subdirectory(app_templates) + add_subdirectory(file_templates) + add_subdirectory(shortcuts) +-add_subdirectory(doc) ++###add_subdirectory(doc) + add_subdirectory(share) + + set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KDevelop") +@@ -218,6 +217,5 @@ install(FILES org.kde.kdevelop.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR + + # Make it possible to use the po files fetched by the fetch-translations step + ki18n_install(po) +-kdoctools_install(po) + + feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) +diff --git a/plugins/appwizard/CMakeLists.txt b/plugins/appwizard/CMakeLists.txt +index 652c32e..6a8cb57 100644 +--- a/plugins/appwizard/CMakeLists.txt ++++ b/plugins/appwizard/CMakeLists.txt +@@ -24,7 +24,9 @@ declare_qt_logging_category(kdevappwizard_PART_SRCS + + ki18n_wrap_ui(kdevappwizard_PART_SRCS ${kdevappwizard_PART_UI}) + ++if(NOT HAIKU) + install(FILES kdevappwizard.knsrc DESTINATION ${KDE_INSTALL_KNSRCDIR}) ++endif() + qt5_add_resources(kdevappwizard_PART_SRCS kdevappwizard.qrc) + kdevplatform_add_plugin(kdevappwizard SOURCES ${kdevappwizard_PART_SRCS}) + +diff --git a/plugins/filetemplates/CMakeLists.txt b/plugins/filetemplates/CMakeLists.txt +index 0f0be21..f0961ec 100644 +--- a/plugins/filetemplates/CMakeLists.txt ++++ b/plugins/filetemplates/CMakeLists.txt +@@ -33,7 +33,9 @@ ki18n_wrap_ui(kdevfiletemplates_PART_SRCS + ui/testcases.ui + ) + ++if(NOT HAIKU) + install(FILES kdevfiletemplates.knsrc DESTINATION ${KDE_INSTALL_KNSRCDIR}) ++endif() + qt5_add_resources(kdevfiletemplates_PART_SRCS kdevfiletemplates.qrc) + + kdevplatform_add_plugin(kdevfiletemplates SOURCES ${kdevfiletemplates_PART_SRCS}) +diff --git a/plugins/qthelp/CMakeLists.txt b/plugins/qthelp/CMakeLists.txt +index e7e3b69..332c95e 100644 +--- a/plugins/qthelp/CMakeLists.txt ++++ b/plugins/qthelp/CMakeLists.txt +@@ -22,7 +22,9 @@ ki18n_wrap_ui(kdevqthelp_SRCS + qthelpconfigeditdialog.ui + ) + ++if(NOT HAIKU) + install(FILES kdevelop-qthelp.knsrc DESTINATION ${KDE_INSTALL_KNSRCDIR}) ++endif() + + kdevplatform_add_plugin(kdevqthelp SOURCES ${kdevqthelp_SRCS}) + target_link_libraries(kdevqthelp +-- +2.43.2 +