minuet: add recipe

This commit is contained in:
Gerasim Troeglazov
2024-03-04 21:59:58 +10:00
parent dcc36c6bb1
commit 29f42e0e49
2 changed files with 191 additions and 0 deletions

View File

@@ -0,0 +1,153 @@
SUMMARY="Music Education software by KDE"
DESCRIPTION="Minuet is a free and open source software for music education. \
It is part of KDE Edu the suite of educational applications developed by \
the KDE Community.
* Enhance your musical perception skills
* Visualize exercises on the piano keyboard
* Adjust playing settings to your needs
* Create your own musical exercises"
HOMEPAGE="https://apps.kde.org/minuet"
COPYRIGHT="2010-2024 KDE Organisation"
LICENSE="GNU GPL v2"
REVISION="1"
SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/minuet-$portVersion.tar.xz"
CHECKSUM_SHA256="75346d4a6a7b9533aa1c1319544699d644ecb97b666e449cdf1587f552f265ae"
PATCHES="minuet-$portVersion.patchset"
ADDITIONAL_FILES="minuet.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
minuet$secondaryArchSuffix = $portVersion
app:Minuet$secondaryArchSuffix = $portVersion
lib:libminuetinterfaces$secondaryArchSuffix = 0.3.0 compat >= 0.3
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libfluidsynth$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:libKF5DBusAddons$secondaryArchSuffix
lib:libKF5GuiAddons$secondaryArchSuffix
lib:libKF5I18n$secondaryArchSuffix
lib:libKF5IconThemes$secondaryArchSuffix
lib:libKF5ItemViews$secondaryArchSuffix
lib:libKF5JobWidgets$secondaryArchSuffix
lib:libKF5KDEGames$secondaryArchSuffix
lib:libKF5KIOCore$secondaryArchSuffix
lib:libKF5NewStuff$secondaryArchSuffix
lib:libKF5Service$secondaryArchSuffix
lib:libKF5Solid$secondaryArchSuffix
lib:libKF5TextEditor$secondaryArchSuffix
lib:libKF5TextWidgets$secondaryArchSuffix
lib:libKF5WidgetsAddons$secondaryArchSuffix
lib:libKF5WindowSystem$secondaryArchSuffix
lib:libKF5XmlGui$secondaryArchSuffix
lib:libphonon4qt5$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5DBus$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
lib:libQt5Xml$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
extra_cmake_modules$secondaryArchSuffix
devel:libfluidsynth$secondaryArchSuffix >= 2
devel:libKF5Archive$secondaryArchSuffix
devel:libKF5Attica$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:libKF5DocTools$secondaryArchSuffix
devel:libKF5GuiAddons$secondaryArchSuffix
devel:libKF5I18n$secondaryArchSuffix
devel:libKF5IconThemes$secondaryArchSuffix
devel:libKF5ItemModels$secondaryArchSuffix
devel:libKF5ItemViews$secondaryArchSuffix
devel:libKF5JobWidgets$secondaryArchSuffix
devel:libKF5KDEGames$secondaryArchSuffix
devel:libKF5KIOCore$secondaryArchSuffix
devel:libKF5NewStuff$secondaryArchSuffix
devel:libKF5Service$secondaryArchSuffix
devel:libKF5Solid$secondaryArchSuffix
devel:libKF5TextEditor$secondaryArchSuffix
devel:libKF5TextWidgets$secondaryArchSuffix
devel:libKF5WidgetsAddons$secondaryArchSuffix
devel:libKF5WindowSystem$secondaryArchSuffix
devel:libKF5XmlGui$secondaryArchSuffix
devel:libphonon4qt5$secondaryArchSuffix
devel:libQt5Core$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:g++$secondaryArchSuffix
cmd:lrelease$secondaryArchSuffix >= 5
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
# disable docs generation
sed -e '/add_subdirectory(doc)/ s/^#*/#/' -i CMakeLists.txt
sed -e '/kdoctools_install(po)/ s/^#*/#/' -i CMakeLists.txt
mkdir -p build
cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$appsDir \
-DCMAKE_INSTALL_LIBDIR=$libDir \
-DCMAKE_INSTALL_DATADIR=$dataDir \
-DCMAKE_INSTALL_DATAROOTDIR=$dataDir \
-DSHARE_INSTALL_PREFIX=$dataDir \
-DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt5 \
-DECM_DIR=/system/data/cmake/Modules/ECM/cmake
make $jobArgs
}
INSTALL()
{
cd build
make install
mv $appsDir/bin/minuet $appsDir/Minuet
rm -rf $appsDir/{bin,include}
local APP_SIGNATURE="application/x-vnd.kde-minuet"
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/minuet.rdef.in > minuet.rdef
addResourcesToBinaries minuet.rdef $appsDir/Minuet
addAppDeskbarSymlink $appsDir/Minuet
}

View File

@@ -0,0 +1,38 @@
From bcf62939063540f5ea8b9f354aad62c63c00bff9 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Mon, 4 Mar 2024 21:28:23 +1000
Subject: Fix for Haiku
diff --git a/src/app/qml/Main.qml b/src/app/qml/Main.qml
index 5283af5..068cba9 100644
--- a/src/app/qml/Main.qml
+++ b/src/app/qml/Main.qml
@@ -29,8 +29,8 @@ import QtQuick.Controls.Material 2.0
ApplicationWindow {
id: applicationWindow
visible: true
- width: Screen.width; height: Screen.height
- visibility: Window.Maximized
+ width: Screen.width * 0.75; height: Screen.height * 0.75
+ visibility: Window.Normal
property string titleText: "Minuet"
diff --git a/src/plugins/fluidsynthsoundcontroller/fluidsynthsoundcontroller.cpp b/src/plugins/fluidsynthsoundcontroller/fluidsynthsoundcontroller.cpp
index cbe6127..d28a0ea 100644
--- a/src/plugins/fluidsynthsoundcontroller/fluidsynthsoundcontroller.cpp
+++ b/src/plugins/fluidsynthsoundcontroller/fluidsynthsoundcontroller.cpp
@@ -266,6 +266,9 @@ void FluidSynthSoundController::resetEngine()
#endif
#ifdef Q_OS_WIN
fluid_settings_setstr(m_settings, "audio.driver", "dsound");
+#endif
+#ifdef Q_OS_HAIKU
+ fluid_settings_setstr(m_settings, "audio.driver", "mediakit");
#endif
m_audioDriver = new_fluid_audio_driver(m_settings, m_synth);
if (!m_audioDriver) {
--
2.43.2