kwave_kf6, add (disabled) recipes for 25.08.3 and 25.12.0 (#13465)

This commit is contained in:
Schrijvers Luc
2025-12-22 17:14:07 +01:00
committed by GitHub
parent 3f1ce249a3
commit 31d2e90546
4 changed files with 386 additions and 3 deletions

View File

@@ -11,7 +11,7 @@ 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"
CHECKSUM_SHA256="48dc786800ddc9c946fcec71258f3cf7a3adee91c1304b85da056d26ce8ca254"
SOURCE_DIR="kwave-$portVersion"
PATCHES="kwave-$portVersion.patchset"
ADDITIONAL_FILES="kwave.rdef.in
@@ -188,8 +188,6 @@ INSTALL()
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"

View File

@@ -0,0 +1,205 @@
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="c65bbc823f943249ed05ded7be5b62b7f75a6bcf697229f733332de0fc7c7fa8"
SOURCE_DIR="kwave-$portVersion"
PATCHES="kwave-$portVersion.patchset"
ADDITIONAL_FILES="kwave.rdef.in
icons.zip"
# qt-multimedia backend broken with Qt >= 6.9.1
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: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: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 \
-DWITH_OSS=OFF \
-DWITH_DOC=OFF \
-DWITH_PULSEAUDIO=OFF \
-DWITH_ALSA=OFF \
-DWITH_MP3=ON \
-DWITH_QT_AUDIO=ON \
-DBUILD_TESTING=OFF \
-Wno-dev
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
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,180 @@
From 7cdd16399c633f2e6347eb3a4a12eac76073629f 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.51.0
From 5dafbf927ac6a2c8ecca1346c5079ed57397d8f3 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.51.0
From e6b7ef3a3c3b3b24a76ea74b2ec0857fa29cfd22 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sat, 16 Nov 2024 17:54:31 +0100
Subject: Disable DBus on Haiku, don't build documentation
Co-authored-by: Schrijvers Luc <begasus@gmail.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1677f52..35762f9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -171,8 +171,6 @@ FIND_PACKAGE(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS
ConfigWidgets
CoreAddons
Crash
- DBusAddons
- DocTools
I18n
IconThemes
KIO
@@ -181,6 +179,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 +393,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.51.0