1SUMMARY="A Python library for measuring code coverage"
2DESCRIPTION="coverage is tool for measuring code coverage of Python programs."
3HOMEPAGE="https://github.com/nedbat/coveragepy
4	https://coverage.readthedocs.io/
5	https://pypi.org/project/coverage/"
6COPYRIGHT="2001 Gareth Rees
7	2004-2024 Ned Batchelder"
8LICENSE="Apache v2"
9REVISION="1"
10SOURCE_URI="https://pypi.org/packages/source/c/coverage/coverage-$portVersion.tar.gz"
11CHECKSUM_SHA256="276f6077a5c61447a48d133ed13e759c09e62aff0dc84274a68dc18660104d52"
12
13ARCHITECTURES="all !x86_gcc2"
14SECONDARY_ARCHITECTURES="x86"
15
16PROVIDES="
17	coverage$secondaryArchSuffix = $portVersion
18	"
19REQUIRES="
20	haiku$secondaryArchSuffix
21	"
22
23BUILD_REQUIRES="
24	haiku${secondaryArchSuffix}_devel
25	"
26BUILD_PREREQUIRES="
27	cmd:gcc$secondaryArchSuffix
28	cmd:rst2html
29	cmd:rst2man
30	"
31
32PYTHON_VERSIONS=(3.9 3.10)
33defaultVersion=3.10
34for i in "${!PYTHON_VERSIONS[@]}"; do
35	pythonVersion=${PYTHON_VERSIONS[$i]}
36	pythonPackage=python${pythonVersion//.}
37
38	eval "PROVIDES_$pythonPackage=\"
39		${portName}_$pythonPackage = $portVersion
40		cmd:coverage_$pythonVersion = $portVersion
41		\""
42
43	# Provide coverage and coverage3 for the default version
44	if [ "$pythonVersion" = "$defaultVersion" ]; then
45		eval "PROVIDES_${pythonPackage}+=\"
46			cmd:coverage = $portVersion
47			cmd:coverage${pythonVersion%.*} = $portVersion
48			\""
49	fi
50
51	# Also provide "non _x86" package on x86 32 bits
52	if [ "$targetArchitecture" = "x86_gcc2" ]; then
53		eval "PROVIDES_${pythonPackage}+=\"
54			coverage_$pythonPackage = $portVersion
55			\""
56	fi
57
58	eval "REQUIRES_$pythonPackage=\"
59		haiku$secondaryArchSuffix
60		lib:libpython$pythonVersion$secondaryArchSuffix
61		\""
62	eval "BUILD_REQUIRES+=\"
63		setuptools_$pythonPackage
64		\""
65	eval "BUILD_PREREQUIRES+=\"
66		cmd:python$pythonVersion
67		\""
68done
69
70
71BUILD()
72{
73	# Build the man page and README.html
74 	rst2man < doc/python-coverage.1.txt > coverage.1
75 	rst2html < README.rst > README.html
76
77	for i in "${!PYTHON_VERSIONS[@]}"; do
78		pythonVersion=${PYTHON_VERSIONS[$i]}
79		pythonPackage=python${pythonVersion//.}
80
81		rm -rf "$sourceDir"-$pythonPackage
82		cp -a "$sourceDir" "$sourceDir"-$pythonPackage
83		cd "$sourceDir"-$pythonPackage
84
85		python=python$pythonVersion
86		$python setup.py build
87	done
88}
89
90INSTALL()
91{
92	for i in "${!PYTHON_VERSIONS[@]}"; do
93		pythonVersion=${PYTHON_VERSIONS[$i]}
94		pythonPackage=python${pythonVersion//.}
95
96		cd "$sourceDir"-$pythonPackage
97
98		python=python$pythonVersion
99		installLocation=$prefix/lib/$python/vendor-packages/
100		export PYTHONPATH=$installLocation
101
102		mkdir -p "$installLocation"
103		mkdir -p $manDir/man1
104
105		$python setup.py install \
106			--optimize=1 \
107			--root=/ --prefix="$prefix"
108
109		# For non default versions, only leave "coverage-$pythonVersion"
110		if [ $pythonVersion != $defaultVersion ]; then
111			rm $prefix/bin/coverage
112			rm $prefix/bin/coverage3
113		fi
114
115		install -m 755 -d "$docDir"
116		install -m 644 -t "$docDir" README.html
117		cp coverage.1 $manDir/man1
118
119		packageEntries $pythonPackage \
120			$prefix/bin \
121			$prefix/lib/$python \
122			$docDir \
123			$manDir
124	done
125}
126