Files
haikuports/dev-python/coverage/coverage-7.4.3.recipe
2024-03-13 09:50:11 +01:00

126 lines
3.0 KiB
Bash

SUMMARY="A Python library for measuring code coverage"
DESCRIPTION="coverage is tool for measuring code coverage of Python programs."
HOMEPAGE="https://github.com/nedbat/coveragepy
https://coverage.readthedocs.io/
https://pypi.org/project/coverage/"
COPYRIGHT="2001 Gareth Rees
2004-2024 Ned Batchelder"
LICENSE="Apache v2"
REVISION="1"
SOURCE_URI="https://pypi.org/packages/source/c/coverage/coverage-$portVersion.tar.gz"
CHECKSUM_SHA256="276f6077a5c61447a48d133ed13e759c09e62aff0dc84274a68dc18660104d52"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
coverage$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:rst2html
cmd:rst2man
"
PYTHON_VERSIONS=(3.9 3.10)
defaultVersion=3.10
for i in "${!PYTHON_VERSIONS[@]}"; do
pythonVersion=${PYTHON_VERSIONS[$i]}
pythonPackage=python${pythonVersion//.}
eval "PROVIDES_$pythonPackage=\"
${portName}_$pythonPackage = $portVersion
cmd:coverage_$pythonVersion = $portVersion
\""
# Provide coverage and coverage3 for the default version
if [ "$pythonVersion" = "$defaultVersion" ]; then
eval "PROVIDES_${pythonPackage}+=\"
cmd:coverage = $portVersion
cmd:coverage${pythonVersion%.*} = $portVersion
\""
fi
# Also provide "non _x86" package on x86 32 bits
if [ "$targetArchitecture" = "x86_gcc2" ]; then
eval "PROVIDES_${pythonPackage}+=\"
coverage_$pythonPackage = $portVersion
\""
fi
eval "REQUIRES_$pythonPackage=\"
haiku$secondaryArchSuffix
lib:libpython$pythonVersion$secondaryArchSuffix
\""
eval "BUILD_REQUIRES+=\"
setuptools_$pythonPackage
\""
eval "BUILD_PREREQUIRES+=\"
cmd:python$pythonVersion
\""
done
BUILD()
{
# Build the man page and README.html
rst2man < doc/python-coverage.1.txt > coverage.1
rst2html < README.rst > README.html
for i in "${!PYTHON_VERSIONS[@]}"; do
pythonVersion=${PYTHON_VERSIONS[$i]}
pythonPackage=python${pythonVersion//.}
rm -rf "$sourceDir"-$pythonPackage
cp -a "$sourceDir" "$sourceDir"-$pythonPackage
cd "$sourceDir"-$pythonPackage
python=python$pythonVersion
$python setup.py build
done
}
INSTALL()
{
for i in "${!PYTHON_VERSIONS[@]}"; do
pythonVersion=${PYTHON_VERSIONS[$i]}
pythonPackage=python${pythonVersion//.}
cd "$sourceDir"-$pythonPackage
python=python$pythonVersion
installLocation=$prefix/lib/$python/vendor-packages/
export PYTHONPATH=$installLocation
mkdir -p "$installLocation"
mkdir -p $manDir/man1
$python setup.py install \
--optimize=1 \
--root=/ --prefix="$prefix"
# For non default versions, only leave "coverage-$pythonVersion"
if [ $pythonVersion != $defaultVersion ]; then
rm $prefix/bin/coverage
rm $prefix/bin/coverage3
fi
install -m 755 -d "$docDir"
install -m 644 -t "$docDir" README.html
cp coverage.1 $manDir/man1
packageEntries $pythonPackage \
$prefix/bin \
$prefix/lib/$python \
$docDir \
$manDir
done
}