# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
setvar _basever = '3.4'
setvar pkgname = "python$_basever"
setvar pkgver = "$_basever.5"
setvar pkgrel = '2'
setvar pkgdesc = ""A high-level scripting language""
setvar url = ""http://www.python.org""
setvar arch = ""all""
setvar license = ""custom""
setvar subpackages = ""$pkgname-dev $pkgname-doc $pkgname-tests""
setvar depends = """"
setvar makedepends = ""expat-dev libressl-dev zlib-dev ncurses-dev bzip2-dev xz-dev
	sqlite-dev libffi-dev tcl-dev linux-headers gdbm-dev readline-dev""
setvar source = ""http://www.python.org/ftp/python/$pkgver/Python-$pkgver.tar.xz""
setvar builddir = ""$srcdir/Python-$pkgver""

proc prepare {
	default_prepare || return 1

	cd $builddir
	# force system libs
	rm -r Modules/expat \
		Modules/zlib \
		Modules/_ctypes/darwin* \
		Modules/_ctypes/libffi*
}

proc build {
	cd $builddir

	./configure \
		--prefix=/usr \
		--disable-rpath \
		--enable-ipv6 \
		--enable-loadable-sqlite-extensions \
		--enable-shared \
		--with-computed-gotos \
		--with-dbmliborder=gdbm:ndbm \
		--with-system-expat \
		--with-system-ffi \
		--with-threads \
		|| return 1

	make EXTRA_CFLAGS="$CFLAGS" || return 1
}

proc package {
	cd $builddir

	make -j1 DESTDIR="$pkgdir" EXTRA_CFLAGS="$CFLAGS" install maninstall \
		|| return 1
	install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE || return 1

	ln -sf ../../libpython${_basever}m.so \
		"${pkgdir}/usr/lib/python${_basever}/config-${_basever}m/libpython${_basever}m.so" \
		|| return 1

	# Remove symlinks without _basever to avoid conflict with python3 package.
	find "$pkgdir"/usr/bin ! -name "*$_basever*" -delete
}

proc dev {
	default_dev || return 1

	# pyconfig.h is needed runtime so we move it back
	mkdir -p "$pkgdir"/usr/include/python${_basever}m
	mv "$subpkgdir"/usr/include/python${_basever}m/pyconfig.h \
		"$pkgdir"/usr/include/python${_basever}m/
}

proc tests {
	setvar pkgdesc = ""The test modules from the main python package""
	setvar arch = ""noarch""

	cd "$pkgdir"/usr/lib/python$_basever
	local i; for i in */test */tests {
		mkdir -p "$subpkgdir"/usr/lib/python$_basever/"$i"
		mv "$i"/* "$subpkgdir"/usr/lib/python$_basever/"$i" || return 1
		rm -rf $i
	}
	mv "$pkgdir"/usr/lib/python$_basever/test \
		"$subpkgdir"/usr/lib/python$_basever/
}

setvar md5sums = ""5caaca47eead170070a856fae5f6e78c  Python-3.4.5.tar.xz""
setvar sha256sums = ""ee64b1c8a47461009abf25252332d29a4e587cb4f0c1c96aa793a3732e9d898a  Python-3.4.5.tar.xz""
setvar sha512sums = ""b548a5338d141b3086dea372fa2cc245ba5350ee9f0d1304ef6222dc45380b66d380b092e547d54206d56ca68563b95036f445f97f72bb0ef1d48f81a74a3d4c  Python-3.4.5.tar.xz""