1 Commits

Author SHA1 Message Date
Andreas Müller
b7d825f68a distrho-ports: upgrade 2018-04-16+ -> 2020-07-14+
Give up musl patches: they don't apply due to juce upgrade

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2020-07-22 00:46:00 +02:00
5 changed files with 124 additions and 304 deletions

View File

@@ -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}"

View File

@@ -0,0 +1,45 @@
From 6854821d70fb76a799d9535ec85abf4c43a21255 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
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 <schnitzeltony@gmail.com>
---
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

View File

@@ -1,134 +0,0 @@
From 1a4c189c7c5778951edc57f2840889629ce81135 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
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 <execinfo.h>
| ^~~~~~~~~~~~
| 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 <schnitzeltony@gmail.com>
---
.../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 <net/if.h>
#include <sys/ioctl.h>
- #if ! JUCE_ANDROID
- #include <execinfo.h>
- #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_INFO> 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

View File

@@ -1,146 +0,0 @@
From 06be2d073cb86298cba6ae98f8c7ffbec4f15e7e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
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 <schnitzeltony@gmail.com>
---
.../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

View File

@@ -0,0 +1,52 @@
From f420c0b5754060bd4a93108a5c75a1ba4eed886e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
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 <schnitzeltony@gmail.com>
---
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