1SUMMARY="Python implementation of the AES block cipher algorithm"
2DESCRIPTION="A pure-Python implementation of the AES block cipher algorithm \
3and the common modes of operation (CBC, CFB, CTR, ECB and OFB)."
4HOMEPAGE="https://pypi.python.org/pypi/pip"
5COPYRIGHT="2014 Richard Moore"
6LICENSE="MIT"
7REVISION="3"
8SOURCE_URI="https://pypi.org/packages/source/p/pyaes/pyaes-$portVersion.tar.gz"
9CHECKSUM_SHA256="02c1b1405c38d3c370b085fb952dd8bea3fadcee6411ad99f312cc129c536d8f"
10
11ARCHITECTURES="any"
12
13PROVIDES="
14	$portName = $portVersion
15	"
16REQUIRES="
17	haiku
18	"
19
20BUILD_REQUIRES="
21	haiku_devel
22	"
23
24PYTHON_PACKAGES=(python39 python310)
25PYTHON_VERSIONS=(3.9 3.10)
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		\""
33	eval "REQUIRES_$pythonPackage=\"
34		haiku
35		cmd:python$pythonVersion
36		setuptools_$pythonPackage
37		\""
38	BUILD_REQUIRES+="
39		setuptools_$pythonPackage
40		"
41	BUILD_PREREQUIRES+="
42		cmd:python$pythonVersion
43		"
44	# Tests Needs "Crypto", but PyCrypto is deprecated, so use a replacement.
45	TEST_REQUIRES+="
46		pycryptodome_$pythonPackage
47		"
48done
49
50
51INSTALL()
52{
53	for i in "${!PYTHON_PACKAGES[@]}"; do
54		pythonPackage=${PYTHON_PACKAGES[i]}
55		pythonVersion=${PYTHON_VERSIONS[$i]}
56
57		python=python$pythonVersion
58		installLocation=$prefix/lib/$python/vendor-packages/
59		export PYTHONPATH=$installLocation:$PYTHONPATH
60
61		mkdir -p $installLocation
62		rm -rf build
63
64		$python setup.py build install \
65			--root=/ --prefix=$prefix
66
67		packageEntries  $pythonPackage \
68			$prefix/lib/python*
69	done
70}
71
72
73TEST()
74{
75	cd tests
76	# Make sure the tests can find the local "pyaes" module
77	export PYTHONPATH="../":$PYTHONPATH
78
79	for i in "${!PYTHON_VERSIONS[@]}"; do
80		pythonVersion=${PYTHON_VERSIONS[$i]}
81
82		python=python$pythonVersion
83
84		for f in *.py; do
85			$python $f
86		done
87	done
88}
89