From 3bbca43fb7fde8a8e9679aeecd54541e23547250 Mon Sep 17 00:00:00 2001 From: Schrijvers Luc Date: Mon, 18 Aug 2025 13:55:49 +0200 Subject: [PATCH] gear-apps, bump to 25.08.0, part7 (#12781) --- kde-base/gwenview/gwenview_kf6-25.08.0.recipe | 186 ++++++++++ kde-base/gwenview/patches/327.patch | 36 ++ ...ate-25.04.0.recipe => kate-25.08.0.recipe} | 4 +- ...25.04.0.patchset => kate-25.08.0.patchset} | 0 .../kolourpaint_kf6-25.08.0.recipe | 180 ++++++++++ kde-base/kwave/kwave_kf6-25.08.0.recipe | 210 ++++++++++++ kde-base/kwave/patches/kwave-25.08.0.patchset | 179 ++++++++++ ...e-25.04.0.recipe => kwrite-25.08.0.recipe} | 4 +- kde-base/marble/marble-24.08.0.recipe | 226 ------------ kde-base/marble/marble-25.08.0.recipe | 221 ++++++++++++ .../marble/patches/marble-25.08.0.patchset | 31 ++ ...-25.04.0.recipe => neochat-25.08.0.recipe} | 6 +- .../tokodon/patches/tokodon-25.08.0.patchset | 23 ++ ...-25.04.0.recipe => tokodon-25.08.0.recipe} | 16 +- ...4.0.recipe => konversation-25.08.0.recipe} | 2 +- ...5.04.0.recipe => alligator-25.08.0.recipe} | 2 +- net-p2p/ktorrent/ktorrent-25.08.0.recipe | 198 +++++++++++ net-p2p/ktorrent/ktorrent-5.1.2.recipe | 186 ---------- .../patches/ktorrent-25.08.0.patchset | 321 ++++++++++++++++++ .../ktorrent/patches/ktorrent-5.1.2.patchset | 53 --- 20 files changed, 1606 insertions(+), 478 deletions(-) create mode 100644 kde-base/gwenview/gwenview_kf6-25.08.0.recipe create mode 100644 kde-base/gwenview/patches/327.patch rename kde-base/kate/{kate-25.04.0.recipe => kate-25.08.0.recipe} (97%) rename kde-base/kate/patches/{kate-25.04.0.patchset => kate-25.08.0.patchset} (100%) create mode 100644 kde-base/kolourpaint/kolourpaint_kf6-25.08.0.recipe create mode 100644 kde-base/kwave/kwave_kf6-25.08.0.recipe create mode 100644 kde-base/kwave/patches/kwave-25.08.0.patchset rename kde-base/kwrite/{kwrite-25.04.0.recipe => kwrite-25.08.0.recipe} (97%) delete mode 100644 kde-base/marble/marble-24.08.0.recipe create mode 100644 kde-base/marble/marble-25.08.0.recipe create mode 100644 kde-base/marble/patches/marble-25.08.0.patchset rename net-im/neochat/{neochat-25.04.0.recipe => neochat-25.08.0.recipe} (96%) create mode 100644 net-im/tokodon/patches/tokodon-25.08.0.patchset rename net-im/tokodon/{tokodon-25.04.0.recipe => tokodon-25.08.0.recipe} (91%) rename net-irc/konversation/{konversation-25.04.0.recipe => konversation-25.08.0.recipe} (98%) rename net-news/alligator/{alligator-25.04.0.recipe => alligator-25.08.0.recipe} (97%) create mode 100644 net-p2p/ktorrent/ktorrent-25.08.0.recipe delete mode 100644 net-p2p/ktorrent/ktorrent-5.1.2.recipe create mode 100644 net-p2p/ktorrent/patches/ktorrent-25.08.0.patchset delete mode 100644 net-p2p/ktorrent/patches/ktorrent-5.1.2.patchset diff --git a/kde-base/gwenview/gwenview_kf6-25.08.0.recipe b/kde-base/gwenview/gwenview_kf6-25.08.0.recipe new file mode 100644 index 000000000..90925590d --- /dev/null +++ b/kde-base/gwenview/gwenview_kf6-25.08.0.recipe @@ -0,0 +1,186 @@ +SUMMARY="Image viewer for KDE" +DESCRIPTION="Gwenview is able to load and save to a variety of image formats \ +supported by KDE applications, such as PNG, JPEG, and even the Gimp's XCF! \ +Gwenview also sports a beautiful thumbnail toolbar when viewing images in \ +fullscreen. Gwenview's simple interface doesn't get in the way and lets you \ +view your images quickly and easily. +Features +* Supports simple image manipulations: rotate, mirror, flip, and resize +* Supports basic file management actions such as copy, move, delete, and others +* Functions both as a standalone application and an embedded viewer in the Konqueror web browser +* Can be extended using KIPI plugins." +HOMEPAGE="https://www.kde.org/applications/graphics/gwenview/" +COPYRIGHT="2010-2025 KDE Organisation" +LICENSE="GNU LGPL v2" +REVISION="1" +SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/gwenview-$portVersion.tar.xz" +CHECKSUM_SHA256="5bf1bfccedef659f4df913adddd64a2c964d39b84cf1427104bb15dbaa86f08e" +SOURCE_DIR="gwenview-$portVersion" +PATCHES="327.patch" +ADDITIONAL_FILES="gwenview.rdef.in" + +# KIO issue! +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + gwenview_kf6$secondaryArchSuffix = $portVersion + app:Gwenview = $portVersion + lib:libgwenviewlib$secondaryArchSuffix + " +REQUIRES=" +# dbus$secondaryArchSuffix + haiku$secondaryArchSuffix + lib:libcfitsio$secondaryArchSuffix + lib:libexiv2$secondaryArchSuffix + lib:libGL$secondaryArchSuffix + lib:libjpeg$secondaryArchSuffix + lib:libKDcrawQt6$secondaryArchSuffix + lib:libkImageAnnotator$secondaryArchSuffix + lib:liblcms2$secondaryArchSuffix + lib:libopenal$secondaryArchSuffix +# lib:libphonon4qt6$secondaryArchSuffix + lib:libpng16$secondaryArchSuffix + lib:libtiff$secondaryArchSuffix + lib:libz$secondaryArchSuffix + # KF6 + lib:libKF6Baloo$secondaryArchSuffix + lib:libKF6Bookmarks$secondaryArchSuffix + lib:libKF6ColorScheme$secondaryArchSuffix + lib:libKF6Completion$secondaryArchSuffix + lib:libKF6ConfigCore$secondaryArchSuffix + lib:libKF6ConfigWidgets$secondaryArchSuffix + lib:libKF6CoreAddons$secondaryArchSuffix + lib:libKF6Crash$secondaryArchSuffix + lib:libKF6FileMetadata$secondaryArchSuffix + lib:libKF6GuiAddons$secondaryArchSuffix + lib:libKF6I18n$secondaryArchSuffix + lib:libKF6IconThemes$secondaryArchSuffix + lib:libKF6ItemModels$secondaryArchSuffix + lib:libKF6ItemViews$secondaryArchSuffix + lib:libKF6JobWidgets$secondaryArchSuffix + lib:libKF6KIOCore$secondaryArchSuffix + lib:libKF6Purpose$secondaryArchSuffix + lib:libKF6Service$secondaryArchSuffix + lib:libKF6Solid$secondaryArchSuffix + lib:libKF6WidgetsAddons$secondaryArchSuffix + lib:libKF6WindowSystem$secondaryArchSuffix + lib:libKF6XmlGui$secondaryArchSuffix + lib:libPlasmaActivities$secondaryArchSuffix + # Qt6 + lib:libQt6Core$secondaryArchSuffix + lib:libQt6Concurrent$secondaryArchSuffix + lib:libQt6DBus$secondaryArchSuffix + lib:libQt6Gui$secondaryArchSuffix + lib:libQt6Multimedia$secondaryArchSuffix + lib:libQt6Network$secondaryArchSuffix + lib:libQt6OpenGL$secondaryArchSuffix + lib:libQt6PrintSupport$secondaryArchSuffix + lib:libQt6Svg$secondaryArchSuffix + lib:libQt6Widgets$secondaryArchSuffix + lib:libQt6Xml$secondaryArchSuffix + " +CONFLICTS=" + gwenview$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libcfitsio$secondaryArchSuffix + devel:libexiv2$secondaryArchSuffix + devel:libjpeg$secondaryArchSuffix + devel:libkColorPicker$secondaryArchSuffix + devel:libKDcrawQt6$secondaryArchSuffix + devel:libkImageAnnotator$secondaryArchSuffix + devel:liblcms2$secondaryArchSuffix +# devel:libphonon4qt6$secondaryArchSuffix + devel:libtiff$secondaryArchSuffix + devel:libpng16$secondaryArchSuffix + devel:libz$secondaryArchSuffix + # KF6 + extra_cmake_modules$secondaryArchSuffix + devel:libKF6Baloo$secondaryArchSuffix + devel:libKF6Crash$secondaryArchSuffix + devel:libKF6GuiAddons$secondaryArchSuffix + devel:libKF6I18n$secondaryArchSuffix + devel:libKF6IconThemes$secondaryArchSuffix + devel:libKF6ItemModels$secondaryArchSuffix + devel:libKF6KIOCore$secondaryArchSuffix + devel:libKF6Notifications$secondaryArchSuffix + devel:libKF6Parts$secondaryArchSuffix + devel:libKF6Purpose$secondaryArchSuffix + devel:libKF6WidgetsAddons$secondaryArchSuffix + devel:libKF6WindowSystem$secondaryArchSuffix + # Plasma6 + devel:libPlasmaActivities$secondaryArchSuffix + # Qt6 + devel:libQt6Core$secondaryArchSuffix + devel:libQt6Multimedia$secondaryArchSuffix + devel:libQt6Qml$secondaryArchSuffix + devel:libQt6Svg$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:g++$secondaryArchSuffix + cmd:make + cmd:msgfmt$secondaryArchSuffix + cmd:msgmerge$secondaryArchSuffix + cmd:pkg_config$secondaryArchSuffix + " + +TEST_REQUIRES=" + qthaikuplugins$secondaryArchSuffix + " + +PATCH() +{ + sed -e '/add_subdirectory(doc)/ s/^#*/#/' -i CMakeLists.txt +} + +BUILD() +{ + cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \ + $cmakeDirArgs \ + -DCMAKE_INSTALL_BINDIR=$appsDir \ + -DCMAKE_INSTALL_DATAROOTDIR=$dataDir \ + -DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt6 \ + -DECM_DIR=/system/data/cmake/Modules/ECM/cmake \ + -DGWENVIEW_NO_WAYLAND_GESTURES=ON \ + -DBUILD_TESTING=ON \ + -Wno-dev + + make -C build $jobArgs +} + +INSTALL() +{ + make -C build install + + # cleanup + rm -rf $dataDir/{applications,icons,metainfo} + + rm -f $appsDir/gwenview_importer + mv $appsDir/gwenview $appsDir/Gwenview + + local APP_SIGNATURE="application/x-vnd.kde-gwenview" + 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/gwenview.rdef.in > gwenview.rdef + + addResourcesToBinaries gwenview.rdef $appsDir/Gwenview + addAppDeskbarSymlink $appsDir/Gwenview +} + +TEST() +{ + # 47% tests passed, 8 tests failed out of 15 (some kept idle/nuked) + ctest --test-dir build --output-on-failure +} diff --git a/kde-base/gwenview/patches/327.patch b/kde-base/gwenview/patches/327.patch new file mode 100644 index 000000000..e54426a37 --- /dev/null +++ b/kde-base/gwenview/patches/327.patch @@ -0,0 +1,36 @@ +From 3b5726bf5de370ce942b349c688f7c055c44e906 Mon Sep 17 00:00:00 2001 +From: Pedro Hernandez +Date: Thu, 13 Mar 2025 03:03:31 -0400 +Subject: [PATCH] Implement horizontal scrolling with Shift + Vertical Scroll + in `DocumentView` + +This change introduces horizontal scrolling functionality when users hold +Shift and scroll vertically using the mouse wheel in the `DocumentView` +widget. +This feature is particularly useful for navigating zoomed-in images, +especially for users relying solely on a mouse with a vertical scroll wheel. +By aligning with the behavior of popular applications like Gimp, Firefox, +and Chrome, this update ensures a more intuitive and consistent user +experience in Gwenview. + +FEATURE: 491463 +--- + lib/documentview/documentview.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/documentview/documentview.cpp b/lib/documentview/documentview.cpp +index a9bb4910c..26968d64b 100644 +--- a/lib/documentview/documentview.cpp ++++ b/lib/documentview/documentview.cpp +@@ -926,7 +926,7 @@ void DocumentView::wheelEvent(QGraphicsSceneWheelEvent *event) + // 16 = pixels for one line + // 120: see QWheelEvent::angleDelta().y() doc + qreal dy = -qApp->wheelScrollLines() * 16 * event->delta() / 120; +- if (event->orientation() == Qt::Horizontal) { ++ if ((event->orientation() == Qt::Horizontal) || (event->modifiers() & Qt::ShiftModifier)) { + std::swap(dx, dy); + } + d->mAdapter->setScrollPos(d->mAdapter->scrollPos() + QPointF(dx, dy)); +-- +GitLab + diff --git a/kde-base/kate/kate-25.04.0.recipe b/kde-base/kate/kate-25.08.0.recipe similarity index 97% rename from kde-base/kate/kate-25.04.0.recipe rename to kde-base/kate/kate-25.08.0.recipe index 3f2accc90..99b70908d 100644 --- a/kde-base/kate/kate-25.04.0.recipe +++ b/kde-base/kate/kate-25.08.0.recipe @@ -61,7 +61,7 @@ COPYRIGHT="2010-2025 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="f6e0e4da56a4bf0391d88363bebe3f8681ca037e6e29e0951c39627e32992712" +CHECKSUM_SHA256="7fed779b76da86f687c9509c1c22b419b2a97d57c41e693d880664b6c20a2f37" PATCHES="kate-$portVersion.patchset" ADDITIONAL_FILES="kate.rdef.in" @@ -70,7 +70,7 @@ SECONDARY_ARCHITECTURES="x86" PROVIDES=" kate$secondaryArchSuffix = $portVersion - app:Kate$secondaryArchSuffix = $portVersion + app:Kate = $portVersion lib:libkateprivate$secondaryArchSuffix = $portVersion " REQUIRES=" diff --git a/kde-base/kate/patches/kate-25.04.0.patchset b/kde-base/kate/patches/kate-25.08.0.patchset similarity index 100% rename from kde-base/kate/patches/kate-25.04.0.patchset rename to kde-base/kate/patches/kate-25.08.0.patchset diff --git a/kde-base/kolourpaint/kolourpaint_kf6-25.08.0.recipe b/kde-base/kolourpaint/kolourpaint_kf6-25.08.0.recipe new file mode 100644 index 000000000..5926d1ea5 --- /dev/null +++ b/kde-base/kolourpaint/kolourpaint_kf6-25.08.0.recipe @@ -0,0 +1,180 @@ +SUMMARY="A free, easy-to-use paint program by KDE" +DESCRIPTION="KolourPaint is a free, easy-to-use paint program by KDE. + +It aims to be conceptually simple to understand; providing a level of \ +functionality targeted towards the average user. It's designed for daily \ +tasks like: + +* Painting - drawing diagrams and \"finger painting\" +* Image Manipulation - editing screenshots and photos; applying effects +* Icon Editing - drawing clipart and logos with transparency + +It's not an unusable and monolithic program where simple tasks like drawing \ +lines become near impossible. Nor is it so simple that it lacks essential \ +features like Undo/Redo. + +KolourPaint is opensource software written in C++ using the Qt and KDE \ +libraries." +HOMEPAGE="http://www.kolourpaint.org/" +COPYRIGHT="2010-2025 KDE Organisation" +LICENSE="GNU LGPL v2" +REVISION="1" +SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/kolourpaint-$portVersion.tar.xz" +CHECKSUM_SHA256="6c89b27490f8d8e6cf69114d056f9d96bb7bd7a8177086c74055fa875c123df6" +ADDITIONAL_FILES="kolourpaint.rdef.in" + +# KIO issue! +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +GLOBAL_WRITABLE_FILES=" + settings/xdg/colors/40.colors keep-old + settings/xdg/colors/Oxygen.colors keep-old + settings/xdg/colors/Rainbow.colors keep-old + settings/xdg/colors/Royal.colors keep-old + settings/xdg/colors/Web.colors keep-old + " + +PROVIDES=" + kolourpaint_kf6$secondaryArchSuffix = $portVersion + app:KolourPaint = $portVersion + lib:libkolourpaint_lgpl$secondaryArchSuffix + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libGL$secondaryArchSuffix + lib:libKSaneWidgets6$secondaryArchSuffix + # KF6 + lib:libKF6Archive$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:libKF6GuiAddons$secondaryArchSuffix + lib:libKF6I18n$secondaryArchSuffix + lib:libKF6IconThemes$secondaryArchSuffix + lib:libKF6ItemModels$secondaryArchSuffix + lib:libKF6ItemViews$secondaryArchSuffix + lib:libKF6JobWidgets$secondaryArchSuffix + lib:libKF6KIOCore$secondaryArchSuffix + lib:libKF6KIOFileWidgets$secondaryArchSuffix + lib:libKF6KIOWidgets$secondaryArchSuffix + lib:libKF6Notifications$secondaryArchSuffix + lib:libKF6Parts$secondaryArchSuffix + lib:libKF6Service$secondaryArchSuffix + lib:libKF6Solid$secondaryArchSuffix + lib:libKF6SonnetUi$secondaryArchSuffix + lib:libKF6TextWidgets$secondaryArchSuffix + lib:libKF6UnitConversion$secondaryArchSuffix + lib:libKF6WidgetsAddons$secondaryArchSuffix + lib:libKF6WindowSystem$secondaryArchSuffix + lib:libKF6XmlGui$secondaryArchSuffix + # Qt6 + lib:libQt6Core$secondaryArchSuffix + lib:libQt6DBus$secondaryArchSuffix + lib:libQt6Gui$secondaryArchSuffix + lib:libQt6Network$secondaryArchSuffix + lib:libQt6PrintSupport$secondaryArchSuffix + lib:libQt6Widgets$secondaryArchSuffix + lib:libQt6Xml$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libKSaneWidgets6$secondaryArchSuffix + # KF6 + extra_cmake_modules$secondaryArchSuffix + devel:libKF6Archive$secondaryArchSuffix + devel:libKF6Bookmarks$secondaryArchSuffix + devel:libKF6Codecs$secondaryArchSuffix + devel:libKF6Completion$secondaryArchSuffix + devel:libKF6ConfigCore$secondaryArchSuffix + devel:libKF6ConfigGui$secondaryArchSuffix + devel:libKF6ConfigWidgets$secondaryArchSuffix + devel:libKF6CoreAddons$secondaryArchSuffix + devel:libKF6Crash$secondaryArchSuffix + devel:libKF6DBusAddons$secondaryArchSuffix + devel:libKF6DocTools$secondaryArchSuffix + devel:libKF6GuiAddons$secondaryArchSuffix + devel:libKF6I18n$secondaryArchSuffix + devel:libKF6IconThemes$secondaryArchSuffix + devel:libKF6ItemModels$secondaryArchSuffix + devel:libKF6ItemViews$secondaryArchSuffix + devel:libKF6JobWidgets$secondaryArchSuffix + devel:libKF6KIOCore$secondaryArchSuffix + devel:libKF6KIOFileWidgets$secondaryArchSuffix + devel:libKF6KIOWidgets$secondaryArchSuffix + devel:libKF6Notifications$secondaryArchSuffix + devel:libKF6Parts$secondaryArchSuffix + devel:libKF6Service$secondaryArchSuffix + devel:libKF6Solid$secondaryArchSuffix + devel:libKF6SonnetUi$secondaryArchSuffix + devel:libKF6TextWidgets$secondaryArchSuffix + devel:libKF6UnitConversion$secondaryArchSuffix + devel:libKF6WidgetsAddons$secondaryArchSuffix + devel:libKF6WindowSystem$secondaryArchSuffix + devel:libKF6XmlGui$secondaryArchSuffix + # Qt6 + devel:libQt6Core$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:g++$secondaryArchSuffix + cmd:make + cmd:msgfmt$secondaryArchSuffix + cmd:msgmerge$secondaryArchSuffix + cmd:pkg_config$secondaryArchSuffix + " + +PATCH() +{ + sed -e '/add_subdirectory(doc)/ s/^#*/#/' -i CMakeLists.txt + sed -e '/kdoctools_install(po)/ s/^#*/#/' -i CMakeLists.txt +} + +BUILD() +{ + cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \ + $cmakeDirArgs \ + -DCMAKE_INSTALL_BINDIR=$appsDir \ + -DECM_DIR=/system/data/cmake/Modules/ECM/cmake \ + -DBUILD_TESTING=OFF \ + -Wno-dev + + make -C build $jobArgs +} + +INSTALL() +{ + make -C build install + + mv $appsDir/kolourpaint $appsDir/KolourPaint + rm -rf $appsDir/KolourPaint/bin + + local APP_SIGNATURE="application/x-vnd.kde-kolourpaint" + 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/kolourpaint.rdef.in > kolourpaint.rdef + + addResourcesToBinaries kolourpaint.rdef $appsDir/KolourPaint + addAppDeskbarSymlink $appsDir/KolourPaint +} + +TEST() +{ + ctest --test-dir build --output-on-failure +} diff --git a/kde-base/kwave/kwave_kf6-25.08.0.recipe b/kde-base/kwave/kwave_kf6-25.08.0.recipe new file mode 100644 index 000000000..81fb473fc --- /dev/null +++ b/kde-base/kwave/kwave_kf6-25.08.0.recipe @@ -0,0 +1,210 @@ +SUMMARY="A sound editor for KDE" +DESCRIPTION="Kwave is a sound editor built on KDE Frameworks 6 + +Features: +* With Kwave you can record, play back, import and edit many sorts of audio files \ +including multi channel files +* Kwave includes some plugins to transform audio files in several ways and presents \ +a graphical view with a complete zoom and scroll capability" +HOMEPAGE="https://apps.kde.org/kwave" +COPYRIGHT="2010-2025 KDE Organisation" +LICENSE="GNU LGPL v2" +REVISION="1" +SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/kwave-$portVersion.tar.xz" +CHECKSUM_SHA256="80c1f2eb0641148ac4256418bb581a85c16d5e1d31454a1ccd77c20295315fd7" +SOURCE_DIR="kwave-$portVersion" +PATCHES="kwave-$portVersion.patchset" +ADDITIONAL_FILES="kwave.rdef.in + icons.zip" + +# qt-multimedia backend? +ARCHITECTURES="?all !x86_gcc2" +SECONDARY_ARCHITECTURES="?x86" + +libVersion="$portVersion" +libVersionCompat="$libVersion compat >= ${libVersion%%.*}" + +PROVIDES=" + kwave_kf6$secondaryArchSuffix = $portVersion + app:Kwave = $portVersion + lib:libkwave$secondaryArchSuffix = $libVersionCompat + lib:libkwavegui$secondaryArchSuffix = $libVersionCompat + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libaudiofile$secondaryArchSuffix + lib:libfftw3$secondaryArchSuffix + lib:libFLAC$secondaryArchSuffix + lib:libGL$secondaryArchSuffix + lib:libiconv$secondaryArchSuffix + lib:libid3_3.8$secondaryArchSuffix + lib:libintl$secondaryArchSuffix + lib:libjpeg$secondaryArchSuffix + lib:libmad$secondaryArchSuffix + lib:libogg$secondaryArchSuffix + lib:libopus$secondaryArchSuffix + lib:libpng16$secondaryArchSuffix + lib:libsamplerate$secondaryArchSuffix + lib:libvorbis$secondaryArchSuffix + lib:libz$secondaryArchSuffix + # KF6 + lib:libKF6Archive$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:libKF6DocTools$secondaryArchSuffix + lib:libKF6GuiAddons$secondaryArchSuffix + lib:libKF6I18n$secondaryArchSuffix + lib:libKF6IconThemes$secondaryArchSuffix + lib:libKF6ItemModels$secondaryArchSuffix + lib:libKF6ItemViews$secondaryArchSuffix + lib:libKF6JobWidgets$secondaryArchSuffix + lib:libKF6KIOCore$secondaryArchSuffix + lib:libKF6KIOFileWidgets$secondaryArchSuffix + lib:libKF6KIOWidgets$secondaryArchSuffix + lib:libKF6Notifications$secondaryArchSuffix + lib:libKF6Parts$secondaryArchSuffix + lib:libKF6Service$secondaryArchSuffix + lib:libKF6Solid$secondaryArchSuffix + lib:libKF6SonnetUi$secondaryArchSuffix + lib:libKF6TextWidgets$secondaryArchSuffix + lib:libKF6UnitConversion$secondaryArchSuffix + lib:libKF6WidgetsAddons$secondaryArchSuffix + lib:libKF6WindowSystem$secondaryArchSuffix + lib:libKF6XmlGui$secondaryArchSuffix + # Qt6 + lib:libQt6Core$secondaryArchSuffix + lib:libQt6DBus$secondaryArchSuffix + lib:libQt6Gui$secondaryArchSuffix + lib:libQt6Network$secondaryArchSuffix + lib:libQt6PrintSupport$secondaryArchSuffix + lib:libQt6Widgets$secondaryArchSuffix + lib:libQt6Xml$secondaryArchSuffix + " +CONFLICTS=" + kwave$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libaudiofile$secondaryArchSuffix + devel:libfftw3$secondaryArchSuffix + devel:libFLAC$secondaryArchSuffix + devel:libiconv$secondaryArchSuffix + devel:libid3_3.8$secondaryArchSuffix + devel:libintl$secondaryArchSuffix + devel:libjpeg$secondaryArchSuffix + devel:libmad$secondaryArchSuffix + devel:libogg$secondaryArchSuffix + devel:libopus$secondaryArchSuffix + devel:libpng16$secondaryArchSuffix + devel:libsamplerate$secondaryArchSuffix + devel:libvorbis$secondaryArchSuffix + devel:libz$secondaryArchSuffix + # KF6 + extra_cmake_modules$secondaryArchSuffix + devel:libPlasmaActivities$secondaryArchSuffix + devel:libKF6Archive$secondaryArchSuffix + devel:libKF6AuthCore$secondaryArchSuffix + devel:libKF6Bookmarks$secondaryArchSuffix + devel:libKF6Codecs$secondaryArchSuffix + devel:libKF6ColorScheme$secondaryArchSuffix + devel:libKF6Completion$secondaryArchSuffix + devel:libKF6ConfigCore$secondaryArchSuffix + devel:libKF6ConfigGui$secondaryArchSuffix + devel:libKF6ConfigWidgets$secondaryArchSuffix + devel:libKF6CoreAddons$secondaryArchSuffix + devel:libKF6Crash$secondaryArchSuffix +# devel:libKF6DBusAddons$secondaryArchSuffix + devel:libKF6DocTools$secondaryArchSuffix + devel:libKF6GuiAddons$secondaryArchSuffix + devel:libKF6I18n$secondaryArchSuffix + devel:libKF6IconThemes$secondaryArchSuffix + devel:libKF6ItemModels$secondaryArchSuffix + devel:libKF6ItemViews$secondaryArchSuffix + devel:libKF6JobWidgets$secondaryArchSuffix + devel:libKF6KIOCore$secondaryArchSuffix + devel:libKF6KIOFileWidgets$secondaryArchSuffix + devel:libKF6KIOWidgets$secondaryArchSuffix + devel:libKF6Notifications$secondaryArchSuffix + devel:libKF6Parts$secondaryArchSuffix + devel:libKF6Service$secondaryArchSuffix + devel:libKF6Solid$secondaryArchSuffix + devel:libKF6SonnetUi$secondaryArchSuffix + devel:libKF6TextWidgets$secondaryArchSuffix + devel:libKF6UnitConversion$secondaryArchSuffix + devel:libKF6WidgetsAddons$secondaryArchSuffix + devel:libKF6WindowSystem$secondaryArchSuffix + devel:libKF6XmlGui$secondaryArchSuffix + # Qt6 + devel:libQt6Core$secondaryArchSuffix + devel:libQt6Multimedia$secondaryArchSuffix + devel:libQt6Qml$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:find + cmd:g++$secondaryArchSuffix + cmd:make + cmd:msgfmt$secondaryArchSuffix + cmd:msgmerge$secondaryArchSuffix + cmd:python3 + cmd:pkg_config$secondaryArchSuffix + cmd:unzip + " + +BUILD() +{ + cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \ + $cmakeDirArgs \ + -DCMAKE_INSTALL_BINDIR=$appsDir \ + -DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt6 \ + -DECM_DIR=/system/data/cmake/Modules/ECM/cmake \ + -DWITH_OSS=OFF \ + -DWITH_DOC=OFF \ + -DWITH_PULSEAUDIO=OFF \ + -DWITH_ALSA=OFF \ + -DWITH_MP3=ON \ + -DWITH_QT_AUDIO=ON \ + -DBUILD_TESTING=OFF + + make -C build $jobArgs +} + +INSTALL() +{ + make -C build install + mv $appsDir/kwave $appsDir/Kwave + + mkdir -p $dataDir/icons/haiku/actions/22 + rm -rf $dataDir/icons/hicolor + rm -rf $dataDir/applications + + mkdir -p "$dataDir/deskbar/menu/Applications/KDE" + + unzip -o $sourceDir/../../additional-files/icons.zip -d $dataDir/icons/haiku/actions/22 + + local APP_SIGNATURE="application/x-vnd.Qt6-kwave" + 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/kwave.rdef.in > kwave.rdef + + addResourcesToBinaries kwave.rdef $appsDir/Kwave + addAppDeskbarSymlink $appsDir/Kwave +} diff --git a/kde-base/kwave/patches/kwave-25.08.0.patchset b/kde-base/kwave/patches/kwave-25.08.0.patchset new file mode 100644 index 000000000..2d394b3ea --- /dev/null +++ b/kde-base/kwave/patches/kwave-25.08.0.patchset @@ -0,0 +1,179 @@ +From e14f8f1d6a38d14a8c1286629aea5956ac0246a6 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Sun, 24 Mar 2019 21:46:12 +1000 +Subject: Fix error: overflow in constant expression [-fpermissive] + + +diff --git a/kwave/TopWidget.cpp b/kwave/TopWidget.cpp +index efc0cc1..15c3dfb 100644 +--- a/kwave/TopWidget.cpp ++++ b/kwave/TopWidget.cpp +@@ -1045,6 +1045,7 @@ int Kwave::TopWidget::loadFile(const QUrl &url) + if (res != 0) { + qWarning("TopWidget::loadFile() failed: result=%d", res); + QString reason; ++#ifndef Q_OS_HAIKU + switch (res) { + case -ENOMEM: + reason = i18n("Out of memory"); +@@ -1061,6 +1062,7 @@ int Kwave::TopWidget::loadFile(const QUrl &url) + default: + reason = _(""); + } ++#endif + + // show an error message box if the reason was known + if (reason.length()) { +-- +2.48.1 + + +From 14c07b3a806c16011dd9aaf75b4b9247fe7dd645 Mon Sep 17 00:00:00 2001 +From: Schrijvers Luc +Date: Sat, 16 Nov 2024 17:54:31 +0100 +Subject: Disable DBus on Haiku, don't build documentation + +Co-authored-by: Gerasim Troeglazov <3dEyes@gmail.com> + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cd6dd72..a94f39a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -171,7 +171,6 @@ FIND_PACKAGE(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS + ConfigWidgets + CoreAddons + Crash +- DBusAddons + DocTools + I18n + IconThemes +@@ -181,6 +180,14 @@ FIND_PACKAGE(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS + WidgetsAddons + ) + ++# OPTION(WITH_DBUS) "enable KF6::DBbusAddons [default=on]" ON) ++IF (NOT HAIKU) ++ SET(WITH_DBUS on) ++ FIND_PACKAGE(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS ++ DBusAddons ++ ) ++ENDIF (WITH_DBUS) ++ + IF (NOT WITH_DOC) + SET_PACKAGE_PROPERTIES(KF6DocTools + PROPERTIES DESCRIPTION "Tools to generate documentation" +@@ -387,7 +394,9 @@ ADD_CUSTOM_TARGET(wrapper + ### install translations ### + + ki18n_install(po) +-kdoctools_install(po) ++IF (WITH_DOC) ++ kdoctools_install(po) ++ENDIF (WITH_DOC) + + ############################################################################# + +diff --git a/config.h.cmake b/config.h.cmake +index 726dc2d..796cee2 100644 +--- a/config.h.cmake ++++ b/config.h.cmake +@@ -24,6 +24,9 @@ + /* support playback/recording via PulseAudio */ + #cmakedefine HAVE_PULSEAUDIO_SUPPORT + ++/* support DBUS */ ++#cmakedefine01 WITH_DBUS ++ + /* support playback via Qt */ + #cmakedefine HAVE_QT_AUDIO_SUPPORT + +diff --git a/kwave/CMakeLists.txt b/kwave/CMakeLists.txt +index 62b7459..c97fd25 100644 +--- a/kwave/CMakeLists.txt ++++ b/kwave/CMakeLists.txt +@@ -83,13 +83,18 @@ TARGET_LINK_LIBRARIES(kwave_core + KF6::Completion + KF6::ConfigCore + KF6::Crash +- KF6::DBusAddons + KF6::I18n + KF6::IconThemes + KF6::KIOFileWidgets + KF6::XmlGui + ) + ++IF (WITH_DBUS) ++TARGET_LINK_LIBRARIES(kwave_core ++ KF6::DBusAddons ++) ++ENDIF (WITH_DBUS) ++ + SET_TARGET_PROPERTIES(kwave_core PROPERTIES + OUTPUT_NAME "kwave" + ENABLE_EXPORTS TRUE +diff --git a/kwave/main.cpp b/kwave/main.cpp +index 7457a5c..3ac2e54 100644 +--- a/kwave/main.cpp ++++ b/kwave/main.cpp +@@ -25,7 +25,9 @@ + + #include + #include +-#include ++#if WITH_DBUS ++ #include ++#endif + #include + #include + +@@ -226,7 +228,9 @@ int main(int argc, char **argv) + about.processCommandLine(&cmdline); + + /* let Kwave be a "unique" application, only one instance */ ++#if WITH_DBUS + KDBusService service(KDBusService::Unique); ++#endif + + // check whether to start up without splash screen or in iconic mode + // which implicitly also disables the splash screen +@@ -238,12 +242,14 @@ int main(int argc, char **argv) + // now as the splash screen is in place, we can start a new instance + retval = app.newInstance(app.arguments(), QString()); + ++#if WITH_DBUS + QObject::connect( + &service, + SIGNAL(activateRequested(QStringList,QString)), + &app, + SLOT(newInstance(QStringList,QString)) + ); ++#endif + + if (retval != ECANCELED) + retval = app.exec(); +-- +2.48.1 + + +From ab18328d82cf1cf043144ef4c69d7ce577e97d8d Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Sun, 31 Mar 2019 15:27:01 +1000 +Subject: Increase sound buffer + + +diff --git a/libkwave/PlayBackParam.h b/libkwave/PlayBackParam.h +index 6e8843a..c0400e5 100644 +--- a/libkwave/PlayBackParam.h ++++ b/libkwave/PlayBackParam.h +@@ -56,7 +56,7 @@ namespace Kwave + /** Default constructor */ + PlayBackParam() + :rate(44100), channels(2), bits_per_sample(16), +- device(), bufbase(10), ++ device(), bufbase(13), + method(Kwave::PLAYBACK_NONE) + { + } +-- +2.48.1 + diff --git a/kde-base/kwrite/kwrite-25.04.0.recipe b/kde-base/kwrite/kwrite-25.08.0.recipe similarity index 97% rename from kde-base/kwrite/kwrite-25.04.0.recipe rename to kde-base/kwrite/kwrite-25.08.0.recipe index 83868a263..dfd9ed63d 100644 --- a/kde-base/kwrite/kwrite-25.04.0.recipe +++ b/kde-base/kwrite/kwrite-25.08.0.recipe @@ -53,7 +53,7 @@ COPYRIGHT="2010-2025 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="f6e0e4da56a4bf0391d88363bebe3f8681ca037e6e29e0951c39627e32992712" +CHECKSUM_SHA256="7fed779b76da86f687c9509c1c22b419b2a97d57c41e693d880664b6c20a2f37" SOURCE_DIR="kate-$portVersion" PATCHES="kwrite-$portVersion.patchset" ADDITIONAL_FILES="kwrite.rdef.in" @@ -63,7 +63,7 @@ SECONDARY_ARCHITECTURES="x86" PROVIDES=" kwrite$secondaryArchSuffix = $portVersion - app:KWrite$secondaryArchSuffix = $portVersion + app:KWrite = $portVersion lib:libkateprivate$secondaryArchSuffix = $portVersion " REQUIRES=" diff --git a/kde-base/marble/marble-24.08.0.recipe b/kde-base/marble/marble-24.08.0.recipe deleted file mode 100644 index 24c01fe3a..000000000 --- a/kde-base/marble/marble-24.08.0.recipe +++ /dev/null @@ -1,226 +0,0 @@ -SUMMARY="A virtual globe and world atlas" -DESCRIPTION="Marble is a geographical atlas and a virtual globe which lets you \ -quickly explore places on our home planet. - -You can use Marble to look up addresses, to easily create maps, \ -measure distances and to retrieve detail information about locations \ -that you have just heard about in the news or on the Internet. - -The user interface is clean, simple and easy to use." -HOMEPAGE="https://marble.kde.org/" -COPYRIGHT="2007-2024 Marble Virtual Globe authors" -LICENSE="GNU LGPL v2.1" -REVISION="1" -SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/marble-$portVersion.tar.xz" -CHECKSUM_SHA256="bc02c709c15518fa1c6a7dafef2c507e14571d4f722486faca1bf8e18be931a5" -ADDITIONAL_FILES="marble.rdef.in" - -ARCHITECTURES="all !x86_gcc2" -SECONDARY_ARCHITECTURES="x86" - -libVersion="$portVersion" -libVersionCompat="$libVersion compat >= ${libVersion%%.*}" - -PROVIDES=" - marble$secondaryArchSuffix = $portVersion - cmd:marble$secondaryArchSuffix = $portVersion -# cmd:marble_qt$secondaryArchSuffix = $portVersion - lib:libastro$secondaryArchSuffix = $libVersionCompat - lib:libmarbledeclarative$secondaryArchSuffix = $portVersion - lib:libmarblewidget_qt5$secondaryArchSuffix = $libVersionCompat - " -REQUIRES=" - haiku$secondaryArchSuffix - lib:libkdeinit5_kded5$secondaryArchSuffix - lib:libkdeinit5_klauncher$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:libKF5DocTools$secondaryArchSuffix - lib:libKF5GuiAddons$secondaryArchSuffix - lib:libKF5I18n$secondaryArchSuffix - lib:libKF5IconThemes$secondaryArchSuffix - lib:libKF5ItemModels$secondaryArchSuffix - lib:libKF5ItemViews$secondaryArchSuffix - lib:libKF5JobWidgets$secondaryArchSuffix - lib:libKF5KDELibs4Support$secondaryArchSuffix - lib:libKF5KIOCore$secondaryArchSuffix - lib:libKF5KIOFileWidgets$secondaryArchSuffix - lib:libKF5KIOWidgets$secondaryArchSuffix - lib:libKF5NewStuff$secondaryArchSuffix - lib:libKF5Parts$secondaryArchSuffix - lib:libKF5Service$secondaryArchSuffix - lib:libKF5Solid$secondaryArchSuffix - lib:libKF5SonnetUi$secondaryArchSuffix - lib:libKF5TextWidgets$secondaryArchSuffix - lib:libKF5WidgetsAddons$secondaryArchSuffix - lib:libKF5WindowSystem$secondaryArchSuffix - lib:libKF5XmlGui$secondaryArchSuffix - lib:libphonon4qt5$secondaryArchSuffix - lib:libprotobuf$secondaryArchSuffix - lib:libQt5Core$secondaryArchSuffix - lib:libQt5Gui$secondaryArchSuffix - lib:libQt5Network$secondaryArchSuffix - lib:libQt5PrintSupport$secondaryArchSuffix - lib:libQt5WebEngineCore$secondaryArchSuffix - lib:libQt5WebEngineWidgets$secondaryArchSuffix - lib:libQt5Widgets$secondaryArchSuffix - lib:libQt5Xml$secondaryArchSuffix - lib:libz$secondaryArchSuffix - " - -PROVIDES_devel=" - marble${secondaryArchSuffix}_devel = $portVersion - devel:libastro$secondaryArchSuffix = $libVersionCompat - devel:libmarbledeclarative$secondaryArchSuffix = $portVersion - devel:libmarblewidget_qt5$secondaryArchSuffix = $libVersionCompat - " -REQUIRES_devel=" - marble$secondaryArchSuffix == $portVersion base - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - extra_cmake_modules$secondaryArchSuffix - devel:libkdeinit5_kded5$secondaryArchSuffix - devel:libkdeinit5_klauncher$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:libKF5DocTools$secondaryArchSuffix - devel:libKF5GuiAddons$secondaryArchSuffix - devel:libKF5I18n$secondaryArchSuffix - devel:libKF5IconThemes$secondaryArchSuffix - devel:libKF5ItemModels$secondaryArchSuffix - devel:libKF5ItemViews$secondaryArchSuffix - devel:libKF5JobWidgets$secondaryArchSuffix - devel:libKF5KDELibs4Support$secondaryArchSuffix - devel:libKF5KIOCore$secondaryArchSuffix - devel:libKF5KIOFileWidgets$secondaryArchSuffix - devel:libKF5KIOWidgets$secondaryArchSuffix - devel:libKF5NewStuff$secondaryArchSuffix - devel:libKF5Parts$secondaryArchSuffix - devel:libKF5Service$secondaryArchSuffix - devel:libKF5Solid$secondaryArchSuffix - devel:libKF5SonnetUi$secondaryArchSuffix - devel:libKF5TextWidgets$secondaryArchSuffix - devel:libKF5WidgetsAddons$secondaryArchSuffix - devel:libKF5WindowSystem$secondaryArchSuffix - devel:libKF5XmlGui$secondaryArchSuffix - devel:libphonon4qt5$secondaryArchSuffix - devel:libprotobuf$secondaryArchSuffix - devel:libQt5Core$secondaryArchSuffix - devel:libQt5Gui$secondaryArchSuffix - devel:libQt5Network$secondaryArchSuffix - devel:libQt5PrintSupport$secondaryArchSuffix - devel:libQt5WebEngineCore$secondaryArchSuffix - devel:libQt5WebEngineWidgets$secondaryArchSuffix - devel:libQt5Widgets$secondaryArchSuffix - devel:libQt5Xml$secondaryArchSuffix - devel:libz$secondaryArchSuffix - " -BUILD_PREREQUIRES=" - cmd:cmake - cmd:g++$secondaryArchSuffix - cmd:lrelease$secondaryArchSuffix >= 5 - cmd:make - cmd:perl - cmd:pkg_config$secondaryArchSuffix - " - -TEST_REQUIRES=" - qthaikuplugins$secondaryArchSuffix - lib:libvpx$secondaryArchSuffix - " - -PATCH() -{ - # disable docs generation - sed -e '/add_subdirectory(doc)/ s/^#*/#/' -i CMakeLists.txt - # disable knsrc file install - sed -e '/install(FILES marble.knsrc/ s/^#*/#/' -i src/apps/marble-kde/CMakeLists.txt - # disable doctools - sed -e '/ kdoctools_install/ s/^#*/#/' -i src/apps/marble-kde/CMakeLists.txt -} - -BUILD() -{ - cmake -Bbuild -S. \ - -DCMAKE_BUILD_TYPE=Release \ - $cmakeDirArgs \ - -DKDE_INSTALL_BINDIR=$binDir \ - -DKDE_INSTALL_LIBDIR=$libDir \ - -DKDE_INSTALL_INCLUDEDIR=$includeDir \ - -DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt5 \ - -DKDE_INSTALL_QMLDIR=$dataDir/Qt5 \ - -DINCLUDE_INSTALL_DIR=$includeDir \ - -DMARBLE_DATA_PATH=$dataDir/marble \ - -DMARBLE_PLUGIN_PATH=$addOnsDir/marble \ - -DMARBLE_PRI_INSTALL_DIR=$dataDir/Qt5/mkspecs \ - -DQT_PLUGINS_DIR=$addOnsDir/Qt5 \ - -DECM_DIR=/system/data/cmake/Modules/ECM/cmake \ - -DBUILD_MARBLE_TESTS=OFF \ - -Wno-dev - make -Cbuild $jobArgs -} - -INSTALL() -{ - make -Cbuild install - - # don't mess with shared_mime_info files - rm -rf $dataDir/mime/{aliases,generic-icons,globs,globs2,icons,magic} - rm -rf $dataDir/mime/{mime.cache,subclasses,treemagic,types,version,XMLnamespaces} - # cleanup - rm -rf $dataDir/{applications,metainfo} - rm -rf $prefix/share - # only keep marble-kde - rm -rf $binDir/marble-qt - - local MAJOR="`echo "$portVersion" | cut -d. -f1`" - local MIDDLE="`echo "$portVersion" | cut -d. -f2`" - local MINOR="`echo "$portVersion" | cut -d. -f3`" - sed \ - -e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \ - -e "s|@MAJOR@|$MAJOR|" \ - -e "s|@MIDDLE@|$MIDDLE|" \ - -e "s|@MINOR@|$MINOR|" \ - $portDir/additional-files/marble.rdef.in > marble.rdef - - addResourcesToBinaries marble.rdef $binDir/marble - - addAppDeskbarSymlink $binDir/marble Marble - - prepareInstalledDevelLibs \ - libastro \ - libmarbledeclarative \ - libmarblewidget-qt5 - - packageEntries devel \ - $developDir \ - $dataDir/Qt5 \ - $libDir/cmake -} - -TEST() -{ - # 82% tests passed, 10 tests failed out of 55 - export LIBRARY_PATH="$sourceDir/build/src/lib/astro:$sourceDir/build/src/lib/marble:$LIBRARY_PATH" - ctest --test-dir build --output-on-failure -} diff --git a/kde-base/marble/marble-25.08.0.recipe b/kde-base/marble/marble-25.08.0.recipe new file mode 100644 index 000000000..f437bb5e9 --- /dev/null +++ b/kde-base/marble/marble-25.08.0.recipe @@ -0,0 +1,221 @@ +SUMMARY="A virtual globe and world atlas" +DESCRIPTION="Marble is a geographical atlas and a virtual globe which lets you \ +quickly explore places on our home planet. + +You can use Marble to look up addresses, to easily create maps, \ +measure distances and to retrieve detail information about locations \ +that you have just heard about in the news or on the Internet. + +The user interface is clean, simple and easy to use." +HOMEPAGE="https://marble.kde.org/" +COPYRIGHT="2007-2025 Marble Virtual Globe authors" +LICENSE="GNU LGPL v2.1" +REVISION="1" +SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/marble-$portVersion.tar.xz" +CHECKSUM_SHA256="6f5bf1cebc3311ce2439c4243f90ad249722edf12a96fb927ca60b83e98c7c9a" +PATCHES="marble-$portVersion.patchset" +ADDITIONAL_FILES="marble.rdef.in" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +libVersion="$portVersion" +libVersionCompat="$libVersion compat >= ${libVersion%%.*}" + +PROVIDES=" + marble$secondaryArchSuffix = $portVersion + cmd:marble$secondaryArchSuffix = $portVersion + cmd:marble_behaim$secondaryArchSuffix = $portVersion + cmd:marble_maps$secondaryArchSuffix = $portVersion + lib:libastro$secondaryArchSuffix = $libVersionCompat + lib:libmarblewidget_qt6$secondaryArchSuffix = $libVersionCompat + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libGL$secondaryArchSuffix + lib:libphonon4Qt6$secondaryArchSuffix + lib:libprotobuf$secondaryArchSuffix + lib:libz$secondaryArchSuffix + # KF6 + lib:libKF6ColorScheme$secondaryArchSuffix + lib:libKF6ConfigCore$secondaryArchSuffix + lib:libKF6ConfigWidgets$secondaryArchSuffix + lib:libKF6CoreAddons$secondaryArchSuffix + lib:libKF6Crash$secondaryArchSuffix + lib:libKF6GuiAddons$secondaryArchSuffix + lib:libKF6I18n$secondaryArchSuffix + lib:libKF6KIOCore$secondaryArchSuffix + lib:libKF6Parts$secondaryArchSuffix + lib:libKF6WidgetsAddons$secondaryArchSuffix + lib:libKF6XmlGui$secondaryArchSuffix + # Qt6 + lib:libQt6Core$secondaryArchSuffix + lib:libQt6Core5Compat$secondaryArchSuffix + lib:libQt6DBus$secondaryArchSuffix + lib:libQt6Gui$secondaryArchSuffix + lib:libQt6Network$secondaryArchSuffix + lib:libQt6PrintSupport$secondaryArchSuffix + lib:libQt6Qml$secondaryArchSuffix + lib:libQt6Quick$secondaryArchSuffix + lib:libQt6Svg$secondaryArchSuffix + lib:libQt6Widgets$secondaryArchSuffix + lib:libQt6Xml$secondaryArchSuffix + " + +PROVIDES_devel=" + marble${secondaryArchSuffix}_devel = $portVersion + devel:libastro$secondaryArchSuffix = $libVersionCompat + devel:libmarblewidget_qt6$secondaryArchSuffix = $libVersionCompat + " +REQUIRES_devel=" + marble$secondaryArchSuffix == $portVersion base + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + abseil_cpp${secondaryArchSuffix}_devel >= 20230125 + devel:libphonon4qt6$secondaryArchSuffix + devel:libprotobuf$secondaryArchSuffix + devel:libz$secondaryArchSuffix + # KF6 + extra_cmake_modules$secondaryArchSuffix + devel:libKF6Archive$secondaryArchSuffix + devel:libKF6Attica$secondaryArchSuffix + devel:libKF6AuthCore$secondaryArchSuffix + devel:libKF6Bookmarks$secondaryArchSuffix + devel:libKF6Codecs$secondaryArchSuffix + devel:libKF6Completion$secondaryArchSuffix + devel:libKF6ConfigCore$secondaryArchSuffix + devel:libKF6ConfigGui$secondaryArchSuffix + devel:libKF6ConfigWidgets$secondaryArchSuffix + devel:libKF6CoreAddons$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:libKF6KIOCore$secondaryArchSuffix + devel:libKF6KIOFileWidgets$secondaryArchSuffix + devel:libKF6KIOWidgets$secondaryArchSuffix + devel:libKF6NewStuffCore$secondaryArchSuffix + devel:libKF6Parts$secondaryArchSuffix + devel:libKF6Runner$secondaryArchSuffix + devel:libKF6Service$secondaryArchSuffix + devel:libKF6Solid$secondaryArchSuffix + devel:libKF6SonnetUi$secondaryArchSuffix + devel:libKF6TextWidgets$secondaryArchSuffix + devel:libKF6WidgetsAddons$secondaryArchSuffix + devel:libKF6WindowSystem$secondaryArchSuffix + devel:libKF6XmlGui$secondaryArchSuffix + # Qt6 + qt6_tools${secondaryArchSuffix}_devel + devel:libQt6Core$secondaryArchSuffix + devel:libQt6Core5Compat$secondaryArchSuffix + devel:libQt6Gui$secondaryArchSuffix + devel:libQt6Multimedia$secondaryArchSuffix + devel:libQt6Network$secondaryArchSuffix + devel:libQt6Positioning$secondaryArchSuffix + devel:libQt6PrintSupport$secondaryArchSuffix + devel:libQt6Qml$secondaryArchSuffix + devel:libQt6Quick$secondaryArchSuffix + devel:libQt6SerialPort$secondaryArchSuffix + devel:libQt6Svg$secondaryArchSuffix +# devel:libQt6WebChannel$secondaryArchSuffix +# devel:libQt6WebEngineCore$secondaryArchSuffix +# devel:libQt6WebEngineWidgets$secondaryArchSuffix + devel:libQt6Widgets$secondaryArchSuffix + devel:libQt6Xml$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:g++$secondaryArchSuffix + cmd:make + cmd:msgfmt$secondaryArchSuffix + cmd:msgmerge$secondaryArchSuffix + cmd:perl + cmd:pkg_config$secondaryArchSuffix + " + +TEST_REQUIRES=" + qthaikuplugins$secondaryArchSuffix + lib:libvpx$secondaryArchSuffix + " + +PATCH() +{ + # disable docs generation + sed -e '/add_subdirectory(doc)/ s/^#*/#/' -i CMakeLists.txt + # disable knsrc file install + sed -e '/install(FILES marble.knsrc/ s/^#*/#/' -i src/apps/marble-kde/CMakeLists.txt + # disable doctools + sed -e '/ kdoctools_install/ s/^#*/#/' -i src/apps/marble-kde/CMakeLists.txt +} + +BUILD() +{ + cmake -Bbuild -S. \ + -DCMAKE_BUILD_TYPE=Release \ + $cmakeDirArgs \ + -DCMAKE_AUTOGEN_PARALLEL=4 \ + -DINCLUDE_INSTALL_DIR=$includeDir \ + -DKDE_INSTALL_BINDIR=$binDir \ + -DKDE_INSTALL_LIBDIR=$libDir \ + -DKDE_INSTALL_INCLUDEDIR=$includeDir \ + -DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt6 \ + -DKDE_INSTALL_QMLDIR=$dataDir/Qt6/qml \ + -DKDE_INSTALL_QTPLUGINDIR=$addOnsDir/Qt6 \ + -DMARBLE_PRI_INSTALL_DIR=$dataDir/Qt6/mkspecs \ + -DECM_DIR=/system/data/cmake/Modules/ECM/cmake \ + -DBUILD_TESTING=ON \ + -Wno-dev + + make -Cbuild $jobArgs +} + +INSTALL() +{ + make -Cbuild install + + # don't mess with shared_mime_info files + rm -rf $dataDir/mime/{aliases,generic-icons,globs,globs2,icons,magic} + rm -rf $dataDir/mime/{mime.cache,subclasses,treemagic,types,version,XMLnamespaces} + # cleanup + rm -rf $dataDir/{applications,metainfo} + rm -rf $prefix/share + # only keep marble-kde + rm -rf $binDir/marble-qt + + local MAJOR="`echo "$portVersion" | cut -d. -f1`" + local MIDDLE="`echo "$portVersion" | cut -d. -f2`" + local MINOR="`echo "$portVersion" | cut -d. -f3`" + sed \ + -e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \ + -e "s|@MAJOR@|$MAJOR|" \ + -e "s|@MIDDLE@|$MIDDLE|" \ + -e "s|@MINOR@|$MINOR|" \ + $portDir/additional-files/marble.rdef.in > marble.rdef + + addResourcesToBinaries marble.rdef $binDir/marble + + addAppDeskbarSymlink $binDir/marble Marble + + prepareInstalledDevelLibs \ + libastro \ + libmarblewidget-qt6 + + packageEntries devel \ + $developDir \ + $dataDir/Qt6/mkspecs \ + $libDir/cmake +} + +TEST() +{ + # 87% tests passed, 7 tests failed out of 54 + export LIBRARY_PATH="$sourceDir/build/src/lib/astro:$sourceDir/build/src/lib/marble:\ + $sourceDir/build/src/bin:$LIBRARY_PATH" + ctest --test-dir build --output-on-failure +} diff --git a/kde-base/marble/patches/marble-25.08.0.patchset b/kde-base/marble/patches/marble-25.08.0.patchset new file mode 100644 index 000000000..842302041 --- /dev/null +++ b/kde-base/marble/patches/marble-25.08.0.patchset @@ -0,0 +1,31 @@ +From cae95eeb7cda9e2ee06894681669fe410872d5e9 Mon Sep 17 00:00:00 2001 +From: Schrijvers Luc +Date: Mon, 16 Dec 2024 11:47:52 +0100 +Subject: Disable DBus and qtwebengine on Haiku + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f708cac..3edde8b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -68,7 +68,7 @@ option(BUILD_QT_AND_KDE "Build pure Qt version and KDE version. Only useful for + #################################################### + # Build a D-Bus interface for the Marble widget + # This is disabled by default for all win32, apple and Android +-if(WIN32 OR APPLE OR ANDROID) ++if(WIN32 OR APPLE OR ANDROID OR HAIKU) + option(BUILD_WITH_DBUS "Build the D-Bus interface for the Marble widget" OFF) + else() + option(BUILD_WITH_DBUS "Build the D-Bus interface for the Marble widget" ON) +@@ -113,7 +113,7 @@ set_package_properties(KF6 PROPERTIES + find_package(Protobuf) + set_package_properties(Protobuf PROPERTIES TYPE OPTIONAL PURPOSE "Parsing of OSM PBF files.") + +-if(ANDROID) ++if(ANDROID OR HAIKU) + find_package(Qt6Positioning ${REQUIRED_QT_VERSION} REQUIRED) + find_package(Qt6Multimedia ${REQUIRED_QT_VERSION} REQUIRED) + +-- +2.45.2 + diff --git a/net-im/neochat/neochat-25.04.0.recipe b/net-im/neochat/neochat-25.08.0.recipe similarity index 96% rename from net-im/neochat/neochat-25.04.0.recipe rename to net-im/neochat/neochat-25.08.0.recipe index 676539916..656ab8775 100644 --- a/net-im/neochat/neochat-25.04.0.recipe +++ b/net-im/neochat/neochat-25.08.0.recipe @@ -7,7 +7,7 @@ COPYRIGHT="2025 KDE Organisation" LICENSE="GNU GPL v3" REVISION="1" SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/neochat-$portVersion.tar.xz" -CHECKSUM_SHA256="8f82f14eecf6b5cbb2054a957cb889fbc025fe368ca1fca1ab7a2319a7317202" +CHECKSUM_SHA256="960f05a676cbed9a063bf9cdf53f63f4d817f07a0acf52edd40185320d3248e6" ADDITIONAL_FILES="neochat.rdef.in" ARCHITECTURES="all !x86_gcc2" @@ -63,6 +63,7 @@ REQUIRES=" lib:libQt6OpenGL$secondaryArchSuffix lib:libQt6Qml$secondaryArchSuffix lib:libQt6Quick$secondaryArchSuffix + lib:libQt6TextToSpeech$secondaryArchSuffix lib:libQt6WebView$secondaryArchSuffix lib:libQt6Widgets$secondaryArchSuffix " @@ -109,6 +110,7 @@ BUILD_REQUIRES=" devel:libQt6Multimedia$secondaryArchSuffix devel:libQt6Qml$secondaryArchSuffix devel:libQt6Svg$secondaryArchSuffix + devel:libQt6TextToSpeech$secondaryArchSuffix devel:libQt6WebView$secondaryArchSuffix " BUILD_PREREQUIRES=" @@ -123,7 +125,7 @@ BUILD_PREREQUIRES=" PATCH() { # use Haiku's icon theme - sed -e 's,\ KIconTheme::initTheme();,\// KIconTheme::initTheme();,g' -i src/main.cpp + sed -e 's,\ KIconTheme::initTheme();,\// KIconTheme::initTheme();,g' -i src/app/main.cpp } BUILD() diff --git a/net-im/tokodon/patches/tokodon-25.08.0.patchset b/net-im/tokodon/patches/tokodon-25.08.0.patchset new file mode 100644 index 000000000..7a7181348 --- /dev/null +++ b/net-im/tokodon/patches/tokodon-25.08.0.patchset @@ -0,0 +1,23 @@ +From 65d0634c32a9e55c1f4f3cc2ecbdc8bc753e9e59 Mon Sep 17 00:00:00 2001 +From: Luc Schrijvers +Date: Fri, 18 Apr 2025 16:24:35 +0200 +Subject: Revert requirement for Qt version from 6.8.0 + +This works for now, but will fail in the future + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 85b08a2..ef5a335 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -14,7 +14,7 @@ project(tokodon VERSION ${RELEASE_SERVICE_VERSION}) + option(SAILFISHOS "Build for sailfishOS" OFF) + + set(KF_MIN_VERSION "6.12.0") +-set(QT_MIN_VERSION "6.8.0") ++set(QT_MIN_VERSION "6.7.0") + + include(FeatureSummary) + +-- +2.48.1 + diff --git a/net-im/tokodon/tokodon-25.04.0.recipe b/net-im/tokodon/tokodon-25.08.0.recipe similarity index 91% rename from net-im/tokodon/tokodon-25.04.0.recipe rename to net-im/tokodon/tokodon-25.08.0.recipe index 54ec2a595..5074454b8 100644 --- a/net-im/tokodon/tokodon-25.04.0.recipe +++ b/net-im/tokodon/tokodon-25.08.0.recipe @@ -3,9 +3,9 @@ DESCRIPTION="Tokodon is a Mastodon client. It allows you to interact with the Fe HOMEPAGE="https://invent.kde.org/network/tokodon" COPYRIGHT="2021-2025 KDE Organisation" LICENSE="GNU GPL v3" -REVISION="2" +REVISION="1" SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/tokodon-$portVersion.tar.xz" -CHECKSUM_SHA256="578d241218994ca4854a386413e9ec7a7c022a183e6fed36554a30fb66aa78ba" +CHECKSUM_SHA256="8cf3458f07def1cbcddb3e42707cec1da28034cacef0dbc179a77a2e35c6ae6a" PATCHES="tokodon-$portVersion.patchset" ADDITIONAL_FILES="tokodon.rdef.in" @@ -14,17 +14,19 @@ SECONDARY_ARCHITECTURES="x86" PROVIDES=" tokodon$secondaryArchSuffix = $portVersion - app:Tokodon$secondaryArchSuffix = $portVersion + app:Tokodon = $portVersion " REQUIRES=" haiku$secondaryArchSuffix - kdeclarative6$secondaryArchSuffix - qqc2_desktop_style6$secondaryArchSuffix lib:libGL$secondaryArchSuffix lib:libKirigamiAddonsStatefulApp$secondaryArchSuffix lib:libopenal$secondaryArchSuffix + lib:libQCoro6Core$secondaryArchSuffix + lib:libQCoro6Network$secondaryArchSuffix lib:libQt6Keychain$secondaryArchSuffix # KF6 + qqc2_desktop_style6$secondaryArchSuffix + lib:libKF6CalendarEvents$secondaryArchSuffix lib:libKF6ColorScheme$secondaryArchSuffix lib:libKF6Completion$secondaryArchSuffix lib:libKF6ConfigCore$secondaryArchSuffix @@ -55,6 +57,7 @@ REQUIRES=" BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel devel:libKirigamiAddonsStatefulApp$secondaryArchSuffix + devel:libQCoro6Core$secondaryArchSuffix devel:libQt6Keychain$secondaryArchSuffix # KF6 extra_cmake_modules$secondaryArchSuffix @@ -111,6 +114,9 @@ INSTALL() { make -C build install + # cleanup + rm -rf $dataDir/{applications,knotifications6,metainfo,qlogging-categories6} + mkdir -p $appsDir mv $binDir/tokodon $appsDir/Tokodon diff --git a/net-irc/konversation/konversation-25.04.0.recipe b/net-irc/konversation/konversation-25.08.0.recipe similarity index 98% rename from net-irc/konversation/konversation-25.04.0.recipe rename to net-irc/konversation/konversation-25.08.0.recipe index 162f9aa08..6f50d6375 100644 --- a/net-irc/konversation/konversation-25.04.0.recipe +++ b/net-irc/konversation/konversation-25.08.0.recipe @@ -6,7 +6,7 @@ COPYRIGHT="2010-2025 KDE Organisation" LICENSE="GNU GPL v2" REVISION="1" SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/konversation-$portVersion.tar.xz" -CHECKSUM_SHA256="92d1dfc7cbafa9e1c9e3a426ac4e80e28df4a157e08f076f0654c3ce6e9894d4" +CHECKSUM_SHA256="7fb824266234c3ccbd5f4ed751b7f89688dbfc1bcba50a164d33eb3a27b9073f" SOURCE_DIR="konversation-$portVersion" ADDITIONAL_FILES="konversation.rdef.in" diff --git a/net-news/alligator/alligator-25.04.0.recipe b/net-news/alligator/alligator-25.08.0.recipe similarity index 97% rename from net-news/alligator/alligator-25.04.0.recipe rename to net-news/alligator/alligator-25.08.0.recipe index d18014fe0..90392a015 100644 --- a/net-news/alligator/alligator-25.04.0.recipe +++ b/net-news/alligator/alligator-25.08.0.recipe @@ -6,7 +6,7 @@ LICENSE="MIT GNU GPL v2" REVISION="1" SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/alligator-$portVersion.tar.xz" -CHECKSUM_SHA256="fffd44a398a7eb34d461dc3cc93c95a0efa9eb0b57a178f36e26ac41e7c2a1cb" +CHECKSUM_SHA256="bb39c244f7e26d06d342515a8e69888fbe7a5ea3b7c224ff1f0a0c2718a32d8c" ADDITIONAL_FILES="alligator.rdef.in" ARCHITECTURES="all !x86_gcc2" diff --git a/net-p2p/ktorrent/ktorrent-25.08.0.recipe b/net-p2p/ktorrent/ktorrent-25.08.0.recipe new file mode 100644 index 000000000..9d3613577 --- /dev/null +++ b/net-p2p/ktorrent/ktorrent-25.08.0.recipe @@ -0,0 +1,198 @@ +SUMMARY="A powerful BitTorrent client" +DESCRIPTION="This package contains KTorrent, a BitTorrent peer-to-peer \ +network client, that is based on the KDE platform. Obviously, KTorrent \ +supports such basic features as downloading, uploading and seeding files \ +on the BitTorrent network. However, lots of other additional features and \ +intuitive GUI should make KTorrent a good choice for everyone. Some features \ +are available as plugins hence you should make sure you have the ones you \ +need enabled. + + - Support for HTTP and UDP trackers, trackerless DHT (mainline) and webseeds. + - Alternative UI support including Web interface and Plasma widget. + - Torrent grouping, speed capping, various download prioritization + capabilities on both torrent and file level as well as bandwidth + scheduling. + - Support for fetching torrent files from many sources including any local + file or remote URL, RSS feeds (with filtering) or actively monitored + directory etc. + - Integrated and customizable torrent search on the Web. + - Various security features like IP blocking and protocol encryption. + - Disk space preallocation to reduce fragmentation. + - uTorrent compatible peer exchange. + - Autoconfiguration for LANs like Zeroconf extension and port forwarding via + uPnP. + - Scripting support via Kross and interprocess control via DBus interface. + - SOCKSv4 and SOCKSv5 proxy, IPv6 support. + - Lots of other useful built-in features and plugins." +HOMEPAGE="https://www.kde.org/applications/internet/ktorrent/" +COPYRIGHT="2005 - 2011 Joris Guisson and Ivan Vasic + 2010-2025 KDE Organisation" +LICENSE="GNU LGPL v2" +REVISION="1" +SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/ktorrent-$portVersion.tar.xz" +CHECKSUM_SHA256="4d69eb05ebbcbeea5abea2b4561bdaaa9ab323252281386af080013d0d35e35e" +PATCHES="ktorrent-$portVersion.patchset" +ADDITIONAL_FILES="ktorrent.rdef.in" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="!x86_gcc2 x86" + +libVersion="16.0.0" +libVersionCompat="$libVersion compat >= ${libVersion%%.*}" + +PROVIDES=" + ktorrent$secondaryArchSuffix = $portVersion + app:KTorrent$secondaryArchSuffix = $portVersion + cmd:ktmagnetdownloader$secondaryArchSuffix = $portVersion + cmd:ktupnptest$secondaryArchSuffix = $portVersion + lib:libktcore$secondaryArchSuffix = $libVersionCompat + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libgcrypt$secondaryArchSuffix + lib:libGL$secondaryArchSuffix + lib:libgmp$secondaryArchSuffix + lib:libKTorrent6$secondaryArchSuffix + lib:libphonon4qt6$secondaryArchSuffix + lib:libtag$secondaryArchSuffix + # KF6 + lib:libKF6Archive$secondaryArchSuffix + lib:libKF6Bookmarks$secondaryArchSuffix + lib:libKF6ColorScheme$secondaryArchSuffix + lib:libKF6Completion$secondaryArchSuffix + lib:libKF6ConfigCore$secondaryArchSuffix + lib:libKF6ConfigWidgets$secondaryArchSuffix + lib:libKF6CoreAddons$secondaryArchSuffix + lib:libKF6Crash$secondaryArchSuffix + lib:libKF6DNSSD$secondaryArchSuffix +# lib:libKF6DBusAddons$secondaryArchSuffix + lib:libKF6GuiAddons$secondaryArchSuffix + lib:libKF6I18n$secondaryArchSuffix + lib:libKF6IconThemes$secondaryArchSuffix + lib:libKF6ItemViews$secondaryArchSuffix + lib:libKF6JobWidgets$secondaryArchSuffix + lib:libKF6KCMUtils$secondaryArchSuffix + lib:libKF6KIOCore$secondaryArchSuffix + lib:libKF6Notifications$secondaryArchSuffix + lib:libKF6NotifyConfig$secondaryArchSuffix + lib:libKF6Parts$secondaryArchSuffix + lib:libKF6Plotting$secondaryArchSuffix + lib:libKF6Service$secondaryArchSuffix + lib:libKF6Solid$secondaryArchSuffix + lib:libKF6StatusNotifierItem$secondaryArchSuffix + lib:libKF6Syndication$secondaryArchSuffix + lib:libKF6TextWidgets$secondaryArchSuffix + lib:libKF6WidgetsAddons$secondaryArchSuffix + lib:libKF6WindowSystem$secondaryArchSuffix + lib:libKF6XmlGui$secondaryArchSuffix + # Qt6 + lib:libQt6Core$secondaryArchSuffix + lib:libQt6Core5Compat$secondaryArchSuffix + lib:libQt6DBus$secondaryArchSuffix + lib:libQt6Gui$secondaryArchSuffix + lib:libQt6Network$secondaryArchSuffix + lib:libQt6Qml$secondaryArchSuffix + lib:libQt6Widgets$secondaryArchSuffix + lib:libQt6Xml$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libboost_system$secondaryArchSuffix >= 1.88.0 + devel:libgcrypt$secondaryArchSuffix + devel:libgmp$secondaryArchSuffix + devel:libKTorrent6$secondaryArchSuffix + devel:libphonon4qt6$secondaryArchSuffix + devel:libtag$secondaryArchSuffix + # KF6 + extra_cmake_modules$secondaryArchSuffix + devel:libKF6Archive$secondaryArchSuffix + devel:libKF6ConfigCore$secondaryArchSuffix + devel:libKF6ConfigWidgets$secondaryArchSuffix + devel:libKF6CoreAddons$secondaryArchSuffix + devel:libKF6Crash$secondaryArchSuffix + devel:libKF6DNSSD$secondaryArchSuffix +# devel:libKF6DBusAddons$secondaryArchSuffix + devel:libKF6GuiAddons$secondaryArchSuffix + devel:libKF6I18n$secondaryArchSuffix + devel:libKF6IconThemes$secondaryArchSuffix + devel:libKF6KCMUtils$secondaryArchSuffix + devel:libKF6KIOCore$secondaryArchSuffix + devel:libKF6Notifications$secondaryArchSuffix + devel:libKF6NotifyConfig$secondaryArchSuffix + devel:libKF6Parts$secondaryArchSuffix + devel:libKF6Plotting$secondaryArchSuffix + devel:libKF6Solid$secondaryArchSuffix + devel:libKF6StatusNotifierItem$secondaryArchSuffix + devel:libKF6Syndication$secondaryArchSuffix + devel:libKF6TextWidgets$secondaryArchSuffix + devel:libKF6WidgetsAddons$secondaryArchSuffix + devel:libKF6WindowSystem$secondaryArchSuffix + devel:libKF6XmlGui$secondaryArchSuffix + # Qt6 + devel:libQt6Core$secondaryArchSuffix + devel:libQt6Core5Compat$secondaryArchSuffix + devel:libQt6DBus$secondaryArchSuffix + devel:libQt6Gui$secondaryArchSuffix + devel:libQt6Network$secondaryArchSuffix + devel:libQt6Qml$secondaryArchSuffix + devel:libQt6Widgets$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:gcc$secondaryArchSuffix + cmd:make + cmd:msgfmt$secondaryArchSuffix + cmd:msgmerge$secondaryArchSuffix + cmd:pkg_config$secondaryArchSuffix + " + +TEST_REQUIRES=" + qthaikuplugins$secondaryArchSuffix + " + +BUILD() +{ + cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \ + $cmakeDirArgs \ + -DCMAKE_INSTALL_DATAROOTDIR=$dataDir \ + -DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt6 \ + -DECM_DIR=/system/data/cmake/Modules/ECM/cmake \ + -DENABLE_INFOWIDGET_PLUGIN=OFF \ + -DBUILD_TESTING=OFF \ + -Wno-dev + + make -C build $jobArgs +} + +INSTALL() +{ + make -C build install + + # cleanup + rm -rf $dataDir/{applications,icons,knotifications6,kxmlgui5,metainfo} + + mkdir $appsDir + mv $binDir/ktorrent $appsDir/KTorrent + + APP_SIGNATURE="application/x-vnd.kde-ktorrent" + 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/ktorrent.rdef.in > ktorrent.rdef + + addResourcesToBinaries ktorrent.rdef $appsDir/KTorrent + addAppDeskbarSymlink $appsDir/KTorrent +} + +TEST() +{ + ctest --test-dir build --output-on-failure +} diff --git a/net-p2p/ktorrent/ktorrent-5.1.2.recipe b/net-p2p/ktorrent/ktorrent-5.1.2.recipe deleted file mode 100644 index d7810beab..000000000 --- a/net-p2p/ktorrent/ktorrent-5.1.2.recipe +++ /dev/null @@ -1,186 +0,0 @@ -SUMMARY="A powerful BitTorrent client" -DESCRIPTION="This package contains KTorrent, a BitTorrent peer-to-peer \ -network client, that is based on the KDE platform. Obviously, KTorrent \ -supports such basic features as downloading, uploading and seeding files \ -on the BitTorrent network. However, lots of other additional features and \ -intuitive GUI should make KTorrent a good choice for everyone. Some features \ -are available as plugins hence you should make sure you have the ones you \ -need enabled. - - - Support for HTTP and UDP trackers, trackerless DHT (mainline) and webseeds. - - Alternative UI support including Web interface and Plasma widget. - - Torrent grouping, speed capping, various download prioritization - capabilities on both torrent and file level as well as bandwidth - scheduling. - - Support for fetching torrent files from many sources including any local - file or remote URL, RSS feeds (with filtering) or actively monitored - directory etc. - - Integrated and customizable torrent search on the Web. - - Various security features like IP blocking and protocol encryption. - - Disk space preallocation to reduce fragmentation. - - uTorrent compatible peer exchange. - - Autoconfiguration for LANs like Zeroconf extension and port forwarding via - uPnP. - - Scripting support via Kross and interprocess control via DBus interface. - - SOCKSv4 and SOCKSv5 proxy, IPv6 support. - - Lots of other useful built-in features and plugins." -HOMEPAGE="https://www.kde.org/applications/internet/ktorrent/" -COPYRIGHT="2010-2019 KDE Organisation" -LICENSE="GNU LGPL v2" -REVISION="1" -SOURCE_URI="https://github.com/KDE/ktorrent/archive/v$portVersion.tar.gz" -CHECKSUM_SHA256="f3634d3761ee3905b5258cf6675cba8267d6871ca5c61c41691a36d35bf0419f" -SOURCE_DIR="ktorrent-$portVersion" -PATCHES="ktorrent-$portVersion.patchset" -ADDITIONAL_FILES="ktorrent.rdef.in" - -ARCHITECTURES="all !x86_gcc2" -SECONDARY_ARCHITECTURES="!x86_gcc2 x86" - -PROVIDES=" - ktorrent$secondaryArchSuffix = $portVersion - app:KTorrent$secondaryArchSuffix = $portVersion - cmd:ktmagnetdownloader$secondaryArchSuffix = $portVersion - cmd:ktupnptest$secondaryArchSuffix = $portVersion - " -REQUIRES=" - haiku$secondaryArchSuffix - cmd:dbus_launch - lib:libgcrypt$secondaryArchSuffix - lib:libgmp$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:libKF5I18n$secondaryArchSuffix - lib:libKF5IconThemes$secondaryArchSuffix - lib:libKF5ItemViews$secondaryArchSuffix - lib:libKF5JobWidgets$secondaryArchSuffix - lib:libKF5KCMUtils$secondaryArchSuffix - lib:libKF5KIOCore$secondaryArchSuffix - lib:libKF5KIOFileWidgets$secondaryArchSuffix - lib:libKF5KIOWidgets$secondaryArchSuffix - lib:libKF5KrossCore$secondaryArchSuffix - lib:libKF5KrossUi$secondaryArchSuffix - lib:libKF5Notifications$secondaryArchSuffix - lib:libKF5NotifyConfig$secondaryArchSuffix - lib:libKF5Parts$secondaryArchSuffix - lib:libKF5Plotting$secondaryArchSuffix - lib:libKF5Service$secondaryArchSuffix - lib:libKF5Solid$secondaryArchSuffix - lib:libKF5SonnetUi$secondaryArchSuffix - lib:libKF5TextWidgets$secondaryArchSuffix - lib:libKF5Torrent$secondaryArchSuffix - lib:libKF5WidgetsAddons$secondaryArchSuffix - lib:libKF5WindowSystem$secondaryArchSuffix - lib:libKF5XmlGui$secondaryArchSuffix - lib:libphonon4qt5$secondaryArchSuffix - lib:libQt5Core$secondaryArchSuffix - lib:libQt5DBus$secondaryArchSuffix - lib:libQt5Gui$secondaryArchSuffix - lib:libQt5Network$secondaryArchSuffix - lib:libQt5Widgets$secondaryArchSuffix - lib:libQt5Xml$secondaryArchSuffix - lib:libtag$secondaryArchSuffix - lib:libtag_c$secondaryArchSuffix - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - extra_cmake_modules$secondaryArchSuffix >= 5.65 - devel:libboost_system$secondaryArchSuffix - devel:libgcrypt$secondaryArchSuffix - devel:libgmp$secondaryArchSuffix - devel:libKF5Archive$secondaryArchSuffix - devel:libKF5Auth$secondaryArchSuffix - devel:libKF5Bookmarks$secondaryArchSuffix - devel:libKF5Codecs$secondaryArchSuffix - devel:libKF5Completion$secondaryArchSuffix - devel:libKF5ConfigCore$secondaryArchSuffix - devel:libKF5ConfigWidgets$secondaryArchSuffix - devel:libKF5CoreAddons$secondaryArchSuffix - devel:libKF5Crash$secondaryArchSuffix - devel:libKF5DBusAddons$secondaryArchSuffix - devel:libKF5I18n$secondaryArchSuffix - devel:libKF5IconThemes$secondaryArchSuffix - devel:libKF5ItemViews$secondaryArchSuffix - devel:libKF5JobWidgets$secondaryArchSuffix - devel:libKF5KCMUtils$secondaryArchSuffix - devel:libKF5KIOCore$secondaryArchSuffix - devel:libKF5KrossCore$secondaryArchSuffix - devel:libKF5Notifications$secondaryArchSuffix - devel:libKF5NotifyConfig$secondaryArchSuffix - devel:libKF5Parts$secondaryArchSuffix - devel:libKF5Plotting$secondaryArchSuffix - devel:libKF5Service$secondaryArchSuffix - devel:libKF5Solid$secondaryArchSuffix - devel:libKF5SonnetUi$secondaryArchSuffix - devel:libKF5TextWidgets$secondaryArchSuffix - devel:libKF5Torrent$secondaryArchSuffix - devel:libKF5WidgetsAddons$secondaryArchSuffix - devel:libKF5WindowSystem$secondaryArchSuffix - devel:libKF5XmlGui$secondaryArchSuffix - devel:libphonon4qt5$secondaryArchSuffix - devel:libqca$secondaryArchSuffix - devel:libQt5Core$secondaryArchSuffix >= 5.14 - devel:libtag$secondaryArchSuffix - " -BUILD_PREREQUIRES=" - cmd:cmake - cmd:gcc$secondaryArchSuffix - cmd:ld$secondaryArchSuffix - cmd:lrelease$secondaryArchSuffix >= 5 - cmd:make - cmd:pkg_config$secondaryArchSuffix - cmd:python2 - " - -BUILD() -{ - # disable docs generation until libxml package is fixed - sed -i s/kdoctools/#kdoctool/g CMakeLists.txt - - mkdir -p build - cd build - cmake .. \ - -DCMAKE_INSTALL_PREFIX=$prefix \ - -DSHARE_INSTALL_PREFIX=$dataDir \ - -DCMAKE_INSTALL_PREFIX=$appsDir/KTorrent \ - -DCMAKE_INSTALL_DATAROOTDIR=$dataDir \ - -DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt5 \ - -DECM_DIR=/system/data/cmake/Modules/ECM/cmake \ - -DENABLE_INFOWIDGET_PLUGIN=OFF - make $jobArgs -} - -INSTALL() -{ - cd build - make install - mv $appsDir/KTorrent/bin/* $appsDir/KTorrent - mv $appsDir/KTorrent/ktorrent $appsDir/KTorrent/KTorrent - rm -rf $appsDir/KTorrent/bin - - APP_SIGNATURE="application/x-vnd.ktorrent" - 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/ktorrent.rdef.in > ktorrent.rdef - - addResourcesToBinaries ktorrent.rdef $appsDir/KTorrent/KTorrent - addAppDeskbarSymlink $appsDir/KTorrent/KTorrent -} diff --git a/net-p2p/ktorrent/patches/ktorrent-25.08.0.patchset b/net-p2p/ktorrent/patches/ktorrent-25.08.0.patchset new file mode 100644 index 000000000..98947b9d6 --- /dev/null +++ b/net-p2p/ktorrent/patches/ktorrent-25.08.0.patchset @@ -0,0 +1,321 @@ +From 38551d99b4b41c528ac8ab847a353ea23c9d5470 Mon Sep 17 00:00:00 2001 +From: Luc Schrijvers +Date: Fri, 21 Mar 2025 08:31:49 +0100 +Subject: Fix build errors for Qt6DBus + + +diff --git a/libktcore/CMakeLists.txt b/libktcore/CMakeLists.txt +index 551ad7d..a8e3726 100644 +--- a/libktcore/CMakeLists.txt ++++ b/libktcore/CMakeLists.txt +@@ -69,6 +69,7 @@ target_link_libraries(ktcore PUBLIC + KF6::Parts + KTorrent6 + KF6::XmlGui ++ Qt6::DBus + ) + + if (BUILD_TESTING) +diff --git a/libktcore/dbus/dbus.cpp b/libktcore/dbus/dbus.cpp +index d840bd3..4ea2bc4 100644 +--- a/libktcore/dbus/dbus.cpp ++++ b/libktcore/dbus/dbus.cpp +@@ -4,7 +4,7 @@ + SPDX-License-Identifier: GPL-2.0-or-later + */ + +-#include ++#include + #include + #include + +diff --git a/libktcore/dbus/dbusgroup.cpp b/libktcore/dbus/dbusgroup.cpp +index 6b6a159..33bbc77 100644 +--- a/libktcore/dbus/dbusgroup.cpp ++++ b/libktcore/dbus/dbusgroup.cpp +@@ -4,7 +4,7 @@ + SPDX-License-Identifier: GPL-2.0-or-later + */ + +-#include ++#include + + #include "dbusgroup.h" + #include +diff --git a/libktcore/dbus/dbussettings.cpp b/libktcore/dbus/dbussettings.cpp +index c436778..7c08045 100644 +--- a/libktcore/dbus/dbussettings.cpp ++++ b/libktcore/dbus/dbussettings.cpp +@@ -6,7 +6,7 @@ + #include "dbussettings.h" + #include "settings.h" + +-#include ++#include + + #include + +diff --git a/libktcore/dbus/dbustorrent.cpp b/libktcore/dbus/dbustorrent.cpp +index 3dc8cda..bf31583 100644 +--- a/libktcore/dbus/dbustorrent.cpp ++++ b/libktcore/dbus/dbustorrent.cpp +@@ -4,7 +4,7 @@ + SPDX-License-Identifier: GPL-2.0-or-later + */ + +-#include ++#include + #include + + #include +diff --git a/libktcore/dbus/dbustorrentfilestream.cpp b/libktcore/dbus/dbustorrentfilestream.cpp +index 5ab50a5..16c77b4 100644 +--- a/libktcore/dbus/dbustorrentfilestream.cpp ++++ b/libktcore/dbus/dbustorrentfilestream.cpp +@@ -8,7 +8,7 @@ + + #include + +-#include ++#include + #include + + namespace kt +-- +2.48.1 + + +From 981081fb2139b1191f1825eb5783f49cbb027e3a Mon Sep 17 00:00:00 2001 +From: Luc Schrijvers +Date: Fri, 21 Mar 2025 10:16:21 +0100 +Subject: Disable KGlobalAccel for Haiku + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 77c65c5..2472414 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -55,7 +55,6 @@ find_package(KF6 ${KF_MIN_VERSION} REQUIRED + CoreAddons + Crash + DBusAddons +- GlobalAccel + I18n + IconThemes + KIO +@@ -69,6 +68,7 @@ find_package(KF6 ${KF_MIN_VERSION} REQUIRED + XmlGui + OPTIONAL_COMPONENTS + DocTools ++ GlobalAccel + ) + + find_package(Qt6Core5Compat ${QT_MIN_VERSION}) +@@ -96,6 +96,16 @@ if(KF6TextWidgets_FOUND) + set(HAVE_KF6TextWidgets 1) + endif() + ++find_package(KF6GlobalAccel ${KF_MIN_VERSION}) ++set_package_properties(KF6GlobalAccel ++ PROPERTIES ++ TYPE OPTIONAL ++ PURPOSE "Required for global shortcuts" ++) ++if(KF6GlobalAccel_FOUND) ++ set(HAVE_KF6GlobalAccel 1) ++endif() ++ + find_package(KF6ItemViews ${KF_MIN_VERSION}) + set_package_properties(KF6ItemViews + PROPERTIES +diff --git a/ktorrent/CMakeLists.txt b/ktorrent/CMakeLists.txt +index 582846c..a773df5 100644 +--- a/ktorrent/CMakeLists.txt ++++ b/ktorrent/CMakeLists.txt +@@ -106,7 +106,6 @@ target_link_libraries(ktorrent_app + KF6::ConfigCore + KF6::ConfigGui + KF6::DBusAddons +- KF6::GlobalAccel + KF6::I18n + KF6::IconThemes + KF6::KIOCore +@@ -121,6 +120,12 @@ target_link_libraries(ktorrent_app + KF6::Crash + ) + ++if(KF6GlobalAccel_FOUND) ++target_link_libraries(ktorrent_app ++ KF6::GlobalAccel ++) ++endif() ++ + install(TARGETS ktorrent_app ${INSTALL_TARGETS_DEFAULT_ARGS}) + install(PROGRAMS org.kde.ktorrent.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) + install(FILES ktorrentui.rc DESTINATION ${KDE_INSTALL_KXMLGUIDIR}/ktorrent ) +diff --git a/ktorrent/gui.cpp b/ktorrent/gui.cpp +index 07ba368..f6aa4d9 100644 +--- a/ktorrent/gui.cpp ++++ b/ktorrent/gui.cpp +@@ -17,7 +17,9 @@ + #include + #include + #include +-#include ++#ifdef HAVE_KF6GlobalAccel ++ #include ++#endif + #include + #include + #include +@@ -399,7 +401,9 @@ void GUI::setupActions() + show_kt_action = new QAction(QIcon::fromTheme(QStringLiteral("kt-show-hide")), i18n("Show/Hide KTorrent"), this); + connect(show_kt_action, &QAction::triggered, this, &GUI::showOrHide); + ac->addAction(QStringLiteral("show_kt"), show_kt_action); ++#ifdef HAVE_KF6GlobalAccel + KGlobalAccel::setGlobalShortcut(show_kt_action, QKeySequence(Qt::ALT | Qt::SHIFT | Qt::Key_T)); ++#endif + + setStandardToolBarMenuEnabled(true); + } +diff --git a/ktorrent/torrentactivity.cpp b/ktorrent/torrentactivity.cpp +index 6f72181..c554ff8 100644 +--- a/ktorrent/torrentactivity.cpp ++++ b/ktorrent/torrentactivity.cpp +@@ -12,7 +12,9 @@ + #include + #include + #include +-#include ++#ifdef HAVE_KF6GlobalAccel ++ #include ++#endif + #include + #include + +@@ -122,7 +124,9 @@ void TorrentActivity::setupActions() + ac->addAction(QStringLiteral("queue_suspend"), queue_suspend_action); + ac->setDefaultShortcut(queue_suspend_action, QKeySequence(Qt::SHIFT | Qt::Key_P)); + queue_suspend_action->setToolTip(i18n("Suspend all running torrents")); ++#ifdef HAVE_KF6GlobalAccel + KGlobalAccel::setGlobalShortcut(queue_suspend_action, QKeySequence(Qt::ALT | Qt::SHIFT | Qt::Key_P)); ++#endif + connect(queue_suspend_action, &KToggleAction::toggled, this, &TorrentActivity::suspendQueue); + + show_group_view_action = new KToggleAction(QIcon::fromTheme(QStringLiteral("view-list-tree")), i18n("Group View"), this); +-- +2.48.1 + + +From 2a8c9ca944198a3715f4601e6b3b1bfe3b3df392 Mon Sep 17 00:00:00 2001 +From: Luc Schrijvers +Date: Fri, 21 Mar 2025 09:52:25 +0100 +Subject: Disable KDBusService + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2472414..5acb32f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -54,7 +54,6 @@ find_package(KF6 ${KF_MIN_VERSION} REQUIRED + ConfigWidgets + CoreAddons + Crash +- DBusAddons + I18n + IconThemes + KIO +@@ -68,6 +67,7 @@ find_package(KF6 ${KF_MIN_VERSION} REQUIRED + XmlGui + OPTIONAL_COMPONENTS + DocTools ++ DBusAddons + GlobalAccel + ) + +@@ -96,6 +96,16 @@ if(KF6TextWidgets_FOUND) + set(HAVE_KF6TextWidgets 1) + endif() + ++find_package(KF6DBusAddons ${KF_MIN_VERSION}) ++set_package_properties(KF6DBusAddons ++ PROPERTIES ++ TYPE OPTIONAL ++ PURPOSE "Required for KTorrent's dbus services" ++) ++if(KF6DBusAddons) ++ set(HAVE_KF6DBusAddons 1) ++endif() ++ + find_package(KF6GlobalAccel ${KF_MIN_VERSION}) + set_package_properties(KF6GlobalAccel + PROPERTIES +diff --git a/ktorrent/CMakeLists.txt b/ktorrent/CMakeLists.txt +index a773df5..03778bc 100644 +--- a/ktorrent/CMakeLists.txt ++++ b/ktorrent/CMakeLists.txt +@@ -105,7 +105,6 @@ target_link_libraries(ktorrent_app + KF6::Crash + KF6::ConfigCore + KF6::ConfigGui +- KF6::DBusAddons + KF6::I18n + KF6::IconThemes + KF6::KIOCore +@@ -120,6 +119,12 @@ target_link_libraries(ktorrent_app + KF6::Crash + ) + ++if(KF6DBusAddons_FOUND) ++target_link_libraries(ktorrent_app ++ KF6::DBusAddons ++) ++endif() ++ + if(KF6GlobalAccel_FOUND) + target_link_libraries(ktorrent_app + KF6::GlobalAccel +diff --git a/ktorrent/main.cpp b/ktorrent/main.cpp +index e1bcea2..9d645a2 100644 +--- a/ktorrent/main.cpp ++++ b/ktorrent/main.cpp +@@ -24,7 +24,9 @@ + #include + #include + #include +-#include ++#ifdef HAVE_KF6DBusAddons ++ #include ++#endif + #include + #include + #include +@@ -201,7 +203,9 @@ int main(int argc, char **argv) + } + } + ++#ifdef HAVE_KF6DBusAddons + const KDBusService dbusService(KDBusService::Unique); ++#endif + + #if 0 // ndef Q_WS_WIN + // need to grab lock after the fork call in start, otherwise this will not work properly +@@ -245,6 +249,7 @@ int main(int argc, char **argv) + if (!workingDirectory.isEmpty()) + QDir::setCurrent(oldCurrent); + }; ++#ifdef HAVE_KF6DBusAddons + QObject::connect(&dbusService, &KDBusService::activateRequested, handleCmdLine); + QObject::connect(&dbusService, &KDBusService::activateRequested, &widget, [&widget] { + if (!widget.isVisible()) { +@@ -254,6 +259,7 @@ int main(int argc, char **argv) + KWindowSystem::activateWindow(widget.windowHandle()); + } + }); ++#endif + handleCmdLine(app.arguments(), QString()); + + app.setQuitOnLastWindowClosed(false); +-- +2.48.1 + diff --git a/net-p2p/ktorrent/patches/ktorrent-5.1.2.patchset b/net-p2p/ktorrent/patches/ktorrent-5.1.2.patchset deleted file mode 100644 index d0c3244cf..000000000 --- a/net-p2p/ktorrent/patches/ktorrent-5.1.2.patchset +++ /dev/null @@ -1,53 +0,0 @@ -From 4d69b3890f171c31c05cc7cc5f97c74794e5e9fe Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Sat, 17 Aug 2019 20:06:49 +1000 -Subject: Dbus autostart - - -diff --git a/ktorrent/main.cpp b/ktorrent/main.cpp -index d296bb3..1d4441a 100644 ---- a/ktorrent/main.cpp -+++ b/ktorrent/main.cpp -@@ -36,6 +36,10 @@ - #include - #include - -+#ifdef __HAIKU__ -+#include -+#endif -+ - #include - #include - #include -@@ -93,6 +97,18 @@ bool GrabPIDLock() - - int main(int argc, char** argv) - { -+#ifdef __HAIKU__ -+ int status=0; -+ QProcess dbusProcess; -+ QString exec = QString::fromStdString("/bin/dbus-launch"); -+ QStringList params; -+ dbusProcess.start(exec, params); -+ dbusProcess.waitForFinished(); -+ QString output = QString::fromStdString(dbusProcess.readAllStandardOutput().data()); -+ QStringList list = output.split(QString::fromStdString("\n"), QString::SkipEmptyParts); -+ foreach (const QString &str, list) -+ putenv(str.toLatin1().data()); -+#endif - #ifndef Q_WS_WIN - // ignore SIGPIPE and SIGXFSZ - signal(SIGPIPE, SIG_IGN); -@@ -252,6 +268,9 @@ int main(int argc, char** argv) - Out(SYS_GEN | LOG_IMPORTANT) << "Uncaught unknown exception " << endl; - } - bt::Globals::cleanup(); -+#ifdef __HAIKU__ -+ system("kill -9 $DBUS_SESSION_BUS_PID"); -+#endif - return 0; - } - --- -2.21.0 -