Gentoo Archives: gentoo-commits

From: "Michal Gorny (mgorny)" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-python/pypy: pypy-1.9-r2.ebuild pypy-1.8-r2.ebuild ChangeLog
Date: Sat, 01 Dec 2012 10:42:25
Message-Id: 20121201104215.339C02167D@flycatcher.gentoo.org
1 mgorny 12/12/01 10:42:15
2
3 Modified: ChangeLog
4 Added: pypy-1.9-r2.ebuild pypy-1.8-r2.ebuild
5 Log:
6 Introduce a cleaned up PyPy ebuilds using python-any-r1 & installing epython module.
7
8 (Portage version: 2.2.0_alpha143/cvs/Linux x86_64, signed Manifest commit with key 42B9401D)
9
10 Revision Changes Path
11 1.26 dev-python/pypy/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/pypy/ChangeLog?rev=1.26&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/pypy/ChangeLog?rev=1.26&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/pypy/ChangeLog?r1=1.25&r2=1.26
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/dev-python/pypy/ChangeLog,v
20 retrieving revision 1.25
21 retrieving revision 1.26
22 diff -u -r1.25 -r1.26
23 --- ChangeLog 18 Nov 2012 02:06:28 -0000 1.25
24 +++ ChangeLog 1 Dec 2012 10:42:15 -0000 1.26
25 @@ -1,6 +1,14 @@
26 # ChangeLog for dev-python/pypy
27 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/ChangeLog,v 1.25 2012/11/18 02:06:28 floppym Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/ChangeLog,v 1.26 2012/12/01 10:42:15 mgorny Exp $
30 +
31 +*pypy-1.8-r2 (01 Dec 2012)
32 +*pypy-1.9-r2 (01 Dec 2012)
33 +
34 + 01 Dec 2012; Michał Górny <mgorny@g.o> +pypy-1.8-r2.ebuild,
35 + +pypy-1.9-r2.ebuild:
36 + Introduce a cleaned up PyPy ebuilds using python-any-r1 & installing epython
37 + module.
38
39 18 Nov 2012; Mike Gilbert <floppym@g.o> pypy-1.8-r1.ebuild,
40 pypy-1.9-r1.ebuild, pypy-1.9.ebuild:
41
42
43
44 1.1 dev-python/pypy/pypy-1.9-r2.ebuild
45
46 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/pypy/pypy-1.9-r2.ebuild?rev=1.1&view=markup
47 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/pypy/pypy-1.9-r2.ebuild?rev=1.1&content-type=text/plain
48
49 Index: pypy-1.9-r2.ebuild
50 ===================================================================
51 # Copyright 1999-2012 Gentoo Foundation
52 # Distributed under the terms of the GNU General Public License v2
53 # $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/pypy-1.9-r2.ebuild,v 1.1 2012/12/01 10:42:15 mgorny Exp $
54
55 EAPI=5
56
57 # XXX: test other implementations
58 PYTHON_COMPAT=( python2_7 pypy{1_8,1_9} )
59 inherit check-reqs eutils multilib multiprocessing python-any-r1 toolchain-funcs vcs-snapshot versionator
60
61 DESCRIPTION="A fast, compliant alternative implementation of the Python language"
62 HOMEPAGE="http://pypy.org/"
63 SRC_URI="https://bitbucket.org/pypy/pypy/get/release-${PV}.tar.bz2 -> ${P}.tar.bz2"
64
65 LICENSE="MIT"
66 SLOT=$(get_version_component_range 1-2 ${PV})
67 KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
68 IUSE="bzip2 doc examples +jit ncurses sandbox shadowstack sqlite ssl +xml"
69
70 RDEPEND=">=sys-libs/zlib-1.1.3
71 virtual/libffi
72 virtual/libintl
73 dev-libs/expat
74 bzip2? ( app-arch/bzip2 )
75 ncurses? ( sys-libs/ncurses )
76 sqlite? ( dev-db/sqlite:3 )
77 ssl? ( dev-libs/openssl )"
78 DEPEND="${RDEPEND}
79 ${PYTHON_DEPS}"
80 PDEPEND="app-admin/python-updater"
81
82 pkg_pretend() {
83 CHECKREQS_MEMORY="2G"
84 use amd64 && CHECKREQS_MEMORY="4G"
85 check-reqs_pkg_pretend
86 }
87
88 pkg_setup() {
89 pkg_pretend
90 python-any-r1_pkg_setup
91 }
92
93 src_prepare() {
94 epatch "${FILESDIR}/${PV}-no-bytecode-4151f9c406b6.patch"
95 epatch "${FILESDIR}/${PV}-scripts-location.patch"
96 epatch "${FILESDIR}/${PV}-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
97 epatch "${FILESDIR}/${PV}-distutils-fix_handling_of_executables_and_flags.patch"
98 epatch "${FILESDIR}/${PV}-ssl-threads-1-34b3b5aac082.patch"
99 epatch "${FILESDIR}/${PV}-ssl-threads-2-25cd11066d95.patch"
100 epatch "${FILESDIR}/${PV}-get_python_lib_standard_lib-04ea518e5b71.patch"
101 epatch "${FILESDIR}/${PV}-more-ignored-ops-a9a8faa76bca.patch"
102 epatch "${FILESDIR}/${PV}-more-ignored-ops-146ddf82a279.patch"
103 epatch "${FILESDIR}/${PV}-pybuffer-release-double-decref-4ec2a5b49386.patch"
104 epatch "${FILESDIR}/${PV}-signal-a33052b17f4e.patch"
105 epatch "${FILESDIR}/${PV}-getargs-freelist-c26dc70ee340.patch"
106 epatch "${FILESDIR}/${PV}-ssl-errors-25d3418150d2.patch"
107
108 # The following is Gentoo-specific.
109 epatch "${FILESDIR}/${PV}-no-static-hack.patch"
110 }
111
112 src_compile() {
113 local args=(
114 $(usex jit -Ojit -O2)
115 $(usex shadowstack --gcrootfinder=shadowstack '')
116 $(usex sandbox --sandbox '')
117
118 --make-jobs=$(makeopts_jobs)
119
120 ./pypy/translator/goal/targetpypystandalone.py
121 )
122
123 # Avoid linking against libraries disabled by use flags
124 local opts=(
125 bzip2:bz2
126 ncurses:_minimal_curses
127 ssl:_ssl
128 )
129
130 local opt
131 for opt in "${opts[@]}"; do
132 local flag=${opt%:*}
133 local mod=${opt#*:}
134
135 args+=(
136 $(usex ${flag} --withmod --withoutmod)-${mod}
137 )
138 done
139
140 set -- "${PYTHON}" ./pypy/translator/goal/translate.py --batch "${args[@]}"
141 echo -e "\033[1m${@}\033[0m"
142 "${@}" || die "compile error"
143 }
144
145 src_install() {
146 local INSDESTTREE=/usr/$(get_libdir)/pypy${SLOT}
147 doins -r include lib_pypy lib-python pypy-c
148 fperms a+x ${INSDESTTREE}/pypy-c
149 dosym ../$(get_libdir)/pypy${SLOT}/pypy-c /usr/bin/pypy-c${SLOT}
150 dodoc README
151
152 if ! use sqlite; then
153 rm -fr "${ED}${INSDESTTREE}"/lib-python/{2.7,modified-2.7}/sqlite3
154 rm -f "${ED}${INSDESTTREE}"/lib_pypy/_sqlite3.py
155 fi
156
157 python_export pypy-c${SLOT} EPYTHON PYTHON PYTHON_SITEDIR
158
159 # if not using a cross-compiler, use the fresh binary
160 if ! tc-is-cross-compiler; then
161 local PYTHON=${ED}${INSDESTTREE}/pypy-c
162 fi
163
164 # Generate Grammar and PatternGrammar pickles.
165 PYTHONPATH="${ED}${INSDESTTREE}/lib_pypy/__extensions__:${ED}${INSDESTTREE}/lib_pypy:${ED}${INSDESTTREE}/lib-python/modified-2.7:${ED}${INSDESTTREE}/lib-python/2.7" \
166 "${PYTHON}" \
167 -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
168 || die "Generation of Grammar and PatternGrammar pickles failed"
169
170 # compile the installed modules
171 python_optimize
172
173 echo "EPYTHON='${EPYTHON}'" > epython.py
174 python_domodule epython.py
175 }
176
177 src_test() {
178 "${PYTHON}" ./pypy/test_all.py --pypy=./pypy-c lib-python
179 }
180
181
182
183 1.1 dev-python/pypy/pypy-1.8-r2.ebuild
184
185 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/pypy/pypy-1.8-r2.ebuild?rev=1.1&view=markup
186 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/pypy/pypy-1.8-r2.ebuild?rev=1.1&content-type=text/plain
187
188 Index: pypy-1.8-r2.ebuild
189 ===================================================================
190 # Copyright 1999-2012 Gentoo Foundation
191 # Distributed under the terms of the GNU General Public License v2
192 # $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/pypy-1.8-r2.ebuild,v 1.1 2012/12/01 10:42:15 mgorny Exp $
193
194 EAPI=5
195
196 # XXX: test other implementations
197 PYTHON_COMPAT=( python2_7 pypy1_8 )
198 inherit check-reqs eutils multilib python-any-r1 toolchain-funcs vcs-snapshot versionator
199
200 DESCRIPTION="A fast, compliant alternative implementation of the Python language"
201 HOMEPAGE="http://pypy.org/"
202 SRC_URI="https://bitbucket.org/pypy/pypy/get/release-${PV}.tar.bz2 -> ${P}.tar.bz2"
203
204 LICENSE="MIT"
205 SLOT=$(get_version_component_range 1-2 ${PV})
206 KEYWORDS="~amd64 ~x86"
207 IUSE="bzip2 doc examples +jit ncurses sandbox shadowstack sqlite ssl +xml"
208
209 RDEPEND=">=sys-libs/zlib-1.1.3
210 virtual/libffi
211 virtual/libintl
212 dev-libs/expat
213 bzip2? ( app-arch/bzip2 )
214 ncurses? ( sys-libs/ncurses )
215 sqlite? ( dev-db/sqlite:3 )
216 ssl? ( dev-libs/openssl )"
217 DEPEND="${RDEPEND}
218 ${PYTHON_DEPS}"
219 PDEPEND="app-admin/python-updater"
220
221 pkg_pretend() {
222 CHECKREQS_MEMORY="2G"
223 use amd64 && CHECKREQS_MEMORY="4G"
224 check-reqs_pkg_pretend
225 }
226
227 pkg_setup() {
228 pkg_pretend
229 python-any-r1_pkg_setup
230 }
231
232 src_prepare() {
233 epatch "${FILESDIR}/${PV}-elf-metadata-26a8d3fc57a7.patch"
234 epatch "${FILESDIR}/${PV}-sext-instructions-02dc2f6160ee.patch"
235 epatch "${FILESDIR}/1.7-scripts-location.patch"
236 epatch "${FILESDIR}/pypy-1.7-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
237 epatch "${FILESDIR}/pypy-1.7-distutils-fix_handling_of_executables_and_flags.patch"
238 }
239
240 src_compile() {
241 local args=(
242 $(usex jit -Ojit -O2)
243 $(usex shadowstack --gcrootfinder=shadowstack '')
244 $(usex sandbox --sandbox '')
245
246 ./pypy/translator/goal/targetpypystandalone.py
247 )
248
249 # Avoid linking against libraries disabled by use flags
250 local opts=(
251 bzip2:bz2
252 ncurses:_minimal_curses
253 ssl:_ssl
254 )
255
256 local opt
257 for opt in "${opts[@]}"; do
258 local flag=${opt%:*}
259 local mod=${opt#*:}
260
261 args+=(
262 $(usex ${flag} --withmod --withoutmod)-${mod}
263 )
264 done
265
266 set -- "${PYTHON}" ./pypy/translator/goal/translate.py --batch "${args[@]}"
267 echo -e "\033[1m${@}\033[0m"
268 "${@}" || die "compile error"
269 }
270
271 src_install() {
272 local INSDESTTREE=/usr/$(get_libdir)/pypy${SLOT}
273 doins -r include lib_pypy lib-python pypy-c
274 fperms a+x ${INSDESTTREE}/pypy-c
275 dosym ../$(get_libdir)/pypy${SLOT}/pypy-c /usr/bin/pypy-c${SLOT}
276 dodoc README
277
278 if ! use sqlite; then
279 rm -fr "${ED}${INSDESTTREE}"/lib-python/{2.7,modified-2.7}/sqlite3
280 rm -f "${ED}${INSDESTTREE}"/lib_pypy/_sqlite3.py
281 fi
282
283 python_export pypy-c${SLOT} EPYTHON PYTHON PYTHON_SITEDIR
284
285 # if not using a cross-compiler, use the fresh binary
286 if ! tc-is-cross-compiler; then
287 local PYTHON=${ED}${INSDESTTREE}/pypy-c
288 fi
289
290 # Generate Grammar and PatternGrammar pickles.
291 PYTHONPATH="${ED}${INSDESTTREE}/lib_pypy/__extensions__:${ED}${INSDESTTREE}/lib_pypy:${ED}${INSDESTTREE}/lib-python/modified-2.7:${ED}${INSDESTTREE}/lib-python/2.7" \
292 "${PYTHON}" \
293 -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
294 || die "Generation of Grammar and PatternGrammar pickles failed"
295
296 # compile the installed modules
297 python_optimize
298
299 echo "EPYTHON='${EPYTHON}'" > epython.py
300 python_domodule epython.py
301 }
302
303 src_test() {
304 "${PYTHON}" ./pypy/test_all.py --pypy=./pypy-c lib-python
305 }