drumstick: fix plugin lookup and enable SonivoxEAS and FluidSynth plugins

SonivoxEAS is enabled by building with PulseAudio.
This commit is contained in:
Orivej Desh 2020-11-12 03:38:19 +00:00
parent 66c98ec550
commit a1c9c430bf
3 changed files with 37 additions and 8 deletions

View File

@ -1,5 +1,6 @@
{ stdenv, fetchurl, alsaLib, cmake, docbook_xsl, docbook_xml_dtd_45, doxygen
, fluidsynth, pkgconfig, qtbase, qtsvg
{ stdenv, fetchurl
, cmake, docbook_xml_dtd_45, docbook_xsl, doxygen, pkg-config, wrapQtAppsHook
, alsaLib, fluidsynth, qtbase, qtsvg, libpulseaudio
}:
stdenv.mkDerivation rec {
@ -11,18 +12,25 @@ stdenv.mkDerivation rec {
sha256 = "1n9wvg79yvkygrkc8xd8pgrd3d7hqmr7gh24dccf0px23lla9b3m";
};
patches = [
./drumstick-fluidsynth.patch
./drumstick-plugins.patch
];
postPatch = ''
substituteInPlace library/rt/backendmanager.cpp --subst-var out
'';
outputs = [ "out" "dev" "man" ];
enableParallelBuilding = true;
#Temporarily remove drumstick-piano; Gives segment fault. Submitted ticket
postInstall = ''
rm $out/bin/drumstick-vpiano
'';
nativeBuildInputs = [
cmake docbook_xml_dtd_45 docbook_xml_dtd_45 docbook_xsl doxygen pkg-config wrapQtAppsHook
];
nativeBuildInputs = [ cmake pkgconfig docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_45 ];
buildInputs = [
alsaLib doxygen fluidsynth qtbase qtsvg
alsaLib fluidsynth libpulseaudio qtbase qtsvg
];
meta = with stdenv.lib; {

View File

@ -0,0 +1,9 @@
It works with fluidsynth 2.
Backported from r400: https://sourceforge.net/p/drumstick/code/400/
--- a/library/rt-backends/CMakeLists.txt
+++ b/library/rt-backends/CMakeLists.txt
@@ -54,1 +54,1 @@ if (PKG_CONFIG_FOUND)
- pkg_check_modules(FLUIDSYNTH fluidsynth>=1.1.1 fluidsynth<=1.1.11)
+ pkg_check_modules(FLUIDSYNTH fluidsynth>=1.1.1)

View File

@ -0,0 +1,12 @@
Make it look for its plugin in its own installation directory.
--- a/library/rt/backendmanager.cpp
+++ b/library/rt/backendmanager.cpp
@@ -159,6 +159,7 @@ namespace rt {
foreach(const QString& path, QCoreApplication::libraryPaths()) {
d->appendDir( path + QDir::separator() + QSTR_DRUMSTICK, result );
}
+ d->appendDir( "@out@/lib/drumstick", result );
return result;
}