From 31d2e905468ab43c8fc0ebddf03c5603bb48845b Mon Sep 17 00:00:00 2001 From: Schrijvers Luc Date: Mon, 22 Dec 2025 17:14:07 +0100 Subject: [PATCH] kwave_kf6, add (disabled) recipes for 25.08.3 and 25.12.0 (#13465) --- ...5.08.0.recipe => kwave_kf6-25.08.3.recipe} | 4 +- kde-base/kwave/kwave_kf6-25.12.0.recipe | 205 ++++++++++++++++++ ...5.08.0.patchset => kwave-25.08.3.patchset} | 0 kde-base/kwave/patches/kwave-25.12.0.patchset | 180 +++++++++++++++ 4 files changed, 386 insertions(+), 3 deletions(-) rename kde-base/kwave/{kwave_kf6-25.08.0.recipe => kwave_kf6-25.08.3.recipe} (98%) create mode 100644 kde-base/kwave/kwave_kf6-25.12.0.recipe rename kde-base/kwave/patches/{kwave-25.08.0.patchset => kwave-25.08.3.patchset} (100%) create mode 100644 kde-base/kwave/patches/kwave-25.12.0.patchset diff --git a/kde-base/kwave/kwave_kf6-25.08.0.recipe b/kde-base/kwave/kwave_kf6-25.08.3.recipe similarity index 98% rename from kde-base/kwave/kwave_kf6-25.08.0.recipe rename to kde-base/kwave/kwave_kf6-25.08.3.recipe index 81fb473fc..16f93f36a 100644 --- a/kde-base/kwave/kwave_kf6-25.08.0.recipe +++ b/kde-base/kwave/kwave_kf6-25.08.3.recipe @@ -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" diff --git a/kde-base/kwave/kwave_kf6-25.12.0.recipe b/kde-base/kwave/kwave_kf6-25.12.0.recipe new file mode 100644 index 000000000..c76468119 --- /dev/null +++ b/kde-base/kwave/kwave_kf6-25.12.0.recipe @@ -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 +} diff --git a/kde-base/kwave/patches/kwave-25.08.0.patchset b/kde-base/kwave/patches/kwave-25.08.3.patchset similarity index 100% rename from kde-base/kwave/patches/kwave-25.08.0.patchset rename to kde-base/kwave/patches/kwave-25.08.3.patchset diff --git a/kde-base/kwave/patches/kwave-25.12.0.patchset b/kde-base/kwave/patches/kwave-25.12.0.patchset new file mode 100644 index 000000000..c740efd7e --- /dev/null +++ b/kde-base/kwave/patches/kwave-25.12.0.patchset @@ -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 + +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 + #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.51.0 +