# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
# Maintainer: Celeste <cielesti@protonmail.com>
maintainer="Celeste <cielesti@protonmail.com>"
pkgname=tcl
pkgver=8.6.16
pkgrel=0
_major=${pkgver%.*}
pkgdesc="The Tcl scripting language"
url="https://www.tcl-lang.org/"
arch="all"
license="TCL"
depends="tzdata"
depends_dev="$pkgname=$pkgver-r$pkgrel"
makedepends="zlib-dev sqlite-dev"
subpackages="$pkgname-doc $pkgname-dev"
source="https://downloads.sourceforge.net/sourceforge/tcl/tcl$pkgver-src.tar.gz
	tcl-stat64.patch
	"
builddir="$srcdir/tcl$pkgver/unix"

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

	rm -r pkgs/sqlite3*
}

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 \
		$_64bit
	make
}

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

	ln -sf tclsh$_major "$pkgdir"/usr/bin/tclsh
	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#"
}

check() {
	# thread-4.5 and thread-5* is suppressed because it tests UB
	# http* is suppressed because it tries to do network i/o
	# unixInit-3* is suppressed due to hardcoded locale assumptions
	make test TESTFLAGS="-verbose pbtels -skip 'thread-4.5 thread-5* http* unixInit-3*'"
}

dev() {
	default_dev

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

sha512sums="
434c92f8181fb8dca6bc065b0f1f5078779086f19adf008818c90a3108596c63465ef43e9f3c1cfb3d4151a9de244d0bf0e6ee5b40e714b1ddca4a78eb43050b  tcl8.6.16-src.tar.gz
cd52cbe80fd2be227c9018dbe38fa0888302293402e7a57f2e231c195b7c1902f1b58bc87d19c9d123915ca757e871abf084c0ef23b1a7f187bc03ba93904cc2  tcl-stat64.patch
"
