SUMMARY="An interpreted, interactive, object-oriented programming language"
DESCRIPTION="
Python is a programming language that lets you work more quickly and integrate \
your systems more effectively. You can learn to use Python and see almost \
immediate gains in productivity and lower maintenance costs.
Python runs on Windows, Linux/Unix, Mac OS X, and has been ported to the Java \
and .NET virtual machines.
Python is free to use, even for commercial products, because of its \
OSI-approved open source license.
"
HOMEPAGE="http://www.python.org"
LICENSE="Python"
COPYRIGHT="1990-2015, Python Software Foundation"
SOURCE_URI="https://www.python.org/ftp/python/$portVersion/Python-$portVersion.tar.xz"
CHECKSUM_SHA256="b5b3963533768d5fc325a4d7a6bd6f666726002d696f1d399ec06b043ea996b8"
REVISION="1"
ARCHITECTURES="!x86_gcc2 !x86 x86_64"

PATCHES="python3-$portVersion.patchset"

PROVIDES="
	python3 = $portVersion compat >= 3.4
	cmd:2to3 = $portVersion compat >= 3.4
	cmd:2to3_3.4 = $portVersion compat >= 3.4
	cmd:idle = $portVersion compat >= 3.4
	cmd:idle3 = $portVersion compat >= 3.4
	cmd:idle3.4 = $portVersion compat >= 3.4
	cmd:pydoc3 = $portVersion compat >= 3.4
	cmd:pydoc3.4 = $portVersion compat >= 3.4
	cmd:python3 = $portVersion compat >= 3.4
	cmd:python3_config = $portVersion compat >= 3.4
	cmd:python3.4 = $portVersion compat >= 3.4
	cmd:python3.4_config = $portVersion compat >= 3.4
	cmd:python3.4m = $portVersion compat >= 3.4
	cmd:python3.4m_config = $portVersion compat >= 3.4
	cmd:pyvenv = $portVersion compat >= 3.4
	cmd:pyvenv_3.4 = $portVersion compat >= 3.4
	devel:libpython3.4m = 1.0
	lib:libpython3.4m = 1.0
	lib:libpython3 = 3.4
	"
REQUIRES="
	haiku >= $haikuVersion
	cmd:file
	lib:libbz2
	lib:libexpat
	lib:libncurses
	lib:libssl
	lib:libreadline
	lib:libsqlite3
	lib:libz
	"
BUILD_REQUIRES="
	devel:libbz2
	devel:libexpat
	devel:libncurses
	devel:libssl
	devel:libreadline
	devel:libsqlite3
	devel:libz
	"
BUILD_PREREQUIRES="
	haiku_devel >= $haikuVersion
	cmd:aclocal
	cmd:autoconf
	cmd:find
	cmd:gcc
	cmd:ld
	cmd:libtoolize
	cmd:pkg_config
	cmd:make
	cmd:python
	"

SOURCE_DIR="Python-$portVersion"

GLOBAL_WRITABLE_FILES="
	non-packaged/lib/python3.4/site-packages directory keep-old
	"

BUILD()
{
	rm -Rf Modules/zlib Modules/expat

	cd Modules/_ctypes/libffi
	libtoolize --force --copy --install
	cd ../../..

	libtoolize --force --copy --install
	aclocal
	autoconf
	runConfigure ./configure \
		--enable-shared --without-ensurepip \
		--with-system-expat

	# prevent make from rebuilding stuff that requires python
	touch Parser/asdl* Python/Python-ast.c Include/Python-ast.h

	rm -f python
	
	make $jobArgs
}

INSTALL()
{
	make install

	prepareInstalledDevelLibs libpython3.4m
	fixPkgconfig
	
	mkdir -p $prefix/lib/python3.4/vendor-packages
	echo 'This directory contains packaged python modules.' \
		>$prefix/lib/python3.4/vendor-packages/README

	mkdir -p $prefix/non-packaged/lib/python3.4
	mv $prefix/lib/python3.4/site-packages $prefix/non-packaged/lib/python3.4/
}

TEST()
{
	cd Lib/test
	rm test_asynchat.py  # this one stalls, so skip it for now
	rm test_multiprocessing.py  # this one stalls, so skip it for now

	python regrtest.py
}
