From ffc6f2a1f686be924ca532a24ab32f8e305f9801 Mon Sep 17 00:00:00 2001 From: Leorize Date: Sat, 1 Sep 2018 12:46:48 +0700 Subject: [PATCH] dev-python/pyqt: bump to 5.11.2 Additionally: - Fixed gcc2 build --- dev-python/pyqt/pyqt-5.11.2.recipe | 254 +++++++++++++++++++++++++++++ 1 file changed, 254 insertions(+) create mode 100644 dev-python/pyqt/pyqt-5.11.2.recipe diff --git a/dev-python/pyqt/pyqt-5.11.2.recipe b/dev-python/pyqt/pyqt-5.11.2.recipe new file mode 100644 index 000000000..7d6335231 --- /dev/null +++ b/dev-python/pyqt/pyqt-5.11.2.recipe @@ -0,0 +1,254 @@ +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 + +}