diff --git a/kde-base/kwrite/kwrite-23.08.5.recipe b/kde-base/kwrite/kwrite-23.08.5.recipe deleted file mode 100644 index 72a923628..000000000 --- a/kde-base/kwrite/kwrite-23.08.5.recipe +++ /dev/null @@ -1,212 +0,0 @@ -SUMMARY="A text editor by KDE, based on the KDE Frameworks editor component" -DESCRIPTION="KWrite is a simple text editor application, allowing you to edit \ -one file at the time per window. As Kate, KWrite uses the editor component \ -KatePart.KWrite simply provides the selected editor component with a window \ -frame, and lets you open and save documents. - -Application Features -* window splitting (horizontal & vertical) -* multi-document interface (MDI) -* plugin: embedded terminal, SQL plugin, build plugin, GDB plugin, Replace in \ -Files, and more -* session support - -General Features -* encoding support (Unicode and lots of others) -* bi-directional text rendering support -* line ending support (Windows, Unix, Mac), including auto detection -* network transparency (open remote files) -* extensible through scripting - -Advanced Editor Features -* bookmarking system (also supported: break points etc.) -* scroll bar marks -* line modification indicators -* line numbers -* code folding - -Syntax Highlighting -* highlighting support for more than 250 languages -* bracket matching -* smart on-the-fly spell checking -* highlighting of selected words - -Programming Features -* scriptable auto indentation -* smart comment and uncomment handling -* auto completion with argument hints -* vi input mode -* rectangular block selection mode - -Search & Replace -* incremental search, also known as “find as you type” -* support for multiline search & replace -* regular expression support -* search & replace in multiple opened files or files on disk - -Backup and Restore -* backups on save -* swap files to recover data on system crash -* undo / redo system" -HOMEPAGE="https://www.kde.org/applications/utilities/kwrite/" -COPYRIGHT="2010-2024 KDE Organisation" -LICENSE="GNU LGPL v2" -REVISION="1" -SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/kate-$portVersion.tar.xz" -CHECKSUM_SHA256="683c49d9c4b2abd4b4660b607b65249a2adfdc48418b0d18ab90810d1a8f4e37" -SOURCE_DIR="kate-$portVersion" -ADDITIONAL_FILES="kwrite.rdef.in" - -ARCHITECTURES="all !x86_gcc2" -SECONDARY_ARCHITECTURES="x86" - -PROVIDES=" - kwrite$secondaryArchSuffix = $portVersion - app:Kwrite$secondaryArchSuffix = $portVersion - " -REQUIRES=" - haiku$secondaryArchSuffix - lib:libKF5Activities$secondaryArchSuffix - lib:libKF5Archive$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:libKF5GuiAddons$secondaryArchSuffix - lib:libKF5I18n$secondaryArchSuffix - lib:libKF5IconThemes$secondaryArchSuffix - lib:libKF5ItemModels$secondaryArchSuffix - lib:libKF5ItemViews$secondaryArchSuffix - lib:libKF5JobWidgets$secondaryArchSuffix - lib:libKF5KIOCore$secondaryArchSuffix - lib:libKF5KIOFileWidgets$secondaryArchSuffix - lib:libKF5KIOWidgets$secondaryArchSuffix - lib:libKF5Notifications$secondaryArchSuffix - lib:libKF5Parts$secondaryArchSuffix - lib:libKF5Service$secondaryArchSuffix - lib:libKF5Solid$secondaryArchSuffix - lib:libKF5SonnetUi$secondaryArchSuffix - lib:libKF5SyntaxHighlighting$secondaryArchSuffix - lib:libKF5TextEditor$secondaryArchSuffix - lib:libKF5TextWidgets$secondaryArchSuffix - lib:libKF5UnitConversion$secondaryArchSuffix - lib:libKF5WidgetsAddons$secondaryArchSuffix - lib:libKF5WindowSystem$secondaryArchSuffix - lib:libKF5XmlGui$secondaryArchSuffix - lib:libKUserFeedbackCore$secondaryArchSuffix - lib:libKUserFeedbackWidgets$secondaryArchSuffix - lib:libQt5Core$secondaryArchSuffix - lib:libQt5DBus$secondaryArchSuffix - lib:libQt5Gui$secondaryArchSuffix - lib:libQt5Network$secondaryArchSuffix - lib:libQt5PrintSupport$secondaryArchSuffix - lib:libQt5Widgets$secondaryArchSuffix - lib:libQt5Xml$secondaryArchSuffix - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - extra_cmake_modules$secondaryArchSuffix - devel:libKF5Activities$secondaryArchSuffix - devel:libKF5Archive$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:libKF5GuiAddons$secondaryArchSuffix - devel:libKF5I18n$secondaryArchSuffix - devel:libKF5IconThemes$secondaryArchSuffix - devel:libKF5ItemModels$secondaryArchSuffix - devel:libKF5ItemViews$secondaryArchSuffix - devel:libKF5JobWidgets$secondaryArchSuffix - devel:libKF5KIOCore$secondaryArchSuffix - devel:libKF5KIOFileWidgets$secondaryArchSuffix - devel:libKF5KIOWidgets$secondaryArchSuffix - devel:libKF5Notifications$secondaryArchSuffix - devel:libKF5Parts$secondaryArchSuffix - devel:libKF5Service$secondaryArchSuffix - devel:libKF5Solid$secondaryArchSuffix - devel:libKF5SonnetUi$secondaryArchSuffix - devel:libKF5SyntaxHighlighting$secondaryArchSuffix - devel:libKF5TextEditor$secondaryArchSuffix - devel:libKF5TextWidgets$secondaryArchSuffix - devel:libKF5UnitConversion$secondaryArchSuffix - devel:libKF5WidgetsAddons$secondaryArchSuffix - devel:libKF5WindowSystem$secondaryArchSuffix - devel:libKF5XmlGui$secondaryArchSuffix - devel:libKUserFeedbackCore$secondaryArchSuffix - devel:libKUserFeedbackWidgets$secondaryArchSuffix - devel:libQt5Core$secondaryArchSuffix - " -BUILD_PREREQUIRES=" - cmd:cmake - cmd:find - cmd:g++$secondaryArchSuffix - cmd:lrelease$secondaryArchSuffix >= 5 - cmd:make - cmd:python3 - " - -BUILD() -{ - sed -e '/add_subdirectory( doc )/ s/^#*/#/' -i CMakeLists.txt - - mkdir -p build - cd build - - export LDFLAGS="-lnetwork" - cmake .. \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=$prefix \ - -DINCLUDE_INSTALL_DIR=$includeDir \ - -DSHARE_INSTALL_PREFIX=$dataDir \ - -DECM_DIR=/system/data/cmake/Modules/ECM/cmake \ - -DCMAKE_INSTALL_PREFIX=$appsDir/Kwrite \ - -DCMAKE_INSTALL_DATAROOTDIR=$dataDir \ - -DBUILD_kate=FALSE \ - -DBUILD_addons=FALSE - - make $jobArgs -} - -INSTALL() -{ - cd build - make install - mv $appsDir/Kwrite/bin/kwrite $appsDir/Kwrite/Kwrite - rm -rf $appsDir/Kwrite/bin - find $dataDir/locale -type f ! -name 'kwrite.mo' -delete - - local APP_SIGNATURE="application/x-vnd.qt5-kwrite" - 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/kwrite.rdef.in > kwrite.rdef - - addResourcesToBinaries kwrite.rdef $appsDir/Kwrite/Kwrite - addAppDeskbarSymlink $appsDir/Kwrite/Kwrite -} - -TEST() -{ - make test -} diff --git a/kde-base/kwrite/kwrite-24.12.0.recipe b/kde-base/kwrite/kwrite-24.12.0.recipe new file mode 100644 index 000000000..4d7cffedf --- /dev/null +++ b/kde-base/kwrite/kwrite-24.12.0.recipe @@ -0,0 +1,167 @@ +SUMMARY="A text editor by KDE, based on the KDE Frameworks editor component" +DESCRIPTION="KWrite is a simple text editor application, allowing you to edit \ +one file at the time per window. As Kate, KWrite uses the editor component \ +KatePart.KWrite simply provides the selected editor component with a window \ +frame, and lets you open and save documents. + +Application Features +* window splitting (horizontal & vertical) +* multi-document interface (MDI) +* plugin: embedded terminal, SQL plugin, build plugin, GDB plugin, Replace in \ +Files, and more +* session support + +General Features +* encoding support (Unicode and lots of others) +* bi-directional text rendering support +* line ending support (Windows, Unix, Mac), including auto detection +* network transparency (open remote files) +* extensible through scripting + +Advanced Editor Features +* bookmarking system (also supported: break points etc.) +* scroll bar marks +* line modification indicators +* line numbers +* code folding + +Syntax Highlighting +* highlighting support for more than 250 languages +* bracket matching +* smart on-the-fly spell checking +* highlighting of selected words + +Programming Features +* scriptable auto indentation +* smart comment and uncomment handling +* auto completion with argument hints +* vi input mode +* rectangular block selection mode + +Search & Replace +* incremental search, also known as “find as you type” +* support for multiline search & replace +* regular expression support +* search & replace in multiple opened files or files on disk + +Backup and Restore +* backups on save +* swap files to recover data on system crash +* undo / redo system" +HOMEPAGE="https://www.kde.org/applications/utilities/kwrite/" +COPYRIGHT="2010-2024 KDE Organisation" +LICENSE="GNU LGPL v2" +REVISION="1" +SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/kate-$portVersion.tar.xz" +CHECKSUM_SHA256="a5926a0d85c69ca2cc34d87e567501e795e95050e16f896e39cd8cac4ced2348" +SOURCE_DIR="kate-$portVersion" +PATCHES="kwrite-$portVersion.patchset" +ADDITIONAL_FILES="kwrite.rdef.in" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + kwrite$secondaryArchSuffix = $portVersion + cmd:kwrite$secondaryArchSuffix = $portVersion + lib:libkateprivate$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libGL$secondaryArchSuffix + # KF6 + lib:libKF6ColorScheme$secondaryArchSuffix + lib:libKF6Completion$secondaryArchSuffix + lib:libKF6ConfigCore$secondaryArchSuffix + lib:libKF6ConfigWidgets$secondaryArchSuffix + lib:libKF6CoreAddons$secondaryArchSuffix + lib:libKF6Crash$secondaryArchSuffix + lib:libKF6I18n$secondaryArchSuffix + lib:libKF6IconThemes$secondaryArchSuffix + lib:libKF6JobWidgets$secondaryArchSuffix + lib:libKF6KIOCore$secondaryArchSuffix + lib:libKF6Parts$secondaryArchSuffix + lib:libKF6Service$secondaryArchSuffix + lib:libKF6Solid$secondaryArchSuffix + lib:libKF6SyntaxHighlighting$secondaryArchSuffix + lib:libKF6TextEditor$secondaryArchSuffix + lib:libKF6UserFeedbackCore$secondaryArchSuffix + lib:libKF6WidgetsAddons$secondaryArchSuffix + lib:libKF6WindowSystem$secondaryArchSuffix + lib:libKF6XmlGui$secondaryArchSuffix + # Qt6 + lib:libQt6Core$secondaryArchSuffix + lib:libQt6Gui$secondaryArchSuffix + lib:libQt6Network$secondaryArchSuffix + lib:libQt6Widgets$secondaryArchSuffix + lib:libQt6Xml$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + # KF6 + extra_cmake_modules$secondaryArchSuffix + devel:libKF6CoreAddons$secondaryArchSuffix + devel:libKF6Crash$secondaryArchSuffix + devel:libKF6GuiAddons$secondaryArchSuffix + devel:libKF6I18n$secondaryArchSuffix + devel:libKF6IconThemes$secondaryArchSuffix + devel:libKF6TextEditor$secondaryArchSuffix + devel:libKF6UserFeedbackCore$secondaryArchSuffix + # Qt6 + devel:libQt6Core$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:find + cmd:g++$secondaryArchSuffix + cmd:make + cmd:msgfmt$secondaryArchSuffix + cmd:msgmerge$secondaryArchSuffix + cmd:pkg_config$secondaryArchSuffix + " + +BUILD() +{ + cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \ + $cmakeDirArgs \ + -DECM_DIR=/system/data/cmake/Modules/ECM/cmake \ + -DBUILD_kate=FALSE \ + -DBUILD_addons=FALSE \ + -DBUILD_TESTING=OFF \ + -Wno-dev + + make -C build $jobArgs +} + +INSTALL() +{ + make -C build install + + # cleanup + rm -rf $dataDir/{applications,icons,metainfo} + find $dataDir/locale -type f ! -name 'kwrite.mo' -delete + + mkdir -p "$dataDir/deskbar/menu/Applications/KDE" + + local APP_SIGNATURE="application/x-vnd.Qt6-kwrite" + 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/kwrite.rdef.in > kwrite.rdef + + addResourcesToBinaries kwrite.rdef $binDir/kwrite + addAppDeskbarSymlink $binDir/kwrite "KDE/Kwrite" +} + +TEST() +{ + ctest --test-dir build --output-on-failure +} diff --git a/kde-base/kwrite/patches/kwrite-24.12.0.patchset b/kde-base/kwrite/patches/kwrite-24.12.0.patchset new file mode 100644 index 000000000..235e93964 --- /dev/null +++ b/kde-base/kwrite/patches/kwrite-24.12.0.patchset @@ -0,0 +1,42 @@ +From 534e4fdbae238c2834f43f9438390ef8f2efea14 Mon Sep 17 00:00:00 2001 +From: Schrijvers Luc +Date: Mon, 23 Dec 2024 07:46:09 +0100 +Subject: Use Haiku's icon/color schemes + + +diff --git a/apps/lib/kateapp.cpp b/apps/lib/kateapp.cpp +index cd392fa..3b11b43 100644 +--- a/apps/lib/kateapp.cpp ++++ b/apps/lib/kateapp.cpp +@@ -158,9 +158,11 @@ void KateApp::initPreApplicationCreation(bool detach) + * trigger initialisation of proper icon theme + * see https://invent.kde.org/frameworks/kiconthemes/-/merge_requests/136 + */ ++#if !defined(Q_OS_HAIKU) + #if KICONTHEMES_VERSION >= QT_VERSION_CHECK(6, 3, 0) + KIconTheme::initTheme(); + #endif ++#endif + + #if defined(Q_OS_WIN) + // try to attach to console for terminal detection and output +diff --git a/apps/lib/katemainwindow.cpp b/apps/lib/katemainwindow.cpp +index 1ee0a2d..cf4de7c 100644 +--- a/apps/lib/katemainwindow.cpp ++++ b/apps/lib/katemainwindow.cpp +@@ -280,10 +280,12 @@ void KateMainWindow::setupImportantActions() + #endif + + // Load themes ++#if !defined(Q_OS_HAIKU) + KColorSchemeManager *manager = new KColorSchemeManager(this); + auto *colorSelectionMenu = KColorSchemeMenu::createMenu(manager, this); + colorSelectionMenu->menu()->setTitle(i18n("&Window Color Scheme")); + ac->addAction(QStringLiteral("colorscheme_menu"), colorSelectionMenu); ++#endif + + QAction *a = ac->addAction(KStandardAction::Back, QStringLiteral("view_prev_tab")); + a->setText(i18n("&Previous Tab")); +-- +2.45.2 +