# Template file for 'python3-pyqt6'
pkgname=python3-pyqt6
version=6.8.0
revision=1
build_style=sip-build
build_helper=qemu
configure_args="--confirm-license --dbus $XBPS_CROSS_BASE/usr/include/dbus-1.0
 --verbose"
hostmakedepends="qt6-base python3-dbus python3-PyQt-builder pkg-config"
makedepends="qt6-base-private-devel qt6-declarative-devel qt6-tools-devel
 qt6-webchannel-devel qt6-multimedia-devel qt6-location-devel
 qt6-remoteobjects-devel qt6-sensors-devel qt6-serialport-devel
 qt6-connectivity-devel qt6-websockets-devel qt6-speech-devel
 dbus-devel python3-pyqt6-sip
 qt6-quick3d-devel qt6-shadertools-devel qt6-svg-devel python3-dbus-devel"
depends="python3-pyqt6-sip>=13.9.0"
short_desc="Python 3 bindings for Qt6"
maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
license="GPL-3.0-only"
homepage="https://www.riverbankcomputing.com/software/pyqt/"
distfiles="$PYPI_SITE/P/PyQt6/PyQt6-$version.tar.gz"
checksum=6d8628de4c2a050f0b74462e4c9cb97f839bf6ffabbca91711722ffb281570d9
lib32disabled=yes

subpackages="python3-pyqt6-bindings
 python3-pyqt6-devel python3-pyqt6-devel-tools
 python3-pyqt6-connectivity
 python3-pyqt6-dbus
 python3-pyqt6-declarative
 python3-pyqt6-gui
 python3-pyqt6-multimedia
 python3-pyqt6-network
 python3-pyqt6-opengl-widgets
 python3-pyqt6-position
 python3-pyqt6-printsupport
 python3-pyqt6-quick3d
 python3-pyqt6-remoteobjects
 python3-pyqt6-sensors
 python3-pyqt6-serialport
 python3-pyqt6-speech
 python3-pyqt6-sql
 python3-pyqt6-svg
 python3-pyqt6-test
 python3-pyqt6-tools
 python3-pyqt6-websockets
 python3-pyqt6-webchannel
 python3-pyqt6-widgets
 python3-pyqt6-xml
 "

case "$XBPS_TARGET_MACHINE" in
	riscv64*) ;;
	ppc*) ;;
	armv5* | armv6*) ;;
	*)
		makedepends+=" qt6-pdf-devel"
		subpackages+=" python3-pyqt6-pdf"
		;;
esac
# Split like qt6, but keep qt6-core in main pkg

python3-pyqt6-bindings_package() {
	lib32disabled=yes
	replaces="python3-pyqt6-core-devel
	 python3-pyqt6-connectivity-devel
	 python3-pyqt6-dbus-devel
	 python3-pyqt6-declarative-devel
	 python3-pyqt6-gui-devel
	 python3-pyqt6-multimedia-devel
	 python3-pyqt6-network-devel
	 python3-pyqt6-opengl-widgets-devel
	 python3-pyqt6-pdf-devel
	 python3-pyqt6-position-devel
	 python3-pyqt6-printsupport-devel
	 python3-pyqt6-quick3d-devel
	 python3-pyqt6-remoteobjects-devel
	 python3-pyqt6-sensors-devel
	 python3-pyqt6-serialport-devel
	 python3-pyqt6-speech-devel
	 python3-pyqt6-sql-devel
	 python3-pyqt6-svg-devel
	 python3-pyqt6-test-devel
	 python3-pyqt6-tools-devel
	 python3-pyqt6-websockets-devel
	 python3-pyqt6-webchannel-devel
	 python3-pyqt6-widgets-devel
	 python3-pyqt6-xml-devel"
	depends="${sourcepkg}>=${version}_${revision}
	 qt6-base-devel python3-devel sip"
	short_desc="${short_desc} - SIP bindings"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings"
	}
}

python3-pyqt6-dbus_package() {
	lib32disabled=yes
	depends="${sourcepkg}>=${version}_${revision} python3-dbus"
	short_desc="${short_desc} - DBus"
	pkg_install() {
		vmove "${py3_sitelib}/dbus"
		vmove "${py3_sitelib}/PyQt6/QtDBus.*"
	}
}

python3-pyqt6-tools_package() {
	lib32disabled=yes
	depends="${sourcepkg}>=${version}_${revision}"
	short_desc="${short_desc} - Tools"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/QtDesigner.*"
		vmove "${py3_sitelib}/PyQt6/QtHelp.*"
		vmove usr/lib/qt6/plugins/designer
	}
}

python3-pyqt6-gui_package() {
	lib32disabled=yes
	depends="${sourcepkg}>=${version}_${revision}"
	short_desc="${short_desc} - GUI"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/QtGui.*"
		vmove "${py3_sitelib}/PyQt6/QtOpenGL.*"
	}
}

python3-pyqt6-network_package() {
	lib32disabled=yes
	depends="${sourcepkg}>=${version}_${revision}"
	short_desc="${short_desc} - Network"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/QtNetwork.*"
	}
}

python3-pyqt6-opengl-widgets_package() {
	lib32disabled=yes
	depends="${sourcepkg}>=${version}_${revision}"
	short_desc="${short_desc} - OpenGL Widgets"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/QtOpenGLWidgets.*"
	}
}

python3-pyqt6-printsupport_package() {
	lib32disabled=yes
	depends="${sourcepkg}>=${version}_${revision}"
	short_desc="${short_desc} - Print Support"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/QtPrintSupport.*"
	}
}

python3-pyqt6-declarative_package() {
	lib32disabled=yes
	depends="${sourcepkg}>=${version}_${revision}"
	short_desc="${short_desc} - Declarative"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/QtQml.*"
		vmove "${py3_sitelib}/PyQt6/QtQuick.*"
		vmove "${py3_sitelib}/PyQt6/QtQuickWidgets.*"
		vmove usr/lib/qt6/plugins/PyQt6
	}
}

python3-pyqt6-quick3d_package() {
	lib32disabled=yes
	depends="${sourcepkg}>=${version}_${revision}"
	short_desc="${short_desc} - Quick3D"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/QtQuick3D.*"
	}
}

python3-pyqt6-sql_package() {
	lib32disabled=yes
	depends="${sourcepkg}>=${version}_${revision}"
	short_desc="${short_desc} - SQL"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/QtSql.*"
	}
}

python3-pyqt6-svg_package() {
	lib32disabled=yes
	depends="${sourcepkg}>=${version}_${revision}"
	short_desc="${short_desc} - svg"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/QtSvg.*"
		vmove "${py3_sitelib}/PyQt6/QtSvgWidgets.*"
	}
}

python3-pyqt6-test_package() {
	lib32disabled=yes
	depends="${sourcepkg}>=${version}_${revision}"
	short_desc="${short_desc} - Test"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/QtTest.*"
	}
}

python3-pyqt6-widgets_package() {
	lib32disabled=yes
	depends="${sourcepkg}>=${version}_${revision}"
	short_desc="${short_desc} - Widgets"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/QtWidgets.*"
	}
}

python3-pyqt6-xml_package() {
	lib32disabled=yes
	depends="${sourcepkg}>=${version}_${revision}"
	short_desc="${short_desc} - Xml"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/QtXml.*"
	}
}

python3-pyqt6-devel-tools_package() {
	lib32disabled=yes
	depends="${sourcepkg}>=${version}_${revision}"
	short_desc+=" - development tools"
	pkg_install() {
		vmove usr/bin
		vmove "${py3_sitelib}/PyQt6/lupdate"
		vmove "${py3_sitelib}/PyQt6/uic"
	}
}

python3-pyqt6-devel_package() {
	lib32disabled=yes
	build_style=meta
	depends="python3-pyqt6-devel-tools python3-pyqt6-bindings"
	short_desc="${short_desc} - development files"
}

python3-pyqt6-websockets_package() {
	lib32disabled=yes
	short_desc+=" - WebSockets"
	depends="${sourcepkg}>=${version}_${revision}"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/QtWebSockets.*"
	}
}

python3-pyqt6-webchannel_package() {
	lib32disabled=yes
	short_desc+=" - WebChannel"
	depends="${sourcepkg}>=${version}_${revision}"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/QtWebChannel.*"
	}
}

python3-pyqt6-multimedia_package() {
	lib32disabled=yes
	short_desc+=" - Multimedia"
	depends="${sourcepkg}>=${version}_${revision}"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/QtMultimedia*"
		vmove "${py3_sitelib}/PyQt6/QtSpatialAudio*"
	}
}

python3-pyqt6-position_package() {
	lib32disabled=yes
	short_desc+=" - Position"
	depends="${sourcepkg}>=${version}_${revision}"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/QtPositioning*"
	}
}

python3-pyqt6-remoteobjects_package() {
	lib32disabled=yes
	short_desc+=" - RemoteObjects"
	depends="${sourcepkg}>=${version}_${revision}"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/QtRemoteObjects*"
	}
}

python3-pyqt6-sensors_package() {
	lib32disabled=yes
	short_desc+=" - Sensors"
	depends="${sourcepkg}>=${version}_${revision}"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/QtSensors*"
	}
}

python3-pyqt6-serialport_package() {
	lib32disabled=yes
	short_desc+=" - SerialPort"
	depends="${sourcepkg}>=${version}_${revision}"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/QtSerialPort*"
	}
}

python3-pyqt6-connectivity_package() {
	lib32disabled=yes
	short_desc+=" - Connectivity"
	depends="${sourcepkg}>=${version}_${revision}"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/QtBluetooth*"
		vmove "${py3_sitelib}/PyQt6/QtNfc*"
	}
}

python3-pyqt6-pdf_package() {
	lib32disabled=yes
	short_desc+=" - Pdf"
	depends="${sourcepkg}>=${version}_${revision}"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/QtPdf.*"
		vmove "${py3_sitelib}/PyQt6/QtPdfWidgets.*"
	}
}

python3-pyqt6-speech_package() {
	lib32disabled=yes
	short_desc+=" - Speech"
	depends="${sourcepkg}>=${version}_${revision}"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/QtTextToSpeech.*"
	}
}
