diff options
Diffstat (limited to 'user/erlang')
-rw-r--r-- | user/erlang/APKBUILD | 59 | ||||
-rw-r--r-- | user/erlang/fix-wx-linking.patch | 11 | ||||
-rw-r--r-- | user/erlang/safe-signal-handling.patch | 22 |
3 files changed, 92 insertions, 0 deletions
diff --git a/user/erlang/APKBUILD b/user/erlang/APKBUILD new file mode 100644 index 000000000..e24353ac0 --- /dev/null +++ b/user/erlang/APKBUILD @@ -0,0 +1,59 @@ +# Contributor: A. Wilcox <awilfox@adelielinux.org> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=erlang +pkgver=22.0 +pkgrel=0 +pkgdesc="Soft real-time system programming language" +url="https://www.erlang.org/" +arch="all" +license="Apache-2.0" +depends="" +makedepends="flex libxml2-utils libxslt-dev m4 ncurses-dev openssl-dev perl + unixodbc-dev" +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" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --enable-shared-zlib \ + --enable-ssl=dynamic-ssl-lib \ + --enable-threads + make +} + +check() { + local _header + + cd "$builddir" + export ERL_TOP=$builddir + + make release_tests + + for _header in erl_fixed_size_int_types.h \ + ${CHOST}/erl_int_sizes_config.h \ + erl_memory_trace_parser.h; do + cp erts/include/$_header erts/emulator/beam/ + done + cd release/tests/test_server + $ERL_TOP/bin/erl -s ts install -s ts smoke_test batch -s init stop +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="3f98697b59b33910fa461141fc4fe9635c4b6a53900dd90920add709dc10468aad7b9fde12419f05b27e038aee5a254319b1c5dc0e26ceabf29a7eb8020b5d23 otp_src_22.0.tar.gz +5f1b05d8be71d5e3d7e8c5ad019329af8f68174251b5b6e0a9ee9cb3da51a10983b8696e23b3954c19de5d54783ec16f38c80c74724341dbafb22fcac83c77d4 fix-wx-linking.patch +dc2fe08e40c73b48b356382c43c982f9f0091e601bbdf6e032358bd5c74c3573b423ef4df454b87c8534105fdbc19ce2245609cc7d5679109c15abaf56d3ef69 safe-signal-handling.patch" diff --git a/user/erlang/fix-wx-linking.patch b/user/erlang/fix-wx-linking.patch new file mode 100644 index 000000000..eb5649164 --- /dev/null +++ b/user/erlang/fix-wx-linking.patch @@ -0,0 +1,11 @@ +--- otp_src_21.2/lib/wx/configure.old 2018-12-10 20:11:00.000000000 +0000 ++++ otp_src_21.2/lib/wx/configure 2019-02-24 22:16:37.340000000 +0000 +@@ -5765,7 +5765,7 @@ + // it isn't in too old wxWidgets versions + wxString test = wxString::FromUTF8((const char *)"foo"); + wxStyledTextCtrl * foo = new wxStyledTextCtrl(); +- wxGLCanvas * bar = new wxGLCanvas((wxWindow *) NULL, -1, ++ wxGLCanvas * bar = new wxGLCanvas((wxWindow *) NULL, -1, NULL, + wxDefaultPosition,wxDefaultSize,0); + return true; + }; 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 |