dev-python/pyqt: bump to 5.11.2

Additionally:
- Fixed gcc2 build
This commit is contained in:
Leorize
2018-09-01 12:46:48 +07:00
parent 283af63255
commit ffc6f2a1f6

View File

@@ -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
}