diff --git a/recipes-musicians/distrho/distrho-ports.bb b/recipes-musicians/distrho/distrho-ports.bb index fc9ea5c..f32c404 100644 --- a/recipes-musicians/distrho/distrho-ports.bb +++ b/recipes-musicians/distrho/distrho-ports.bb @@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = " \ SRC_URI = " \ git://github.com/DISTRHO/DISTRHO-Ports.git \ - file://0001-Fix-build-with-musl-by-removing-unused-SystemStats-g.patch \ - file://0002-Further-musl-fix-by-removal-of-unused-function.patch \ + file://0001-Adjust-build-so-ttl-generation-is-postponed.patch \ + file://0002-make-project.lua-Adjust-includepath-to-fix-build-of-.patch \ \ http://linuxsynths.com/ObxdPatchesDemos/ObxdPatchesBrian-01.tar.gz;name=linuxsynths-obxd-patches1;subdir=linuxsynths-obxd-patches \ \ @@ -17,9 +17,9 @@ SRC_URI = " \ http://linuxsynths.com/VexPatchesDemos/VexPatches02.tar.gz;name=linuxsynths-vex-patches2;subdir=linuxsynths-vex-patches \ " -SRCREV = "65c7c68a79e532d01695466f5b94c0e1cc4ae940" +SRCREV = "b1770b2258f309c11d32ee718bd7f78bc9ca0ae3" S = "${WORKDIR}/git" -PV = "2018-04-16+git${SRCPV}" +PV = "2020-07-14+git${SRCPV}" SRC_URI[linuxsynths-obxd-patches1.md5sum] = "32244f847a54a71ee3c25079df5c8b84" SRC_URI[linuxsynths-obxd-patches1.sha256sum] = "246fccadd71bb9f0606a95bf7b0aee7807fd3a14f754367425423a51c31e160e" @@ -31,10 +31,9 @@ SRC_URI[linuxsynths-vex-patches2.sha256sum] = "378cff261dab333c5f29246b6f3f557e0 REQUIRED_DISTRO_FEATURES = "x11 opengl" -inherit dos2unix lv2-turtle-helper features_check pack_audio_plugins +inherit meson lv2-turtle-helper features_check pack_audio_plugins DEPENDS += " \ - premake3-native \ virtual/libgl \ alsa-lib \ libx11 \ @@ -44,23 +43,20 @@ DEPENDS += " \ ladspa-sdk \ " -LV2_TTL_GENERATOR = "${B}/libs/lv2_ttl_generator" +LV2_TTL_GENERATOR = "${B}/libs/lv2-ttl-generator/lv2_ttl_generator" do_ttl_sed() { - # keep unmodified scripts for distrho-ports-extra - cp -r ${S}/scripts ${WORKDIR} - sed -i 's|$GEN ./$FILE|echo "`pwd`/$FILE" >> ${LV2_PLUGIN_INFO_FILE}|g' `find ${S}/scripts -name *.sh` + sed -i \ + -e 's|lv2_ttl_generator,|'\''echo'\'', plugin_lv2_dir / plugin_name + lib_suffix, '\''>>'\'', '\''${LV2_PLUGIN_INFO_FILE}'\'',|g' \ + ${S}/ports-legacy/meson.build ${S}/ports/meson.build } -do_configure() { - # platforms supporting sse2 can override NOOPTIMIZATIONS - later todo? - NOOPTIMIZATIONS=1 ${S}/scripts/premake-update.sh linux +do_configure_append() { + # Have no idea how to teach meson this properly... + sed -i 's|'\''>>'\''|>>|g' ${B}/build.ninja } -do_install() { - install -d ${D}${libdir} - cp -r ${S}/bin/* ${D}${libdir} - +do_install_append() { # presets install -d ${D}${libdir}/lv2 # obxd @@ -72,14 +68,21 @@ do_install() { cp -rf $file ${D}${libdir}/lv2/ done - # install ttl-generator bindir for distrho-ports-extra - install -d ${D}/${bindir}/scripts - install -m 755 ${S}/libs/lv2_ttl_generator ${D}/${bindir} - rm ${S}/libs/lv2_ttl_generator - cp -r ${WORKDIR}/scripts ${D}/${bindir}/ - cp -r ${S}/libs ${D}/${libdir}/ - mv ${D}/${libdir}/libs/*.a ${D}/${libdir} + # install ttl-generator and scripts for distrho-ports-extra + install -d ${D}${bindir}/scripts + install -m 755 ${B}/libs/lv2-ttl-generator/lv2_ttl_generator ${D}${bindir} + for file in `find ${S}/scripts -name '*.sh'` ; do + install -m 755 $file ${D}${bindir}/scripts + done + install -m 755 ${S}/scripts/make-project.lua ${D}${bindir}/scripts + + # juce libs & headers for distrho-ports-extra + cp -r ${S}/libs ${D}${libdir}/ + install -m 644 ${B}/libs/juced/libjuced.a ${D}${libdir} + install -m 644 ${B}/libs/juce-legacy/libjuce-legacy.a ${D}${libdir} + install -m 644 ${B}/libs/juce-current/libjuce-current.a ${D}${libdir} } + # ttl-generator bindir for distrho-ports-extra SYSROOT_DIRS_append = " ${bindir}" diff --git a/recipes-musicians/distrho/distrho-ports/0001-Adjust-build-so-ttl-generation-is-postponed.patch b/recipes-musicians/distrho/distrho-ports/0001-Adjust-build-so-ttl-generation-is-postponed.patch new file mode 100644 index 0000000..eeaf344 --- /dev/null +++ b/recipes-musicians/distrho/distrho-ports/0001-Adjust-build-so-ttl-generation-is-postponed.patch @@ -0,0 +1,45 @@ +From 6854821d70fb76a799d9535ec85abf4c43a21255 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Tue, 21 Jul 2020 20:21:58 +0200 +Subject: [PATCH] Adjust build so ttl-generation is postponed +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Inappropriate [embedded-specific] + +Signed-off-by: Andreas Müller +--- + ports-legacy/meson.build | 2 +- + ports/meson.build | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/ports-legacy/meson.build b/ports-legacy/meson.build +index f72df49b..817e18c9 100644 +--- a/ports-legacy/meson.build ++++ b/ports-legacy/meson.build +@@ -274,7 +274,7 @@ if plugin in get_option('plugins') + 'mkdir', '-p', plugin_lv2_dir, '&&', + 'cd', plugin_lv2_dir, '&&', + 'cp', plugin_lv2_lib.full_path(), plugin_lv2_dir / plugin_name + lib_suffix, '&&', +- (meson.is_cross_build() ? 'wine' : 'env'), lv2_ttl_generator, '.' / plugin_name + lib_suffix, ++ 'echo', plugin_lv2_dir / plugin_name + lib_suffix, '>>', '/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/distrho-ports/2020-07-14+gitAUTOINC+b1770b2258-r0/lv2-ttl-generator-data', + ], + install: true, + install_dir: lv2dir, +diff --git a/ports/meson.build b/ports/meson.build +index 51e3ad93..e06370ab 100644 +--- a/ports/meson.build ++++ b/ports/meson.build +@@ -220,7 +220,7 @@ foreach plugin : plugins + 'mkdir', '-p', plugin_lv2_dir, '&&', + 'cd', plugin_lv2_dir, '&&', + 'cp', plugin_lv2_lib.full_path(), plugin_lv2_dir / plugin_name + lib_suffix, '&&', +- (meson.is_cross_build() ? 'wine' : 'env'), lv2_ttl_generator, '.' / plugin_name + lib_suffix, ++ lv2_ttl_generator, + ], + install: true, + install_dir: lv2dir, +-- +2.21.3 + diff --git a/recipes-musicians/distrho/distrho-ports/0001-Fix-build-with-musl-by-removing-unused-SystemStats-g.patch b/recipes-musicians/distrho/distrho-ports/0001-Fix-build-with-musl-by-removing-unused-SystemStats-g.patch deleted file mode 100644 index 7435c57..0000000 --- a/recipes-musicians/distrho/distrho-ports/0001-Fix-build-with-musl-by-removing-unused-SystemStats-g.patch +++ /dev/null @@ -1,134 +0,0 @@ -From 1a4c189c7c5778951edc57f2840889629ce81135 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Wed, 3 Apr 2019 23:38:30 +0200 -Subject: [PATCH] Fix build with musl by removing unused - SystemStats::getStackBacktrace -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Musl [1] considers itself as the pure POSIX incarnation and unfortunately -there are people liking it. -Since execinfo.h is not part of POSIX but a GNU header [2], musl fails with - -| ../source/modules/juce_core/juce_core.cpp:98:12: fatal error: execinfo.h: No such file or directory -| #include -| ^~~~~~~~~~~~ -| compilation terminated. - -Removing SystemStats::getStackBacktrace does not cause any harm because it is -not used. - -I am aware that there might be an update of JUCE or other prugins using -getStackBacktrace in the future but till then musl fan boys are happy. - -Upstream-Status: Submitted [3] - -[1] https://www.musl-libc.org/ -[2] https://www.gnu.org/software/gnulib/manual/html_node/execinfo_002eh.html -[3] https://github.com/DISTRHO/DISTRHO-Ports/pull/31 - -Signed-off-by: Andreas Müller ---- - .../source/modules/juce_core/juce_core.cpp | 3 -- - .../juce_core/system/juce_SystemStats.cpp | 52 ------------------- - .../juce_core/system/juce_SystemStats.h | 6 --- - 3 files changed, 61 deletions(-) - -diff --git a/libs/juce/source/modules/juce_core/juce_core.cpp b/libs/juce/source/modules/juce_core/juce_core.cpp -index 136dd284..06c7d17f 100644 ---- a/libs/juce/source/modules/juce_core/juce_core.cpp -+++ b/libs/juce/source/modules/juce_core/juce_core.cpp -@@ -94,9 +94,6 @@ - #include - #include - -- #if ! JUCE_ANDROID -- #include -- #endif - #endif - - #if JUCE_MAC || JUCE_IOS -diff --git a/libs/juce/source/modules/juce_core/system/juce_SystemStats.cpp b/libs/juce/source/modules/juce_core/system/juce_SystemStats.cpp -index c073331b..6f814213 100644 ---- a/libs/juce/source/modules/juce_core/system/juce_SystemStats.cpp -+++ b/libs/juce/source/modules/juce_core/system/juce_SystemStats.cpp -@@ -118,58 +118,6 @@ bool SystemStats::hasAVX2() noexcept { return getCPUInformation().has - bool SystemStats::hasNeon() noexcept { return getCPUInformation().hasNeon; } - - --//============================================================================== --String SystemStats::getStackBacktrace() --{ -- String result; -- -- #if JUCE_ANDROID || JUCE_MINGW -- jassertfalse; // sorry, not implemented yet! -- -- #elif JUCE_WINDOWS -- HANDLE process = GetCurrentProcess(); -- SymInitialize (process, nullptr, TRUE); -- -- void* stack[128]; -- int frames = (int) CaptureStackBackTrace (0, numElementsInArray (stack), stack, nullptr); -- -- HeapBlock symbol; -- symbol.calloc (sizeof (SYMBOL_INFO) + 256, 1); -- symbol->MaxNameLen = 255; -- symbol->SizeOfStruct = sizeof (SYMBOL_INFO); -- -- for (int i = 0; i < frames; ++i) -- { -- DWORD64 displacement = 0; -- -- if (SymFromAddr (process, (DWORD64) stack[i], &displacement, symbol)) -- { -- result << i << ": "; -- -- IMAGEHLP_MODULE64 moduleInfo; -- zerostruct (moduleInfo); -- moduleInfo.SizeOfStruct = sizeof (moduleInfo); -- -- if (::SymGetModuleInfo64 (process, symbol->ModBase, &moduleInfo)) -- result << moduleInfo.ModuleName << ": "; -- -- result << symbol->Name << " + 0x" << String::toHexString ((int64) displacement) << newLine; -- } -- } -- -- #else -- void* stack[128]; -- int frames = backtrace (stack, numElementsInArray (stack)); -- char** frameStrings = backtrace_symbols (stack, frames); -- -- for (int i = 0; i < frames; ++i) -- result << frameStrings[i] << newLine; -- -- ::free (frameStrings); -- #endif -- -- return result; --} - - //============================================================================== - static SystemStats::CrashHandlerFunction globalCrashHandler = nullptr; -diff --git a/libs/juce/source/modules/juce_core/system/juce_SystemStats.h b/libs/juce/source/modules/juce_core/system/juce_SystemStats.h -index 89d3854e..a99d830a 100644 ---- a/libs/juce/source/modules/juce_core/system/juce_SystemStats.h -+++ b/libs/juce/source/modules/juce_core/system/juce_SystemStats.h -@@ -186,12 +186,6 @@ public: - static int getPageSize(); - - //============================================================================== -- /** Returns a backtrace of the current call-stack. -- The usefulness of the result will depend on the level of debug symbols -- that are available in the executable. -- */ -- static String getStackBacktrace(); -- - /** A function type for use in setApplicationCrashHandler(). The parameter will contain - platform-specific data about the crash. - */ --- -2.20.1 - diff --git a/recipes-musicians/distrho/distrho-ports/0002-Further-musl-fix-by-removal-of-unused-function.patch b/recipes-musicians/distrho/distrho-ports/0002-Further-musl-fix-by-removal-of-unused-function.patch deleted file mode 100644 index ca74121..0000000 --- a/recipes-musicians/distrho/distrho-ports/0002-Further-musl-fix-by-removal-of-unused-function.patch +++ /dev/null @@ -1,146 +0,0 @@ -From 06be2d073cb86298cba6ae98f8c7ffbec4f15e7e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Thu, 4 Apr 2019 00:19:22 +0200 -Subject: [PATCH] Further musl fix by removal of unused function -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This time there are _NL_IDENTIFICATION* variables missing. Since the functions - -SystemStats::getUserLanguage() -SystemStats::getUserRegion() -SystemStats::getDisplayLanguage() - -are not in use there is no harm caused by removing them. - -Same: I am aware that there might be an update of JUCE or other prugins using -getStackBacktrace in the future but till then musl fan boys are happy. - -Upstream-Status: Submitted [1] - -[1] https://github.com/DISTRHO/DISTRHO-Ports/pull/31 - -Signed-off-by: Andreas Müller ---- - .../native/juce_android_SystemStats.cpp | 4 ---- - .../native/juce_linux_SystemStats.cpp | 4 ---- - .../juce_core/native/juce_mac_SystemStats.mm | 11 ---------- - .../native/juce_win32_SystemStats.cpp | 22 ------------------- - .../juce_core/system/juce_SystemStats.h | 17 -------------- - 5 files changed, 58 deletions(-) - -diff --git a/libs/juce/source/modules/juce_core/native/juce_android_SystemStats.cpp b/libs/juce/source/modules/juce_core/native/juce_android_SystemStats.cpp -index a1bdd59e..6055352f 100644 ---- a/libs/juce/source/modules/juce_core/native/juce_android_SystemStats.cpp -+++ b/libs/juce/source/modules/juce_core/native/juce_android_SystemStats.cpp -@@ -445,10 +445,6 @@ String SystemStats::getComputerName() - } - - --String SystemStats::getUserLanguage() { return AndroidStatsHelpers::getLocaleValue (false); } --String SystemStats::getUserRegion() { return AndroidStatsHelpers::getLocaleValue (true); } --String SystemStats::getDisplayLanguage() { return getUserLanguage() + "-" + getUserRegion(); } -- - //============================================================================== - void CPUInformation::initialise() noexcept - { -diff --git a/libs/juce/source/modules/juce_core/native/juce_linux_SystemStats.cpp b/libs/juce/source/modules/juce_core/native/juce_linux_SystemStats.cpp -index 40f19187..07a99749 100644 ---- a/libs/juce/source/modules/juce_core/native/juce_linux_SystemStats.cpp -+++ b/libs/juce/source/modules/juce_core/native/juce_linux_SystemStats.cpp -@@ -129,10 +129,6 @@ static String getLocaleValue (nl_item key) - return result; - } - --String SystemStats::getUserLanguage() { return getLocaleValue (_NL_IDENTIFICATION_LANGUAGE); } --String SystemStats::getUserRegion() { return getLocaleValue (_NL_IDENTIFICATION_TERRITORY); } --String SystemStats::getDisplayLanguage() { return getUserLanguage() + "-" + getUserRegion(); } -- - //============================================================================== - void CPUInformation::initialise() noexcept - { -diff --git a/libs/juce/source/modules/juce_core/native/juce_mac_SystemStats.mm b/libs/juce/source/modules/juce_core/native/juce_mac_SystemStats.mm -index 81f62192..b0a751dd 100644 ---- a/libs/juce/source/modules/juce_core/native/juce_mac_SystemStats.mm -+++ b/libs/juce/source/modules/juce_core/native/juce_mac_SystemStats.mm -@@ -241,17 +241,6 @@ static String getLocaleValue (CFStringRef key) - return result; - } - --String SystemStats::getUserLanguage() { return getLocaleValue (kCFLocaleLanguageCode); } --String SystemStats::getUserRegion() { return getLocaleValue (kCFLocaleCountryCode); } -- --String SystemStats::getDisplayLanguage() --{ -- CFArrayRef cfPrefLangs = CFLocaleCopyPreferredLanguages(); -- const String result (String::fromCFString ((CFStringRef) CFArrayGetValueAtIndex (cfPrefLangs, 0))); -- CFRelease (cfPrefLangs); -- return result; --} -- - //============================================================================== - /* NB: these are kept outside the HiResCounterInfo struct and initialised to 1 to avoid - division-by-zero errors if some other static constructor calls us before this file's -diff --git a/libs/juce/source/modules/juce_core/native/juce_win32_SystemStats.cpp b/libs/juce/source/modules/juce_core/native/juce_win32_SystemStats.cpp -index e2b44093..c78cf747 100644 ---- a/libs/juce/source/modules/juce_core/native/juce_win32_SystemStats.cpp -+++ b/libs/juce/source/modules/juce_core/native/juce_win32_SystemStats.cpp -@@ -469,26 +469,4 @@ static String getLocaleValue (LCID locale, LCTYPE key, const char* defaultValue) - return defaultValue; - } - --String SystemStats::getUserLanguage() { return getLocaleValue (LOCALE_USER_DEFAULT, LOCALE_SISO639LANGNAME, "en"); } --String SystemStats::getUserRegion() { return getLocaleValue (LOCALE_USER_DEFAULT, LOCALE_SISO3166CTRYNAME, "US"); } -- --String SystemStats::getDisplayLanguage() --{ -- DynamicLibrary dll ("kernel32.dll"); -- JUCE_LOAD_WINAPI_FUNCTION (dll, GetUserDefaultUILanguage, getUserDefaultUILanguage, LANGID, (void)) -- -- if (getUserDefaultUILanguage == nullptr) -- return "en"; -- -- const DWORD langID = MAKELCID (getUserDefaultUILanguage(), SORT_DEFAULT); -- -- String mainLang (getLocaleValue (langID, LOCALE_SISO639LANGNAME, "en")); -- String region (getLocaleValue (langID, LOCALE_SISO3166CTRYNAME, nullptr)); -- -- if (region.isNotEmpty()) -- mainLang << '-' << region; -- -- return mainLang; --} -- - } // namespace juce -diff --git a/libs/juce/source/modules/juce_core/system/juce_SystemStats.h b/libs/juce/source/modules/juce_core/system/juce_SystemStats.h -index a99d830a..ca560670 100644 ---- a/libs/juce/source/modules/juce_core/system/juce_SystemStats.h -+++ b/libs/juce/source/modules/juce_core/system/juce_SystemStats.h -@@ -106,23 +106,6 @@ public: - /** Returns the host-name of the computer. */ - static String getComputerName(); - -- /** Returns the language of the user's locale. -- The return value is a 2 or 3 letter language code (ISO 639-1 or ISO 639-2) -- */ -- static String getUserLanguage(); -- -- /** Returns the region of the user's locale. -- The return value is a 2 letter country code (ISO 3166-1 alpha-2). -- */ -- static String getUserRegion(); -- -- /** Returns the user's display language. -- The return value is a 2 or 3 letter language code (ISO 639-1 or ISO 639-2). -- Note that depending on the OS and region, this may also be followed by a dash -- and a sub-region code, e.g "en-GB" -- */ -- static String getDisplayLanguage(); -- - /** This will attempt to return some kind of string describing the device. - If no description is available, it'll just return an empty string. You may - want to use this for things like determining the type of phone/iPad, etc. --- -2.20.1 - diff --git a/recipes-musicians/distrho/distrho-ports/0002-make-project.lua-Adjust-includepath-to-fix-build-of-.patch b/recipes-musicians/distrho/distrho-ports/0002-make-project.lua-Adjust-includepath-to-fix-build-of-.patch new file mode 100644 index 0000000..ef4dbcf --- /dev/null +++ b/recipes-musicians/distrho/distrho-ports/0002-make-project.lua-Adjust-includepath-to-fix-build-of-.patch @@ -0,0 +1,52 @@ +From f420c0b5754060bd4a93108a5c75a1ba4eed886e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Tue, 21 Jul 2020 21:31:47 +0200 +Subject: [PATCH] make-project.lua: Adjust includepath to fix build of + DISTRHO-Ports-Extra +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Andreas Müller +--- + scripts/make-project.lua | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/scripts/make-project.lua b/scripts/make-project.lua +index a68a09eb..c7d074f5 100644 +--- a/scripts/make-project.lua ++++ b/scripts/make-project.lua +@@ -124,7 +124,7 @@ function make_plugin_project(name, spec) + "../../../libs/juce-legacy/source", + "../../../libs/juce-legacy/source/modules", + "../../../libs/juce-plugin", +- "../../../libs/juce-plugin/juce-legacy" ++ "../../../libs/juce-legacy" + } + + package.libpaths = { +@@ -156,8 +156,8 @@ end + function make_juce_lv2_project(name) + package = make_plugin_project(name, "LV2") + +- package.config["Release"].links = { "juce-legacy" } +- package.config["Debug"].links = { "juce-legacy_debug" } ++ package.config["Release"].links = { "juce-current" } ++ package.config["Debug"].links = { "juce-current_debug" } + + if (windows) then + package.links = { "comdlg32", "gdi32", "imm32", "ole32", "oleaut32", "shlwapi", "uuid", "version", "winmm", "wininet", "ws2_32" } +@@ -184,8 +184,8 @@ end + function make_juce_vst_project(name) + package = make_plugin_project(name, "VST") + +- package.config["Release"].links = { "juce-legacy" } +- package.config["Debug"].links = { "juce-legacy_debug" } ++ package.config["Release"].links = { ""juce-legacy", juce-current" } ++ package.config["Debug"].links = { "juce-legacy_debug", "juce-current_debug" } + + package.buildoptions = { + package.buildoptions, +-- +2.21.3 +