From 47973ca8f1fc43e4b1f0d1bd1f418feeca4cd8a6 Mon Sep 17 00:00:00 2001 From: fbrosson Date: Sat, 27 Oct 2018 10:47:44 +0000 Subject: [PATCH] PLY: add python(2) subpackage, add TEST, add BUILD, fix HOMEPAGE. Until now, INSTALL was doing both the build and the installation. But this was bad because INSTALL was cleaning the build directory of the python subpackage in order to build the python3 subpackage. Creating separate build trees for each of the python subpackages allows to keep both build trees. We can now use a TEST function. --- dev-python/ply/ply-3.11.recipe | 83 +++++++++++++++++++++++++--------- 1 file changed, 61 insertions(+), 22 deletions(-) diff --git a/dev-python/ply/ply-3.11.recipe b/dev-python/ply/ply-3.11.recipe index 8b8e131cf..46d8c481c 100644 --- a/dev-python/ply/ply-3.11.recipe +++ b/dev-python/ply/ply-3.11.recipe @@ -9,10 +9,11 @@ empty productions, precedence rules, error recovery, and support for \ ambiguous grammars. PLY is extremely easy to use and provides very extensive error checking." -HOMEPAGE="https://pypi.org/project/ply/" +HOMEPAGE="https://www.dabeaz.com/ply/ + https://pypi.org/project/ply/" COPYRIGHT="2006-2018 David Beazley" LICENSE="BSD (3-clause)" -REVISION="1" +REVISION="2" SOURCE_URI="https://files.pythonhosted.org/packages/e5/69/882ee5c9d017149285cab114ebeab373308ef0f874fcdac9beb90e0ac4da/ply-$portVersion.tar.gz" CHECKSUM_SHA256="00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3" @@ -27,42 +28,80 @@ REQUIRES=" BUILD_REQUIRES=" haiku_devel + setuptools_python + setuptools_python3 + " +BUILD_PREREQUIRES=" + cmd:python + cmd:python3 " -PYTHON_PACKAGES=(python3) -PYTHON_VERSIONS=(3.6) +PYTHON_PACKAGES=(python python3) +PYTHON_VERSIONS=(2.7 3.6) for i in "${!PYTHON_PACKAGES[@]}"; do -pythonPackage=${PYTHON_PACKAGES[i]} -pythonVersion=${PYTHON_VERSIONS[$i]} -eval "PROVIDES_${pythonPackage}=\"\ - ${portName}_$pythonPackage = $portVersion\ - \"; \ -REQUIRES_$pythonPackage=\"\ - haiku\n\ - cmd:python$pythonVersion\ - \"" -BUILD_REQUIRES="$BUILD_REQUIRES - setuptools_$pythonPackage" -BUILD_PREREQUIRES="$BUILD_PREREQUIRES - cmd:python$pythonVersion" + pythonPackage=${PYTHON_PACKAGES[i]} + pythonVersion=${PYTHON_VERSIONS[$i]} + + eval "PROVIDES_${pythonPackage}=\"\ + ${portName}_$pythonPackage = $portVersion + \"" + eval "REQUIRES_$pythonPackage=\" + haiku + cmd:python$pythonVersion + \"" + TEST_REQUIRES+=" + 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() { 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:$PYTHONPATH mkdir -p $installLocation - rm -rf build - $python setup.py build install \ - --root=/ --prefix=$prefix + $python setup.py install \ + --root=/ --prefix="$prefix" - packageEntries $pythonPackage \ - $prefix/lib/python* + packageEntries $pythonPackage \ + "$prefix"/lib/$python done + + install -m 755 -d "$docDir" + install -m 644 -t "$docDir" README.md } +TEST() +{ + for i in "${!PYTHON_PACKAGES[@]}"; do + pythonPackage=${PYTHON_PACKAGES[i]} + pythonVersion=${PYTHON_VERSIONS[$i]} + + cd "$sourceDir"-$pythonPackage/test + + python=python$pythonVersion + $python testlex.py + $python testyacc.py + $python testcpp.py + done +}