# Template file for 'python3-pyside6' # NOTE: keep in sync with Qt6 pkgname=python3-pyside6 version=6.10.0 revision=4 build_style=cmake _llvmver=21 configure_args="-DBUILD_TESTS=OFF -DFORCE_LIMITED_API=no -DNO_QT_TOOLS=yes -DNUMPY_INCLUDE_DIR=/${py3_sitelib}/numpy/_core/include -DPYTHON_EXECUTABLE=/usr/bin/python3 -Wno-dev -DClang_DIR=${XBPS_CROSS_BASE}/usr/lib/llvm/${_llvmver}/lib/cmake/clang" hostmakedepends="python3-numpy python3-setuptools qt6-base" makedepends="libedit-devel libxslt-devel llvm${_llvmver}-devel clang${_llvmver}-devel python3-devel qt6-3d-devel libxml2-devel qt6-base-private-devel qt6-charts-devel qt6-connectivity-devel qt6-declarative-private-devel qt6-location-devel qt6-multimedia-devel qt6-networkauth-devel qt6-position-devel qt6-quick3d-devel qt6-datavis3d-devel qt6-remoteobjects-devel qt6-scxml-devel qt6-sensors-devel qt6-serialport-devel qt6-shadertools-devel qt6-speech-devel qt6-speech-plugin-flite qt6-speech-plugin-mock qt6-speech-plugin-speechd qt6-svg-devel qt6-tools-devel qt6-graphs-devel qt6-serialbus-devel qt6-httpserver-devel qt6-webchannel-devel qt6-websockets-devel" depends="python3-shiboken6" short_desc="Python bindings of Qt6-based libraries" maintainer="chrysos349 " license="LGPL-3.0-only, GPL-2.0-only" homepage="https://doc.qt.io/qtforpython-6" distfiles="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${version}-src/pyside-setup-everywhere-src-${version}.tar.xz" checksum=f6e18dc880f59fb6c5c37f9f408971d65642dfc7510a15d794b4a3a8e15fcecc provides="py3:pyside6-${version}_1" build_options="pdf webengine" subpackages="shiboken6 python3-pyside6-3d python3-pyside6-charts python3-pyside6-concurrent python3-pyside6-connectivity python3-pyside6-datavis3d python3-pyside6-dbus python3-pyside6-quick-test python3-pyside6-declarative python3-pyside6-designer python3-pyside6-graphs python3-pyside6-gui python3-pyside6-help python3-pyside6-httpserver python3-pyside6-location python3-pyside6-multimedia python3-pyside6-network python3-pyside6-networkauth python3-pyside6-opengl-widgets python3-pyside6-positioning python3-pyside6-printsupport python3-pyside6-remoteobjects python3-pyside6-scxml python3-pyside6-sensors python3-pyside6-serialport python3-pyside6-serialbus python3-pyside6-speech python3-pyside6-sql python3-pyside6-svg python3-pyside6-test python3-pyside6-ui-tools python3-pyside6-webchannel python3-pyside6-websockets python3-pyside6-widgets python3-pyside6-xml libpyside6 libpyside6-devel libshiboken6 libshiboken6-devel python3-shiboken6" case "$XBPS_TARGET_MACHINE" in armv5*|armv6*) build_options_default="" ;; *) build_options_default="pdf" ;; esac export LLVM_INSTALL_DIR=${XBPS_CROSS_BASE}/usr/lib/llvm/${_llvmver} export PYTHONPATH=$PYTHONPATH:${XBPS_BUILDDIR}/${pkgname}-${version}/build/sources if [ "$XBPS_WORDSIZE$XBPS_WORDSIZE" = "64$XBPS_TARGET_WORDSIZE" ]; then build_options_default+=" webengine" fi case "$XBPS_TARGET_MACHINE" in x86_64*|aarch64*) makedepends+=" libomp${_llvmver}-devel" ;; esac if [ "$CROSS_BUILD" ]; then hostmakedepends+=" libglvnd-devel shiboken6" configure_args+=" -DQFP_PYTHON_HOST_PATH=/usr/bin/python3 -DQFP_SHIBOKEN_HOST_PATH=/usr -DQT_FORCE_BUILD_TOOLS=ON -DSHIBOKEN_BUILD_TOOLS=ON -DSHIBOKEN_ARCH=$XBPS_CROSS_RUST_TARGET -DSYSROOT_INCLUDE_DIRS=$XBPS_CROSS_BASE/usr/include -DQFP_PYTHON_SITE_PACKAGES=/${py3_sitelib}" fi if [ "$build_option_pdf" ]; then makedepends+=" qt6-pdf-devel" subpackages+=" python3-pyside6-pdf" fi if [ "$build_option_webengine" ]; then makedepends+=" qt6-webengine-devel qt6-webview-devel" subpackages+=" python3-pyside6-webengine" subpackages+=" python3-pyside6-webview" fi post_patch() { if [ "$CROSS_BUILD" ]; then # fix pkg-config file on cross vsed -i sources/shiboken6/data/shiboken6.pc.in \ -e "s/Python_EXECUTABLE/QFP_PYTHON_HOST_PATH/" fi } do_install() { DESTDIR=${DESTDIR} cmake -P ${wrksrc}/build/cmake_install.cmake # remove extraneous scripts/files find "$DESTDIR"/usr/bin -not -name shiboken6 -type f -delete } libpyside6_package() { short_desc+=" - shared library" pkg_install() { vmove "usr/lib/libpyside*.so.*" } } libpyside6-devel_package() { depends="libpyside6>=${version}_${revision} python3-pyside6>=${version}_${revision} libshiboken6-devel>=${version}_${revision}" short_desc+=" - development files" pkg_install() { vmove "usr/lib/cmake/PySide*" vmove "usr/lib/libpyside*.so" vmove "usr/lib/libpyside*.a" vmove usr/lib/qt6 vmove usr/include/PySide6 vmove usr/lib/pkgconfig/pyside6.pc vmove usr/share } } libshiboken6_package() { short_desc="CPython bindings generator for C++ libraries - shared library" pkg_install() { vmove "usr/lib/libshiboken6.so.*" } } libshiboken6-devel_package() { depends="libshiboken6>=${version}_${revision} python3-shiboken6>=${version}_${revision}" short_desc="CPython bindings generator for C++ libraries - development files" pkg_install() { vmove "usr/lib/cmake/Shiboken*" vmove usr/include/shiboken6 vmove usr/lib/libshiboken6.so vmove usr/lib/pkgconfig/shiboken6.pc } } python3-shiboken6_package() { short_desc="Python shiboken6 bindings" depends="python3" pkg_install() { vmove ${py3_sitelib}/shiboken6 } } shiboken6_package() { short_desc="CPython bindings generator for C++ libraries" depends="python3" provides="py3:shiboken6-${version}_1" pkg_install() { vmove "usr/bin/shiboken*" vmove ${py3_sitelib}/shiboken6_generator vmove "usr/lib/cmake/Shiboken6Tools" } } python3-pyside6-3d_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - 3D" pkg_install() { vmove "${py3_sitelib}/PySide6/Qt3D*" } } python3-pyside6-charts_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - Charts" pkg_install() { vmove "${py3_sitelib}/PySide6/QtCharts.*" } } python3-pyside6-concurrent_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - Concurrent" pkg_install() { vmove "${py3_sitelib}/PySide6/QtConcurrent.*" } } python3-pyside6-connectivity_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - Connectivity" pkg_install() { vmove "${py3_sitelib}/PySide6/QtBluetooth.*" vmove "${py3_sitelib}/PySide6/QtNfc.*" } } python3-pyside6-datavis3d_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - Data Visualization 3D" pkg_install() { vmove "${py3_sitelib}/PySide6/QtDataVisualization.*" } } python3-pyside6-dbus_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - DBus" pkg_install() { vmove "${py3_sitelib}/PySide6/QtDBus.*" } } python3-pyside6-quick-test_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - Quick Test" pkg_install() { vmove "${py3_sitelib}/PySide6/QtQuickTest.*" } } python3-pyside6-declarative_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - Declarative" pkg_install() { vmove "${py3_sitelib}/PySide6/QtQml.*" vmove "${py3_sitelib}/PySide6/QtQuick*" } } python3-pyside6-designer_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - Designer" pkg_install() { vmove "${py3_sitelib}/PySide6/QtDesigner.*" } } python3-pyside6-graphs_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - Graphs" pkg_install() { vmove "${py3_sitelib}/PySide6/QtGraphs*" } } python3-pyside6-gui_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - GUI" pkg_install() { vmove "${py3_sitelib}/PySide6/QtGui.*" vmove "${py3_sitelib}/PySide6/QtOpenGL.*" } } python3-pyside6-help_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - Help" pkg_install() { vmove "${py3_sitelib}/PySide6/QtHelp.*" } } python3-pyside6-httpserver_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - HTTP Server" pkg_install() { vmove "${py3_sitelib}/PySide6/QtHttpServer.*" } } python3-pyside6-location_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - Location" pkg_install() { vmove "${py3_sitelib}/PySide6/QtLocation.*" } } python3-pyside6-multimedia_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - Multimedia" pkg_install() { vmove "${py3_sitelib}/PySide6/QtMultimedia*" vmove "${py3_sitelib}/PySide6/QtSpatialAudio*" } } python3-pyside6-network_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - Network" pkg_install() { vmove "${py3_sitelib}/PySide6/QtNetwork.*" } } python3-pyside6-networkauth_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - NetworkAuth" pkg_install() { vmove "${py3_sitelib}/PySide6/QtNetworkAuth.*" } } python3-pyside6-opengl-widgets_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - OpenGL Widgets" pkg_install() { vmove "${py3_sitelib}/PySide6/QtOpenGLWidgets.*" } } python3-pyside6-pdf_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - PDF" pkg_install() { vmove "${py3_sitelib}/PySide6/QtPdf*" } } python3-pyside6-positioning_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - Positioning" pkg_install() { vmove "${py3_sitelib}/PySide6/QtPositioning.*" } } python3-pyside6-printsupport_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - PrintSupport" pkg_install() { vmove "${py3_sitelib}/PySide6/QtPrintSupport.*" } } python3-pyside6-remoteobjects_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - RemoteObjects" pkg_install() { vmove "${py3_sitelib}/PySide6/QtRemoteObjects.*" } } python3-pyside6-scxml_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - Scxml" pkg_install() { vmove "${py3_sitelib}/PySide6/QtScxml.*" vmove "${py3_sitelib}/PySide6/QtStateMachine.*" } } python3-pyside6-sensors_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - Sensors" pkg_install() { vmove "${py3_sitelib}/PySide6/QtSensors.*" } } python3-pyside6-serialport_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - SerialPort" pkg_install() { vmove "${py3_sitelib}/PySide6/QtSerialPort.*" } } python3-pyside6-serialbus_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - Serial Bus" pkg_install() { vmove "${py3_sitelib}/PySide6/QtSerialBus.*" } } python3-pyside6-speech_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - Speech" pkg_install() { vmove "${py3_sitelib}/PySide6/QtTextToSpeech.*" } } python3-pyside6-sql_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - SQL" pkg_install() { vmove "${py3_sitelib}/PySide6/QtSql.*" } } python3-pyside6-svg_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - SVG" pkg_install() { vmove "${py3_sitelib}/PySide6/QtSvg*" } } python3-pyside6-test_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - Test" pkg_install() { vmove "${py3_sitelib}/PySide6/QtTest.*" } } python3-pyside6-ui-tools_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - UI Tools" pkg_install() { vmove "${py3_sitelib}/PySide6/QtUiTools.*" } } python3-pyside6-webchannel_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - WebChannel" pkg_install() { vmove "${py3_sitelib}/PySide6/QtWebChannel.*" } } python3-pyside6-webengine_package() { depends="python3-pyside6>=${version}_${revision}" short_desc+=" - WebEngine component" pkg_install() { vmove "${py3_sitelib}/PySide6/QtWebEngine*" } } python3-pyside6-websockets_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - WebSockets" pkg_install() { vmove "${py3_sitelib}/PySide6/QtWebSockets.*" } } python3-pyside6-webview_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - WebView" pkg_install() { vmove "${py3_sitelib}/PySide6/QtWebView*" } } python3-pyside6-widgets_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - Widgets" pkg_install() { vmove "${py3_sitelib}/PySide6/QtWidgets.*" } } python3-pyside6-xml_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - Xml" pkg_install() { vmove "${py3_sitelib}/PySide6/QtXml.*" } }