From 29f42e0e4937ee146b42792d8e05f03167c81054 Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Mon, 4 Mar 2024 21:59:58 +1000 Subject: [PATCH] minuet: add recipe --- kde-apps/minuet/minuet-23.08.5.recipe | 153 ++++++++++++++++++ .../minuet/patches/minuet-23.08.5.patchset | 38 +++++ 2 files changed, 191 insertions(+) create mode 100644 kde-apps/minuet/minuet-23.08.5.recipe create mode 100644 kde-apps/minuet/patches/minuet-23.08.5.patchset diff --git a/kde-apps/minuet/minuet-23.08.5.recipe b/kde-apps/minuet/minuet-23.08.5.recipe new file mode 100644 index 000000000..a5cddcc9e --- /dev/null +++ b/kde-apps/minuet/minuet-23.08.5.recipe @@ -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 +} diff --git a/kde-apps/minuet/patches/minuet-23.08.5.patchset b/kde-apps/minuet/patches/minuet-23.08.5.patchset new file mode 100644 index 000000000..2ee81d607 --- /dev/null +++ b/kde-apps/minuet/patches/minuet-23.08.5.patchset @@ -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 +