Gentoo Archives: gentoo-commits

From: Davide Pesavento <pesa@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/PyQt5/
Date: Fri, 29 Apr 2016 00:48:24
Message-Id: 1461890888.ade8283511e9f9cb7aa490b0e0170fc5cc99d047.pesa@gentoo
1 commit: ade8283511e9f9cb7aa490b0e0170fc5cc99d047
2 Author: Davide Pesavento <pesa <AT> gentoo <DOT> org>
3 AuthorDate: Fri Apr 29 00:45:20 2016 +0000
4 Commit: Davide Pesavento <pesa <AT> gentoo <DOT> org>
5 CommitDate: Fri Apr 29 00:48:08 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ade82835
7
8 dev-python/PyQt5: bump to 5.6.1 prerelease to fix build with USE=dbus
9
10 Gentoo-Bug: 581418
11
12 Package-Manager: portage-2.2.28
13
14 dev-python/PyQt5/Manifest | 1 +
15 dev-python/PyQt5/PyQt5-5.6.1_pre1604271126.ebuild | 185 ++++++++++++++++++++++
16 2 files changed, 186 insertions(+)
17
18 diff --git a/dev-python/PyQt5/Manifest b/dev-python/PyQt5/Manifest
19 index 1abdc4a..3afebc4 100644
20 --- a/dev-python/PyQt5/Manifest
21 +++ b/dev-python/PyQt5/Manifest
22 @@ -1,2 +1,3 @@
23 DIST PyQt-gpl-5.5.1.tar.gz 3705749 SHA256 0a70ef94fbffcf674b0dde024aae2a2a7a3f5a8c42806109ff7df2c941bd8386 SHA512 ed9a4f30a50c0879f25b6a0841247f3f0de86942b55c1de9efea963bfbf64ee963a9e5c09be036ff2dec76164863b3b6235e45e8662776425f15378fa0abeab4 WHIRLPOOL 199a36ff1ee3689a76d0aae9d2bee586f9de3a0e3cf23c5b625c1f62b5f19311450afd9d009cbdb4f5be63ba024326c63ff0e6c9ea515216c686db9d8e07bcb3
24 +DIST PyQt5_gpl-5.6.1.dev1604271126.tar.xz 2300884 SHA256 2a9ac535ac921bcd3678e33655bb3842a14f4cf6836eb29f32d0a62335ea061b SHA512 281d48cd8a875c454e970d6cecb0af2a2299f2ea6d062de599736d613c413dbab67072c80a80d490980eacf18bb35819b94255cd5891abbf6e291101bcd5b578 WHIRLPOOL e8255192a318529307b67992cdd12f9c9d4983099c1cece82761140bf3615fc36e1db52a9a795645c8ca93e21b801826802fd1b0fb3cf867c0f80d380a45c279
25 DIST PyQt5_gpl-5.6.tar.gz 3720782 SHA256 2e481a6c4c41b96ed3b33449e5f9599987c63a5c8db93313bd57a6acbf20f0e1 SHA512 979537b35b7b6f7f63f702200db35453a9efe93565a0f0ea99d8092df4ca8c2a3d0fc10a5adcb499058e2340ed9141b3b38febf8049793beb471920c03645ee8 WHIRLPOOL ca7a023371005416e2846fd50be113ca72e9713b423b54f5d9c9bf75414a98f3f6c4ef69d913bf3c2f8783d684440e006feab85dea796354e931e80fa8a80ac4
26
27 diff --git a/dev-python/PyQt5/PyQt5-5.6.1_pre1604271126.ebuild b/dev-python/PyQt5/PyQt5-5.6.1_pre1604271126.ebuild
28 new file mode 100644
29 index 0000000..a3dbd3e
30 --- /dev/null
31 +++ b/dev-python/PyQt5/PyQt5-5.6.1_pre1604271126.ebuild
32 @@ -0,0 +1,185 @@
33 +# Copyright 1999-2016 Gentoo Foundation
34 +# Distributed under the terms of the GNU General Public License v2
35 +# $Id$
36 +
37 +EAPI=6
38 +PYTHON_COMPAT=( python2_7 python3_{3,4,5} )
39 +
40 +inherit multibuild python-r1 qmake-utils
41 +
42 +DESCRIPTION="Python bindings for the Qt framework"
43 +HOMEPAGE="http://www.riverbankcomputing.com/software/pyqt/intro
44 + https://pypi.python.org/pypi/PyQt5"
45 +
46 +MY_P=${PN}_gpl-${PV/_pre/.dev}
47 +if [[ ${PV} == *_pre* ]]; then
48 + SRC_URI="https://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.xz"
49 +else
50 + SRC_URI="mirror://sourceforge/pyqt/${MY_P}.tar.gz"
51 +fi
52 +
53 +LICENSE="GPL-3"
54 +SLOT="0"
55 +KEYWORDS="~amd64 ~arm ~x86"
56 +
57 +# TODO: QtBluetooth, QtLocation, QtNfc, QtWebEngine{Core,Widgets}
58 +IUSE="dbus debug declarative designer doc examples gles2 gui help multimedia
59 + network opengl positioning printsupport sensors serialport sql svg
60 + testlib webchannel webkit websockets widgets x11extras xmlpatterns"
61 +
62 +# The requirements below were extracted from configure.py
63 +# and from the output of 'grep -r "%Import " "${S}"/sip'
64 +REQUIRED_USE="
65 + ${PYTHON_REQUIRED_USE}
66 + declarative? ( gui network )
67 + designer? ( widgets )
68 + help? ( gui widgets )
69 + multimedia? ( gui network )
70 + opengl? ( gui widgets )
71 + positioning? ( gui )
72 + printsupport? ( widgets )
73 + sensors? ( gui )
74 + serialport? ( gui )
75 + sql? ( widgets )
76 + svg? ( gui widgets )
77 + testlib? ( widgets )
78 + webchannel? ( network )
79 + webkit? ( gui network printsupport widgets )
80 + websockets? ( network )
81 + widgets? ( gui )
82 + xmlpatterns? ( network )
83 +"
84 +
85 +# Minimal supported version of Qt.
86 +QT_PV="5.4.2:5"
87 +
88 +RDEPEND="
89 + ${PYTHON_DEPS}
90 + >=dev-python/sip-4.18:=[${PYTHON_USEDEP}]
91 + >=dev-qt/qtcore-${QT_PV}
92 + >=dev-qt/qtxml-${QT_PV}
93 + dbus? (
94 + dev-python/dbus-python[${PYTHON_USEDEP}]
95 + >=dev-qt/qtdbus-${QT_PV}
96 + )
97 + declarative? ( >=dev-qt/qtdeclarative-${QT_PV}[widgets?] )
98 + designer? ( >=dev-qt/designer-${QT_PV} )
99 + gui? ( >=dev-qt/qtgui-${QT_PV}[gles2=] )
100 + help? ( >=dev-qt/qthelp-${QT_PV} )
101 + multimedia? ( >=dev-qt/qtmultimedia-${QT_PV}[widgets?] )
102 + network? ( >=dev-qt/qtnetwork-${QT_PV} )
103 + opengl? ( >=dev-qt/qtopengl-${QT_PV} )
104 + positioning? ( >=dev-qt/qtpositioning-${QT_PV} )
105 + printsupport? ( >=dev-qt/qtprintsupport-${QT_PV} )
106 + sensors? ( >=dev-qt/qtsensors-${QT_PV} )
107 + serialport? ( >=dev-qt/qtserialport-${QT_PV} )
108 + sql? ( >=dev-qt/qtsql-${QT_PV} )
109 + svg? ( >=dev-qt/qtsvg-${QT_PV} )
110 + testlib? ( >=dev-qt/qttest-${QT_PV} )
111 + webchannel? ( >=dev-qt/qtwebchannel-${QT_PV} )
112 + webkit? ( >=dev-qt/qtwebkit-${QT_PV}[printsupport] )
113 + websockets? ( >=dev-qt/qtwebsockets-${QT_PV} )
114 + widgets? ( >=dev-qt/qtwidgets-${QT_PV} )
115 + x11extras? ( >=dev-qt/qtx11extras-${QT_PV} )
116 + xmlpatterns? ( >=dev-qt/qtxmlpatterns-${QT_PV} )
117 +"
118 +DEPEND="${RDEPEND}
119 + dbus? ( virtual/pkgconfig )
120 +"
121 +
122 +S=${WORKDIR}/${MY_P}
123 +
124 +DOCS=( "${S}"/{ChangeLog,NEWS} )
125 +
126 +pyqt_use_enable() {
127 + use "$1" || return
128 +
129 + if [[ $# -eq 1 ]]; then
130 + echo --enable=Qt$(tr 'a-z' 'A-Z' <<< ${1:0:1})${1:1}
131 + else
132 + shift
133 + echo ${@/#/--enable=}
134 + fi
135 +}
136 +
137 +src_configure() {
138 + configuration() {
139 + local myconf=(
140 + "${PYTHON}"
141 + "${S}"/configure.py
142 + $(usex debug '--debug --trace' '')
143 + --verbose
144 + --confirm-license
145 + --qmake="$(qt5_get_bindir)"/qmake
146 + --bindir="${EPREFIX}/usr/bin"
147 + --destdir="$(python_get_sitedir)"
148 + --sip-incdir="$(python_get_includedir)"
149 + --qsci-api
150 + --enable=QtCore
151 + --enable=QtXml
152 + $(pyqt_use_enable dbus QtDBus)
153 + $(usex dbus '' --no-python-dbus)
154 + $(pyqt_use_enable declarative QtQml QtQuick $(usex widgets QtQuickWidgets ''))
155 + $(usex declarative '' --no-qml-plugin)
156 + $(pyqt_use_enable designer)
157 + $(usex designer '' --no-designer-plugin)
158 + $(pyqt_use_enable gui)
159 + $(pyqt_use_enable gui $(use gles2 && echo _QOpenGLFunctions_ES2 || echo _QOpenGLFunctions_{2_0,2_1,4_1_Core}))
160 + $(pyqt_use_enable help)
161 + $(pyqt_use_enable multimedia QtMultimedia $(usex widgets QtMultimediaWidgets ''))
162 + $(pyqt_use_enable network)
163 + $(pyqt_use_enable opengl QtOpenGL)
164 + $(pyqt_use_enable positioning)
165 + $(pyqt_use_enable printsupport QtPrintSupport)
166 + $(pyqt_use_enable sensors)
167 + $(pyqt_use_enable serialport QtSerialPort)
168 + $(pyqt_use_enable sql)
169 + $(pyqt_use_enable svg)
170 + $(pyqt_use_enable testlib QtTest)
171 + $(pyqt_use_enable webchannel QtWebChannel)
172 + $(pyqt_use_enable webkit QtWebKit QtWebKitWidgets)
173 + $(pyqt_use_enable websockets QtWebSockets)
174 + $(pyqt_use_enable widgets)
175 + $(pyqt_use_enable x11extras QtX11Extras)
176 + $(pyqt_use_enable xmlpatterns QtXmlPatterns)
177 + )
178 + echo "${myconf[@]}"
179 + "${myconf[@]}" || die
180 +
181 + eqmake5 -recursive ${PN}.pro
182 + }
183 + python_foreach_impl run_in_build_dir configuration
184 +}
185 +
186 +src_compile() {
187 + python_foreach_impl run_in_build_dir default
188 +}
189 +
190 +src_install() {
191 + installation() {
192 + local tmp_root=${D%/}/tmp
193 + emake INSTALL_ROOT="${tmp_root}" install
194 +
195 + local uic_dir=${tmp_root}$(python_get_sitedir)/${PN}/uic
196 + if python_is_python3; then
197 + rm -r "${uic_dir}"/port_v2 || die
198 + else
199 + rm -r "${uic_dir}"/port_v3 || die
200 + fi
201 +
202 + python_doexe "${tmp_root}${EPREFIX}"/usr/bin/pyuic5
203 + rm "${tmp_root}${EPREFIX}"/usr/bin/pyuic5 || die
204 +
205 + multibuild_merge_root "${tmp_root}" "${D}"
206 + python_optimize
207 + }
208 + python_foreach_impl run_in_build_dir installation
209 +
210 + einstalldocs
211 + use doc && dodoc -r doc/html
212 +
213 + if use examples; then
214 + insinto /usr/share/doc/${PF}
215 + doins -r examples
216 + fi
217 +}