summaryrefslogtreecommitdiff
path: root/dev-python/pyqt6
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-12-13 02:01:50 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-12-13 02:01:50 +0000
commit2a3e0d61b3d88306b6fae46756f9ba7d230222ae (patch)
treea0d3259dd259861a49a2d3e6e9220beaa8ec39c2 /dev-python/pyqt6
parent39c32f4d5dca9f6293fccb69e9d50baf494c8de4 (diff)
gentoo auto-resync : 13:12:2024 - 02:01:50
Diffstat (limited to 'dev-python/pyqt6')
-rw-r--r--dev-python/pyqt6/Manifest2
-rw-r--r--dev-python/pyqt6/pyqt6-6.8.0.ebuild189
2 files changed, 191 insertions, 0 deletions
diff --git a/dev-python/pyqt6/Manifest b/dev-python/pyqt6/Manifest
index efcf3996cae9..63cc35d429f5 100644
--- a/dev-python/pyqt6/Manifest
+++ b/dev-python/pyqt6/Manifest
@@ -1,5 +1,7 @@
DIST PyQt6-6.7.1.tar.gz 1051212 BLAKE2B 9c1c619b08cc14e0a92ea22812c14d5a3cb47e45eea917d50ab63918d8433d54b354f26b885f2567b9c6e2f0380e819972d055d1a1751f6646ebb5e6cf72b228 SHA512 1e0fec009e1823b06460fd96eddc00ed31388c20f6d832aa0ebaa130baf06d83514df43af7961c3cb2872570d27e539d6db7bf6143ccdfd61a19da7521be2c7e
DIST PyQt6-6.8.0.dev2411221125.tar.gz 1062521 BLAKE2B 88c4fc1580b74bf18f41ed266ec486cbfa60851834b747c153ac1fe20f08125154eda1755e4c33bf59a84e6560129a7c3c800a0c1cd4f8658f20fda0e4e35dfd SHA512 f52fe48969a8b86651f6a3bf6156a91c57e42e4192bd184dfe6b7ac8a4728509b4610c2da8fb88039ff2880b02c6dbb455d1ed12fb65b7cd65ddb8ca7fb6a476
+DIST PyQt6-6.8.0.tar.gz 1061357 BLAKE2B da944a8ec6c5632cb24d56b5a268521cbf3ae17d307ec5aba292bf5f25e33cb2e92fef28c1bcc506c4e5ea60c9e2f714bfd2a95aefe2cc40726b4ec9fccb36cb SHA512 da57be66ede5fe1355ab1fd95e436c139e0d1dffc75f23f3933c20623d62fc9b9fad573d876e90d066588d2dc2f01e83771a0f05fe3b668fbb69a889ddfbcc15
EBUILD pyqt6-6.7.1-r1.ebuild 5782 BLAKE2B af438321cb1017cbcffd2c08695d63c42c439f2a3328ca26e90339e6898aefb82e175fc62bd3c4ff075a58476f3113b8c7b9386e657a86bb29f884d81b5d1ade SHA512 67b17507296997c8c659b32b510ca2407fa7d0261f80b708d3d757474e298648db5702c1cc06fc1a1e06f0568a13a8b6e37e4252894f36aa011ae81d52c9dd4d
+EBUILD pyqt6-6.8.0.ebuild 5926 BLAKE2B a3e5499be50539de9c4d801743563f51c526ceb2e50006b79e90325f3de591acdf99213eadbcb6d6b799d4c82262822a14b86848d2d9a1b2b826dbc8cc9a7210 SHA512 b6433feb97481751451086868cd3e79bd9ee2f356bcb57c4d2a623d90f8f7652f4a64319dd11e51b321bb748ab14bdcb6c79b1cc2f8608845358b6a36033f26e
EBUILD pyqt6-6.8.0_pre2411221125.ebuild 6133 BLAKE2B 8c388f94468cab04c040e7274db2f2ef60a340e73deeee422d498da4ff160bde2a213ac824a5e4ee9c7c935735c1b7c46a37d0b179c57b87abe2ca41343e87f1 SHA512 4225aa224426386ae291ab67110bcda40812da54067445cde6b34703ff7332833d4dfd55e09b9c09a910494855da4410183378672ba367fc512011eb5c8ea5f4
MISC metadata.xml 2473 BLAKE2B a86705641a5b20eda9edb08d129e98e848586ff3d6ddc5adfb52c26269d84cf1ebbbcc1cfd967b31403fb12f5a3fb021785c9f3651087240344fa0eb5e403082 SHA512 d985e7e96b9263072165fb323e4efdf1e04f6decace4ea52228ed822d0be730596e8e4e46627e8111574b0703e86f27c82d9a2ec72661edba5583d3e49efc1f4
diff --git a/dev-python/pyqt6/pyqt6-6.8.0.ebuild b/dev-python/pyqt6/pyqt6-6.8.0.ebuild
new file mode 100644
index 000000000000..e70821355671
--- /dev/null
+++ b/dev-python/pyqt6/pyqt6-6.8.0.ebuild
@@ -0,0 +1,189 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=sip
+PYPI_NO_NORMALIZE=1
+PYPI_PN=PyQt6
+PYTHON_COMPAT=( python3_{10..13} )
+inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils
+
+# 'can' work with older Qt depending on features, but keeping it simple
+QT_PV=$(ver_cut 1-2):6
+
+DESCRIPTION="Python bindings for the Qt framework"
+HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+# defaults match what is provided with qtbase by default (except testlib),
+# reduces the need to set flags but does increase build time a fair amount
+IUSE="
+ bluetooth +dbus debug designer examples gles2-only +gui help
+ multimedia +network nfc opengl pdfium positioning +printsupport
+ qml quick quick3d remoteobjects serialport sensors spatialaudio
+ speech +sql +ssl svg testlib webchannel websockets vulkan
+ +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 )
+ pdfium? ( gui )
+ printsupport? ( gui widgets )
+ qml? ( network )
+ quick3d? ( gui qml )
+ quick? ( gui qml )
+ remoteobjects? ( network )
+ spatialaudio? ( multimedia )
+ sql? ( widgets )
+ svg? ( gui )
+ testlib? ( gui widgets )
+ vulkan? ( gui )
+ webchannel? ( network )
+ websockets? ( network )
+ widgets? ( gui )
+"
+
+# may use qt private symbols wrt qtbase's :=
+# non-trivially broken with Qt6.8 wrt upper bound, waiting for PyQt6-6.8.0
+COMMON_DEPEND="
+ >=dev-qt/qtbase-${QT_PV}=[dbus?,gles2-only=,gui?,network?,opengl?,sql?,ssl=,vulkan?,widgets?,xml?]
+ bluetooth? ( >=dev-qt/qtconnectivity-${QT_PV}[bluetooth] )
+ 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} )
+ nfc? ( >=dev-qt/qtconnectivity-${QT_PV}[nfc] )
+ opengl? (
+ gles2-only? ( media-libs/libglvnd )
+ )
+ pdfium? ( >=dev-qt/qtwebengine-${QT_PV}[pdfium,widgets?] )
+ positioning? ( >=dev-qt/qtpositioning-${QT_PV} )
+ qml? ( >=dev-qt/qtdeclarative-${QT_PV}[widgets?] )
+ quick3d? ( >=dev-qt/qtquick3d-${QT_PV} )
+ quick? ( >=dev-qt/qtdeclarative-${QT_PV}[opengl] )
+ remoteobjects? ( >=dev-qt/qtremoteobjects-${QT_PV} )
+ sensors? ( >=dev-qt/qtsensors-${QT_PV} )
+ serialport? ( >=dev-qt/qtserialport-${QT_PV} )
+ speech? (
+ >=dev-qt/qtdeclarative-${QT_PV}
+ >=dev-qt/qtspeech-${QT_PV}
+ )
+ svg? ( >=dev-qt/qtsvg-${QT_PV} )
+ webchannel? ( >=dev-qt/qtwebchannel-${QT_PV} )
+ websockets? ( >=dev-qt/qtwebsockets-${QT_PV} )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=dev-python/pyqt6-sip-13.8[${PYTHON_USEDEP}]
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ vulkan? ( dev-util/vulkan-headers )
+"
+BDEPEND="
+ >=dev-python/pyqt-builder-1.17[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.9[${PYTHON_USEDEP}]
+ >=dev-qt/qtbase-${QT_PV}
+ dbus? ( virtual/pkgconfig )
+"
+
+src_prepare() {
+ default
+
+ # hack: PyQt-builder runs qmake without our arguments and calls g++
+ # or clang++ depending on what qtbase was built with, not used for
+ # building but fails with -native-symlinks
+ mkdir "${T}"/cxx || die
+ local cxx
+ ! cxx=$(type -P "${CHOST}"-g++) || ln -s -- "${cxx}" "${T}"/cxx/g++ || die
+ ! cxx=$(type -P "${CHOST}"-clang++) || ln -s -- "${cxx}" "${T}"/cxx/clang++ || die
+ PATH=${T}/cxx:${PATH}
+}
+
+python_configure_all() {
+ append-cxxflags -std=c++17 # for old gcc / clang that use <17 (bug #892331)
+ append-cxxflags ${CPPFLAGS} # respect CPPFLAGS notably for DISTUTILS_EXT=1
+
+ pyqt_use_enable() {
+ local state=$(usex ${1} --enable= --disable=)
+ shift
+ echo ${*/#/${state}}
+ }
+
+ DISTUTILS_ARGS=(
+ --jobs="$(makeopts_jobs)"
+ --qmake="$(qt6_get_bindir)"/qmake
+ --qmake-setting="$(qt6_get_qmake_args)"
+ --verbose
+ --confirm-license
+
+ --enable=QtCore
+
+ $(pyqt_use_enable bluetooth QtBluetooth)
+ $(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)
+ $(pyqt_use_enable nfc QtNfc)
+ $(pyqt_use_enable opengl QtOpenGL \
+ $(usev widgets QtOpenGLWidgets))
+ $(pyqt_use_enable pdfium QtPdf \
+ $(usev widgets QtPdfWidgets))
+ $(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)
+ $(pyqt_use_enable remoteobjects QtRemoteObjects)
+ $(pyqt_use_enable sensors QtSensors)
+ $(pyqt_use_enable serialport QtSerialPort)
+ $(pyqt_use_enable spatialaudio QtSpatialAudio)
+ $(pyqt_use_enable sql QtSql)
+ $(pyqt_use_enable svg QtSvg \
+ $(usev widgets QtSvgWidgets))
+ $(pyqt_use_enable testlib QtTest)
+ $(pyqt_use_enable speech QtTextToSpeech)
+ $(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)
+ # note: upstream currently intentionally skips installing these two
+ # plugins when using wheels w/ pep517 so, *if* something does need
+ # them, it will need to be handled manually
+ $(usev !designer --no-designer-plugin)
+ $(usev !qml --no-qml-plugin)
+
+ $(usev !gles2-only --disabled-feature=PyQt_OpenGL_ES2)
+ $(usev !opengl --disabled-feature=PyQt_OpenGL)
+ $(usev !ssl --disabled-feature=PyQt_SSL)
+ $(usev !vulkan --disabled-feature=PyQt_Vulkan)
+
+ # intended for Windows / Android or others
+ --disable=QAxContainer
+ --disabled-feature=PyQt_Permissions
+ )
+}
+
+python_install_all() {
+ einstalldocs
+ use examples && dodoc -r examples
+}