# SPDX-License-Identifier: CC0-1.0
#
# SPDX-FileContributor: Adrian "asie" Siekierka, 2023

pkgname=(runtime-musl runtime-musl-dev)
pkgver=1.2.5
pkgrel=2
epoch=
pkgdesc="musl runtime"
arch=("i686" "x86_64" "armv6h" "aarch64")
url="http://www.musl-libc.org"
license=("MIT")
source=(
	"https://www.musl-libc.org/releases/musl-$pkgver.tar.gz"
	"0001_iconv_fix_erroneous_input_validation_in_EUC_KR_decod.patch"
	"0002_iconv_harden_UTF_8_output_code_path_against_input_de.patch"
)
sha256sums=(
	'a9a118bbe84d8764da0ea0d28b3ab3fae8477fc7e4085d90102b8596fc7c75e4'
	'SKIP'
	'SKIP'
)

. "/wf/config/runtime-env-vars.sh"

prepare() {
	mkdir -p "musl-$pkgver-build"

	# https://www.openwall.com/lists/musl/2025/02/13/1
	cd "musl-$pkgver"
	patch -p1 <../0001_iconv_fix_erroneous_input_validation_in_EUC_KR_decod.patch
	patch -p1 <../0002_iconv_harden_UTF_8_output_code_path_against_input_de.patch
}

build() {
	cd "musl-$pkgver"-build
	../"musl-$pkgver"/configure --prefix=/ --syslibdir=/lib
	make
}

package_runtime-musl() {
	groups=(wonderful-base)

	cd "musl-$pkgver"-build
	mkdir -p "$pkgdir"/bin
	mkdir -p "$pkgdir"/lib
	cp lib/*.so "$pkgdir"/lib/
	ln -s ../lib/libc.so "$pkgdir"/bin/wf-runtime-ldd
	ln -s libc.so "$pkgdir"/lib/ld-musl-$CARCH.so.1

	cd "$pkgdir"
	wf_relocate_path_to_destdir
}

package_runtime-musl-dev() {
	pkgdesc="musl runtime development files"
	depends=(runtime-musl)

	cd "musl-$pkgver"-build
	make DESTDIR="$pkgdir" install
	rm "$pkgdir"/lib/*.so
	rm "$pkgdir"/lib/*.so.*

	cd "$pkgdir"
	wf_relocate_path_to_destdir
}
