Files
haikuports/dev-lang/python/python3-3.5.3.recipe
2017-02-27 17:42:49 +01:00

136 lines
3.8 KiB
Bash

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-2017, Python Software Foundation"
SOURCE_URI="https://www.python.org/ftp/python/$portVersion/Python-$portVersion.tar.xz"
CHECKSUM_SHA256="eefe2ad6575855423ab630f5b51a8ef6e5556f774584c06beab4926f930ddbb0"
REVISION="1"
ARCHITECTURES="x86 x86_64 !x86_gcc2"
SECONDARY_ARCHITECTURES="!x86"
PATCHES="python3-$portVersion.patchset"
# On x86_gcc2 we don't want to install the commands in bin/<arch>/, but in bin/.
commandSuffix=$secondaryArchSuffix
commandBinDir=$binDir
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
PROVIDES="
python3$secondaryArchSuffix = $portVersion compat >= 3.5
cmd:2to3 = $portVersion compat >= 3.5
cmd:2to3_3.5 = $portVersion compat >= 3.5
cmd:idle = $portVersion compat >= 3.5
cmd:idle3 = $portVersion compat >= 3.5
cmd:idle3.5 = $portVersion compat >= 3.5
cmd:pydoc3 = $portVersion compat >= 3.5
cmd:pydoc3.5 = $portVersion compat >= 3.5
cmd:python3 = $portVersion compat >= 3.5
cmd:python3_config = $portVersion compat >= 3.5
cmd:python3.5 = $portVersion compat >= 3.5
cmd:python3.5_config = $portVersion compat >= 3.5
cmd:python3.5m = $portVersion compat >= 3.5
cmd:python3.5m_config = $portVersion compat >= 3.5
cmd:pyvenv = $portVersion compat >= 3.5
cmd:pyvenv_3.5 = $portVersion compat >= 3.5
devel:libpython3.5m$secondaryArchSuffix = 1.0
lib:libpython3.5m$secondaryArchSuffix = 1.0
lib:libpython3$secondaryArchSuffix = 3.5
"
REQUIRES="
haiku$secondaryArchSuffix
cmd:file
lib:libbz2$secondaryArchSuffix
lib:libexpat$secondaryArchSuffix
lib:libncurses$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libreadline$secondaryArchSuffix
lib:libsqlite3$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
devel:libbz2$secondaryArchSuffix
devel:libexpat$secondaryArchSuffix
devel:libncurses$secondaryArchSuffix
devel:libssl$secondaryArchSuffix
devel:libreadline$secondaryArchSuffix
devel:libsqlite3$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel
cmd:aclocal
cmd:autoconf
cmd:find
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:libtoolize
cmd:pkg_config$secondaryArchSuffix
cmd:make
cmd:python
"
SOURCE_DIR="Python-$portVersion"
GLOBAL_WRITABLE_FILES="
non-packaged/lib/python3.5/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 --omit-dirs binDir ./configure \
--enable-shared --without-ensurepip \
--with-system-expat --bindir=$commandBinDir
# 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.5m
fixPkgconfig
mkdir -p $prefix/lib/python3.5/vendor-packages
echo 'This directory contains packaged python modules.' \
>$prefix/lib/python3.5/vendor-packages/README
mkdir -p $prefix/non-packaged/lib/python3.5
mv $prefix/lib/python3.5/site-packages $prefix/non-packaged/lib/python3.5/
}
TEST()
{
cd Lib/test
rm -f test_asynchat.py # this one stalls, so skip it for now
rm -f test_multiprocessing.py # this one stalls, so skip it for now
python3 regrtest.py
}