25fc1a7e19
[ci skip]
460 lines
14 KiB
Bash
460 lines
14 KiB
Bash
# Template file for 'python-PyQt5'
|
|
pkgname=python-PyQt5
|
|
version=5.13.0
|
|
revision=1
|
|
_sipver=4.19.18
|
|
lib32disabled=yes
|
|
wrksrc="PyQt5_gpl-${version}"
|
|
pycompile_module="PyQt5"
|
|
hostmakedepends="pkg-config
|
|
python-devel python3-devel python-sip-devel python3-sip-devel python-dbus-devel
|
|
qt5-tools-devel qt5-connectivity-devel qt5-declarative-devel qt5-location-devel
|
|
qt5-multimedia-devel qt5-sensors-devel qt5-serialport-devel qt5-svg-devel
|
|
qt5-webchannel-devel qt5-webkit-devel qt5-websockets-devel
|
|
qt5-x11extras-devel qt5-xmlpatterns-devel qt5-networkauth-devel pulseaudio-devel
|
|
python-enum34"
|
|
makedepends="${hostmakedepends/pkg-config/}"
|
|
depends="python-sip-PyQt5>=${_sipver} python-enum34"
|
|
short_desc="Python2 bindings for the Qt5 toolkit"
|
|
maintainer="Alessio Sergi <al3hex@gmail.com>"
|
|
homepage="https://riverbankcomputing.com/software/pyqt/intro"
|
|
license="GPL-3.0-only"
|
|
distfiles="https://www.riverbankcomputing.com/static/Downloads/PyQt5/${version}/PyQt5_gpl-${version}.tar.gz"
|
|
checksum=0cdbffe5135926527b61cc3692dd301cd0328dd87eeaf1313e610787c46faff9
|
|
|
|
pre_build() {
|
|
mkdir -p pyqt5-${py2_ver}
|
|
mv * pyqt5-${py2_ver} || true
|
|
cp -a pyqt5-${py2_ver} pyqt5-${py3_ver}
|
|
rm -rf pyqt5-${py2_ver}/pyuic/uic/port_v3
|
|
rm -rf pyqt5-${py3_ver}/pyuic/uic/port_v2
|
|
}
|
|
do_build() {
|
|
local _sysroot= _configuration= py_abiver= qt_version
|
|
for pyver in $py2_ver $py3_ver; do
|
|
if [ "$pyver" = "$py3_ver" ]; then
|
|
py_abiver="$py3_abiver"
|
|
fi
|
|
|
|
cd $wrksrc/pyqt5-$pyver
|
|
if [ "$CROSS_BUILD" ]; then
|
|
qt_version=$(qmake -query QT_VERSION)
|
|
cat > pyqt5_${XBPS_CROSS_TRIPLET}.cfg <<EOF
|
|
py_platform = linux
|
|
py_inc_dir = %(sysroot)/usr/include/python%(py_major).%(py_minor)${py_abiver}
|
|
py_pyshlib = python%(py_major).%(py_minor)${py_abiver}.so
|
|
pyqt_disabled_features = PyQt_Desktop_OpenGL PyQt_qreal_double
|
|
|
|
qt_shared = True
|
|
|
|
[Qt ${qt_version}]
|
|
# _QOpenGLFunctions_ES2 doesn't work
|
|
pyqt_modules = QtCore QtGui QtHelp QtMultimedia
|
|
QtMultimediaWidgets QtNetwork QtOpenGL QtPrintSupport QtQml QtQuick
|
|
QtSql QtSvg QtTest QtWebKit QtWebKitWidgets QtWidgets QtXml
|
|
QtXmlPatterns QtDesigner QtDBus QtSensors QtSerialPort
|
|
QtX11Extras QtBluetooth QtPositioning QtQuickWidgets QtWebSockets
|
|
QtWebChannel QtLocation QtNfc QtNetworkAuth
|
|
EOF
|
|
|
|
_sysroot="--sysroot $XBPS_CROSS_BASE"
|
|
_configuration="--configuration $wrksrc/pyqt5-$pyver/pyqt5_${XBPS_CROSS_TRIPLET}.cfg"
|
|
fi
|
|
|
|
python${pyver} configure.py --confirm-license --assume-shared --no-dist-info $_sysroot $_configuration \
|
|
QMAKE_CC="${CC}" QMAKE_CFLAGS="${CFLAGS}" QMAKE_CXX="${CXX}" QMAKE_CXXFLAGS="${CXXFLAGS}" \
|
|
QMAKE_LINK="${CXX}" QMAKE_LINK_SHLIB="${CXX}" QMAKE_LFLAGS="${LDFLAGS}" QMAKE_STRIP=""
|
|
|
|
if [ "$CROSS_BUILD" ]; then
|
|
# Fix location of libraries
|
|
find . -name Makefile | xargs sed -i -E "s|(/usr/lib/libQt5[^ ]+so)|${XBPS_CROSS_BASE}\1|g"
|
|
fi
|
|
|
|
make ${makejobs}
|
|
done
|
|
}
|
|
do_install() {
|
|
# install python-pyqt5
|
|
make -C pyqt5-${py2_ver} DESTDIR=${DESTDIR} INSTALL_ROOT=${DESTDIR} install
|
|
for f in pylupdate5 pyrcc5 pyuic5; do
|
|
sed -i 's,/usr/bin/python2.7,/usr/bin/python2,' ${DESTDIR}/usr/bin/${f}
|
|
mv ${DESTDIR}/usr/bin/{,python2-}${f}
|
|
done
|
|
|
|
# install python3-pyqt5
|
|
make -C pyqt5-${py3_ver} DESTDIR=${DESTDIR} INSTALL_ROOT=${DESTDIR} install
|
|
for f in pylupdate5 pyrcc5 pyuic5; do
|
|
sed -i 's,/usr/bin/python3[.0-9]*,/usr/bin/python3,' ${DESTDIR}/usr/bin/${f}
|
|
mv ${DESTDIR}/usr/bin/{,python3-}${f}
|
|
done
|
|
}
|
|
|
|
python-PyQt5-devel-tools_package() {
|
|
lib32disabled=yes
|
|
depends="${sourcepkg}-${version}_${revision}"
|
|
short_desc+=" - development tools"
|
|
alternatives="
|
|
pyqt5:pylupdate5:/usr/bin/python2-pylupdate5
|
|
pyqt5:pyrcc5:/usr/bin/python2-pyrcc5
|
|
pyqt5:pyuic5:/usr/bin/python2-pyuic5"
|
|
pycompile_module="PyQt5"
|
|
pkg_install() {
|
|
vmove usr/bin/python2-*
|
|
vmove ${py2_sitelib}/PyQt5/pylupdate.so
|
|
vmove ${py2_sitelib}/PyQt5/pylupdate_main.py
|
|
vmove ${py2_sitelib}/PyQt5/pyrcc.so
|
|
vmove ${py2_sitelib}/PyQt5/pyrcc_main.py
|
|
}
|
|
}
|
|
python3-PyQt5-devel-tools_package() {
|
|
lib32disabled=yes
|
|
depends="python3-PyQt5-${version}_${revision}"
|
|
short_desc="${short_desc/Python2/Python3} - development tools"
|
|
alternatives="
|
|
pyqt5:pylupdate5:/usr/bin/python3-pylupdate5
|
|
pyqt5:pyrcc5:/usr/bin/python3-pyrcc5
|
|
pyqt5:pyuic5:/usr/bin/python3-pyuic5"
|
|
pycompile_module="PyQt5"
|
|
pkg_install() {
|
|
vmove usr/bin/python3-*
|
|
vmove ${py3_sitelib}/PyQt5/pylupdate.so
|
|
vmove ${py3_sitelib}/PyQt5/pylupdate_main.py
|
|
vmove ${py3_sitelib}/PyQt5/pyrcc.so
|
|
vmove ${py3_sitelib}/PyQt5/pyrcc_main.py
|
|
}
|
|
}
|
|
python-PyQt5-devel_package() {
|
|
depends="python-sip-devel python3-sip-devel
|
|
python-PyQt5-${version}_${revision} python3-PyQt5-${version}_${revision}"
|
|
short_desc+=" - development files"
|
|
pkg_install() {
|
|
vmove usr/share/sip
|
|
}
|
|
}
|
|
python-PyQt5-dbus_package() {
|
|
lib32disabled=yes
|
|
depends="${sourcepkg}-${version}_${revision} python-dbus"
|
|
short_desc+=" - dbus support"
|
|
pkg_install() {
|
|
vmove ${py2_sitelib}/dbus/mainloop/pyqt5.so
|
|
}
|
|
}
|
|
python-PyQt5-connectivity_package() {
|
|
lib32disabled=yes
|
|
depends="${sourcepkg}-${version}_${revision}"
|
|
short_desc+=" - connectivity module"
|
|
pkg_install() {
|
|
vmove ${py2_sitelib}/PyQt5/QtBluetooth.so
|
|
vmove ${py2_sitelib}/PyQt5/QtNfc.so
|
|
}
|
|
}
|
|
python-PyQt5-multimedia_package() {
|
|
lib32disabled=yes
|
|
depends="${sourcepkg}-${version}_${revision}"
|
|
short_desc+=" - multimedia module"
|
|
pkg_install() {
|
|
vmove ${py2_sitelib}/PyQt5/QtMultimedia.so
|
|
vmove ${py2_sitelib}/PyQt5/QtMultimediaWidgets.so
|
|
}
|
|
}
|
|
python-PyQt5-networkauth_package() {
|
|
lib32disabled=yes
|
|
depends="${sourcepkg}-${version}_${revision} python-enum34"
|
|
short_desc+=" - networkauth module"
|
|
pkg_install() {
|
|
vmove ${py2_sitelib}/PyQt5/QtNetworkAuth.so
|
|
}
|
|
}
|
|
python-PyQt5-opengl_package() {
|
|
lib32disabled=yes
|
|
depends="${sourcepkg}-${version}_${revision}"
|
|
short_desc+=" - opengl module"
|
|
pkg_install() {
|
|
vmove ${py2_sitelib}/PyQt5/QtOpenGL.so
|
|
if [ -z "$CROSS_BUILD" ]; then
|
|
vmove ${py2_sitelib}/PyQt5/_QOpenGLFunctions_*.so
|
|
fi
|
|
}
|
|
|
|
}
|
|
python-PyQt5-location_package() {
|
|
lib32disabled=yes
|
|
depends="${sourcepkg}-${version}_${revision}"
|
|
short_desc+=" - location module"
|
|
pkg_install() {
|
|
vmove ${py2_sitelib}/PyQt5/QtLocation.so
|
|
vmove ${py2_sitelib}/PyQt5/QtPositioning.so
|
|
}
|
|
}
|
|
python-PyQt5-quick_package() {
|
|
lib32disabled=yes
|
|
depends="${sourcepkg}-${version}_${revision}"
|
|
short_desc+=" - quick module"
|
|
pkg_install() {
|
|
vmove ${py2_sitelib}/PyQt5/QtQml.so
|
|
vmove ${py2_sitelib}/PyQt5/QtQuick.so
|
|
vmove ${py2_sitelib}/PyQt5/QtQuickWidgets.so
|
|
}
|
|
}
|
|
python-PyQt5-sensors_package() {
|
|
lib32disabled=yes
|
|
depends="${sourcepkg}-${version}_${revision}"
|
|
short_desc+=" - sensors module"
|
|
pkg_install() {
|
|
vmove ${py2_sitelib}/PyQt5/QtSensors.so
|
|
}
|
|
}
|
|
python-PyQt5-serialport_package() {
|
|
lib32disabled=yes
|
|
depends="${sourcepkg}-${version}_${revision}"
|
|
short_desc+=" - serialport module"
|
|
pkg_install() {
|
|
vmove ${py2_sitelib}/PyQt5/QtSerialPort.so
|
|
}
|
|
}
|
|
python-PyQt5-sql_package() {
|
|
lib32disabled=yes
|
|
depends="${sourcepkg}-${version}_${revision}"
|
|
short_desc+=" - sql module"
|
|
pkg_install() {
|
|
vmove ${py2_sitelib}/PyQt5/QtSql.so
|
|
}
|
|
}
|
|
python-PyQt5-svg_package() {
|
|
lib32disabled=yes
|
|
depends="${sourcepkg}-${version}_${revision}"
|
|
short_desc+=" - svg module"
|
|
pkg_install() {
|
|
vmove ${py2_sitelib}/PyQt5/QtSvg.so
|
|
}
|
|
}
|
|
python-PyQt5-tools_package() {
|
|
lib32disabled=yes
|
|
depends="${sourcepkg}-${version}_${revision}"
|
|
short_desc+=" - designer, help modules"
|
|
pkg_install() {
|
|
vmove ${py2_sitelib}/PyQt5/QtHelp.so
|
|
vmove ${py2_sitelib}/PyQt5/QtDesigner.so
|
|
}
|
|
}
|
|
python-PyQt5-webchannel_package() {
|
|
lib32disabled=yes
|
|
depends="${sourcepkg}-${version}_${revision}"
|
|
short_desc+=" - webchannel module"
|
|
pkg_install() {
|
|
vmove ${py2_sitelib}/PyQt5/QtWebChannel.so
|
|
}
|
|
}
|
|
python-PyQt5-webkit_package() {
|
|
lib32disabled=yes
|
|
depends="${sourcepkg}-${version}_${revision}"
|
|
short_desc+=" - webkit module"
|
|
pkg_install() {
|
|
vmove ${py2_sitelib}/PyQt5/QtWebKit.so
|
|
vmove ${py2_sitelib}/PyQt5/QtWebKitWidgets.so
|
|
}
|
|
}
|
|
python-PyQt5-websockets_package() {
|
|
lib32disabled=yes
|
|
depends="${sourcepkg}-${version}_${revision}"
|
|
short_desc+=" - websockets module"
|
|
pkg_install() {
|
|
vmove ${py2_sitelib}/PyQt5/QtWebSockets.so
|
|
}
|
|
}
|
|
python-PyQt5-x11extras_package() {
|
|
lib32disabled=yes
|
|
depends="${sourcepkg}-${version}_${revision}"
|
|
short_desc+=" - x11extras module"
|
|
pkg_install() {
|
|
vmove ${py2_sitelib}/PyQt5/QtX11Extras.so
|
|
}
|
|
}
|
|
python-PyQt5-xmlpatterns_package() {
|
|
lib32disabled=yes
|
|
depends="${sourcepkg}-${version}_${revision}"
|
|
short_desc+=" - xmlpatterns module"
|
|
pkg_install() {
|
|
vmove ${py2_sitelib}/PyQt5/QtXmlPatterns.so
|
|
}
|
|
}
|
|
python3-PyQt5_package() {
|
|
lib32disabled=yes
|
|
pycompile_module="PyQt5"
|
|
depends="python3-sip-PyQt5>=${_sipver}"
|
|
short_desc="${short_desc/Python2/Python3}"
|
|
pkg_install() {
|
|
vmove ${py3_sitelib}
|
|
}
|
|
}
|
|
python3-PyQt5-dbus_package() {
|
|
lib32disabled=yes
|
|
depends="python3-PyQt5-${version}_${revision} python3-dbus"
|
|
short_desc="${short_desc/Python2/Python3} - dbus support"
|
|
pkg_install() {
|
|
vmove ${py3_sitelib}/dbus/mainloop/pyqt5.so
|
|
}
|
|
}
|
|
python3-PyQt5-connectivity_package() {
|
|
lib32disabled=yes
|
|
depends="python3-PyQt5-${version}_${revision}"
|
|
short_desc="${short_desc/Python2/Python3} - connectivity module"
|
|
pkg_install() {
|
|
vmove ${py3_sitelib}/PyQt5/QtBluetooth.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtBluetooth.so
|
|
vmove ${py3_sitelib}/PyQt5/QtNfc.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtNfc.so
|
|
}
|
|
}
|
|
python3-PyQt5-multimedia_package() {
|
|
lib32disabled=yes
|
|
depends="python3-PyQt5-${version}_${revision}"
|
|
short_desc="${short_desc/Python2/Python3} - multimedia module"
|
|
pkg_install() {
|
|
vmove ${py3_sitelib}/PyQt5/QtMultimedia.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtMultimedia.so
|
|
vmove ${py3_sitelib}/PyQt5/QtMultimediaWidgets.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtMultimediaWidgets.so
|
|
}
|
|
}
|
|
python3-PyQt5-networkauth_package() {
|
|
lib32disabled=yes
|
|
depends="python3-PyQt5-${version}_${revision}"
|
|
short_desc="${short_desc/Python2/Python3} - networkauth module"
|
|
pkg_install() {
|
|
vmove ${py3_sitelib}/PyQt5/QtNetworkAuth.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtNetworkAuth.so
|
|
}
|
|
}
|
|
python3-PyQt5-opengl_package() {
|
|
lib32disabled=yes
|
|
depends="python3-PyQt5-${version}_${revision}"
|
|
short_desc="${short_desc/Python2/Python3} - opengl module"
|
|
pkg_install() {
|
|
vmove ${py3_sitelib}/PyQt5/QtOpenGL.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtOpenGL.so
|
|
if [ -z "$CROSS_BUILD" ]; then
|
|
vmove ${py3_sitelib}/PyQt5/_QOpenGLFunctions_*.so
|
|
fi
|
|
}
|
|
}
|
|
python3-PyQt5-location_package() {
|
|
lib32disabled=yes
|
|
depends="python3-PyQt5-${version}_${revision}"
|
|
short_desc="${short_desc/Python2/Python3} - location module"
|
|
pkg_install() {
|
|
vmove ${py3_sitelib}/PyQt5/QtLocation.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtLocation.so
|
|
vmove ${py3_sitelib}/PyQt5/QtPositioning.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtPositioning.so
|
|
}
|
|
}
|
|
python3-PyQt5-quick_package() {
|
|
lib32disabled=yes
|
|
depends="python3-PyQt5-${version}_${revision}"
|
|
short_desc="${short_desc/Python2/Python3} - quick module"
|
|
pkg_install() {
|
|
vmove ${py3_sitelib}/PyQt5/QtQml.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtQml.so
|
|
vmove ${py3_sitelib}/PyQt5/QtQuick.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtQuick.so
|
|
vmove ${py3_sitelib}/PyQt5/QtQuickWidgets.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtQuickWidgets.so
|
|
vmove usr/lib/qt5/plugins/PyQt5/libpyqt5qmlplugin.so
|
|
}
|
|
}
|
|
python3-PyQt5-sensors_package() {
|
|
lib32disabled=yes
|
|
depends="python3-PyQt5-${version}_${revision}"
|
|
short_desc="${short_desc/Python2/Python3} - sensors module"
|
|
pkg_install() {
|
|
vmove ${py3_sitelib}/PyQt5/QtSensors.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtSensors.so
|
|
}
|
|
}
|
|
python3-PyQt5-serialport_package() {
|
|
lib32disabled=yes
|
|
depends="python3-PyQt5-${version}_${revision}"
|
|
short_desc="${short_desc/Python2/Python3} - serialport module"
|
|
pkg_install() {
|
|
vmove ${py3_sitelib}/PyQt5/QtSerialPort.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtSerialPort.so
|
|
}
|
|
}
|
|
python3-PyQt5-sql_package() {
|
|
lib32disabled=yes
|
|
depends="python3-PyQt5-${version}_${revision}"
|
|
short_desc="${short_desc/Python2/Python3} - sql module"
|
|
pkg_install() {
|
|
vmove ${py3_sitelib}/PyQt5/QtSql.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtSql.so
|
|
}
|
|
}
|
|
python3-PyQt5-svg_package() {
|
|
lib32disabled=yes
|
|
depends="python3-PyQt5-${version}_${revision}"
|
|
short_desc="${short_desc/Python2/Python3} - svg module"
|
|
pkg_install() {
|
|
vmove ${py3_sitelib}/PyQt5/QtSvg.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtSvg.so
|
|
}
|
|
}
|
|
python3-PyQt5-tools_package() {
|
|
lib32disabled=yes
|
|
depends="python3-PyQt5-${version}_${revision}"
|
|
short_desc="${short_desc/Python2/Python3} - designer, help modules"
|
|
pkg_install() {
|
|
vmove ${py3_sitelib}/PyQt5/QtHelp.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtHelp.so
|
|
vmove ${py3_sitelib}/PyQt5/QtDesigner.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtDesigner.so
|
|
vmove usr/lib/qt5/plugins/designer/libpyqt5.so
|
|
}
|
|
}
|
|
python3-PyQt5-webchannel_package() {
|
|
lib32disabled=yes
|
|
depends="python3-PyQt5-${version}_${revision}"
|
|
short_desc="${short_desc/Python2/Python3} - webchannel module"
|
|
pkg_install() {
|
|
vmove ${py3_sitelib}/PyQt5/QtWebChannel.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtWebChannel.so
|
|
}
|
|
}
|
|
python3-PyQt5-webkit_package() {
|
|
lib32disabled=yes
|
|
depends="python3-PyQt5-${version}_${revision}"
|
|
short_desc="${short_desc/Python2/Python3} - webkit module"
|
|
pkg_install() {
|
|
vmove ${py3_sitelib}/PyQt5/QtWebKit.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtWebKit.so
|
|
vmove ${py3_sitelib}/PyQt5/QtWebKitWidgets.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtWebKitWidgets.so
|
|
}
|
|
}
|
|
python3-PyQt5-websockets_package() {
|
|
lib32disabled=yes
|
|
depends="python3-PyQt5-${version}_${revision}"
|
|
short_desc="${short_desc/Python2/Python3} - websockets module"
|
|
pkg_install() {
|
|
vmove ${py3_sitelib}/PyQt5/QtWebSockets.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtWebSockets.so
|
|
}
|
|
}
|
|
python3-PyQt5-x11extras_package() {
|
|
lib32disabled=yes
|
|
depends="python3-PyQt5-${version}_${revision}"
|
|
short_desc="${short_desc/Python2/Python3} - x11extras module"
|
|
pkg_install() {
|
|
vmove ${py3_sitelib}/PyQt5/QtX11Extras.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtX11Extras.so
|
|
}
|
|
}
|
|
python3-PyQt5-xmlpatterns_package() {
|
|
lib32disabled=yes
|
|
depends="python3-PyQt5-${version}_${revision}"
|
|
short_desc="${short_desc/Python2/Python3} - xmlpatterns module"
|
|
pkg_install() {
|
|
vmove ${py3_sitelib}/PyQt5/QtXmlPatterns.pyi
|
|
vmove ${py3_sitelib}/PyQt5/QtXmlPatterns.so
|
|
}
|
|
}
|