# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: Carlo Landmeter <clandmeter@gmail.com>
setvar pkgname = 'tcl'
setvar pkgver = '8.6.7'
setvar pkgrel = '0'
setvar pkgdesc = ""The Tcl scripting language""
setvar url = ""http://tcl.sourceforge.net/""
setvar arch = ""all""
setvar license = ""TCL""
setvar depends = """"
setvar depends_dev = ""tcl""
setvar makedepends = ""zlib-dev sqlite-dev""
setvar subpackages = ""$pkgname-doc $pkgname-dev""
setvar source = ""http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname$pkgver-src.tar.gz
	tcl-stat64.patch
	""

setvar _major = ${pkgver%.*}
setvar builddir = ""$srcdir"/tcl${pkgver}/unix"

proc prepare {
	cd "$srcdir"/tcl${pkgver}
	for i in $source {
		case (i) {
		*.patch { msg $i; patch -p1 -i "$srcdir"/$i || return 1}
		}
	}
	rm -r pkgs/sqlite3*
}

proc build {
	local _64bit="--disable-64bit"
	case (CARCH) {
		x86_64 { setvar _64bit = ""--enable-64bit""}
	}
	cd $builddir
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--localstatedir=/var \
		--with-system-sqlite \
		$_64bit
	make
}

proc package {
	cd $builddir
	export LD_LIBRARY_PATH="$_builddir"
	make -j1 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' | xargs sed -i -e "s#${srcdir}#/usr/src#"
}

proc check {
	cd $builddir

	# 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*'"
}

proc dev {
	default_dev
	cd $pkgdir
	for i in $(find . -name '*.c' -o -name '*Config.sh') {
		mkdir -p "$subpkgdir"/${i%/*}
		mv $i "$subpkgdir"/${i%/*}/ || return 1
	}
}

setvar sha512sums = ""67f6a4266dbaf5858508a8533e0334f5a76ffc6372cf321922fd032fe34f74df0368f9a3059a885e29bb0f4f7f99c78d91b8fc3700d4fa7a7f1653b436c3a154  tcl8.6.7-src.tar.gz
cd52cbe80fd2be227c9018dbe38fa0888302293402e7a57f2e231c195b7c1902f1b58bc87d19c9d123915ca757e871abf084c0ef23b1a7f187bc03ba93904cc2  tcl-stat64.patch""