From 38aa385d8efd3b5836e223ff8361e8323008828f Mon Sep 17 00:00:00 2001 From: fbrosson Date: Wed, 31 Oct 2018 20:02:40 +0000 Subject: [PATCH] pyOpenSSL: new recipe. --- dev-python/pyopenssl/pyopenssl-18.0.0.recipe | 120 +++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 dev-python/pyopenssl/pyopenssl-18.0.0.recipe diff --git a/dev-python/pyopenssl/pyopenssl-18.0.0.recipe b/dev-python/pyopenssl/pyopenssl-18.0.0.recipe new file mode 100644 index 000000000..780d195fe --- /dev/null +++ b/dev-python/pyopenssl/pyopenssl-18.0.0.recipe @@ -0,0 +1,120 @@ +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 +}