SUMMARY="Python Lex & Yacc" DESCRIPTION="PLY is yet another implementation of lex and yacc for Python. \ Some notable features include the fact that its implemented entirely in \ Python and it uses LALR(1) parsing which is efficient and well suited for \ larger grammars. PLY provides most of the standard lex/yacc features including support for \ 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://www.dabeaz.com/ply/ https://pypi.org/project/ply/" COPYRIGHT="2006-2018 David Beazley" LICENSE="BSD (3-clause)" REVISION="2" SOURCE_URI="https://files.pythonhosted.org/packages/e5/69/882ee5c9d017149285cab114ebeab373308ef0f874fcdac9beb90e0ac4da/ply-$portVersion.tar.gz" CHECKSUM_SHA256="00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3" ARCHITECTURES="any" PROVIDES=" $portName = $portVersion " REQUIRES=" haiku " BUILD_REQUIRES=" haiku_devel setuptools_python setuptools_python3 " BUILD_PREREQUIRES=" cmd:python cmd:python3 " 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 \"" 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 $python setup.py install \ --root=/ --prefix="$prefix" 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 }