aboutsummaryrefslogtreecommitdiffstats
path: root/testing/wabt/APKBUILD
blob: 03007c1f4a6c4ddb23132517d4e832549c1365ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# Contributor: Ian Douglas Scott <ian@iandouglasscott.com>
# Maintainer: psykose <alice@ayaya.dev>
pkgname=wabt
pkgver=1.0.33
pkgrel=0
_wasm_c_api="b6dd1fb658a282c64b029867845bc50ae59e1497"
_picosha2="27fcf6979298949e8a462e16d09a0351c18fcaf2"
pkgdesc="WebAssembly binary toolkit"
# s390x: lld
# riscv64: llvm still has broken lto on riscv with floating abi errors
arch="all !s390x !riscv64"
url="https://github.com/WebAssembly/wabt"
license="Apache-2.0"
makedepends="
	clang
	cmake
	lld
	samurai
	"
subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/WebAssembly/wabt/archive/$pkgver.tar.gz
	wasm-c-api-$_wasm_c_api.tar.gz::https://github.com/WebAssembly/wasm-c-api/archive/$_wasm_c_api.tar.gz
	picosha2-$_picosha2.tar.gz::https://github.com/okdshin/PicoSHA2/archive/$_picosha2.tar.gz
	"
# Tests require vendored dependencies (as git submodules). Should be modified
# to use copies from repository.
options="!check"

# secfixes:
#   1.0.30-r0:
#     - CVE-2022-43280
#     - CVE-2022-43282
#     - CVE-2022-43283

prepare() {
	default_prepare

	rmdir third_party/wasm-c-api
	ln -sfv "$srcdir"/wasm-c-api-$_wasm_c_api third_party/wasm-c-api

	rmdir third_party/picosha2
	ln -sfv "$srcdir"/PicoSHA2-$_picosha2 third_party/picosha2
}

build() {
	if [ "$CBUILD" != "$CHOST" ]; then
		local crossopts="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
	fi

	CC=clang \
	CXX=clang++ \
	CFLAGS="$CFLAGS -O2 -flto=thin" \
	CXXFLAGS="$CXXFLAGS -O2 -flto=thin" \
	LDFLAGS="$LDFLAGS -fuse-ld=lld" \
	cmake -B build -G Ninja \
		-DCMAKE_BUILD_TYPE=None \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DBUILD_TESTS=OFF \
		$crossopts

	cmake --build build
}

package() {
	DESTDIR="$pkgdir" cmake --install build
}

sha512sums="
cf9069a09618ec81c83c3774aee4534149b6e9c53a502bab8786ff421fbe44e2774d2ff1566a62c013147ddb43286eaa70c6f62a6ca91ee0862329d2ab2730c2  wabt-1.0.33.tar.gz
5d3eec2184f8b66e2358b85f416afaea172f24155a61c9412a9d9374aa50347cf0ebe940f35727bc8c0ffe287033b967cc97a857feab6aa9e5098458e72b4fd0  wasm-c-api-b6dd1fb658a282c64b029867845bc50ae59e1497.tar.gz
9bf66c70c5828a0b89210d1690078a3d418276e9615170cf5b0a72a28bc37087d075f27c07d525ccbb490102b263527e06516fa41ce6231bc918745abbc85fd9  picosha2-27fcf6979298949e8a462e16d09a0351c18fcaf2.tar.gz
"