# Contributor: Lucas Ramage <lucas.ramage@infinite-omicron.com>
# Contributor: qaqland <qaq@qaq.land>
# Maintainer: Lucas Ramage <lucas.ramage@infinite-omicron.com>
pkgname=mustach
pkgver=1.2.10
pkgrel=0
pkgdesc="C implementation of the mustache template specification"
url="https://gitlab.com/jobol/mustach"
arch="all"
license="0BSD"
subpackages="$pkgname-doc lib$pkgname-core:split lib$pkgname-core-dev:core_dev"
source="https://gitlab.com/jobol/mustach/-/archive/$pkgver/mustach-$pkgver.tar.bz2
	01-pkg-config.patch
	"

_jsonlibs="json-c cjson jansson"
for _j in $_jsonlibs; do
	makedepends="$makedepends $_j-dev"
	subpackages="$subpackages lib$pkgname-$_j:split lib$pkgname-$_j-dev:json_dev"
done

# armv7: Segmentation fault (valgrind error #15759)
# s390x: Segmentation fault (valgrind error on 3.21 builder)
# armhf,riscv64,loongarch64: doesn't have valgrind
case "$CARCH" in
armv7|s390x|armhf|riscv64|loongarch64) export NOVALGRIND=1;;
*) checkdepends="valgrind";;
esac

build() {
	make tool=jsonc libs=split
}

check() {
	make tool=jsonc libs=none basic-tests
}

package() {
	make tool=jsonc libs=split -j1 DESTDIR="$pkgdir" PREFIX="/usr" install

	mkdir -p "$pkgdir"/usr/share/doc/$pkgname/
	install -m644 AUTHORS README.md \
		"$pkgdir"/usr/share/doc/$pkgname/
}

split() {
	pkgdesc="$pkgdesc ($subpkgname library)"
	amove usr/lib/$subpkgname.so.*
}

core_dev() {
	pkgdesc="$pkgdesc (libmustach-core development files)"
	amove usr/include/mustach/mustach.h usr/include/mustach/mustach-wrap.h
	amove usr/lib/pkgconfig/libmustach-core.pc
	amove usr/lib/libmustach-core.so
}

json_dev() {
	local jsonlib=${subpkgname#libmustach-}; jsonlib=${jsonlib%-dev}
	pkgdesc="$pkgdesc (libmustach-$jsonlib development files)"
	# libmustach-<jsonlib>-dev works with <jsonlib>-dev
	depends="$depends $jsonlib-dev"
	amove usr/include/mustach/mustach-"$jsonlib".h
	amove usr/lib/pkgconfig/libmustach-"$jsonlib".pc
	amove usr/lib/libmustach-"$jsonlib".so
}

sha512sums="
b1e8db889c33420ffb8d2f70183eace415389683f7e5f4992f2761e4844cd8854743da5c54d14b8382dec5ff35896554aac964b72f34c89a2e57dea406e9ad63  mustach-1.2.10.tar.bz2
b0f36d46e04d5deb8b7d3f1801c0805f34dc609366b77bcd7ae3c55a3bc7a9d6da97c692b17393d465dece7271259fe513bd73eab7384a4d47003e52a7faeb50  01-pkg-config.patch
"
