1SUMMARY="A C parser and AST generator written in Python" 2DESCRIPTION="pycparser is a parser for the C language, written in pure Python. \ 3It is designed to be easily integrated into applications that need to parse C \ 4source code." 5HOMEPAGE="https://github.com/eliben/pycparser" 6COPYRIGHT="2008-2018 Eli Bendersky" 7LICENSE="BSD (3-clause)" 8REVISION="3" 9SOURCE_URI="https://github.com/eliben/pycparser/archive/release_v$portVersion.tar.gz" 10CHECKSUM_SHA256="3c797eb2eb1ba57772bb99ffa7caed23c3a2c2ae58daef114c9b09d3a6da97e2" 11SOURCE_FILENAME="pycparser-$portVersion.tar.gz" 12SOURCE_DIR="pycparser-release_v$portVersion" 13 14ARCHITECTURES="any" 15 16PROVIDES=" 17 pycparser = $portVersion 18 " 19REQUIRES=" 20 haiku 21 " 22 23BUILD_REQUIRES=" 24 haiku_devel 25 " 26 27PYTHON_PACKAGES=(python39 python310) 28PYTHON_VERSIONS=(3.9 3.10) 29for i in "${!PYTHON_PACKAGES[@]}"; do 30pythonPackage=${PYTHON_PACKAGES[i]} 31pythonVersion=${PYTHON_VERSIONS[$i]} 32eval "PROVIDES_${pythonPackage}=\"\ 33 ${portName}_$pythonPackage = $portVersion\ 34 \"; \ 35REQUIRES_$pythonPackage=\"\ 36 haiku\n\ 37 cmd:python$pythonVersion\ 38 \"" 39BUILD_REQUIRES="$BUILD_REQUIRES 40 setuptools_$pythonPackage" 41BUILD_PREREQUIRES="$BUILD_PREREQUIRES 42 cmd:python$pythonVersion" 43done 44 45BUILD() 46{ 47 for i in "${!PYTHON_PACKAGES[@]}"; do 48 pythonPackage=${PYTHON_PACKAGES[i]} 49 pythonVersion=${PYTHON_VERSIONS[$i]} 50 51 rm -rf "$sourceDir"-$pythonPackage 52 cp -a "$sourceDir" "$sourceDir"-$pythonPackage 53 cd "$sourceDir"-$pythonPackage 54 55 python=python$pythonVersion 56 $python setup.py build 57 cd pycparser 58 $python _build_tables.py 59 cd .. 60 done 61} 62 63INSTALL() 64{ 65 for i in "${!PYTHON_PACKAGES[@]}"; do 66 pythonPackage=${PYTHON_PACKAGES[i]} 67 pythonVersion=${PYTHON_VERSIONS[$i]} 68 69 cd "$sourceDir"-$pythonPackage 70 71 python=python$pythonVersion 72 installLocation=$prefix/lib/$python/vendor-packages/ 73 export PYTHONPATH=$installLocation 74 mkdir -p "$installLocation" 75 $python setup.py install --root=/ --prefix="$prefix" --optimize=1 76 77 install -m 755 -d "$dataDir"/licenses 78 install -m 644 -T LICENSE "$dataDir"/licenses/pycparser 79 80 packageEntries $pythonPackage \ 81 "$dataDir" \ 82 "$prefix"/lib/$python 83 done 84 85 install -m 755 -d "$dataDir"/licenses "$docDir" 86 install -m 644 -T LICENSE "$dataDir"/licenses/pycparser 87 install -m 644 -t "$docDir" README.rst 88} 89 90TEST() 91{ 92 for i in "${!PYTHON_PACKAGES[@]}"; do 93 pythonPackage=${PYTHON_PACKAGES[i]} 94 pythonVersion=${PYTHON_VERSIONS[$i]} 95 96 cd "$sourceDir"-$pythonPackage 97 98 python=python$pythonVersion 99 $python tests/all_tests.py 100 done 101} 102