blob: d01a39982f62711d6d3073362da6ca25ef9087e6 (
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
73
74
75
76
77
78
79
80
81
82
|
# Copyright 2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{13..14} )
EGIT_COMMIT_TESTSUITE="cbc54d77065e5202bcb69e0d1c53ceccc29a7984"
EGIT_COMMIT_WASM_C_API="b6dd1fb658a282c64b029867845bc50ae59e1497"
inherit cmake python-any-r1
DESCRIPTION="The WebAssembly Binary Toolkit"
HOMEPAGE="https://github.com/WebAssembly/wabt"
SRC_URI="
https://github.com/WebAssembly/wabt/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
https://github.com/WebAssembly/testsuite/archive/${EGIT_COMMIT_TESTSUITE}.tar.gz -> \
WebAssembly-testsuite-${EGIT_COMMIT_TESTSUITE}.tar.gz
https://github.com/WebAssembly/wasm-c-api/archive/${EGIT_COMMIT_WASM_C_API}.tar.gz -> \
WebAssembly-wasm-c-api-${EGIT_COMMIT_WASM_C_API}.tar.gz
"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="dev-libs/openssl:="
DEPEND="
${RDEPEND}
test? (
dev-cpp/gtest
dev-libs/simde
)
"
BDEPEND="
${PYTHON_DEPS}
$(python_gen_any_dep 'dev-python/ply[${PYTHON_USEDEP}]')
"
PATCHES=(
# Disable tests depending on third_party/wasm-c-api/example/*.wasm
#"${FILESDIR}/wabt-1.0.30-wasm-blob-tests.patch"
)
python_check_deps() {
python_has_version "dev-python/ply[${PYTHON_USEDEP}]"
}
src_prepare() {
cmake_src_prepare
rm -r third_party/testsuite || die
mv "${WORKDIR}/testsuite-${EGIT_COMMIT_TESTSUITE}" third_party/testsuite || die
rm -r third_party/wasm-c-api || die
mv "${WORKDIR}/wasm-c-api-${EGIT_COMMIT_WASM_C_API}" third_party/wasm-c-api || die
rm -v fuzz-in/wasm/stuff.wasm wasm2c/benchmarks/dhrystone/dhrystone.wasm || die
if ! use test; then
rm -v third_party/wasm-c-api/example/*.wasm || die
fi
sed -i 's;default_compiler =.*;default_compiler = os.getenv("CC", "cc");' test/run-spec-wasm2c.py || die
}
src_configure() {
local mycmakeargs=(
-DUSE_SYSTEM_GTEST=ON
-DBUILD_LIBWASM=ON
-DWITH_WASI=OFF # Need to unbundle third_party/uvwasi
-DBUILD_TESTS=$(usex test)
)
cmake_src_configure
}
src_test() {
cmake_build check
}
|