SUMMARY="A C parser and AST generator written in Python" DESCRIPTION="pycparser is a parser for the C language, written in pure Python. \ It is designed to be easily integrated into applications that need to parse C \ source code." HOMEPAGE="https://github.com/eliben/pycparser" COPYRIGHT="2008-2018 Eli Bendersky" LICENSE="BSD (3-clause)" REVISION="1" SOURCE_URI="https://github.com/eliben/pycparser/archive/release_v$portVersion.tar.gz" CHECKSUM_SHA256="1b895b4f6fb5195ce9c516ca7e28c9bd2f9ecd0f02755302b8a717454abea806" SOURCE_FILENAME="pycparser-$portVersion.tar.gz" SOURCE_DIR="pycparser-release_v$portVersion" ARCHITECTURES="any" PROVIDES=" pycparser = $portVersion " REQUIRES=" haiku " BUILD_REQUIRES=" haiku_devel " PYTHON_PACKAGES=(python python3 python38 python39) PYTHON_VERSIONS=(2.7 3.7 3.8 3.9) 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 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 cd pycparser $python _build_tables.py cd .. 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 mkdir -p "$installLocation" $python setup.py install --root=/ --prefix="$prefix" --optimize=1 install -m 755 -d "$dataDir"/licenses install -m 644 -T LICENSE "$dataDir"/licenses/pycparser packageEntries $pythonPackage \ "$dataDir" \ "$prefix"/lib/$python done install -m 755 -d "$dataDir"/licenses "$docDir" install -m 644 -T LICENSE "$dataDir"/licenses/pycparser install -m 644 -t "$docDir" README.rst } TEST() { for i in "${!PYTHON_PACKAGES[@]}"; do pythonPackage=${PYTHON_PACKAGES[i]} pythonVersion=${PYTHON_VERSIONS[$i]} cd "$sourceDir"-$pythonPackage python=python$pythonVersion $python tests/all_tests.py done }