surge: replace glibc/2.34 workaround by upstream fix (upgrade catch2)

Thanks @baconpaul - [1] was a pleasure

[1] https://github.com/surge-synthesizer/surge/pull/4843

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
This commit is contained in:
Andreas Müller
2021-08-16 22:58:59 +02:00
parent cec1e31869
commit a5a2e8b791
3 changed files with 5376 additions and 57 deletions

View File

@@ -22,7 +22,7 @@ SRC_URI = " \
file://0002-package-vst3.sh-Do-not-try-to-strip-antive.patch \
file://0003-Do-not-generate-manifest-it-won-t-work-cross.patch \
file://0004-emit-vector-piggy-adjust-python-python3.patch \
file://0005-Workaround-build-failure-with-glibc-2.34.patch \
file://0005-Upgrade-Catch-2-4845.patch \
"
SRCREV = "91069f8d0c0269e962fa3b5f932b4511aa07e451"
S = "${WORKDIR}/git"

File diff suppressed because it is too large Load Diff

View File

@@ -1,56 +0,0 @@
From 5ac9efceb51e8425347e94ec34d8a2e6bbeb06ca Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Mon, 16 Aug 2021 18:42:29 +0200
Subject: [PATCH] Workaround build failure with glibc >= 2.34
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Seems glibc changed definition of MINSIGSTKSZ to
| # define MINSIGSTKSZ SIGSTKSZ
and
| # define SIGSTKSZ sysconf (_SC_SIGSTKSZ)
which is not constexpr. So build fails with:
| In file included from /home/superandy/tmp/oe-core-glibc/work/cortexa72-mortsgna-linux/surge/1.9.0-r0/recipe-sysroot/usr/include/signal.h:328,
| from /home/superandy/tmp/oe-core-glibc/work/cortexa72-mortsgna-linux/surge/1.9.0-r0/git/libs/catch2/include/catch2/catch2.hpp:7641,
| from /home/superandy/tmp/oe-core-glibc/work/cortexa72-mortsgna-linux/surge/1.9.0-r0/git/src/headless/UnitTests.cpp:3:
| /home/superandy/tmp/oe-core-glibc/work/cortexa72-mortsgna-linux/surge/1.9.0-r0/git/libs/catch2/include/catch2/catch2.hpp:10455:58: error: call to non-'constexpr' function 'long int sysconf(int)'
| 10455 | static constexpr std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ;
| | ^~~~~~~~~~~
| In file included from /home/superandy/tmp/oe-core-glibc/work/cortexa72-mortsgna-linux/surge/1.9.0-r0/recipe-sysroot/usr/include/bits/sigstksz.h:24,
| from /home/superandy/tmp/oe-core-glibc/work/cortexa72-mortsgna-linux/surge/1.9.0-r0/recipe-sysroot/usr/include/signal.h:328,
| from /home/superandy/tmp/oe-core-glibc/work/cortexa72-mortsgna-linux/surge/1.9.0-r0/git/libs/catch2/include/catch2/catch2.hpp:7641,
| from /home/superandy/tmp/oe-core-glibc/work/cortexa72-mortsgna-linux/surge/1.9.0-r0/git/src/headless/UnitTests.cpp:3:
| /home/superandy/tmp/oe-core-glibc/work/cortexa72-mortsgna-linux/surge/1.9.0-r0/recipe-sysroot/usr/include/unistd.h:641:17: note: 'long int sysconf(int)' declared here
| 641 | extern long int sysconf (int __name) __THROW;
| | ^~~~~~~
| In file included from /home/superandy/tmp/oe-core-glibc/work/cortexa72-mortsgna-linux/surge/1.9.0-r0/git/src/headless/UnitTests.cpp:3:
| /home/superandy/tmp/oe-core-glibc/work/cortexa72-mortsgna-linux/surge/1.9.0-r0/git/libs/catch2/include/catch2/catch2.hpp:10514:45: error: size of array 'altStackMem' is not an integral constant-expression
| 10514 | char FatalConditionHandler::altStackMem[sigStackSize] = {};
| | ^~~~~~~~~~~~
Upstream-Status: Submitted[https://github.com/surge-synthesizer/surge/pull/4843]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
libs/catch2/include/catch2/catch2.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libs/catch2/include/catch2/catch2.hpp b/libs/catch2/include/catch2/catch2.hpp
index 643d6a00..3b50669f 100644
--- a/libs/catch2/include/catch2/catch2.hpp
+++ b/libs/catch2/include/catch2/catch2.hpp
@@ -10452,7 +10452,7 @@ namespace Catch {
// 32kb for the alternate stack seems to be sufficient. However, this value
// is experimentally determined, so that's not guaranteed.
- static constexpr std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ;
+ static constexpr std::size_t sigStackSize = 32768;
static SignalDefs signalDefs[] = {
{ SIGINT, "SIGINT - Terminal interrupt signal" },
--
2.31.1