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="6" SOURCE_URI="https://pypi.io/packages/source/p/ply/ply-$portVersion.tar.gz" CHECKSUM_SHA256="00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3" ARCHITECTURES="any" PROVIDES=" $portName = $portVersion " REQUIRES=" haiku " BUILD_REQUIRES=" haiku_devel " PYTHON_PACKAGES=(python39 python310) PYTHON_VERSIONS=(3.9 3.10) 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" done INSTALL() { for i in "${!PYTHON_PACKAGES[@]}"; do pythonPackage=${PYTHON_PACKAGES[i]} pythonVersion=${PYTHON_VERSIONS[$i]} 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 packageEntries $pythonPackage \ $prefix/lib/python* done }