# Template file for 'python3-pyqt6'
pkgname=python3-pyqt6
version=6.4.2
revision=1
build_style=sip-build
build_helper=qemu
configure_args="--confirm-license --dbus $XBPS_CROSS_BASE/usr/include/dbus-1.0"
hostmakedepends="qt6-base python3-dbus python3-PyQt-builder pkg-config"
makedepends="qt6-base-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-quick3d-devel qt6-shadertools-devel qt6-svg-devel python3-dbus-devel"
depends="python3-pyqt6-sip"
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=740244f608fe15ee1d89695c43f31a14caeca41c4f02ac36c86dfba4a5d5813d
lib32disabled=yes

if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
	makedepends+=" libatomic-devel"
fi

# Split like qt6, but keep qt6-core in main pkg

python3-pyqt6-core-devel_package() {
	lib32disabled=yes
	depends="${sourcepkg}>=${version}_${revision}
	 qt6-base-devel python3-devel sip"
	short_desc="${short_desc} - core development files"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings/QtCore"
	}
}

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-dbus-devel_package() {
	lib32disabled=yes
	depends="python3-pyqt6-dbus>=${version}_${revision}
	 python3-pyqt6-core-devel>=${version}_${revision}"
	short_desc="${short_desc} - DBus - development files"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings/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-tools-devel_package() {
	lib32disabled=yes
	depends="python3-pyqt6-tools>=${version}_${revision} qt6-tools-devel
	 python3-pyqt6-widgets-devel>=${version}_${revision}"
	short_desc="${short_desc} - Tools - development files"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings/QtDesigner"
		vmove "${py3_sitelib}/PyQt6/bindings/QtHelp"
	}
}

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-gui-devel_package() {
	lib32disabled=yes
	depends="python3-pyqt6-gui>=${version}_${revision}
	 python3-pyqt6-core-devel>=${version}_${revision}"
	short_desc="${short_desc} - GUI - development files"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings/QtGui"
		vmove "${py3_sitelib}/PyQt6/bindings/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-network-devel_package() {
	lib32disabled=yes
	depends="python3-pyqt6-network>=${version}_${revision}
	 python3-pyqt6-core-devel>=${version}_${revision}"
	short_desc="${short_desc} - Network"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings/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-opengl-widgets-devel_package() {
	lib32disabled=yes
	depends="python3-pyqt6-opengl-widgets>=${version}_${revision}
	 python3-pyqt6-widgets-devel>=${version}_${revision}"
	short_desc="${short_desc} - OpenGL Widgets - development files"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings/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-printsupport-devel_package() {
	lib32disabled=yes
	depends="python3-pyqt6-printsupport>=${version}_${revision}
	 python3-pyqt6-widgets-devel>=${version}_${revision}"
	short_desc="${short_desc} - Print Support - development files"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings/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-declarative-devel_package() {
	lib32disabled=yes
	depends="python3-pyqt6-declarative>=${version}_${revision}
	 qt6-declarative-devel python3-pyqt6-widgets-devel>=${version}_${revision}"
	short_desc="${short_desc} - Declarative - development files"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings/QtQml"
		vmove "${py3_sitelib}/PyQt6/bindings/QtQuick"
		vmove "${py3_sitelib}/PyQt6/bindings/QtQuickWidgets"
	}
}

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

python3-pyqt6-quick3d-devel_package() {
	lib32disabled=yes
	depends="python3-pyqt6-quick3d>=${version}_${revision} qt6-quick3d-devel
	 python3-pyqt6-declarative-devel>=${version}_${revision}"
	short_desc="${short_desc} - Quick3D - development files"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings/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-sql-devel_package() {
	lib32disabled=yes
	depends="python3-pyqt6-sql>=${version}_${revision}
	 python3-pyqt6-widgets-devel>=${version}_${revision}"
	short_desc="${short_desc} - SQL - development files"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings/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-svg-devel_package() {
	lib32disabled=yes
	depends="python3-pyqt6-svg>=${version}_${revision} qt6-svg-devel
	 python3-pyqt6-widgets-devel>=${version}_${revision}"
	short_desc="${short_desc} - svg - development files"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings/QtSvg"
		vmove "${py3_sitelib}/PyQt6/bindings/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-test-devel_package() {
	lib32disabled=yes
	depends="python3-pyqt6-test>=${version}_${revision}
	 python3-pyqt6-widgets-devel>=${version}_${revision}"
	short_desc="${short_desc} - Test - development files"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings/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-widgets-devel_package() {
	lib32disabled=yes
	depends="python3-pyqt6-widgets>=${version}_${revision}
	 python3-pyqt6-gui-devel>=${version}_${revision}"
	short_desc="${short_desc} - Widgets"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings/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-xml-devel_package() {
	lib32disabled=yes
	depends="${sourcepkg}>=${version}_${revision}
	 python3-pyqt6-core-devel>=${version}_${revision}"
	short_desc="${short_desc} - Xml - development files"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings/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
	depends="
	 python3-pyqt6-core-devel>=${version}_${revision}
	 python3-pyqt6-dbus-devel>=${version}_${revision}
	 python3-pyqt6-tools-devel>=${version}_${revision}
	 python3-pyqt6-gui-devel>=${version}_${revision}
	 python3-pyqt6-network-devel>=${version}_${revision}
	 python3-pyqt6-opengl-widgets-devel>=${version}_${revision}
	 python3-pyqt6-printsupport-devel>=${version}_${revision}
	 python3-pyqt6-declarative-devel>=${version}_${revision}
	 python3-pyqt6-quick3d-devel>=${version}_${revision}
	 python3-pyqt6-sql-devel>=${version}_${revision}
	 python3-pyqt6-svg-devel>=${version}_${revision}
	 python3-pyqt6-test-devel>=${version}_${revision}
	 python3-pyqt6-widgets-devel>=${version}_${revision}
	 python3-pyqt6-xml-devel>=${version}_${revision}
	 python3-pyqt6-websockets-devel>=${version}_${revision}
	 python3-pyqt6-webchannel-devel>=${version}_${revision}
	 python3-pyqt6-multimedia-devel>=${version}_${revision}
	 python3-pyqt6-position-devel>=${version}_${revision}
	 python3-pyqt6-remoteobjects-devel>=${version}_${revision}
	 python3-pyqt6-sensors-devel>=${version}_${revision}
	 python3-pyqt6-serialport-devel>=${version}_${revision}
	 python3-pyqt6-connectivity-devel>=${version}_${revision}
	 python3-pyqt6-devel-tools>=${version}_${revision}"
	build_style=meta
	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-websockets-devel_package() {
	lib32disabled=yes
	short_desc+=" - WebSockets - development files"
	depends="python3-pyqt6-websockets>=${version}_${revision}
	 python3-pyqt6-core-devel>=${version}_${revision}
	 qt6-websockets-devel"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings/QtWebSockets"
	}
}

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

python3-pyqt6-webchannel-devel_package() {
	lib32disabled=yes
	short_desc+=" - WebChannel - development files"
	depends="python3-pyqt6-webchannel>=${version}_${revision}
	 python3-pyqt6-core-devel>=${version}_${revision}
	 qt6-webchannel-devel"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings/QtWebChannel"
	}
}

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

python3-pyqt6-multimedia-devel_package() {
	lib32disabled=yes
	short_desc+=" - Multimedia - development files"
	depends="python3-pyqt6-multimedia>=${version}_${revision}
	 python3-pyqt6-core-devel>=${version}_${revision}
	 qt6-multimedia-devel"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings/QtMultimedia*"
	}
}

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

python3-pyqt6-position-devel_package() {
	lib32disabled=yes
	short_desc+=" - Position - development files"
	depends="python3-pyqt6-position>=${version}_${revision}
	 python3-pyqt6-core-devel>=${version}_${revision}
	 qt6-location-devel"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings/QtPositioning"
	}
}

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

python3-pyqt6-remoteobjects-devel_package() {
	lib32disabled=yes
	short_desc+=" - RemoteObjects - development files"
	depends="python3-pyqt6-remoteobjects>=${version}_${revision}
	 python3-pyqt6-core-devel>=${version}_${revision}
	 qt6-remoteobjects-devel"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings/QtRemoteObjects"
	}
}

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

python3-pyqt6-sensors-devel_package() {
	lib32disabled=yes
	short_desc+=" - Sensors - development files"
	depends="python3-pyqt6-sensors>=${version}_${revision}
	 python3-pyqt6-core-devel>=${version}_${revision}
	 qt6-sensors-devel"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings/QtSensors"
	}
}

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

python3-pyqt6-serialport-devel_package() {
	lib32disabled=yes
	short_desc+=" - SerialPort - development files"
	depends="python3-pyqt6-serialport>=${version}_${revision}
	 python3-pyqt6-core-devel>=${version}_${revision}
	 qt6-serialport-devel"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings/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-connectivity-devel_package() {
	lib32disabled=yes
	short_desc+=" - Connectivity - development files"
	depends="python3-pyqt6-connectivity>=${version}_${revision}
	 python3-pyqt6-core-devel>=${version}_${revision}
	 qt6-connectivity-devel"
	pkg_install() {
		vmove "${py3_sitelib}/PyQt6/bindings/QtBluetooth"
		vmove "${py3_sitelib}/PyQt6/bindings/QtNfc"
	}
}
