# Maintainer: Celeste <cielesti@protonmail.com>
maintainer="Celeste <cielesti@protonmail.com>"
pkgname=tcl9
pkgver=9.0.1
pkgrel=0
_major=${pkgver%.*}
pkgdesc="The Tcl scripting language, version 9"
url="https://www.tcl-lang.org/"
arch="all"
license="TCL"
depends="tzdata"
depends_dev="
	$pkgname=$pkgver-r$pkgrel
	zip
	"
makedepends="
	$depends_dev
	bsd-compat-headers
	sqlite-dev
	zlib-dev
	"
subpackages="$pkgname-dev $pkgname-doc"
source="https://downloads.sourceforge.net/sourceforge/tcl/tcl$pkgver-src.tar.gz
	tclsqlite-include-stdint.patch
	"
builddir="$srcdir/tcl$pkgver/unix"
options="net" # tests require networking

prepare() {
	local builddir="$srcdir/tcl$pkgver"

	default_prepare
}

build() {
	case "$CARCH" in
		arm*|x86)	_64bit="--disable-64bit" ;;
		*)		_64bit="--enable-64bit"  ;;
	esac

	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--localstatedir=/var \
		--with-system-sqlite \
		--disable-rpath \
		--disable-zipfs \
		$_64bit
	make
}

check() {
	# thread-4.5 and thread-5.2 are suppressed because they test UB
	# lseq-1.27 is suppressed as it gets stuck in a loop on non-x86
	make test TESTFLAGS="-verbose pbtels -skip 'thread-4.5 thread-5.2 lseq-1.27'"
}

package() {
	make INSTALL_ROOT="$pkgdir" install install-private-headers

	ln -sf tclsh$_major "$pkgdir"/usr/bin/tclsh9
	install -Dm644 ../license.terms \
		"$pkgdir"/usr/share/licenses/$pkgname/LICENSE

	# remove buildroot traces
	find "$pkgdir" -name '*Config.sh' -print0 |
		xargs -0 sed -i -e "s#${srcdir}#/usr/src#"

	# prevent conflict with main/sqlite-tools
	rm -v "$pkgdir"/usr/bin/sqlite3_analyzer
}

dev() {
	default_dev

	local file; find "$pkgdir" -name '*Config.sh' | while read -r file; do
		amove "${file#"$pkgdir"}"
	done
}

sha512sums="
8ef8289bd86b4cc2597d63f4b460fa4a67da66dbb1bafa29cb8cd960867d07636f12713ecb1a95a96bd6c284b6f0f4264ff96da2feeb52a5a9795f036fa346c3  tcl9.0.1-src.tar.gz
3c194e3e08751f362ba8a93f356811d55d877dd6f814069665decbc112538a216d7507791e6c59fff024f6a3bb367d6e33bdd045323146a5accef623e9678a32  tclsqlite-include-stdint.patch
"