# Template file for 'python3-pyqt6'
pkgname=python3-pyqt6
version=6.1.1
revision=2
wrksrc=PyQt6-$version
build_style=sip-build
build_helper=qemu
configure_args="--confirm-license --dbus $XBPS_CROSS_BASE/usr/include/dbus-1.0"
hostmakedepends="qt6-base-devel qt6-declarative-devel qt6-tools-devel
 qt6-quick3d-devel qt6-shadertools-devel qt6-svg-devel python3-dbus
 python3-PyQt-builder pkg-config"
makedepends="qt6-base-devel qt6-declarative-devel qt6-tools-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=8775244fa73f94bfe8ae7672b624e2a903a22bc35d7ea42dd830949e2f9e43c7
lib32disabled=yes
patch_args=-Np1

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}
	 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}
	 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}
	 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}
	 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-devel-tools>=${version}_${revision}"
	build_style=meta
	short_desc="${short_desc} - development files"
}
