Gentoo Archives: gentoo-commits

From: Andrey Grozin <grozin@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/PyQt4/
Date: Sat, 31 Dec 2016 06:00:18
Message-Id: 1483163994.e220d4fa5fb6c612fd2b8396d37802cb3b3f7f97.grozin@gentoo
1 commit: e220d4fa5fb6c612fd2b8396d37802cb3b3f7f97
2 Author: Andrey Grozin <grozin <AT> gentoo <DOT> org>
3 AuthorDate: Sat Dec 31 05:59:54 2016 +0000
4 Commit: Andrey Grozin <grozin <AT> gentoo <DOT> org>
5 CommitDate: Sat Dec 31 05:59:54 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e220d4fa
7
8 dev-python/PyQt4: bump to 4.12
9
10 Package-Manager: Portage-2.3.3, Repoman-2.3.1
11
12 dev-python/PyQt4/Manifest | 1 +
13 dev-python/PyQt4/PyQt4-4.12.ebuild | 198 +++++++++++++++++++++++++++++++++++++
14 2 files changed, 199 insertions(+)
15
16 diff --git a/dev-python/PyQt4/Manifest b/dev-python/PyQt4/Manifest
17 index d04bb91..a12e63d 100644
18 --- a/dev-python/PyQt4/Manifest
19 +++ b/dev-python/PyQt4/Manifest
20 @@ -1,3 +1,4 @@
21 DIST PyQt-x11-gpl-4.11.1.tar.gz 11118850 SHA256 df9d7358d70748efa5b84fa3fe9e182a80c39ac590157daaabcc2618df176da3 SHA512 3851d4e61d9c6a0c62cbfd2a08153972fa3446c1982fc925796eb1d4c6524e7054cdb14ed2f4566386727e9e0cf67246765de19fab79152b0834477452681113 WHIRLPOOL 17e23997afcf06b99028d0d2115bc9328848acaaa1b6bcd8ec7397409ab2001d5fa29ca08bf42e0cef6dcd0441d0cff04e349fa8913a2b0fc86da878b79b5a5d
22 DIST PyQt-x11-gpl-4.11.4.tar.gz 11317088 SHA256 fc1fe77495432ba3b0d74ff5cb164d375a97f5dddb728256330f615a7cdcf407 SHA512 58d0c5e30b0480c1b6ce1a3cc3ef0a1841bb15631830fb937d1f17f5d3d8cbe66a5e2adcfb2c3990fae38db66dd430668bd25413e254e72064a38c48f689f170 WHIRLPOOL cf635d6399bd04def2648eee65e038d720f06dddfac70f3df6f87deb7483e023ee1a4aa07285a5075adc19dc91bca4500b82f65b342e07a8845023cf98bb6233
23 DIST PyQt4_gpl_x11-4.12.dev1606101416.tar.xz 8519016 SHA256 9ce63a77f0de7eac56e49a996d19f0145907ea19cfbc8847642d03cdd8164b97 SHA512 ebdf45a0dc04e1f92c140f582265598d3e24f98a0fa4e0c638dc8bafc0f4501b68e9d9fa376310ed660d58ddb808f0ee0c045260b1d95b3f0e054863df92a7c5 WHIRLPOOL 3cdae4aecbdd3245826ee2a2d837d49167a008c01ce703e55f3f21fe11288d15dd57b7c7e984514e4da16e1b4d7bba821946e16aa3480999a2a2196c62f4bfee
24 +DIST PyQt4_gpl_x11-4.12.tar.gz 11325395 SHA256 3c1d4b55314adb3e1132de8fc2a92eed216d37e58aceed41294dbca210ca88db SHA512 bc5ee53e6ab8d32e240bbbd85aec9ce18a398848c0ee73d874763156256f7942a4a452a26f34fe035fdbeba5fb1df060910688f8a1bc7f7f183543d3dd0fd731 WHIRLPOOL 001df301c9620873794c33f5294ae30ec9d4a32359d26a8607377fe2468dd33a313ef09e96d2491056cdc066edc5d80b4e80afa19976dfb2a7d291cd829e2791
25
26 diff --git a/dev-python/PyQt4/PyQt4-4.12.ebuild b/dev-python/PyQt4/PyQt4-4.12.ebuild
27 new file mode 100644
28 index 00000000..3249402
29 --- /dev/null
30 +++ b/dev-python/PyQt4/PyQt4-4.12.ebuild
31 @@ -0,0 +1,198 @@
32 +# Copyright 1999-2016 Gentoo Foundation
33 +# Distributed under the terms of the GNU General Public License v2
34 +# $Id$
35 +
36 +EAPI=6
37 +PYTHON_COMPAT=( python2_7 python3_{4,5} )
38 +
39 +inherit multibuild python-r1 qmake-utils toolchain-funcs
40 +
41 +DESCRIPTION="Python bindings for the Qt framework"
42 +HOMEPAGE="http://www.riverbankcomputing.com/software/pyqt/intro
43 + https://pypi.python.org/pypi/PyQt4"
44 +
45 +MY_P=${PN}_gpl_x11-${PV/_pre/.dev}
46 +if [[ ${PV} == *_pre* ]]; then
47 + SRC_URI="https://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.xz"
48 +else
49 + SRC_URI="mirror://sourceforge/pyqt/${MY_P}.tar.gz"
50 +fi
51 +
52 +LICENSE="GPL-3"
53 +SLOT="0"
54 +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
55 +
56 +IUSE="X compat dbus debug declarative designer doc examples help kde multimedia
57 + opengl phonon script scripttools sql svg testlib webkit xmlpatterns"
58 +REQUIRED_USE="
59 + ${PYTHON_REQUIRED_USE}
60 + sql? ( X )
61 + testlib? ( X )
62 +"
63 +
64 +# Minimal supported version of Qt.
65 +QT_PV="4.8.5:4"
66 +
67 +RDEPEND="
68 + ${PYTHON_DEPS}
69 + >=dev-python/sip-4.19:=[${PYTHON_USEDEP}]
70 + >=dev-qt/qtcore-${QT_PV}
71 + X? ( >=dev-qt/qtgui-${QT_PV} )
72 + dbus? (
73 + dev-python/dbus-python[${PYTHON_USEDEP}]
74 + >=dev-qt/qtdbus-${QT_PV}
75 + )
76 + declarative? ( >=dev-qt/qtdeclarative-${QT_PV} )
77 + designer? ( >=dev-qt/designer-${QT_PV} )
78 + help? ( >=dev-qt/qthelp-${QT_PV} )
79 + multimedia? ( >=dev-qt/qtmultimedia-${QT_PV} )
80 + opengl? ( >=dev-qt/qtopengl-${QT_PV} )
81 + phonon? (
82 + kde? ( >=media-libs/phonon-4.7[qt4] )
83 + !kde? ( || ( >=dev-qt/qtphonon-${QT_PV} >=media-libs/phonon-4.7[qt4] ) )
84 + )
85 + script? ( >=dev-qt/qtscript-${QT_PV} )
86 + scripttools? ( >=dev-qt/qtgui-${QT_PV} )
87 + sql? ( >=dev-qt/qtsql-${QT_PV} )
88 + svg? ( >=dev-qt/qtsvg-${QT_PV} )
89 + testlib? ( >=dev-qt/qttest-${QT_PV} )
90 + webkit? ( >=dev-qt/qtwebkit-${QT_PV} )
91 + xmlpatterns? ( >=dev-qt/qtxmlpatterns-${QT_PV} )
92 +"
93 +DEPEND="${RDEPEND}
94 + dbus? ( virtual/pkgconfig )
95 +"
96 +
97 +S=${WORKDIR}/${MY_P}
98 +
99 +DOCS=( "${S}"/{ChangeLog,NEWS,THANKS} )
100 +PATCHES=(
101 + # Allow building against KDE's phonon (bug 525354)
102 + "${FILESDIR}/${PN}-4.11.2-phonon.patch"
103 +)
104 +
105 +src_prepare() {
106 + # Support qreal on arm architecture (bug 322349)
107 + use arm && PATCHES+=("${FILESDIR}/${PN}-4.7.3-qreal_float_support.patch")
108 +
109 + default
110 +}
111 +
112 +pyqt_run() {
113 + echo "$@"
114 + "${PYTHON}" "$@"
115 +}
116 +
117 +pyqt_use_enable() {
118 + use "$1" || return
119 +
120 + echo --enable=${2:-Qt$(tr 'a-z' 'A-Z' <<< ${1:0:1})${1:1}}
121 +}
122 +
123 +src_configure() {
124 + configuration() {
125 + local myconf=(
126 + $(usex debug '--debug --trace' '')
127 + --verbose
128 + --confirm-license
129 + --qmake="$(qt4_get_bindir)"/qmake
130 + --bindir="${EPREFIX}/usr/bin"
131 + --destdir="$(python_get_sitedir)"
132 + --qsci-api
133 + --enable=QtCore
134 + --enable=QtNetwork
135 + --enable=QtXml
136 + $(pyqt_use_enable X QtGui)
137 + $(pyqt_use_enable dbus QtDBus)
138 + $(pyqt_use_enable declarative)
139 + $(pyqt_use_enable designer)
140 + $(usex designer '' --no-designer-plugin)
141 + $(pyqt_use_enable help)
142 + $(pyqt_use_enable multimedia)
143 + $(pyqt_use_enable opengl QtOpenGL)
144 + $(pyqt_use_enable phonon phonon)
145 + $(pyqt_use_enable script)
146 + $(pyqt_use_enable scripttools QtScriptTools)
147 + $(pyqt_use_enable sql)
148 + $(pyqt_use_enable svg)
149 + $(pyqt_use_enable testlib QtTest)
150 + $(pyqt_use_enable webkit QtWebKit)
151 + $(pyqt_use_enable xmlpatterns QtXmlPatterns)
152 + )
153 +
154 + if use compat; then
155 + local compat_build_dir=${BUILD_DIR%/}-compat
156 + cp -Rp "${S}" "${compat_build_dir}" || die
157 + pushd "${compat_build_dir}" >/dev/null || die
158 +
159 + local mycompatconf=(
160 + "${myconf[@]}"
161 + AR="$(tc-getAR) cqs"
162 + CC="$(tc-getCC)"
163 + CFLAGS="${CFLAGS}"
164 + CFLAGS_RELEASE=
165 + CXX="$(tc-getCXX)"
166 + CXXFLAGS="${CXXFLAGS}"
167 + CXXFLAGS_RELEASE=
168 + LINK="$(tc-getCXX)"
169 + LINK_SHLIB="$(tc-getCXX)"
170 + LFLAGS="${LDFLAGS}"
171 + LFLAGS_RELEASE=
172 + RANLIB=
173 + STRIP=
174 + )
175 + pyqt_run configure.py "${mycompatconf[@]}" || die
176 +
177 + popd >/dev/null || die
178 + fi
179 +
180 + myconf+=(
181 + --sip-incdir="$(python_get_includedir)"
182 + $(usex dbus '' --no-python-dbus)
183 + )
184 + pyqt_run "${S}"/configure-ng.py "${myconf[@]}" || die
185 +
186 + eqmake4 -recursive ${PN}.pro
187 + }
188 + python_foreach_impl run_in_build_dir configuration
189 +}
190 +
191 +src_compile() {
192 + python_foreach_impl run_in_build_dir default
193 +}
194 +
195 +src_install() {
196 + installation() {
197 + local tmp_root=${D%/}/tmp
198 + emake INSTALL_ROOT="${tmp_root}" install
199 +
200 + local uic_dir=${tmp_root}$(python_get_sitedir)/${PN}/uic
201 + if python_is_python3; then
202 + rm -r "${uic_dir}"/port_v2 || die
203 + else
204 + rm -r "${uic_dir}"/port_v3 || die
205 + fi
206 +
207 + python_doexe "${tmp_root}${EPREFIX}"/usr/bin/pyuic4
208 + rm "${tmp_root}${EPREFIX}"/usr/bin/pyuic4 || die
209 +
210 + multibuild_merge_root "${tmp_root}" "${D}"
211 +
212 + if use compat; then
213 + local compat_build_dir=${BUILD_DIR%/}-compat
214 + python_moduleinto ${PN}
215 + python_domodule "${compat_build_dir}"/pyqtconfig.py
216 + fi
217 +
218 + python_optimize
219 + }
220 + python_foreach_impl run_in_build_dir installation
221 +
222 + einstalldocs
223 + use doc && dodoc -r doc/html
224 +
225 + if use examples; then
226 + insinto /usr/share/doc/${PF}
227 + doins -r examples
228 + fi
229 +}