void-packages/srcpkgs/python3-PyQt5/template

274 lines
8.3 KiB
Bash

# Template file for 'python3-PyQt5'
pkgname=python3-PyQt5
version=5.15.0
revision=1
_sipver=4.19.23
wrksrc="PyQt5-${version}"
hostmakedepends="pkg-config
python3-devel sip5 python-dbus-devel qt5 qt5-devel qt5-tools-devel
qt5-connectivity-devel qt5-declarative-devel qt5-location-devel
qt5-multimedia-devel qt5-qmake 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"
makedepends="${hostmakedepends/pkg-config/}"
depends="python3-sip-PyQt5>=${_sipver}"
short_desc="Python 3 bindings for the Qt5 toolkit"
maintainer="Orphaned <orphan@voidlinux.org>"
license="GPL-3.0-only"
homepage="https://riverbankcomputing.com/software/pyqt/intro"
distfiles="${PYPI_SITE}/P/PyQt5/PyQt5-${version}.tar.gz"
checksum=c6f75488ffd5365a65893bc64ea82a6957db126fbfe33654bcd43ae1c30c52f9
lib32disabled=yes
post_extract() {
rm -rf pyuic/uic/port_v2
}
do_configure() {
local _sysroot= _configuration= qt_version
if [ "$CROSS_BUILD" ]; then
qt_version=$(qmake -query QT_VERSION)
_sysroot="--sysroot $XBPS_CROSS_BASE"
_configuration="--configuration $wrksrc/pyqt5_${XBPS_CROSS_TRIPLET}.cfg"
cat >pyqt5_${XBPS_CROSS_TRIPLET}.cfg <<EOF
py_platform = linux
py_inc_dir = %(sysroot)/usr/include/python%(py_major).%(py_minor)${py3_abiver}
py_pyshlib = python%(py_major).%(py_minor)${py3_abiver}.so
pyqt_disabled_features = PyQt_Desktop_OpenGL
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
fi
python3 configure.py --confirm-license --assume-shared \
$_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
}
do_build() {
make ${makejobs}
}
do_install() {
make DESTDIR=${DESTDIR} INSTALL_ROOT=${DESTDIR} install
for f in pylupdate5 pyrcc5 pyuic5; do
sed -i '1s,python3[.0-9]*,python3,' ${DESTDIR}/usr/bin/${f}
mv ${DESTDIR}/usr/bin/{,python3-}${f}
done
}
python3-PyQt5-devel-tools_package() {
lib32disabled=yes
depends="python3-PyQt5-${version}_${revision}"
short_desc+=" - development tools"
alternatives="
pyqt5:pylupdate5:/usr/bin/python3-pylupdate5
pyqt5:pyrcc5:/usr/bin/python3-pyrcc5
pyqt5:pyuic5:/usr/bin/python3-pyuic5"
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
}
}
python3-PyQt5-devel_package() {
depends="sip5 python3-PyQt5-${version}_${revision}"
short_desc+=" - development files"
conflicts="python-PyQt5-devel>=0"
pkg_install() {
vmove usr/share/sip
}
}
python3-PyQt5-dbus_package() {
lib32disabled=yes
depends="python3-PyQt5-${version}_${revision} python3-dbus"
short_desc="${short_desc} - 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} - 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} - 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} - 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} - 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} - 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} - 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} - 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} - 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} - 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} - 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} - 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} - 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} - 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} - 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} - 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} - xmlpatterns module"
pkg_install() {
vmove ${py3_sitelib}/PyQt5/QtXmlPatterns.pyi
vmove ${py3_sitelib}/PyQt5/QtXmlPatterns.so
}
}