diff --git a/dev-python/PyQt5/Manifest b/dev-python/PyQt5/Manifest index 155ff2d7c5d2f..8e06769b2386d 100644 --- a/dev-python/PyQt5/Manifest +++ b/dev-python/PyQt5/Manifest @@ -1,2 +1,3 @@ DIST PyQt-gpl-5.5.1.tar.gz 3705749 SHA256 0a70ef94fbffcf674b0dde024aae2a2a7a3f5a8c42806109ff7df2c941bd8386 SHA512 ed9a4f30a50c0879f25b6a0841247f3f0de86942b55c1de9efea963bfbf64ee963a9e5c09be036ff2dec76164863b3b6235e45e8662776425f15378fa0abeab4 WHIRLPOOL 199a36ff1ee3689a76d0aae9d2bee586f9de3a0e3cf23c5b625c1f62b5f19311450afd9d009cbdb4f5be63ba024326c63ff0e6c9ea515216c686db9d8e07bcb3 DIST PyQt5_gpl-5.6.1.dev1604271126.tar.xz 2300884 SHA256 2a9ac535ac921bcd3678e33655bb3842a14f4cf6836eb29f32d0a62335ea061b SHA512 281d48cd8a875c454e970d6cecb0af2a2299f2ea6d062de599736d613c413dbab67072c80a80d490980eacf18bb35819b94255cd5891abbf6e291101bcd5b578 WHIRLPOOL e8255192a318529307b67992cdd12f9c9d4983099c1cece82761140bf3615fc36e1db52a9a795645c8ca93e21b801826802fd1b0fb3cf867c0f80d380a45c279 +DIST PyQt5_gpl-5.7.tar.gz 3729111 SHA256 892693ba5f79989abb2061dad2d5c4e6f127e9dd3240f73f8220c7152cd35b05 SHA512 b22fd40f967776c25de9f5fb37a3308df15599f257e4deab23ec3072d4c8f2dceb8aadc2869d1ab7a5068992e86320969b694cf6da3312ddedae54fd388873ec WHIRLPOOL bddc2f4818a8179020b827572e808f87d64fed3c220903b4d879d76581346728592e4dbf6679cc240c5ac2d736d4b1264de35e770e89dc1b01e41e82e6bf82cd diff --git a/dev-python/PyQt5/PyQt5-5.7.ebuild b/dev-python/PyQt5/PyQt5-5.7.ebuild new file mode 100644 index 0000000000000..2a87ef1b5aeee --- /dev/null +++ b/dev-python/PyQt5/PyQt5-5.7.ebuild @@ -0,0 +1,198 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_{3,4,5} ) + +inherit multibuild python-r1 qmake-utils + +DESCRIPTION="Python bindings for the Qt framework" +HOMEPAGE="http://www.riverbankcomputing.com/software/pyqt/intro + https://pypi.python.org/pypi/PyQt5" + +MY_P=${PN}_gpl-${PV/_pre/.dev} +if [[ ${PV} == *_pre* ]]; then + SRC_URI="https://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.xz" +else + SRC_URI="mirror://sourceforge/pyqt/${MY_P}.tar.gz" +fi + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc64 ~x86" + +# TODO: QtNfc +IUSE="bluetooth dbus debug declarative designer doc examples gles2 gui help location + multimedia network opengl positioning printsupport sensors serialport sql svg + testlib webchannel webengine webkit websockets widgets x11extras xmlpatterns" + +# The requirements below were extracted from configure.py +# and from the output of 'grep -r "%Import " "${S}"/sip' +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + bluetooth? ( gui ) + declarative? ( gui network ) + designer? ( widgets ) + help? ( gui widgets ) + location? ( positioning ) + multimedia? ( gui network ) + opengl? ( gui widgets ) + positioning? ( gui ) + printsupport? ( gui widgets ) + sensors? ( gui ) + serialport? ( gui ) + sql? ( widgets ) + svg? ( gui widgets ) + testlib? ( gui widgets ) + webchannel? ( network ) + webengine? ( network widgets? ( webchannel ) ) + webkit? ( gui network printsupport widgets ) + websockets? ( network ) + widgets? ( gui ) + xmlpatterns? ( network ) +" + +# Minimal supported version of Qt. +QT_PV="5.6.0:5" + +RDEPEND=" + ${PYTHON_DEPS} + >=dev-python/sip-4.18:=[${PYTHON_USEDEP}] + >=dev-qt/qtcore-${QT_PV} + >=dev-qt/qtxml-${QT_PV} + bluetooth? ( >=dev-qt/qtbluetooth-${QT_PV} ) + dbus? ( + dev-python/dbus-python[${PYTHON_USEDEP}] + >=dev-qt/qtdbus-${QT_PV} + ) + declarative? ( >=dev-qt/qtdeclarative-${QT_PV}[widgets?] ) + designer? ( >=dev-qt/designer-${QT_PV} ) + gui? ( >=dev-qt/qtgui-${QT_PV}[gles2=] ) + help? ( >=dev-qt/qthelp-${QT_PV} ) + location? ( >=dev-qt/qtlocation-${QT_PV} ) + multimedia? ( >=dev-qt/qtmultimedia-${QT_PV}[widgets?] ) + network? ( >=dev-qt/qtnetwork-${QT_PV} ) + opengl? ( >=dev-qt/qtopengl-${QT_PV} ) + positioning? ( >=dev-qt/qtpositioning-${QT_PV} ) + printsupport? ( >=dev-qt/qtprintsupport-${QT_PV} ) + sensors? ( >=dev-qt/qtsensors-${QT_PV} ) + serialport? ( >=dev-qt/qtserialport-${QT_PV} ) + sql? ( >=dev-qt/qtsql-${QT_PV} ) + svg? ( >=dev-qt/qtsvg-${QT_PV} ) + testlib? ( >=dev-qt/qttest-${QT_PV} ) + webchannel? ( >=dev-qt/qtwebchannel-${QT_PV} ) + webengine? ( >=dev-qt/qtwebengine-${QT_PV}[widgets?] ) + webkit? ( >=dev-qt/qtwebkit-${QT_PV}[printsupport] ) + websockets? ( >=dev-qt/qtwebsockets-${QT_PV} ) + widgets? ( >=dev-qt/qtwidgets-${QT_PV} ) + x11extras? ( >=dev-qt/qtx11extras-${QT_PV} ) + xmlpatterns? ( >=dev-qt/qtxmlpatterns-${QT_PV} ) +" +DEPEND="${RDEPEND} + dbus? ( virtual/pkgconfig ) +" + +S=${WORKDIR}/${MY_P} + +DOCS=( "${S}"/{ChangeLog,NEWS} ) + +pyqt_use_enable() { + use "$1" || return + + if [[ $# -eq 1 ]]; then + echo --enable=Qt$(tr 'a-z' 'A-Z' <<< ${1:0:1})${1:1} + else + shift + echo ${@/#/--enable=} + fi +} + +src_configure() { + configuration() { + local myconf=( + "${PYTHON}" + "${S}"/configure.py + $(usex debug '--debug --trace' '') + --verbose + --confirm-license + --qmake="$(qt5_get_bindir)"/qmake + --bindir="${EPREFIX}/usr/bin" + --destdir="$(python_get_sitedir)" + --sip-incdir="$(python_get_includedir)" + --qsci-api + --enable=QtCore + --enable=QtXml + $(pyqt_use_enable bluetooth) + $(pyqt_use_enable dbus QtDBus) + $(usex dbus '' --no-python-dbus) + $(pyqt_use_enable declarative QtQml QtQuick $(usex widgets QtQuickWidgets '')) + $(usex declarative '' --no-qml-plugin) + $(pyqt_use_enable designer) + $(usex designer '' --no-designer-plugin) + $(pyqt_use_enable gui) + $(pyqt_use_enable gui $(use gles2 && echo _QOpenGLFunctions_ES2 || echo _QOpenGLFunctions_{2_0,2_1,4_1_Core})) + $(pyqt_use_enable help) + $(pyqt_use_enable location) + $(pyqt_use_enable multimedia QtMultimedia $(usex widgets QtMultimediaWidgets '')) + $(pyqt_use_enable network) + $(pyqt_use_enable opengl QtOpenGL) + $(pyqt_use_enable positioning) + $(pyqt_use_enable printsupport QtPrintSupport) + $(pyqt_use_enable sensors) + $(pyqt_use_enable serialport QtSerialPort) + $(pyqt_use_enable sql) + $(pyqt_use_enable svg) + $(pyqt_use_enable testlib QtTest) + $(pyqt_use_enable webchannel QtWebChannel) + $(pyqt_use_enable webengine QtWebEngineCore $(usex widgets QtWebEngineWidgets '')) + $(pyqt_use_enable webkit QtWebKit QtWebKitWidgets) + $(pyqt_use_enable websockets QtWebSockets) + $(pyqt_use_enable widgets) + $(pyqt_use_enable x11extras QtX11Extras) + $(pyqt_use_enable xmlpatterns QtXmlPatterns) + ) + echo "${myconf[@]}" + "${myconf[@]}" || die + + eqmake5 -recursive ${PN}.pro + } + python_foreach_impl run_in_build_dir configuration +} + +src_compile() { + python_foreach_impl run_in_build_dir default +} + +src_install() { + installation() { + local tmp_root=${D%/}/tmp + emake INSTALL_ROOT="${tmp_root}" install + + local bin_dir=${tmp_root}${EPREFIX}/usr/bin + local exe + for exe in pylupdate5 pyrcc5 pyuic5; do + python_doexe "${bin_dir}/${exe}" + rm "${bin_dir}/${exe}" || die + done + + local uic_dir=${tmp_root}$(python_get_sitedir)/${PN}/uic + if python_is_python3; then + rm -r "${uic_dir}"/port_v2 || die + else + rm -r "${uic_dir}"/port_v3 || die + fi + + multibuild_merge_root "${tmp_root}" "${D}" + python_optimize + } + python_foreach_impl run_in_build_dir installation + + einstalldocs + use doc && dodoc -r doc/html + + if use examples; then + insinto /usr/share/doc/${PF} + doins -r examples + fi +} diff --git a/dev-python/PyQt5/metadata.xml b/dev-python/PyQt5/metadata.xml index f6232062c3b15..6540bb21471f0 100644 --- a/dev-python/PyQt5/metadata.xml +++ b/dev-python/PyQt5/metadata.xml @@ -6,12 +6,14 @@ Gentoo Qt Project + Build bindings for the QtBluetooth module Build bindings for the QtDBus module Build bindings for the QtQml/QtQuick modules and enable the qmlscene plugin Build bindings for the QtDesigner module and enable the designer plugin Use GLES 2.0 or later instead of full OpenGL Build bindings for the QtGui module Build bindings for the QtHelp module + Build bindings for the QtLocation module Build bindings for the QtMultimedia module Build bindings for the QtNetwork module Build bindings for the QtOpenGL module @@ -23,6 +25,7 @@ Build bindings for the QtSvg module Build bindings for the QtTest module Build bindings for the QtWebChannel module + Build bindings for the QtWebEngine module Build bindings for the QtWebKit module Build bindings for the QtWebSockets module Build bindings for the QtWidgets module diff --git a/profiles/arch/arm/package.use.mask b/profiles/arch/arm/package.use.mask index 2d05f0bdef4ee..ed365524647e3 100644 --- a/profiles/arch/arm/package.use.mask +++ b/profiles/arch/arm/package.use.mask @@ -2,6 +2,11 @@ # Distributed under the terms of the GNU General Public License v2 # $Id$ +# Davide Pesavento (28 Jul 2016) +# The corresponding Qt5 modules are not keyworded on arm, and we don't want to +# keyword them solely because of PyQt5 while there are no other in-tree users. +dev-python/PyQt5 location webengine + # Alexandre Rostovtsev (28 Jun 2016) # Missing keywords on app-text/gspell - bug #587368 >=app-editors/gedit-3.20 spell diff --git a/profiles/arch/arm/package.use.stable.mask b/profiles/arch/arm/package.use.stable.mask index 47165250ae9c8..e0afbee27a41f 100644 --- a/profiles/arch/arm/package.use.stable.mask +++ b/profiles/arch/arm/package.use.stable.mask @@ -6,7 +6,7 @@ # The corresponding Qt5 modules are not stable on arm, and we don't # want to stabilize them solely because of PyQt5 while there are no # other in-tree users. -dev-python/PyQt5 serialport websockets +dev-python/PyQt5 bluetooth serialport websockets # Ian Delaney (13 Apr 2016) # on behalf of Ilya Tumaykin diff --git a/profiles/arch/powerpc/package.use.mask b/profiles/arch/powerpc/package.use.mask index 7553ef82c5933..b11801c125ecd 100644 --- a/profiles/arch/powerpc/package.use.mask +++ b/profiles/arch/powerpc/package.use.mask @@ -2,6 +2,11 @@ # Distributed under the terms of the GNU General Public License v2 # $Id$ +# Davide Pesavento (28 Jul 2016) +# The corresponding Qt5 modules are not keyworded on ppc, and we don't want to +# keyword them solely because of PyQt5 while there are no other in-tree users. +dev-python/PyQt5 bluetooth location webengine + # Michael Palimaka (07 Jul 2016) # Requires unkeyworded dependencies app-misc/hachoir-metadata kde diff --git a/profiles/base/package.use.stable.mask b/profiles/base/package.use.stable.mask index e4675f91e60e2..fd07d63282a45 100644 --- a/profiles/base/package.use.stable.mask +++ b/profiles/base/package.use.stable.mask @@ -37,10 +37,6 @@ dev-lang/python-exec -python_targets_python3_5 =app-office/libreoffice-5.0* gtk3 =app-office/libreoffice-5.1* gtk3 -# Davide Pesavento (26 Aug 2015) -# dev-qt/qtserialport:5 not stable yet, bug 577074 -dev-python/PyQt5 serialport - # Pacho Ramos (15 May 2015) # Version compatible with current ffmpeg is not ready to be stabilized # bug #539212 diff --git a/profiles/default/linux/uclibc/arm/package.use.mask b/profiles/default/linux/uclibc/arm/package.use.mask index 8230b8d2f811f..861a3b070d896 100644 --- a/profiles/default/linux/uclibc/arm/package.use.mask +++ b/profiles/default/linux/uclibc/arm/package.use.mask @@ -2,6 +2,11 @@ # Distributed under the terms of the GNU General Public License v2 # $Id$ +# Davide Pesavento (28 Jul 2016) +# The corresponding Qt5 modules are not keyworded on arm, and we don't want to +# keyword them solely because of PyQt5 while there are no other in-tree users. +dev-python/PyQt5 location webengine + # Davide Pesavento (13 May 2016) # dev-qt/qtwebengine:5 not keyworded, bug 581478 dev-qt/qt-creator webengine diff --git a/profiles/default/linux/uclibc/arm/package.use.stable.mask b/profiles/default/linux/uclibc/arm/package.use.stable.mask index 6c8b60b9ded77..0e993073ae81b 100644 --- a/profiles/default/linux/uclibc/arm/package.use.stable.mask +++ b/profiles/default/linux/uclibc/arm/package.use.stable.mask @@ -6,4 +6,4 @@ # The corresponding Qt5 modules are not stable on arm, and we don't # want to stabilize them solely because of PyQt5 while there are no # other in-tree users. -dev-python/PyQt5 serialport websockets +dev-python/PyQt5 bluetooth serialport websockets diff --git a/profiles/hardened/linux/uclibc/arm/package.use.stable.mask b/profiles/hardened/linux/uclibc/arm/package.use.stable.mask deleted file mode 100644 index 6c8b60b9ded77..0000000000000 --- a/profiles/hardened/linux/uclibc/arm/package.use.stable.mask +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -# Davide Pesavento (08 Jun 2016) -# The corresponding Qt5 modules are not stable on arm, and we don't -# want to stabilize them solely because of PyQt5 while there are no -# other in-tree users. -dev-python/PyQt5 serialport websockets