SUMMARY="The PEP 517 Compliant PyQt Build System" DESCRIPTION="PyQt-builder is the PEP 517 compliant build system for PyQt and projects that \ extend PyQt. It extends the sip build system and uses Qt's 'qmake' to perform the actual \ compilation and installation of extension modules." HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/" COPYRIGHT="2020 Riverbank Computing Limited" LICENSE="BSD (2-clause)" REVISION="1" SOURCE_URI="https://pypi.io/packages/source/P/PyQt-builder/PyQt-builder-$portVersion.tar.gz" CHECKSUM_SHA256="746cfe83c03ebff4458d478a1c06714790ef93e458ecd5a28bc2837bac88eb74" SOURCE_DIR="PyQt-builder-$portVersion" ARCHITECTURES="any" PROVIDES=" pyqt_builder = $portVersion " REQUIRES=" haiku " BUILD_REQUIRES=" haiku_devel " PYTHON_PACKAGES=(python39 python310) PYTHON_VERSIONS=(3.9 3.10) defaultVersion=3.10 for i in "${!PYTHON_PACKAGES[@]}"; do pythonPackage=${PYTHON_PACKAGES[i]} pythonVersion=${PYTHON_VERSIONS[$i]} eval "PROVIDES_$pythonPackage=\" ${portName}_$pythonPackage = $portVersion cmd:pyqt_bundle_$pythonVersion cmd:pyqt_qt_wheel_$pythonVersion \"" if [ $pythonVersion = $defaultVersion ]; then eval "PROVIDES_$pythonPackage+=\" cmd:pyqt_bundle cmd:pyqt_qt_wheel \"" fi eval "REQUIRES_$pythonPackage=\" haiku sip_$pythonPackage cmd:python$pythonVersion \"" BUILD_REQUIRES+=" setuptools_$pythonPackage " 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 mkdir -p $installLocation rm -rf build $python setup.py build install \ --root=/ --prefix=$prefix # Version suffix all the scripts for f in $binDir/*; do mv $f $f-$pythonVersion done # And provide suffix-less symlinks for the default version if [ $pythonVersion = $defaultVersion ]; then for f in $binDir/*; do ln -sr $f ${f%-$pythonVersion} done fi packageEntries $pythonPackage \ $prefix/lib/python* \ $binDir done }