gear-apps, bump to 25.08.0, part7 (#12781)

This commit is contained in:
Schrijvers Luc
2025-08-18 13:55:49 +02:00
committed by GitHub
parent 58b91fa9c2
commit 3bbca43fb7
20 changed files with 1606 additions and 478 deletions

View File

@@ -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
}

View File

@@ -0,0 +1,36 @@
From 3b5726bf5de370ce942b349c688f7c055c44e906 Mon Sep 17 00:00:00 2001
From: Pedro Hernandez <pehg_@outlook.com>
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

View File

@@ -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="

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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 <begasus@gmail.com>
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 <KAboutData>
#include <KCrash>
-#include <KDBusService>
+#if WITH_DBUS
+ #include <KDBusService>
+#endif
#include <KLocalizedString>
#include <kxmlgui_version.h>
@@ -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

View File

@@ -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="

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -0,0 +1,31 @@
From cae95eeb7cda9e2ee06894681669fe410872d5e9 Mon Sep 17 00:00:00 2001
From: Schrijvers Luc <begasus@gmail.com>
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

View File

@@ -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()

View File

@@ -0,0 +1,23 @@
From 65d0634c32a9e55c1f4f3cc2ecbdc8bc753e9e59 Mon Sep 17 00:00:00 2001
From: Luc Schrijvers <begasus@gmail.com>
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

View File

@@ -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

View File

@@ -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"

View File

@@ -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"

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -0,0 +1,321 @@
From 38551d99b4b41c528ac8ab847a353ea23c9d5470 Mon Sep 17 00:00:00 2001
From: Luc Schrijvers <begasus@gmail.com>
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 <QDBusConnection>
+#include <QtDBus/QDBusConnection>
#include <QFile>
#include <QTimer>
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 <QDBusConnection>
+#include <QtDBus/QDBusConnection>
#include "dbusgroup.h"
#include <groups/group.h>
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 <QDBusConnection>
+#include <QtDBus/QDBusConnection>
#include <interfaces/coreinterface.h>
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 <QDBusConnection>
+#include <QtDBus/QDBusConnection>
#include <QThread>
#include <KLocalizedString>
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 <algorithm>
-#include <QDBusConnection>
+#include <QtDBus/QDBusConnection>
#include <util/sha1hash.h>
namespace kt
--
2.48.1
From 981081fb2139b1191f1825eb5783f49cbb027e3a Mon Sep 17 00:00:00 2001
From: Luc Schrijvers <begasus@gmail.com>
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 <KConfig>
#include <KEditToolBar>
#include <KFileWidget>
-#include <KGlobalAccel>
+#ifdef HAVE_KF6GlobalAccel
+ #include <KGlobalAccel>
+#endif
#include <KIO/Job>
#include <KIO/JobUiDelegate>
#include <KMessageBox>
@@ -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 <KActionCollection>
#include <KComboBox>
#include <KConfigGroup>
-#include <KGlobalAccel>
+#ifdef HAVE_KF6GlobalAccel
+ #include <KGlobalAccel>
+#endif
#include <KLocalizedString>
#include <KToggleAction>
@@ -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 <begasus@gmail.com>
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 <KAboutData>
#include <KConfigGroup>
#include <KCrash>
-#include <KDBusService>
+#ifdef HAVE_KF6DBusAddons
+ #include <KDBusService>
+#endif
#include <KLocalizedString>
#include <KSharedConfig>
#include <KWindowSystem>
@@ -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

View File

@@ -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 <QDir>
#include <QFile>
+#ifdef __HAIKU__
+#include <QProcess>
+#endif
+
#include <KAboutData>
#include <KCrash>
#include <KDBusService>
@@ -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