diff options
author | Kaelyn Takata <kaelyn.alexi@protonmail.com> | 2023-04-27 17:38:46 +0000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2023-05-19 16:46:34 +0200 |
commit | 8c302c2e261bdba06d7b077aaf1bf1712ded2f40 (patch) | |
tree | 472f60377cfb7e11fb6c21ae35d290d1f4ad7b67 /gnu | |
parent | e637794875c32cfa90c135558666be0acda24747 (diff) | |
download | guix-8c302c2e261bdba06d7b077aaf1bf1712ded2f40.tar.gz |
gnu: openmw: Fix build on glibc 2.34 and newer.
* gnu/packages/patches/openmw-assume-nonconst-SIGSTKSZ.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it here. * gnu/packages/game-development.scm (openmw)[source]<patches>: Use it here. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/game-development.scm | 3 | ||||
-rw-r--r-- | gnu/packages/patches/openmw-assume-nonconst-SIGSTKSZ.patch | 39 |
3 files changed, 42 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 42514ded8e..17b07a1102 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1647,6 +1647,7 @@ dist_patch_DATA = \ %D%/packages/patches/openjdk-10-setsignalhandler.patch \ %D%/packages/patches/openjdk-15-xcursor-no-dynamic.patch \ %D%/packages/patches/openmpi-mtl-priorities.patch \ + %D%/packages/patches/openmw-assume-nonconst-SIGSTKSZ.patch \ %D%/packages/patches/openssh-hurd.patch \ %D%/packages/patches/openssh-trust-guix-store-directory.patch \ %D%/packages/patches/openresolv-restartcmd-guix.patch \ diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index be2ae96274..a2acf15c5c 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -1776,7 +1776,8 @@ of use.") (file-name (git-file-name name version)) (sha256 (base32 - "19mcbnjl4279qalb97msf965bjax48mx1r1qczyvwhn28h6n3bsy")))) + "19mcbnjl4279qalb97msf965bjax48mx1r1qczyvwhn28h6n3bsy")) + (patches (search-patches "openmw-assume-nonconst-SIGSTKSZ.patch")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; No test target diff --git a/gnu/packages/patches/openmw-assume-nonconst-SIGSTKSZ.patch b/gnu/packages/patches/openmw-assume-nonconst-SIGSTKSZ.patch new file mode 100644 index 0000000000..ed35563c2c --- /dev/null +++ b/gnu/packages/patches/openmw-assume-nonconst-SIGSTKSZ.patch @@ -0,0 +1,39 @@ +From 98a7d90ee258ceef9c70b0b2955d0458ec46f048 Mon Sep 17 00:00:00 2001 +From: elsid <elsid.mail@gmail.com> +Date: Fri, 24 Sep 2021 19:40:29 +0200 +Subject: [PATCH] Assume SIGSTKSZ is not a constant + +SIGSTKSZ is not defined as constant since glibc 2.34: +https://sourceware.org/git/?p=glibc.git;a=commit;h=6c57d320484988e87e446e2e60ce42816bf51d53 +--- + components/crashcatcher/crashcatcher.cpp | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/components/crashcatcher/crashcatcher.cpp b/components/crashcatcher/crashcatcher.cpp +index 86571e1e3a..c828e1ca81 100644 +--- a/components/crashcatcher/crashcatcher.cpp ++++ b/components/crashcatcher/crashcatcher.cpp +@@ -56,8 +56,6 @@ static const char exec_err[] = "!!! Failed to exec debug process\n"; + + static char argv0[PATH_MAX]; + +-static char altstack[SIGSTKSZ]; +- + + static struct { + int signum; +@@ -475,9 +473,10 @@ int crashCatcherInstallHandlers(int argc, char **argv, int num_signals, int *sig + + /* Set an alternate signal stack so SIGSEGVs caused by stack overflows + * still run */ ++ static char* altstack = new char [SIGSTKSZ]; + altss.ss_sp = altstack; + altss.ss_flags = 0; +- altss.ss_size = sizeof(altstack); ++ altss.ss_size = SIGSTKSZ; + sigaltstack(&altss, nullptr); + + memset(&sa, 0, sizeof(sa)); +-- +GitLab + |