mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-09 21:30:08 +02:00
130 lines
3.6 KiB
Bash
130 lines
3.6 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"
|
|
REVISION="1"
|
|
SOURCE_URI="https://www.python.org/ftp/python/$portVersion/Python-$portVersion.tar.xz"
|
|
CHECKSUM_SHA256="eefe2ad6575855423ab630f5b51a8ef6e5556f774584c06beab4926f930ddbb0"
|
|
SOURCE_DIR="Python-$portVersion"
|
|
PATCHES="python3-$portVersion.patchset"
|
|
|
|
ARCHITECTURES="!x86_gcc2 ?x86 ?x86_64"
|
|
SECONDARY_ARCHITECTURES="!x86"
|
|
|
|
|
|
# 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="
|
|
python35$secondaryArchSuffix = $portVersion compat >= 3.5
|
|
cmd:2to3_3.5 = $portVersion compat >= 3.5
|
|
cmd:idle3.5 = $portVersion compat >= 3.5
|
|
cmd:pydoc3.5 = $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_3.5 = $portVersion compat >= 3.5
|
|
devel:libpython3.5m$secondaryArchSuffix = 1.0
|
|
lib:libpython3.5m$secondaryArchSuffix = 1.0
|
|
"
|
|
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
|
|
"
|
|
|
|
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 altinstall maninstall
|
|
|
|
rm $libDir/libpython3.so $manDir/man1/python3.1
|
|
|
|
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.5 regrtest.py
|
|
}
|