# Maintainer: Natanael Copa <ncopa@alpinelinux.org>

# This package must be synchronized with python2. It is splitted to avoid
# a cyclic dependency: python -> tk -> libx11 -> libxcb -> xcb-proto -> python

setvar pkgname = 'python2-tkinter'
setvar pkgver = '2.7.14'
setvar _verbase = ${pkgver%.*}
setvar pkgrel = '0'
setvar pkgdesc = ""A graphical user interface for the Python""
setvar url = ""https://wiki.python.org/moin/TkInter""
setvar arch = ""all""
setvar license = ""custom""
setvar subpackages = ""$pkgname-tests python2-idle:_idle:noarch""
setvar depends = """"
setvar makedepends = ""expat-dev libressl-dev zlib-dev ncurses-dev bzip2-dev
	gdbm-dev sqlite-dev libffi-dev readline-dev linux-headers paxmark
	tk tk-dev python2""
setvar replaces = ""python2""
setvar replaces_priority = '1'
setvar source = ""http://www.python.org/ftp/python/$pkgver/Python-$pkgver.tar.xz""
setvar builddir = ""$srcdir/Python-$pkgver""

proc prepare {
	local _pyapkbuild="$startdir"/../main/python2/APKBUILD
	if test -e $_pyapkbuild {
		setvar _pver = $(. "$_pyapkbuild" ; echo $pkgver)
		if test $_pver != $pkgver {
			error "python version mismatch ($_pver). Set pkgver=$_pver"
			return 1
		}
	}
	default_prepare
	cd $builddir

	# Make sure we use system libs
	rm -rf Modules/expat Modules/_ctypes/libffi* Modules/zlib
}

proc build {
	cd $builddir
	export OPT="$CFLAGS"
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--enable-shared \
		--with-threads \
		--enable-ipv6 \
		--with-system-ffi \
		--with-system-expat \
		--with-system-zlib \
		--enable-unicode=ucs4
	make
}

proc package {
	cd $builddir
	# we only care about idle, and tkinter
	make DESTDIR="$builddir"/tmpinstall sharedinstall libinstall \
		|| return 1

	mkdir -p "$pkgdir"/usr/lib/python${_verbase}/lib-dynload \
		"$pkgdir"/usr/bin

	for lib in idlelib lib-tk {
		mv "$builddir"/tmpinstall/usr/lib/python${_verbase}/$lib \
			"$pkgdir"/usr/lib/python${_verbase}/
	}

	mv "$builddir"/tmpinstall/usr/lib/python${_verbase}/lib-dynload/_tkinter.so \
		"$pkgdir"/usr/lib/python${_verbase}/lib-dynload/

	mv "$builddir"/tmpinstall/usr/bin/idle \
		"$pkgdir"/usr/bin/idle${_verbase}
}

proc _mv_files {
	local i
	for i in "$@" {
		mkdir -p "$subpkgdir"/${i%/*}
		mv "$pkgdir"/$i "$subpkgdir"/$i
	}
}

proc tests {
	setvar pkgdesc = ""The test modules from the main python package for tkinter""
	setvar replaces = ""python-tests python2-tests""
	cd $pkgdir
	_mv_files usr/lib/python*/*/test
}

proc _idle {
	setvar pkgdesc = ""IDE for Python2 using Tkinter""
	setvar depends = ""$pkgname=$pkgver-r$pkgrel""
	cd $pkgdir
	_mv_files usr/bin
}

setvar sha512sums = ""78310b0be6388ffa15f29a80afb9ab3c03a572cb094e9da00cfe391afadb51696e41f592eb658d6a31a2f422fdac8a55214a382cbb8cfb43d4a127d5b35ea7f9  Python-2.7.14.tar.xz""