SUMMARY="Python v2 and v3 bindings for Qt application framework" DESCRIPTION="PyQt combines all the advantages of Qt and Python. A programmer \ has all the power of Qt, but is able to exploit it with the \ simplicity of Python." HOMEPAGE="http://www.riverbankcomputing.com/software/pyqt/" COPYRIGHT="2015-2018 Riverbank Computing Limited" LICENSE="GNU GPL v3" REVISION="1" SOURCE_URI="https://downloads.sourceforge.net/pyqt/PyQt5_gpl-$portVersion.tar.gz" CHECKSUM_SHA256="7caa581155c3433716b7e6aba71fe1378cd7d92f4155c266d60e5cffb64e9603" SOURCE_DIR="PyQt5_gpl-$portVersion" PYTHON3_VERSION="3.6" ARCHITECTURES="!x86_gcc2 x86 x86_64" SECONDARY_ARCHITECTURES="x86" commandSuffix=$secondaryArchSuffix commandBinDir=$binDir if [ "$targetArchitecture" = x86_gcc2 ]; then commandSuffix= commandBinDir=$prefix/bin fi portVersionCompat="$portVersion compat >= ${portVersion%%.*}" qtVersion="${portVersion%.*}" PROVIDES=" pyqt${secondaryArchSuffix} = $portVersionCompat " REQUIRES=" haiku${secondaryArchSuffix} lib:libQt5Bluetooth$secondaryArchSuffix lib:libQt5Core$secondaryArchSuffix lib:libQt5Designer$secondaryArchSuffix lib:libQt5DBus$secondaryArchSuffix lib:libQt5Gui$secondaryArchSuffix lib:libQt5Help$secondaryArchSuffix lib:libQt5Location$secondaryArchSuffix lib:libQt5Multimedia$secondaryArchSuffix lib:libQt5MultimediaWidgets$secondaryArchSuffix lib:libQt5Network$secondaryArchSuffix lib:libQt5Nfc$secondaryArchSuffix lib:libQt5OpenGL$secondaryArchSuffix lib:libQt5PrintSupport$secondaryArchSuffix lib:libQt5Positioning$secondaryArchSuffix lib:libQt5Qml$secondaryArchSuffix lib:libQt5Quick$secondaryArchSuffix lib:libQt5QuickWidgets$secondaryArchSuffix lib:libQt5Sensors$secondaryArchSuffix lib:libQt5SerialPort$secondaryArchSuffix lib:libQt5Sql$secondaryArchSuffix lib:libQt5Svg$secondaryArchSuffix lib:libQt5Test$secondaryArchSuffix lib:libQt5WebChannel$secondaryArchSuffix lib:libQt5WebKit$secondaryArchSuffix lib:libQt5WebKitWidgets$secondaryArchSuffix lib:libQt5WebSockets$secondaryArchSuffix lib:libQt5Widgets$secondaryArchSuffix lib:libQt5Xml$secondaryArchSuffix lib:libQt5XmlPatterns$secondaryArchSuffix lib:libGL${secondaryArchSuffix} " PROVIDES_python=" pyqt${secondaryArchSuffix}_python = $portVersionCompat python_pyqt${secondaryArchSuffix} cmd:python2_pylupdate5$commandSuffix cmd:python2_pyrcc5$commandSuffix cmd:python2_pyuic5$commandSuffix " REQUIRES_python=" pyqt$secondaryArchSuffix == $portVersion base enum34_python sip_pyqt_python >= 4.19 cmd:python2 $REQUIRES " REPLACES_python=" python_pyqt${secondaryArchSuffix} " PROVIDES_python3=" pyqt${secondaryArchSuffix}_python3 = $portVersionCompat python3_pyqt${secondaryArchSuffix} cmd:pylupdate5$commandSuffix cmd:pyrcc5$commandSuffix cmd:pyuic5$commandSuffix " REQUIRES_python3=" haiku${secondaryArchSuffix} pyqt$secondaryArchSuffix == $portVersion base sip_pyqt_python3 >= 4.19 cmd:python$PYTHON3_VERSION $REQUIRES " REPLACES_python3=" python3_pyqt${secondaryArchSuffix} " if [ "$targetArchitecture" = "x86_gcc2" ]; then PROVIDES_python+=" pyqt_python = $portVersionCompat " PROVIDES_python3+=" pyqt_python3 = $portVersionCompat " fi BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel enum34_python setuptools_python sip_pyqt_python # >= 4.19 setuptools_python3 sip_pyqt_python3 # >= 4.19 devel:libQt5Bluetooth$secondaryArchSuffix >= $qtVersion devel:libQt5Core$secondaryArchSuffix >= $qtVersion devel:libQt5Designer$secondaryArchSuffix >= $qtVersion devel:libQt5DBus$secondaryArchSuffix >= $qtVersion devel:libQt5Gui$secondaryArchSuffix >= $qtVersion devel:libQt5Help$secondaryArchSuffix >= $qtVersion devel:libQt5Location$secondaryArchSuffix >= $qtVersion devel:libQt5Multimedia$secondaryArchSuffix >= $qtVersion devel:libQt5MultimediaWidgets$secondaryArchSuffix >= $qtVersion devel:libQt5Network$secondaryArchSuffix >= $qtVersion devel:libQt5Nfc$secondaryArchSuffix >= $qtVersion devel:libQt5OpenGL$secondaryArchSuffix >= $qtVersion devel:libQt5PrintSupport$secondaryArchSuffix >= $qtVersion devel:libQt5Positioning$secondaryArchSuffix >= $qtVersion devel:libQt5Qml$secondaryArchSuffix >= $qtVersion devel:libQt5Quick$secondaryArchSuffix >= $qtVersion devel:libQt5QuickWidgets$secondaryArchSuffix >= $qtVersion devel:libQt5Sensors$secondaryArchSuffix >= $qtVersion devel:libQt5SerialPort$secondaryArchSuffix >= $qtVersion devel:libQt5Sql$secondaryArchSuffix >= $qtVersion devel:libQt5Svg$secondaryArchSuffix >= $qtVersion devel:libQt5Test$secondaryArchSuffix >= $qtVersion devel:libQt5WebChannel$secondaryArchSuffix >= $qtVersion devel:libQt5WebKit$secondaryArchSuffix devel:libQt5WebKitWidgets$secondaryArchSuffix devel:libQt5WebSockets$secondaryArchSuffix >= $qtVersion devel:libQt5Widgets$secondaryArchSuffix >= $qtVersion devel:libQt5Xml$secondaryArchSuffix >= $qtVersion devel:libQt5XmlPatterns$secondaryArchSuffix >= $qtVersion devel:libGL${secondaryArchSuffix} " BUILD_PREREQUIRES=" cmd:python2 cmd:python$PYTHON3_VERSION cmd:gcc${secondaryArchSuffix} cmd:make cmd:ld${secondaryArchSuffix} cmd:sip cmd:qmake${secondaryArchSuffix} >= 5 " PATCH() { # disable checking for sip, since it doesn't work for python2 as __init__.py # is not provided by sip. sed -i 's|from PyQt5 import sip|pass|g' configure.py } BUILD() { OLDPYTHONPATH=$PYTHONPATH cp -R $sourceDir ${sourceDir}_build cp -R $sourceDir ${sourceDir}_build3 cd ${sourceDir}_build # GENERIC: all python_setuptools-based installs need this python=$portPackageLinksDir/cmd~python2/bin/python2 pythonVersion=$($python --version 2>&1 | sed 's/Python //' | head -c3) installLocation=$prefix/lib/python$pythonVersion/vendor-packages/ export PYTHONPATH=$installLocation:$OLDPYTHONPATH $python configure.py \ --confirm-license \ --no-designer-plugin \ --no-qml-plugin \ --bindir=$commandBinDir \ --destdir=$installLocation \ --sipdir=$dataDir/sip/PyQt5 \ --sip=$portPackageLinksDir/cmd~sip/bin/sip \ --stubsdir=$installLocation/PyQt5 \ --no-dist-info \ #--verbose make $jobArgs cd ${sourceDir}_build3 # GENERIC: all python_setuptools-based installs need this python=$portPackageLinksDir/cmd~python$PYTHON3_VERSION/bin/python3 pythonVersion=$($python --version 2>&1 | sed 's/Python //' | head -c3) installLocation=$prefix/lib/python$pythonVersion/vendor-packages/ export PYTHONPATH=$installLocation:$OLDPYTHONPATH $python configure.py \ --confirm-license \ --no-designer-plugin \ --no-qml-plugin \ --bindir=$commandBinDir \ --destdir=$installLocation \ --sipdir=$dataDir/sip/PyQt5 \ --sip=$portPackageLinksDir/cmd~sip/bin/sip \ --stubsdir=$installLocation/PyQt5 \ --no-dist-info \ #--verbose make $jobArgs } INSTALL() { OLDPYTHONPATH=$PYTHONPATH cd ${sourceDir}_build # GENERIC: all python_setuptools-based installs need this python=$portPackageLinksDir/cmd~python2/bin/python2 pythonVersion=$($python --version 2>&1 | sed 's/Python //' | head -c3) installLocation=$prefix/lib/python$pythonVersion/vendor-packages/ export PYTHONPATH=$installLocation:$OLDPYTHONPATH mkdir -p $installLocation make install for file in pylupdate5 pyrcc5 pyuic5; do mv $commandBinDir/$file $commandBinDir/python2-$file done packageEntries python \ $installLocation \ $commandBinDir/python2* rmdir $prefix/lib/python$pythonVersion cd ${sourceDir}_build3 # GENERIC: all python_setuptools-based installs need this python=$portPackageLinksDir/cmd~python$PYTHON3_VERSION/bin/python3 pythonVersion=$($python --version 2>&1 | sed 's/Python //' | head -c3) installLocation=$prefix/lib/python$pythonVersion/vendor-packages/ export PYTHONPATH=$installLocation:$OLDPYTHONPATH mkdir -p $installLocation make install packageEntries python3 \ $installLocation \ $commandBinDir rmdir $prefix/lib/python$pythonVersion }