1SUMMARY="Pure python git implementation"
2DESCRIPTION="Dulwich is a simple Python implementation of the Git file \
3formats and protocols. All functionality is available in pure Python.\
4Optional C extensions can be built for improved performance."
5HOMEPAGE="https://www.dulwich.io/"
6COPYRIGHT="2008-2022 Jelmer Vernooij"
7LICENSE="
8	Apache v2
9	GNU GPL v2
10	"
11REVISION="3"
12SOURCE_URI="https://pypi.python.org/packages/source/${portName:0:1}/dulwich/dulwich-$portVersion.tar.gz"
13CHECKSUM_SHA256="dc5498b072bdc12c1effef4b6202cd2a4542bb1c6dbb4ddcfc8c6d53e08b488c"
14
15ARCHITECTURES="all !x86_gcc2"
16SECONDARY_ARCHITECTURES="x86"
17
18PROVIDES="
19	$portName = $portVersion
20	"
21REQUIRES="
22	haiku$secondaryArchSuffix
23	"
24
25BUILD_REQUIRES="
26	haiku${secondaryArchSuffix}_devel
27	"
28
29PYTHON_PACKAGES=(python39 python310)
30PYTHON_VERSIONS=(3.9 3.10)
31for i in "${!PYTHON_PACKAGES[@]}"; do
32pythonPackage=${PYTHON_PACKAGES[i]}
33pythonVersion=${PYTHON_VERSIONS[$i]}
34eval "PROVIDES_${pythonPackage}=\"\
35	${portName}_$pythonPackage = $portVersion\
36	\"; \
37REQUIRES_$pythonPackage=\"\
38	haiku$secondaryArchSuffix\n\
39	cmd:python$pythonVersion\n\
40	urllib3_$pythonPackage\n\
41	\""
42if [ "$targetArchitecture" = "x86_gcc2" ]; then
43	eval "PROVIDES_${pythonPackage}+=\"\n\
44		dulwich_$pythonPackage = $portVersion\
45		\""
46fi
47BUILD_REQUIRES="$BUILD_REQUIRES
48	setuptools_$pythonPackage"
49BUILD_PREREQUIRES="$BUILD_PREREQUIRES
50	cmd:python$pythonVersion
51	cmd:gcc$secondaryArchSuffix"
52done
53
54for i in "${!PYTHON_VERSIONS[@]}"; do
55pythonVersion=${PYTHON_VERSIONS[i]}
56pyVer=${pythonVersion//.} # remove dot from version
57eval "PROVIDES_python${pyVer}+=\"\n\
58	cmd:dul_receive_pack$pythonVersion = $portVersion\n\
59	cmd:dul_upload_pack$pythonVersion = $portVersion\n\
60	cmd:dulwich$pythonVersion = $portVersion\n\
61	\""
62done
63
64# TODO add the gpg python module when it's available
65#TEST_REQUIRES=""
66
67INSTALL()
68{
69	for i in "${!PYTHON_PACKAGES[@]}"; do
70		pythonPackage=${PYTHON_PACKAGES[i]}
71		pythonVersion=${PYTHON_VERSIONS[$i]}
72
73		#python=$portPackageLinksDir/cmd~python$pythonVersion/bin/python$pythonVersion
74		python=python$pythonVersion
75		installLocation=$prefix/lib/$python/vendor-packages/
76		export PYTHONPATH=$installLocation:$PYTHONPATH
77		mkdir -p $installLocation
78		rm -rf build
79		$python setup.py build install \
80			--root=/ --prefix=$prefix
81
82		for f in $prefix/bin/*; do
83			mv $f ${f}$pythonVersion
84		done
85
86		packageEntries $pythonPackage \
87			$prefix/lib/python* \
88			$prefix/bin
89	done
90}
91
92TEST()
93{
94	for i in "${!PYTHON_PACKAGES[@]}"; do
95		pythonPackage=${PYTHON_PACKAGES[i]}
96		pythonVersion=${PYTHON_VERSIONS[$i]}
97
98		python=python$pythonVersion
99		$python -m unittest dulwich.tests.test_suite
100	done
101}
102