Kwave: add new recipe for 19.03.80 version

This commit is contained in:
Gerasim Troeglazov
2019-03-31 19:33:48 +10:00
parent 24bfb95fc4
commit bb7f1de79d
4 changed files with 371 additions and 0 deletions

Binary file not shown.

View File

@@ -0,0 +1,30 @@
resource app_flags B_MULTIPLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "Kwave",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource file_types message {
"types" = "audio"
};
resource vector_icon {
$"6E636966030501020006033C1F1A33E78BB7ACBF3FFE4F48BB3EBD7B6C0078D9"
$"05818CFF05FF7ADD05040187020408AEBA29382D392CBC9C2EBD4F2F42343537"
$"433A3E3D45BE01C163BF1AC21546480408AEBA23322C342BBA9E2DBB512B4036"
$"33343F3C3A3E45BE67C163BF80C2154749030A0201011240FD83000000000000"
$"3EAE1C43318D49EDB901178420040A0001001241C7AB0000000000004204C3C7"
$"265AC92EBA01178420040A0101001241C7AB0000000000004204C3C7265AC92E"
$"BA0117811004"
};

View File

@@ -0,0 +1,195 @@
SUMMARY="A sound editor for KDE"
DESCRIPTION="Kwave is a sound editor built on KDE Frameworks 5
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="http://kwave.sourceforge.net/"
COPYRIGHT="2010-2019 KDE Organisation"
LICENSE="GNU LGPL v2"
REVISION="1"
SOURCE_URI="https://github.com/KDE/kwave/archive/v$portVersion.tar.gz"
CHECKSUM_SHA256="89120400d8ca8d27b8649ab0765ed2d9d770ec6449baa73f63794f371dd64fbc"
PATCHES="kwave-$portVersion.patchset"
ADDITIONAL_FILES="
kwave.rdef.in
icons.zip
"
ARCHITECTURES="x86_64"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
kwave$secondaryArchSuffix = $portVersion
app:Kwave$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libaudiofile$secondaryArchSuffix
lib:libfftw3$secondaryArchSuffix
lib:libFLAC$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libid3$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:libKF5Activities$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:libKF5DocTools$secondaryArchSuffix
lib:libKF5GuiAddons$secondaryArchSuffix
lib:libKF5I18n$secondaryArchSuffix
lib:libKF5IconThemes$secondaryArchSuffix
lib:libKF5ItemModels$secondaryArchSuffix
lib:libKF5ItemViews$secondaryArchSuffix
lib:libKF5JobWidgets$secondaryArchSuffix
lib:libKF5KIOCore$secondaryArchSuffix
lib:libKF5KIOFileWidgets$secondaryArchSuffix
lib:libKF5KIOWidgets$secondaryArchSuffix
lib:libKF5Notifications$secondaryArchSuffix
lib:libKF5Parts$secondaryArchSuffix
lib:libKF5Service$secondaryArchSuffix
lib:libKF5Solid$secondaryArchSuffix
lib:libKF5SonnetUi$secondaryArchSuffix
lib:libKF5TextWidgets$secondaryArchSuffix
lib:libKF5UnitConversion$secondaryArchSuffix
lib:libKF5WidgetsAddons$secondaryArchSuffix
lib:libKF5WindowSystem$secondaryArchSuffix
lib:libKF5XmlGui$secondaryArchSuffix
lib:libmad$secondaryArchSuffix
lib:libogg$secondaryArchSuffix
lib:libopus$secondaryArchSuffix
lib:libpng$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5DBus$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5Network$secondaryArchSuffix
lib:libQt5PrintSupport$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
lib:libQt5Xml$secondaryArchSuffix
lib:libsamplerate$secondaryArchSuffix
lib:libvorbis$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
extra_cmake_modules$secondaryArchSuffix >= 5.55
devel:libaudiofile$secondaryArchSuffix
devel:libfftw3$secondaryArchSuffix
devel:libFLAC$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libid3$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:libKF5Activities$secondaryArchSuffix
devel:libKF5Archive$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:libKF5DBusAddons$secondaryArchSuffix
devel:libKF5DocTools$secondaryArchSuffix
devel:libKF5GuiAddons$secondaryArchSuffix
devel:libKF5I18n$secondaryArchSuffix
devel:libKF5IconThemes$secondaryArchSuffix
devel:libKF5ItemModels$secondaryArchSuffix
devel:libKF5ItemViews$secondaryArchSuffix
devel:libKF5JobWidgets$secondaryArchSuffix
devel:libKF5KIOCore$secondaryArchSuffix
devel:libKF5KIOFileWidgets$secondaryArchSuffix
devel:libKF5KIOWidgets$secondaryArchSuffix
devel:libKF5Notifications$secondaryArchSuffix
devel:libKF5Parts$secondaryArchSuffix
devel:libKF5Service$secondaryArchSuffix
devel:libKF5Solid$secondaryArchSuffix
devel:libKF5SonnetUi$secondaryArchSuffix
devel:libKF5TextWidgets$secondaryArchSuffix
devel:libKF5UnitConversion$secondaryArchSuffix
devel:libKF5WidgetsAddons$secondaryArchSuffix
devel:libKF5WindowSystem$secondaryArchSuffix
devel:libKF5XmlGui$secondaryArchSuffix
devel:libmad$secondaryArchSuffix
devel:libogg$secondaryArchSuffix
devel:libopus$secondaryArchSuffix
devel:libpng$secondaryArchSuffix
devel:libQt5Core$secondaryArchSuffix >= 5.12
devel:libsamplerate$secondaryArchSuffix
devel:libvorbis$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:g++$secondaryArchSuffix
cmd:make
cmd:python2
cmd:find
cmd:pkg_config$secondaryArchSuffix
cmd:qdbuscpp2xml$secondaryArchSuffix >= 5
cmd:unzip
"
BUILD()
{
mkdir -p build
cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX=$appsDir/Kwave \
-DKDE_INSTALL_DATAROOTDIR=$dataDir \
-DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt5 \
-DECM_DIR=/system/data/cmake/Modules/ECM/cmake \
-DWITH_OSS=OFF \
-DWITH_DOC=OFF \
-DWITH_OPTIMIZED_MEMCPY=OFF \
-DWITH_PULSEAUDIO=OFF \
-DWITH_ALSA=OFF \
-DWITH_MP3=ON
make $jobArgs
}
INSTALL()
{
cd build
make install
mv $appsDir/Kwave/bin/kwave $appsDir/Kwave/Kwave
rm -rf $appsDir/Kwave/bin
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.qt5-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/Kwave
addAppDeskbarSymlink $appsDir/Kwave/Kwave
}

View File

@@ -0,0 +1,146 @@
From 33e859041b22705f6dcf91e37172eaf96f049236 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 24 Mar 2019 21:46:12 +1000
Subject: Fix build for Haiku
diff --git a/kwave/CMakeLists.txt b/kwave/CMakeLists.txt
index 6e2fef8..cf0437e 100644
--- a/kwave/CMakeLists.txt
+++ b/kwave/CMakeLists.txt
@@ -95,7 +95,6 @@ TARGET_LINK_LIBRARIES(kwave_core
KF5::Completion
KF5::ConfigCore
KF5::Crash
- KF5::DBusAddons
KF5::I18n
KF5::IconThemes
KF5::KIOFileWidgets
diff --git a/kwave/TopWidget.cpp b/kwave/TopWidget.cpp
index fb36d63..421f7c9 100644
--- a/kwave/TopWidget.cpp
+++ b/kwave/TopWidget.cpp
@@ -1044,6 +1044,7 @@ int Kwave::TopWidget::loadFile(const QUrl &url)
} else {
qWarning("TopWidget::loadFile() failed: result=%d", res);
QString reason;
+#ifndef Q_OS_HAIKU
switch (res) {
case -ENOMEM:
reason = i18n("Out of memory");
@@ -1060,7 +1061,7 @@ int Kwave::TopWidget::loadFile(const QUrl &url)
default:
reason = _("");
}
-
+#endif
// show an error message box if the reason was known
if (reason.length()) {
Kwave::MessageBox::error(this, reason);
diff --git a/kwave/main.cpp b/kwave/main.cpp
index 84d7da0..85c64d5 100644
--- a/kwave/main.cpp
+++ b/kwave/main.cpp
@@ -26,7 +26,9 @@
#include <KAboutData>
#include <KCrash>
#include <kcrash_version.h>
+#ifndef Q_OS_HAIKU
#include <KDBusService>
+#endif
#include <KLocalizedString>
#include <kxmlgui_version.h>
@@ -231,10 +233,10 @@ int main(int argc, char **argv)
cmdline.process(app);
about.setupCommandLine(&cmdline);
about.processCommandLine(&cmdline);
-
+#ifndef Q_OS_HAIKU
/* let Kwave be a "unique" application, only one instance */
KDBusService service(KDBusService::Unique);
-
+#endif
/* check for an optimized version of memcpy() */
#ifdef WITH_OPTIMIZED_MEMCPY
probe_fast_memcpy();
@@ -250,14 +252,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());
-
+#ifndef Q_OS_HAIKU
QObject::connect(
&service,
SIGNAL(activateRequested(QStringList,QString)),
&app,
SLOT(newInstance(QStringList,QString))
);
-
+#endif
if (retval != ECANCELED)
retval = app.exec();
--
2.19.1
From 854e4c138c12a2e9a88117a86fde1afc01358fdc Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 31 Mar 2019 14:37:52 +1000
Subject: Ugly fix for crash on exit
diff --git a/kwave/main.cpp b/kwave/main.cpp
index 85c64d5..4635cf0 100644
--- a/kwave/main.cpp
+++ b/kwave/main.cpp
@@ -37,6 +37,12 @@
#include "App.h"
#include "Splash.h"
+#ifdef Q_OS_HAIKU
+#include <unistd.h>
+#include <sys/types.h>
+#include <signal.h>
+#endif
+
/**
* add data concerning the developers and
* contributers to the about data
@@ -266,6 +272,9 @@ int main(int argc, char **argv)
splash.done();
splash.close();
+#ifdef Q_OS_HAIKU
+ kill(::getpid(), SIGKILL);
+#endif
return retval;
}
--
2.19.1
From 9cebbcafbc1e367919091da6e337cd66921670e1 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 dc3c3ef..15e3603 100644
--- a/libkwave/PlayBackParam.h
+++ b/libkwave/PlayBackParam.h
@@ -54,7 +54,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.19.1