diff --git a/kde-base/kwrite/additional-files/kwrite.rdef.in b/kde-base/kwrite/additional-files/kwrite.rdef.in new file mode 100644 index 000000000..2e9b7fb34 --- /dev/null +++ b/kde-base/kwrite/additional-files/kwrite.rdef.in @@ -0,0 +1,21 @@ + +resource app_flags B_MULTIPLE_LAUNCH; + +resource app_version { + major = @MAJOR@, + middle = @MIDDLE@, + minor = @MINOR@, + + variety = B_APPV_FINAL, + internal = 0, + + short_info = "Kate", + long_info = "@LONG_INFO@" +}; + +resource app_signature "@APP_SIGNATURE@"; + +resource file_types message { + "types" = "text" +}; + diff --git a/kde-base/kwrite/kwrite-18.04.0.recipe b/kde-base/kwrite/kwrite-18.04.0.recipe new file mode 100644 index 000000000..aff74dd3f --- /dev/null +++ b/kde-base/kwrite/kwrite-18.04.0.recipe @@ -0,0 +1,200 @@ +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-2018 KDE Organisation" +LICENSE="GNU LGPL v2" +REVISION="1" +SOURCE_URI="https://github.com/KDE/kate/archive/v$portVersion.tar.gz" +CHECKSUM_SHA256="804f395d8f79836825a97c1bc81b800f078d64ceb9af10f842082d3e06e70284" +SOURCE_DIR="kate-$portVersion" +PATCHES="kwrite-$portVersion.patchset" +ADDITIONAL_FILES="kwrite.rdef.in" + +ARCHITECTURES="x86_64" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + kwrite$secondaryArchSuffix = $portVersion + app:Kwrite$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libKF5Auth$secondaryArchSuffix + lib:libKF5Archive$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:libKF5ItemViews$secondaryArchSuffix + lib:libKF5ItemModels$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:libKF5TextEditor$secondaryArchSuffix + lib:libKF5TextWidgets$secondaryArchSuffix + lib:libKF5UnitConversion$secondaryArchSuffix + lib:libKF5WidgetsAddons$secondaryArchSuffix + lib:libKF5WindowSystem$secondaryArchSuffix + lib:libKF5XmlGui$secondaryArchSuffix + lib:libQt5Core$secondaryArchSuffix + lib:libQt5DBus$secondaryArchSuffix + lib:libQt5Gui$secondaryArchSuffix + lib:libQt5Network$secondaryArchSuffix + lib:libQt5PrintSupport$secondaryArchSuffix + lib:libQt5Widgets$secondaryArchSuffix + lib:libQt5Xml$secondaryArchSuffix + " + +BUILD_REQUIRES=" + extra_cmake_modules >= 5.45 + haiku${secondaryArchSuffix}_devel + devel:libKF5Auth$secondaryArchSuffix + devel:libKF5Archive$secondaryArchSuffix + devel:libKF5Bookmarks$secondaryArchSuffix + devel:libKF5Codecs$secondaryArchSuffix + devel:libKF5CoreAddons$secondaryArchSuffix + devel:libKF5Completion$secondaryArchSuffix + devel:libKF5ConfigCore$secondaryArchSuffix + devel:libKF5ConfigGui$secondaryArchSuffix + devel:libKF5ConfigWidgets$secondaryArchSuffix + devel:libKF5Crash$secondaryArchSuffix + devel:libKF5DBusAddons$secondaryArchSuffix + devel:libKF5GuiAddons$secondaryArchSuffix + devel:libKF5I18n$secondaryArchSuffix + devel:libKF5IconThemes$secondaryArchSuffix + devel:libKF5ItemViews$secondaryArchSuffix + devel:libKF5ItemModels$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:libKF5TextEditor$secondaryArchSuffix + devel:libKF5TextWidgets$secondaryArchSuffix + devel:libKF5UnitConversion$secondaryArchSuffix + devel:libKF5WidgetsAddons$secondaryArchSuffix + devel:libKF5WindowSystem$secondaryArchSuffix + devel:libKF5XmlGui$secondaryArchSuffix + devel:libQt5Core$secondaryArchSuffix >= 5.7 + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:g++$secondaryArchSuffix + cmd:make + cmd:python2 + " + +BUILD() +{ + sed -e '/add_subdirectory( doc )/ s/^#*/#/' -i CMakeLists.txt + + mkdir -p build + cd build + + cmake .. \ + -DBUILD_kate=FALSE \ + -DBUILD_addons=FALSE \ + -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 + + make $jobArgs +} + +INSTALL() +{ + cd build + make install + mv $appsDir/Kwrite/bin/kwrite $appsDir/Kwrite/Kwrite + rm -rf $appsDir/Kwrite/bin + + 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/patches/kwrite-18.04.0.patchset b/kde-base/kwrite/patches/kwrite-18.04.0.patchset new file mode 100644 index 000000000..c90953f9a --- /dev/null +++ b/kde-base/kwrite/patches/kwrite-18.04.0.patchset @@ -0,0 +1,22 @@ +From b1497d02f5f1b1ad89859793cc7f999b62166aca Mon Sep 17 00:00:00 2001 +From: Sergei Reznikov +Date: Mon, 23 Apr 2018 15:12:33 +0300 +Subject: Allow running as root on Haiku + + +diff --git a/kwrite/main.cpp b/kwrite/main.cpp +index 62f4f2d..c5cf5ef 100644 +--- a/kwrite/main.cpp ++++ b/kwrite/main.cpp +@@ -49,7 +49,7 @@ + + extern "C" Q_DECL_EXPORT int main(int argc, char **argv) + { +-#ifndef Q_OS_WIN ++#if !defined(Q_OS_WIN) && !defined(Q_OS_HAIKU) + /** + * Check whether we are running as root + **/ +-- +2.16.2 +