aboutsummaryrefslogtreecommitdiffstats
path: root/community/binaryen/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/binaryen/APKBUILD')
-rw-r--r--community/binaryen/APKBUILD75
1 files changed, 54 insertions, 21 deletions
diff --git a/community/binaryen/APKBUILD b/community/binaryen/APKBUILD
index ab214fd534f..3bb8c6c5d9c 100644
--- a/community/binaryen/APKBUILD
+++ b/community/binaryen/APKBUILD
@@ -1,46 +1,79 @@
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=binaryen
-pkgver=98
+pkgver=117
pkgrel=0
pkgdesc="Compiler infrastructure and toolchain library for WebAssembly, in C++"
url="https://github.com/WebAssembly/binaryen"
-arch="all !s390x !mips !mips64"
+arch="all !s390x"
license="Apache-2.0"
-makedepends="cmake python3"
-checkdepends="nodejs"
+makedepends="
+ clang
+ cmake
+ python3
+ samurai
+ "
+checkdepends="
+ filecheck
+ gtest-dev
+ llvm-test-utils
+ nodejs
+ "
subpackages="$pkgname-dev"
-source="https://github.com/WebAssembly/binaryen/archive/version_$pkgver/binaryen-$pkgver.tar.gz"
+source="https://github.com/WebAssembly/binaryen/archive/version_$pkgver/binaryen-$pkgver.tar.gz
+ use-system-gtest.patch
+ "
builddir="$srcdir/$pkgname-version_$pkgver"
-case "$CARCH" in
- x86) options="!check";; # XXX: two tests fail
-esac
-
build() {
- cmake \
- -DCMAKE_BUILD_TYPE=None \
+ case "$CARCH" in
+ arm*|aarch64|riscv64)
+ export CFLAGS="${CFLAGS/-fstack-clash-protection}"
+ export CXXFLAGS="${CFLAGS/-fstack-clash-protection}"
+ ;;
+ esac
+
+ CC=clang \
+ CXX=clang++ \
+ LDFLAGS="$LDFLAGS -Wl,-z,stack-size=0x100000" \
+ cmake -G Ninja -B build \
+ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
- -DCMAKE_C_FLAGS="$CFLAGS" \
-DCMAKE_VERBOSE_MAKEFILE=ON \
- -DBUILD_SHARED_LIBS=ON
- make
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTS=$(want_check && echo ON || echo OFF)
+ cmake --build build
}
check() {
# Tests are extremely chatty.
msg 'running tests with stdout/stderr redirected into ./check.log...'
- python3 check.py > check.log 2>&1 || {
- echo 'tests failed, printing last 100 lines of check.log:' >&2
- tail -n 100 check.log
- return 1
+ python3 check.py --binaryen-bin build/bin > check.log 2>&1 || {
+ echo 'tests failed, printing last 1000 lines of check.log:' >&2
+ tail -n 1000 check.log
+
+ case "$CARCH" in
+ # XXX: Ignore test failures on 32-bit arches (broken tests)
+ # and riscv64.
+ arm* | riscv64 | x86) return 0;;
+ *) return 1;;
+ esac
}
}
package() {
- make install DESTDIR="$pkgdir"
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+dev() {
+ default_dev
+
+ # XXX: doesn't exist on riscv64
+ amove usr/bin/binaryen-unittests || true
}
-sha512sums="b5678cd12a125f9a57add6ce3c220cd79226bbc71b8abb71951ef2095376549da8ba362cdf99e4d1a01211db91b63c1f5314fd5df68d56bfd36315e21368f8c0 binaryen-98.tar.gz"
+sha512sums="
+dba535e4595b549457113ced0230a578a8177f6cd90e2713be507611e94d76a77b7fd66e01e3db7950eeb8ebdd73a8df899ed290842a78b20707eec5a681c44e binaryen-117.tar.gz
+ea332616e91c7674c471eb8f8b6352c6d342a17e2b2fd585c6c2b10de89e1be74e63fe42d908af5b2e109d043085e4300905e4efb2ec57bd275db643b22e167d use-system-gtest.patch
+"