# Contributor: Alex Yam <alex@alexyam.com>
# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=wasi-libc
pkgver=0.20250204
_gitrev=e9524a0980b9bb6bb92e87a41ed1055bdda5bb86
pkgrel=0
pkgdesc="WASI libc implementation for WebAssembly"
url="https://github.com/WebAssembly/wasi-libc"
arch="all"
options="!check" # no testsuite
# https://github.com/WebAssembly/wasi-libc/blob/main/LICENSE
#   wasi-libc			- Apache License v2.0 WITH LLVM Exceptions AND
#				  Apache License v2.0 AND MIT
#   dlmalloc/			- CC0
#   libc-bottom-half/cloudlibc/	- BSD-2-Clause
#   libc-top-half/musl/		- MIT
license="Apache-2.0 WITH LLVM-exception AND Apache-2.0 AND MIT AND CC0-1.0 AND BSD-2-Clause"
_llvmver=20
makedepends="bash clang$_llvmver llvm$_llvmver"
source="wasi-libc-$_gitrev.tar.gz::https://github.com/WebAssembly/wasi-libc/archive/$_gitrev.tar.gz
	no-double-build.patch
	"
builddir="$srcdir"/$pkgname-$_gitrev

build() {
	make CC=clang
	make CC=clang THREAD_MODEL=posix

	# new wasm targets needed by rust
	make CC=clang TARGET_TRIPLE=wasm32-wasip1
	make CC=clang TARGET_TRIPLE=wasm32-wasip1-threads THREAD_MODEL=posix
	make CC=clang TARGET_TRIPLE=wasm32-wasip2 WASI_SNAPSHOT=p2
}

package() {
	make CC=clang INSTALL_DIR="$pkgdir"/usr/share/wasi-sysroot install
}

sha512sums="
36a24e0237c82a3cd5077835306afe106df0a1fab12ecc617688c17a299a2b1c8ebcbcd0b8841a98c4e85e159bbd1bd7466c1853aa9d32351963ce1c0bbb38a5  wasi-libc-e9524a0980b9bb6bb92e87a41ed1055bdda5bb86.tar.gz
8241854f3331e4e22756f4414afcd6cd766d48e2a1a38ad6c95903f84b6f6b718b1ed0eae2ef0fe78f2ab5c87352ffb44f1eca3ea03983173b80f72af5948651  no-double-build.patch
"
