1SUMMARY="Modern, extensible Python build backend"
2DESCRIPTION="This is the extensible, standards compliant build backend used by Hatch."
3HOMEPAGE="https://hatch.pypa.io/dev/history/hatchling/"
4COPYRIGHT="2021-present Ofek Lev"
5LICENSE="MIT"
6REVISION="1"
7SOURCE_URI="https://files.pythonhosted.org/packages/source/h/$portName/$portName-$portVersion.tar.gz"
8CHECKSUM_SHA256="b1244db3f45b4ef5a00106a46612da107cdfaf85f1580b8e1c059fefc98b0930"
9
10ARCHITECTURES="any"
11
12PROVIDES="
13	$portName = $portVersion
14	"
15REQUIRES="
16	haiku
17	"
18
19BUILD_REQUIRES="
20	haiku_devel
21	"
22
23PYTHON_PACKAGES=(python39 python310)
24PYTHON_VERSIONS=(3.9 3.10)
25defaultVersion=3.9
26for i in "${!PYTHON_PACKAGES[@]}"; do
27	pythonPackage=${PYTHON_PACKAGES[i]}
28	pythonVersion=${PYTHON_VERSIONS[$i]}
29
30	eval "PROVIDES_$pythonPackage=\"
31		${portName}_$pythonPackage = $portVersion
32		cmd:hatchling_$pythonVersion
33		\""
34	# Provide non-suffixed cmd only for the default Python version
35	if [ $pythonVersion = $defaultVersion ]; then
36		eval "PROVIDES_$pythonPackage+=\"
37			cmd:hatchling
38			\""
39	fi
40
41	eval "REQUIRES_$pythonPackage=\"
42		haiku
43		editables_$pythonPackage >= 0.3
44		packaging_$pythonPackage >= 21.3
45		pathspec_$pythonPackage >= 0.10.1
46		pluggy_$pythonPackage >= 1.0.0
47		tomli_$pythonPackage > 1.2.2		# Only for Python < 3.11
48		trove_classifiers_$pythonPackage
49		cmd:python$pythonVersion
50		\""
51	BUILD_REQUIRES+="
52		build_$pythonPackage
53		installer_$pythonPackage
54		pathspec_$pythonPackage >= 0.10.1
55		pluggy_$pythonPackage >= 1.0.0
56		trove_classifiers_$pythonPackage
57		"
58	BUILD_PREREQUIRES+="
59		cmd:python$pythonVersion
60		"
61done
62
63INSTALL()
64{
65	for i in "${!PYTHON_PACKAGES[@]}"; do
66		pythonVersion=${PYTHON_VERSIONS[$i]}
67
68		python=python$pythonVersion
69		$python -m build --wheel --skip-dependency-check --no-isolation
70		$python -m installer -p $prefix dist/*.whl
71
72		mv $prefix/bin/hatchling $prefix/bin/hatchling-$pythonVersion
73		# Provide non-suffixed cmd only for the default Python version
74		if [ $pythonVersion = $defaultVersion ]; then
75			ln -sr $prefix/bin/hatchling-$pythonVersion $prefix/bin/hatchling
76		fi
77
78		packageEntries ${PYTHON_PACKAGES[i]} \
79			$prefix/lib/python* \
80			$prefix/bin
81	done
82}
83