1SUMMARY="An abstract syntax tree for Python with inference support" 2DESCRIPTION="The aim of this module is to provide a common base representation of python source \ 3code. It is currently the library powering pylint's capabilities. 4 5It provides a compatible representation which comes from the _ast module. It rebuilds the tree \ 6generated by the builtin _ast module by recursively walking down the AST and building an extended \ 7ast. The new node classes have additional methods and attributes for different usages. They \ 8include some support for static inference and local name scopes. Furthermore, astroid can also \ 9build partial trees by inspecting living objects." 10HOMEPAGE="https://github.com/PyCQA/astroid" 11COPYRIGHT="2003-2023, Logilab, PyCQA and contributors" 12LICENSE="GNU LGPL v2.1" 13REVISION="1" 14SOURCE_URI="https://pypi.io/packages/source/a/$portName/$portName-$portVersion.tar.gz" 15CHECKSUM_SHA256="1039262575027b441137ab4a62a793a9b43defb42c32d5670f38686207cd780f" 16 17ARCHITECTURES="any" 18 19PROVIDES=" 20 $portName = $portVersion 21 " 22REQUIRES=" 23 haiku 24 " 25 26BUILD_REQUIRES=" 27 haiku_devel 28 " 29 30PYTHON_PACKAGES=(python39 python310) 31PYTHON_VERSIONS=(3.9 3.10) 32for i in "${!PYTHON_PACKAGES[@]}"; do 33 pythonPackage=${PYTHON_PACKAGES[i]} 34 pythonVersion=${PYTHON_VERSIONS[i]} 35 36 eval "PROVIDES_$pythonPackage=\" 37 $portName_$pythonPackage = $portVersion 38 \"" 39 eval "REQUIRES_$pythonPackage=\" 40 lazy_object_proxy_$pythonPackage 41 typing_extensions_$pythonPackage # only needed for Python < 3.11 42 wrapt_$pythonPackage 43 cmd:python$pythonVersion 44 \"" 45 BUILD_REQUIRES+=" 46 build_$pythonPackage 47 installer_$pythonPackage 48 setuptools_$pythonPackage 49 wheel_$pythonPackage 50 " 51 BUILD_PREREQUIRES+=" 52 cmd:python$pythonVersion 53 " 54 TEST_REQUIRES+=" 55 astroid_$pythonPackage 56 pytest_$pythonPackage 57 " 58done 59 60 61INSTALL() 62{ 63 for i in "${!PYTHON_PACKAGES[@]}"; do 64 python=python${PYTHON_VERSIONS[i]} 65 66 $python -m build --wheel --skip-dependency-check --no-isolation 67 $python -m installer -p $prefix dist/*.whl 68 69 packageEntries ${PYTHON_PACKAGES[i]} \ 70 $prefix/lib/python* 71 done 72} 73 74TEST() 75{ 76 # The following test error out with : 77 # "ImportError: attempted relative import with no known parent package" 78 # interrupting the test run, so, skip them for now. 79 rm tests/test_builder.py 80 rm tests/test_inference.py 81 rm tests/test_lookup.py 82 rm tests/test_manager.py 83 rm tests/test_modutils.py 84 rm tests/test_nodes.py 85 rm tests/test_raw_building.py 86 rm tests/test_regrtest.py 87 rm tests/test_scoped_nodes.py 88 89 for i in "${!PYTHON_VERSIONS[@]}"; do 90 python=python${PYTHON_VERSIONS[i]} 91 $python -m pytest -m "not acceptance" tests 92 done 93 94 # And currently we get: 95 # "214 passed, 8 skipped, 2 xfailed" in Py 3.9 96 # "218 passed, 4 skipped, 2 xfailed" in Py 3.10 97} 98