public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Ionen Wolkens" <ionen@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/PyQt6/
Date: Wed,  3 Aug 2022 00:22:21 +0000 (UTC)	[thread overview]
Message-ID: <1659486084.8de55366bacf6b14e74ce9adca0df10ee9fd1d3e.ionen@gentoo> (raw)

commit:     8de55366bacf6b14e74ce9adca0df10ee9fd1d3e
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 20 07:25:08 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Aug  3 00:21:24 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8de55366

dev-python/PyQt6: new package, add 6.3.1

May still be rough around the edges, currently only tested with
qutebrowser so please report if missing anything for other consumers.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-python/PyQt6/Manifest           |   1 +
 dev-python/PyQt6/PyQt6-6.3.1.ebuild | 149 ++++++++++++++++++++++++++++++++++++
 dev-python/PyQt6/metadata.xml       |  35 +++++++++
 3 files changed, 185 insertions(+)

diff --git a/dev-python/PyQt6/Manifest b/dev-python/PyQt6/Manifest
new file mode 100644
index 000000000000..631567942685
--- /dev/null
+++ b/dev-python/PyQt6/Manifest
@@ -0,0 +1 @@
+DIST PyQt6-6.3.1.tar.gz 1015220 BLAKE2B e225f2da11eec482ab8e00f886a858cec4a2c8add764f5e54bf603959394aad7f12d91b92c1ba6ab98d1b25903d4404e6667232258a87c52c95a2abdae9ccd2d SHA512 94319cd0983eb3f9bb0f1acbc620a1631a37f82e2fcffb9d0e58437fb1c120640be1e2a0a09e98e03f6c7082a2d94e9eabceefa6b07bae354f77bda02ba92d58

diff --git a/dev-python/PyQt6/PyQt6-6.3.1.ebuild b/dev-python/PyQt6/PyQt6-6.3.1.ebuild
new file mode 100644
index 000000000000..4eee1c118cf4
--- /dev/null
+++ b/dev-python/PyQt6/PyQt6-6.3.1.ebuild
@@ -0,0 +1,149 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=sip
+PYTHON_COMPAT=( python3_{8..11} )
+inherit distutils-r1 flag-o-matic multiprocessing qmake-utils
+
+QT_PV="6.3:6" # minimum tested qt version
+
+DESCRIPTION="Python bindings for the Qt framework"
+HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/"
+SRC_URI="mirror://pypi/${P::1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+# currently keeping defaults in sync with qtbase, and beside that trying to
+# stay minimal'ish given each builds relatively slowly (but still subject to
+# change if something is needed by most consumers)
+IUSE="
+	+dbus debug qml designer examples gles2-only +gui help multimedia
+	+network opengl positioning printsupport quick quick3d serialport
+	+sql +ssl svg testlib webchannel websockets +widgets +xml"
+# see `grep -r "%Import " sip` and `grep qmake_QT project.py`
+REQUIRED_USE="
+	designer? ( gui widgets )
+	help? ( gui widgets )
+	multimedia? ( gui network )
+	opengl? ( gui )
+	printsupport? ( gui widgets )
+	qml? ( network )
+	quick3d? ( gui qml )
+	quick? ( gui qml )
+	sql? ( widgets )
+	svg? ( gui )
+	testlib? ( gui widgets )
+	webchannel? ( network )
+	websockets? ( network )
+	widgets? ( gui )"
+
+# note: xml(+) for now given qtbase-6.3.1-r0 is missing IUSE=xml with a TODO
+DEPEND="
+	>=dev-qt/qtbase-${QT_PV}[dbus?,gles2-only=,gui?,network?,opengl?,sql?,ssl=,widgets?,xml(+)?]
+	dbus? (
+		dev-python/dbus-python[${PYTHON_USEDEP}]
+		sys-apps/dbus
+	)
+	designer? ( >=dev-qt/qttools-${QT_PV}[designer] )
+	help? ( >=dev-qt/qttools-${QT_PV}[assistant] )
+	multimedia? ( >=dev-qt/qtmultimedia-${QT_PV} )
+	positioning? ( >=dev-qt/qtpositioning-${QT_PV} )
+	qml? ( >=dev-qt/qtdeclarative-${QT_PV} )
+	quick3d? ( >=dev-qt/qtquick3d-${QT_PV} )
+	serialport? ( >=dev-qt/qtserialport-${QT_PV} )
+	svg? ( >=dev-qt/qtsvg-${QT_PV} )
+	webchannel? ( >=dev-qt/qtwebchannel-${QT_PV} )
+	websockets? ( >=dev-qt/qtwebsockets-${QT_PV} )"
+RDEPEND="
+	${DEPEND}
+	>=dev-python/PyQt6_sip-13.4[${PYTHON_USEDEP}]"
+BDEPEND="
+	>=dev-python/PyQt-builder-1.11[${PYTHON_USEDEP}]
+	>=dev-qt/qtbase-${QT_PV}
+	sys-devel/gcc
+	dbus? ( virtual/pkgconfig )"
+
+src_prepare() {
+	default
+
+	# hack: qmake wants g++ (not clang), try to respect ${CHOST} #726112
+	mkdir "${T}"/cxx || die
+	ln -s "$(type -P ${CHOST}-g++ || type -P g++ || die)" "${T}"/cxx/g++ || die
+	PATH=${T}/cxx:${PATH}
+}
+
+src_configure() {
+	append-cxxflags -std=c++17 # for clang and old gcc that default to <17
+
+	pyqt-use_enable() {
+		local state=$(usex ${1} --enable= --disable=)
+		shift
+		echo ${*/#/${state}}
+	}
+
+	# hack: currently lacking qt6_get_bindir (or alternatively have
+	# qmake6 in PATH like qmake5 is so it wouldn't matter)
+	local qmake6=$(qt5_get_bindir)/qmake6
+	qmake6=${qmake6//qt5/qt6}
+
+	DISTUTILS_ARGS=(
+		--jobs=$(makeopts_jobs)
+		--qmake="${qmake6}"
+		--qmake-setting="$(qt5_get_qmake_args)"
+		--verbose
+		--confirm-license
+
+		# TODO: enable/restrict more as qt6 packages/USE get added
+		--disable=QAxContainer
+		--disable=QtBluetooth
+		--enable=QtCore
+		$(pyqt-use_enable dbus QtDBus)
+		$(pyqt-use_enable designer QtDesigner)
+		$(pyqt-use_enable help QtHelp)
+		$(pyqt-use_enable gui QtGui)
+		#--disable=QtLocation # force-disabled in project.py
+		$(pyqt-use_enable multimedia QtMultimedia \
+			$(usev widgets QtMultimediaWidgets))
+		$(pyqt-use_enable network QtNetwork)
+		--disable=QtNfc
+		$(pyqt-use_enable opengl QtOpenGL \
+			$(usev widgets QtOpenGLWidgets))
+		$(pyqt-use_enable positioning QtPositioning)
+		$(pyqt-use_enable printsupport QtPrintSupport)
+		$(pyqt-use_enable qml QtQml)
+		$(pyqt-use_enable quick QtQuick \
+			$(usev widgets QtQuickWidgets))
+		$(pyqt-use_enable quick3d QtQuick3D)
+		--disable=QtRemoteObjects
+		--disable=QtSensors
+		$(pyqt-use_enable serialport QtSerialPort)
+		$(pyqt-use_enable sql QtSql)
+		$(pyqt-use_enable svg QtSvg \
+			$(usev widgets QtSvgWidgets))
+		$(pyqt-use_enable testlib QtTest)
+		#--disable=QtTextToSpeech # force-disabled in project.py
+		$(pyqt-use_enable webchannel QtWebChannel)
+		$(pyqt-use_enable websockets QtWebSockets)
+		$(pyqt-use_enable widgets QtWidgets)
+		$(pyqt-use_enable xml QtXml)
+
+		$(usev debug '--debug --qml-debug --tracing')
+
+		$(usev !dbus --no-dbus-python)
+		# TODO?: plugins not in wheels by upstream, see project.py#L215
+		# (if needed by something, will need to be added to python_install)
+		$(usev !designer --no-designer-plugin)
+		$(usev !qml --no-qml-plugin)
+
+		$(usev !gles2-only --disabled-feature=PyQt_OpenGL_ES2)
+		$(usev !ssl --disabled-feature=PyQt_SSL)
+	)
+}
+
+python_install_all() {
+	einstalldocs
+	use examples && dodoc -r examples
+}

diff --git a/dev-python/PyQt6/metadata.xml b/dev-python/PyQt6/metadata.xml
new file mode 100644
index 000000000000..1872d32a4049
--- /dev/null
+++ b/dev-python/PyQt6/metadata.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<email>ionen@gentoo.org</email>
+		<name>Ionen Wolkens</name>
+	</maintainer>
+	<use>
+		<flag name="dbus">Build bindings for the QtDBus module</flag>
+		<flag name="designer">Build bindings for the QtDesigner module and enable the designer plugin</flag>
+		<flag name="gui">Build bindings for the QtGui module</flag>
+		<flag name="help">Build bindings for the QtHelp module</flag>
+		<flag name="multimedia">Build bindings for the QtMultimedia module</flag>
+		<flag name="network">Build bindings for the QtNetwork module</flag>
+		<flag name="opengl">Build bindings for the QtOpenGL module</flag>
+		<flag name="positioning">Build bindings for the QtPositioning module</flag>
+		<flag name="printsupport">Build bindings for the QtPrintSupport module</flag>
+		<flag name="qml">Build bindings for the QtQml module and enable the qml plugin</flag>
+		<flag name="quick">Build bindings for the QtQuick module</flag>
+		<flag name="quick3d">Build bindings for the QtQuick3D module</flag>
+		<flag name="serialport">Build bindings for the QtSerialPort module</flag>
+		<flag name="sql">Build bindings for the QtSql module</flag>
+		<flag name="svg">Build bindings for the QtSvg module</flag>
+		<flag name="testlib">Build bindings for the QtTest module</flag>
+		<flag name="webchannel">Build bindings for the QtWebChannel module</flag>
+		<flag name="websockets">Build bindings for the QtWebSockets module</flag>
+		<flag name="widgets">Build bindings for the QtWidgets module</flag>
+		<flag name="xml">Build bindings for the QtXml module</flag>
+	</use>
+	<upstream>
+		<bugs-to>https://www.riverbankcomputing.com/mailman/listinfo/pyqt/</bugs-to>
+		<doc>https://www.riverbankcomputing.com/static/Docs/PyQt6/</doc>
+		<remote-id type="pypi">PyQt6</remote-id>
+	</upstream>
+</pkgmetadata>


             reply	other threads:[~2022-08-03  0:22 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-03  0:22 Ionen Wolkens [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-08-03 13:51 [gentoo-commits] repo/gentoo:master commit in: dev-python/PyQt6/ Ionen Wolkens
2022-08-03 16:05 Ionen Wolkens
2022-08-03 18:58 Ionen Wolkens
2022-10-04  1:33 Ionen Wolkens
2022-10-20 13:34 Ionen Wolkens
2022-10-28 20:47 Ionen Wolkens
2022-10-28 20:53 Ionen Wolkens
2023-01-28 15:56 Ionen Wolkens
2023-01-30 19:11 Ionen Wolkens
2023-02-06 17:45 Ionen Wolkens
2023-02-13 11:46 Ionen Wolkens
2023-02-13 15:59 Ionen Wolkens
2023-04-16  9:02 Ionen Wolkens
2023-04-19 20:07 Ionen Wolkens
2023-04-19 20:07 Ionen Wolkens
2023-04-22  6:53 Ionen Wolkens
2023-04-22  6:53 Ionen Wolkens
2023-04-22  8:04 Ionen Wolkens
2023-04-23  1:21 Ionen Wolkens
2023-05-11 17:01 Ionen Wolkens
2023-06-03  5:21 Ionen Wolkens
2023-06-13 13:20 Ionen Wolkens
2023-06-17  4:49 Ionen Wolkens
2023-06-17  4:49 Ionen Wolkens
2023-07-25  0:10 Ionen Wolkens
2023-08-06  4:32 Ionen Wolkens
2023-09-05 13:05 Ionen Wolkens
2023-09-05 13:05 Ionen Wolkens
2023-09-15  6:08 Ionen Wolkens
2023-09-28 13:07 Ionen Wolkens
2023-09-28 13:07 Ionen Wolkens
2023-09-28 13:07 Ionen Wolkens
2023-10-14 14:48 Ionen Wolkens
2023-10-18 13:03 Ionen Wolkens
2023-10-30 14:47 Ionen Wolkens
2023-11-05 13:52 Ionen Wolkens
2023-11-05 15:49 Ionen Wolkens
2023-11-15 17:20 Arthur Zamarin
2023-12-04 16:08 Ionen Wolkens
2023-12-16 12:06 Ionen Wolkens
2023-12-17 18:29 Arthur Zamarin
2023-12-19 20:58 Ionen Wolkens
2023-12-22 22:40 Mart Raudsepp
2023-12-25 15:49 Ionen Wolkens
2024-04-26 11:31 Ionen Wolkens
2024-04-27 10:11 Ionen Wolkens
2024-05-13  0:46 Sam James
2024-06-28 14:45 Ionen Wolkens
2024-06-28 18:05 Sam James
2024-06-28 18:05 Sam James
2024-06-29 12:29 Jakov Smolić
2024-07-19 14:39 Ionen Wolkens
2024-07-24  9:03 Ionen Wolkens
2024-08-08 10:05 Sam James
2024-08-12 18:21 Arthur Zamarin
2024-08-31  2:42 Ionen Wolkens
2024-09-02  6:16 Sam James
2024-09-03 12:31 Ionen Wolkens
2024-09-05  1:23 Sam James
2024-09-12 13:45 Sam James
2024-09-18  6:36 Arthur Zamarin
2024-09-20 11:01 Arthur Zamarin
2024-11-13 10:04 Ionen Wolkens
2024-11-22 20:00 Michał Górny
2024-11-25  7:46 [gentoo-commits] repo/gentoo:master commit in: dev-python/pyqt6/ Ionen Wolkens
2024-11-25  7:46 Ionen Wolkens
2024-12-06  5:10 Ionen Wolkens
2024-12-12 22:36 Ionen Wolkens
2024-12-16  8:42 Ionen Wolkens
2025-02-07  3:29 Ionen Wolkens

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1659486084.8de55366bacf6b14e74ce9adca0df10ee9fd1d3e.ionen@gentoo \
    --to=ionen@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox