SUMMARY="A Python wrapper around the OpenSSL library"
DESCRIPTION="pyOpenSSL is a high-level wrapper around a subset of the OpenSSL \
library.
Note: The Python Cryptographic Authority strongly suggests the use of the \
Python module called "cryptography" where possible instead of this one. \
Developers using pyOpenSSL for anything other than making a TLS connection \
should move to cryptography and drop the pyOpenSSL dependency."
HOMEPAGE="https://github.com/pyca/pyopenssl
	https://pyopenssl.org/"
COPYRIGHT="2008-2018 The pyOpenSSL developers"
LICENSE="Apache v2
	BSD (3-clause)"
REVISION="1"
SOURCE_URI="https://github.com/pyca/pyopenssl/archive/$portVersion.tar.gz"
CHECKSUM_SHA256="4cbd406aac16077ed23c77e35c38852cd4825a5fcf06beebd243349882da25e6"
SOURCE_FILENAME="pyopenssl-$portVersion.tar.gz"

ARCHITECTURES="any"

PROVIDES="
	pyopenssl = $portVersion
	"
REQUIRES="
	haiku
	"

BUILD_REQUIRES="
	haiku_devel
	"

PYTHON_PACKAGES=()
PYTHON_VERSIONS=()
PYTHON_LIBSUFFIXES=()

# cryptography_python is not available on x86_gcc2
if [ "$targetArchitecture" != x86_gcc2 ]; then
PYTHON_PACKAGES+=(python)
PYTHON_VERSIONS+=(2.7)
BUILD_REQUIRES+="
	setuptools_python
	cryptography_python
	six_python
	"
BUILD_PREREQUIRES+="
	cmd:python2
	"
fi

PYTHON_PACKAGES+=(python3)
PYTHON_VERSIONS+=(3.6)
BUILD_REQUIRES+="
	setuptools_python3
	cryptography_python3
	six_python3
	"
BUILD_PREREQUIRES+="
	cmd:python3
	"

for i in "${!PYTHON_PACKAGES[@]}"; do
	pythonPackage=${PYTHON_PACKAGES[i]}
	pythonVersion=${PYTHON_VERSIONS[$i]}

	eval "PROVIDES_$pythonPackage=\"
		${portName}_$pythonPackage = $portVersion
		\""
	eval "REQUIRES_$pythonPackage=\"
		haiku
		cryptography_$pythonPackage
		six_$pythonPackage
		\""
done

BUILD()
{
	for i in "${!PYTHON_PACKAGES[@]}"; do
		pythonPackage=${PYTHON_PACKAGES[i]}
		pythonVersion=${PYTHON_VERSIONS[$i]}

		rm -rf "$sourceDir"-$pythonPackage
		cp -a "$sourceDir" "$sourceDir"-$pythonPackage
		cd "$sourceDir"-$pythonPackage

		python=python$pythonVersion
		$python setup.py build
	done
}

INSTALL()
{
	myLicensesDir=$dataDir/licenses/packages/p/pyopenssl

	for i in "${!PYTHON_PACKAGES[@]}"; do
		pythonPackage=${PYTHON_PACKAGES[i]}
		pythonVersion=${PYTHON_VERSIONS[$i]}

		cd "$sourceDir"-$pythonPackage

		python=python$pythonVersion
		installLocation=$prefix/lib/$python/vendor-packages/
		export PYTHONPATH=$installLocation
		mkdir -p "$installLocation"
		$python setup.py install \
			--optimize=1 \
			--root=/ --prefix="$prefix"

		install -m 755 -d "$myLicensesDir"
		ln -s "`finddir B_SYSTEM_DATA_DIRECTORY`/licenses/Apache v2" \
			"$myLicensesDir"/LICENSE

		packageEntries $pythonPackage \
			"$dataDir" \
			"$prefix"/lib/$python
	done

	install -m 755 -d "$myLicensesDir" "$docDir"
	ln -s "`finddir B_SYSTEM_DATA_DIRECTORY`/licenses/Apache v2" \
		"$myLicensesDir"/LICENSE
	install -m 644 -t "$docDir" README.rst
}
