mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-11 06:10:06 +02:00
x86_64 is used as a baseline: the "x86_64" entry, whatever status it has, is transformed into "all", and then the other entries in ARCHITECTURES either dropped or rearranged appropriately.
120 lines
3.2 KiB
Bash
120 lines
3.2 KiB
Bash
SUMMARY="A Python interface to the cURL library"
|
|
DESCRIPTION="PycURL is a Python interface to libcurl, the multiprotocol file \
|
|
transfer library. Similarly to the urllib Python module, PycURL can be used to \
|
|
fetch objects identified by a URL from a Python program. Beyond simple fetches \
|
|
however PycURL exposes most of the functionality of libcurl."
|
|
HOMEPAGE="http://pycurl.io/
|
|
https://github.com/pycurl/pycurl"
|
|
COPYRIGHT="2001-2008 Kjetil Jacobsen
|
|
2001-2008 Markus F.X.J. Oberhumer
|
|
2013-2018 Oleg Pudeyev"
|
|
LICENSE="GNU LGPL v2.1
|
|
MIT"
|
|
REVISION="4"
|
|
SOURCE_URI="https://github.com/pycurl/pycurl/archive/REL_${portVersion//./_}.tar.gz"
|
|
CHECKSUM_SHA256="553047902a738cc2e6b1cd42783a9d0992e47086773be30027a71e1293493c39"
|
|
SOURCE_DIR="pycurl-REL_${portVersion//./_}"
|
|
|
|
ARCHITECTURES="all"
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
|
|
PROVIDES="
|
|
pycurl$secondaryArchSuffix = $portVersion
|
|
"
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
"
|
|
|
|
if [ -z "$secondaryArchSuffix" ]; then
|
|
ARCHITECTURES_doc="any"
|
|
SUMMARY_doc="A Python interface to the cURL library (documentation)"
|
|
PROVIDES_doc="
|
|
pycurl_doc = $portVersion
|
|
"
|
|
REQUIRES_doc="
|
|
haiku
|
|
"
|
|
fi
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
devel:libcrypto$secondaryArchSuffix
|
|
devel:libcurl$secondaryArchSuffix
|
|
devel:libnghttp2$secondaryArchSuffix
|
|
devel:libssl$secondaryArchSuffix
|
|
devel:libz$secondaryArchSuffix
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:gcc$secondaryArchSuffix
|
|
cmd:make
|
|
"
|
|
|
|
PYTHON_PACKAGES=()
|
|
PYTHON_VERSIONS=()
|
|
PYTHON_LIBSUFFIXES=()
|
|
# We don't have python2 for secondaryArch,
|
|
if [ -z "$secondaryArchSuffix" ]; then
|
|
PYTHON_PACKAGES+=(python)
|
|
PYTHON_VERSIONS+=(2.7)
|
|
PYTHON_LIBSUFFIXES+=("")
|
|
fi
|
|
# gcc2 does not support the flags passed by python3
|
|
if [ "$effectiveTargetArchitecture" != x86_gcc2 ]; then
|
|
PYTHON_PACKAGES+=(python36 python3)
|
|
PYTHON_VERSIONS+=(3.6 3.7)
|
|
PYTHON_LIBSUFFIXES+=(m m)
|
|
fi
|
|
for i in "${!PYTHON_PACKAGES[@]}"; do
|
|
pythonPackage=${PYTHON_PACKAGES[i]}
|
|
pythonVersion=${PYTHON_VERSIONS[$i]}
|
|
pythonLibSuffix=${PYTHON_LIBSUFFIXES[$i]}
|
|
|
|
eval "PROVIDES_${pythonPackage}=\"
|
|
${portName}_$pythonPackage = $portVersion
|
|
\""
|
|
eval "REQUIRES_$pythonPackage=\"
|
|
haiku$secondaryArchSuffix
|
|
lib:libcrypto$secondaryArchSuffix
|
|
lib:libcurl$secondaryArchSuffix
|
|
lib:libnghttp2$secondaryArchSuffix
|
|
lib:libpython$pythonVersion$pythonLibSuffix$secondaryArchSuffix
|
|
lib:libssl$secondaryArchSuffix
|
|
lib:libz$secondaryArchSuffix
|
|
\""
|
|
BUILD_REQUIRES="$BUILD_REQUIRES
|
|
setuptools_$pythonPackage"
|
|
BUILD_PREREQUIRES="$BUILD_PREREQUIRES
|
|
cmd:python$pythonVersion"
|
|
done
|
|
|
|
INSTALL()
|
|
{
|
|
for i in "${!PYTHON_PACKAGES[@]}"; do
|
|
pythonPackage=${PYTHON_PACKAGES[i]}
|
|
pythonVersion=${PYTHON_VERSIONS[$i]}
|
|
|
|
python=python$pythonVersion
|
|
installLocation="$prefix"/lib/$python/vendor-packages/
|
|
export PYTHONPATH="$installLocation"
|
|
rm -rf build
|
|
make PYTHON=$python
|
|
mkdir -p "$installLocation"
|
|
$python setup.py build install --root=/ --prefix="$prefix"
|
|
|
|
packageEntries $pythonPackage \
|
|
"$prefix"/lib/$python
|
|
done
|
|
|
|
if [ -z "$secondaryArchSuffix" ]; then
|
|
mkdir -p "$docDir"
|
|
mv "$prefix"/share/doc/pycurl/* "$docDir"
|
|
rmdir "$prefix"/share/doc/pycurl
|
|
packageEntries doc \
|
|
"$docDir"
|
|
rmdir "$prefix"/documentation/packages "$prefix"/documentation
|
|
else
|
|
rm -rf "$prefix"/share/doc/pycurl
|
|
fi
|
|
rmdir "$prefix"/share/doc "$prefix"/share
|
|
}
|