summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--user/erlang/APKBUILD8
-rw-r--r--user/erlang/safe-signal-handling.patch22
2 files changed, 27 insertions, 3 deletions
diff --git a/user/erlang/APKBUILD b/user/erlang/APKBUILD
index 278c66a5d..e24353ac0 100644
--- a/user/erlang/APKBUILD
+++ b/user/erlang/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=erlang
-pkgver=21.2
+pkgver=22.0
pkgrel=0
pkgdesc="Soft real-time system programming language"
url="https://www.erlang.org/"
@@ -13,6 +13,7 @@ makedepends="flex libxml2-utils libxslt-dev m4 ncurses-dev openssl-dev perl
subpackages="$pkgname-dev"
source="http://erlang.org/download/otp_src_$pkgver.tar.gz
fix-wx-linking.patch
+ safe-signal-handling.patch
"
builddir="$srcdir/otp_src_$pkgver"
@@ -53,5 +54,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="5707ef0d49a9af12cd9d93c3e4fd200092773645838bbe0163782d0fa40562d2b48bdb07f0e650311bfec896ed9e3c9621b4d0ba114c578d7ca3209c2a96ac24 otp_src_21.2.tar.gz
-5f1b05d8be71d5e3d7e8c5ad019329af8f68174251b5b6e0a9ee9cb3da51a10983b8696e23b3954c19de5d54783ec16f38c80c74724341dbafb22fcac83c77d4 fix-wx-linking.patch"
+sha512sums="3f98697b59b33910fa461141fc4fe9635c4b6a53900dd90920add709dc10468aad7b9fde12419f05b27e038aee5a254319b1c5dc0e26ceabf29a7eb8020b5d23 otp_src_22.0.tar.gz
+5f1b05d8be71d5e3d7e8c5ad019329af8f68174251b5b6e0a9ee9cb3da51a10983b8696e23b3954c19de5d54783ec16f38c80c74724341dbafb22fcac83c77d4 fix-wx-linking.patch
+dc2fe08e40c73b48b356382c43c982f9f0091e601bbdf6e032358bd5c74c3573b423ef4df454b87c8534105fdbc19ce2245609cc7d5679109c15abaf56d3ef69 safe-signal-handling.patch"
diff --git a/user/erlang/safe-signal-handling.patch b/user/erlang/safe-signal-handling.patch
new file mode 100644
index 000000000..0996069ba
--- /dev/null
+++ b/user/erlang/safe-signal-handling.patch
@@ -0,0 +1,22 @@
+--- otp-OTP-21.2.6.orig/erts/emulator/hipe/hipe_x86_signal.c
++++ otp-OTP-21.2.6/erts/emulator/hipe/hipe_x86_signal.c
+@@ -159,16 +159,10 @@
+
+ #if !(defined(__GLIBC__) || defined(__DARWIN__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__sun__))
+ /*
+- * Unknown libc -- assume musl. Note: musl deliberately does not provide a musl-specific
+- * feature test macro, so we cannot check for it.
+- *
+- * sigaction is a weak alias for __sigaction, which is a wrapper for __libc_sigaction.
+- * There are libc-internal calls to __libc_sigaction which install handlers, so we must
+- * override __libc_sigaction rather than __sigaction.
++ * Unknown libc -- assume musl. Also assume signal delivery on musl is safe.
+ */
+-#define NEXT_SIGACTION "__libc_sigaction"
+-#define LIBC_SIGACTION __libc_sigaction
+-#define OVERRIDE_SIGACTION
++#undef NEXT_SIGACTION
++#undef OVERRIDE_SIGACTION
+ #ifndef _NSIG
+ #define _NSIG NSIG
+ #endif