1 |
commit: 7fc1541612e9a21f739f89d0ecab9d03e76bc728 |
2 |
Author: Michał Górny <mgorny <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Mar 30 13:19:26 2014 +0000 |
4 |
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Mar 30 13:19:26 2014 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=dev/mgorny.git;a=commit;h=7fc15416 |
7 |
|
8 |
dev-python/pypy-binpackage: Update for 2.2.1. |
9 |
|
10 |
Package-Manager: portage-2.2.10 |
11 |
|
12 |
--- |
13 |
dev-python/pypy-binpackage/Manifest | 2 +- |
14 |
...-get_python_lib_standard_lib-04ea518e5b71.patch | 24 --- |
15 |
.../files/1.9-getargs-freelist-c26dc70ee340.patch | 212 --------------------- |
16 |
.../files/1.9-more-ignored-ops-146ddf82a279.patch | 25 --- |
17 |
.../files/1.9-more-ignored-ops-a9a8faa76bca.patch | 32 ---- |
18 |
.../files/1.9-no-bytecode-4151f9c406b6.patch | 27 --- |
19 |
.../pypy-binpackage/files/1.9-no-static-hack.patch | 30 --- |
20 |
...buffer-release-double-decref-4ec2a5b49386.patch | 29 --- |
21 |
.../files/1.9-signal-a33052b17f4e.patch | 65 ------- |
22 |
.../files/1.9-ssl-errors-25d3418150d2.patch | 34 ---- |
23 |
.../files/1.9-ssl-threads-1-34b3b5aac082.patch | 143 -------------- |
24 |
.../files/1.9-ssl-threads-2-25cd11066d95.patch | 22 --- |
25 |
...ls-fix_handling_of_executables_and_flags.patch} | 132 +++---------- |
26 |
.../pypy-binpackage/pypy-binpackage-2.0.2.ebuild | 2 +- |
27 |
...-1.9-r2.ebuild => pypy-binpackage-2.2.1.ebuild} | 54 ++---- |
28 |
15 files changed, 48 insertions(+), 785 deletions(-) |
29 |
|
30 |
diff --git a/dev-python/pypy-binpackage/Manifest b/dev-python/pypy-binpackage/Manifest |
31 |
index 8c45eb7..876272d 100644 |
32 |
--- a/dev-python/pypy-binpackage/Manifest |
33 |
+++ b/dev-python/pypy-binpackage/Manifest |
34 |
@@ -1,2 +1,2 @@ |
35 |
-DIST pypy-1.9.tar.bz2 13466551 SHA256 9fd599acade49ef98017bbce4f179f19cf2680489ff15235d3bad5b20bde0d68 SHA512 1e02f1f1ac493be35272212f2be62db17a01a95c56ffbd8c00a043587e38131e779928fef1383c61575ecb48bf4dc407b62726d30d5b5728221a612fe67ec8c3 WHIRLPOOL 5b601f31f695623c2e5f6d48ae902e07c5cdccafe415ae89878e5cf71408b31fc44fb1c173a93e66d81188503651000de219533e69071495b87d80a8d217274f |
36 |
DIST pypy-2.0.2-src.tar.bz2 14819848 SHA256 1991c90d6b98e2408b3790d4b57b71ec1c69346328b8321505ce8f6ab4544c3c SHA512 5b8b56194dff468dd249dea0014fadafb791eb69858ffae0b9c7638f087df277a84ddadc7d5b0fdb48a12ca8e6b70eb95cb5b7a5f56fe8fe3396820b814ecfd7 WHIRLPOOL bb1f71e0b2d3e145edcb1baa17b0a13c09f5229cf1b0532edbb3d0d5c87ef39543c0ef6b9dc7ce2778c4a3336d4a1580fce9cf960f82b72ddfed02e06d10d8af |
37 |
+DIST pypy-2.2.1-src.tar.bz2 14439822 SHA256 252045187e443656a2beb412dadac9296e8fe8db0f75a66ed5265db58c35035f SHA512 68b52c5b1a9b96593aa1dd38ad0b1b7b282852008e3ae3c488a5e19ab2bede68e2b40afdb79d85a4ab21cb1da6647b8b958fcefe34c99a1f6cbc1a19d695d3b6 WHIRLPOOL 6eca63959d8ee5663f868daaaac32ad1180b07e2f8b63d839652902095a098ffbfa29c6f83451733270a4b2f73b65450cb3b80a878b9dd1ec71089bfff11e9f6 |
38 |
|
39 |
diff --git a/dev-python/pypy-binpackage/files/1.9-get_python_lib_standard_lib-04ea518e5b71.patch b/dev-python/pypy-binpackage/files/1.9-get_python_lib_standard_lib-04ea518e5b71.patch |
40 |
deleted file mode 100644 |
41 |
index e6c98a5..0000000 |
42 |
--- a/dev-python/pypy-binpackage/files/1.9-get_python_lib_standard_lib-04ea518e5b71.patch |
43 |
+++ /dev/null |
44 |
@@ -1,24 +0,0 @@ |
45 |
-changeset: 55566:04ea518e5b71 |
46 |
-parent: 55554:fa1ecb3a52df |
47 |
-user: Armin Rigo <arigo@×××××.org> |
48 |
-date: Mon Jun 11 10:28:26 2012 +0200 |
49 |
-summary: issue1164: get_python_lib(standard_lib=1) should probably just |
50 |
- |
51 |
-diff -r fa1ecb3a52df -r 04ea518e5b71 lib-python/2.7/distutils/sysconfig_pypy.py |
52 |
---- a/lib-python/2.7/distutils/sysconfig_pypy.py Sun Jun 10 23:49:16 2012 +0300 |
53 |
-+++ b/lib-python/2.7/distutils/sysconfig_pypy.py Mon Jun 11 10:28:26 2012 +0200 |
54 |
-@@ -39,11 +39,10 @@ |
55 |
- If 'prefix' is supplied, use it instead of sys.prefix or |
56 |
- sys.exec_prefix -- i.e., ignore 'plat_specific'. |
57 |
- """ |
58 |
-- if standard_lib: |
59 |
-- raise DistutilsPlatformError( |
60 |
-- "calls to get_python_lib(standard_lib=1) cannot succeed") |
61 |
- if prefix is None: |
62 |
- prefix = PREFIX |
63 |
-+ if standard_lib: |
64 |
-+ return os.path.join(prefix, "lib-python", get_python_version()) |
65 |
- return os.path.join(prefix, 'site-packages') |
66 |
- |
67 |
- |
68 |
- |
69 |
|
70 |
diff --git a/dev-python/pypy-binpackage/files/1.9-getargs-freelist-c26dc70ee340.patch b/dev-python/pypy-binpackage/files/1.9-getargs-freelist-c26dc70ee340.patch |
71 |
deleted file mode 100644 |
72 |
index 70619dc..0000000 |
73 |
--- a/dev-python/pypy-binpackage/files/1.9-getargs-freelist-c26dc70ee340.patch |
74 |
+++ /dev/null |
75 |
@@ -1,212 +0,0 @@ |
76 |
-# HG changeset patch |
77 |
-# User Armin Rigo <arigo@×××××.org> |
78 |
-# Date 1339595299 -7200 |
79 |
-# Node ID c26dc70ee34018efeec8b789d40ec78478304bc0 |
80 |
-# Parent c7dff5469611f03946466caed17c567c4ea5d8d0 |
81 |
-Fix for the issue of abuse of PyCapsules, relying on immediate |
82 |
-destruction, as CPython does. This problem was first described in |
83 |
-https://bazaar.launchpad.net/~exarkun/pyopenssl/trunk/revision/166. |
84 |
-The fix is rather obvious and consist in a *negative* total amount |
85 |
-of lines :-/ |
86 |
- |
87 |
-diff -r c7dff5469611f03946466caed17c567c4ea5d8d0 -r c26dc70ee34018efeec8b789d40ec78478304bc0 pypy/module/cpyext/src/getargs.c |
88 |
---- a/pypy/module/cpyext/src/getargs.c Wed Jun 13 13:19:05 2012 +0200 |
89 |
-+++ b/pypy/module/cpyext/src/getargs.c Wed Jun 13 15:48:19 2012 +0200 |
90 |
-@@ -24,14 +24,15 @@ |
91 |
- |
92 |
- |
93 |
- /* Forward */ |
94 |
-+typedef struct freelist_s freelist_t; |
95 |
- static int vgetargs1(PyObject *, const char *, va_list *, int); |
96 |
- static void seterror(int, const char *, int *, const char *, const char *); |
97 |
- static char *convertitem(PyObject *, const char **, va_list *, int, int *, |
98 |
-- char *, size_t, PyObject **); |
99 |
-+ char *, size_t, freelist_t **); |
100 |
- static char *converttuple(PyObject *, const char **, va_list *, int, |
101 |
-- int *, char *, size_t, int, PyObject **); |
102 |
-+ int *, char *, size_t, int, freelist_t **); |
103 |
- static char *convertsimple(PyObject *, const char **, va_list *, int, char *, |
104 |
-- size_t, PyObject **); |
105 |
-+ size_t, freelist_t **); |
106 |
- static Py_ssize_t convertbuffer(PyObject *, void **p, char **); |
107 |
- static int getbuffer(PyObject *, Py_buffer *, char**); |
108 |
- |
109 |
-@@ -128,72 +129,45 @@ |
110 |
- |
111 |
- /* Handle cleanup of allocated memory in case of exception */ |
112 |
- |
113 |
--#define GETARGS_CAPSULE_NAME_CLEANUP_PTR "getargs.cleanup_ptr" |
114 |
--#define GETARGS_CAPSULE_NAME_CLEANUP_BUFFER "getargs.cleanup_buffer" |
115 |
-+typedef void (*cleanup_fn)(void *); |
116 |
- |
117 |
--static void |
118 |
--cleanup_ptr(PyObject *self) |
119 |
--{ |
120 |
-- void *ptr = PyCapsule_GetPointer(self, GETARGS_CAPSULE_NAME_CLEANUP_PTR); |
121 |
-- if (ptr) { |
122 |
-- PyMem_FREE(ptr); |
123 |
-- } |
124 |
--} |
125 |
-+struct freelist_s { |
126 |
-+ void *ptr; |
127 |
-+ cleanup_fn destr; |
128 |
-+ struct freelist_s *next; |
129 |
-+}; |
130 |
- |
131 |
--static void |
132 |
--cleanup_buffer(PyObject *self) |
133 |
--{ |
134 |
-- Py_buffer *ptr = (Py_buffer *)PyCapsule_GetPointer(self, GETARGS_CAPSULE_NAME_CLEANUP_BUFFER); |
135 |
-- if (ptr) { |
136 |
-- PyBuffer_Release(ptr); |
137 |
-- } |
138 |
--} |
139 |
-+#define cleanup_ptr ((cleanup_fn)PyMem_FREE) |
140 |
-+#define cleanup_buffer ((cleanup_fn)PyBuffer_Release) |
141 |
- |
142 |
- static int |
143 |
--addcleanup(void *ptr, PyObject **freelist, PyCapsule_Destructor destr) |
144 |
-+addcleanup(void *ptr, freelist_t **freelist, cleanup_fn destr) |
145 |
- { |
146 |
-- PyObject *cobj; |
147 |
-- const char *name; |
148 |
-- |
149 |
-- if (!*freelist) { |
150 |
-- *freelist = PyList_New(0); |
151 |
-- if (!*freelist) { |
152 |
-- destr(ptr); |
153 |
-- return -1; |
154 |
-- } |
155 |
-- } |
156 |
-- |
157 |
-- if (destr == cleanup_ptr) { |
158 |
-- name = GETARGS_CAPSULE_NAME_CLEANUP_PTR; |
159 |
-- } else if (destr == cleanup_buffer) { |
160 |
-- name = GETARGS_CAPSULE_NAME_CLEANUP_BUFFER; |
161 |
-- } else { |
162 |
-- return -1; |
163 |
-- } |
164 |
-- cobj = PyCapsule_New(ptr, name, destr); |
165 |
-- if (!cobj) { |
166 |
-+ freelist_t *node = PyMem_MALLOC(sizeof(freelist_t)); |
167 |
-+ if (!node) { |
168 |
- destr(ptr); |
169 |
- return -1; |
170 |
- } |
171 |
-- if (PyList_Append(*freelist, cobj)) { |
172 |
-- Py_DECREF(cobj); |
173 |
-- return -1; |
174 |
-- } |
175 |
-- Py_DECREF(cobj); |
176 |
-+ node->ptr = ptr; |
177 |
-+ node->destr = destr; |
178 |
-+ node->next = *freelist; |
179 |
-+ *freelist = node; |
180 |
- return 0; |
181 |
- } |
182 |
- |
183 |
- static int |
184 |
--cleanreturn(int retval, PyObject *freelist) |
185 |
-+cleanreturn(int retval, freelist_t *freelist) |
186 |
- { |
187 |
-- if (freelist && retval != 0) { |
188 |
-- /* We were successful, reset the destructors so that they |
189 |
-- don't get called. */ |
190 |
-- Py_ssize_t len = PyList_GET_SIZE(freelist), i; |
191 |
-- for (i = 0; i < len; i++) |
192 |
-- PyCapsule_SetDestructor(PyList_GET_ITEM(freelist, i), NULL); |
193 |
-+ freelist_t *next; |
194 |
-+ while (freelist != NULL) { |
195 |
-+ if (retval == 0) { |
196 |
-+ /* Leaving with an error */ |
197 |
-+ freelist->destr(freelist->ptr); |
198 |
-+ } |
199 |
-+ next = freelist->next; |
200 |
-+ PyMem_FREE(freelist); |
201 |
-+ freelist = next; |
202 |
- } |
203 |
-- Py_XDECREF(freelist); |
204 |
- return retval; |
205 |
- } |
206 |
- |
207 |
-@@ -212,7 +186,7 @@ |
208 |
- const char *formatsave = format; |
209 |
- Py_ssize_t i, len; |
210 |
- char *msg; |
211 |
-- PyObject *freelist = NULL; |
212 |
-+ freelist_t *freelist = NULL; |
213 |
- int compat = flags & FLAG_COMPAT; |
214 |
- |
215 |
- assert(compat || (args != (PyObject*)NULL)); |
216 |
-@@ -412,7 +386,7 @@ |
217 |
- static char * |
218 |
- converttuple(PyObject *arg, const char **p_format, va_list *p_va, int flags, |
219 |
- int *levels, char *msgbuf, size_t bufsize, int toplevel, |
220 |
-- PyObject **freelist) |
221 |
-+ freelist_t **freelist) |
222 |
- { |
223 |
- int level = 0; |
224 |
- int n = 0; |
225 |
-@@ -488,7 +462,7 @@ |
226 |
- |
227 |
- static char * |
228 |
- convertitem(PyObject *arg, const char **p_format, va_list *p_va, int flags, |
229 |
-- int *levels, char *msgbuf, size_t bufsize, PyObject **freelist) |
230 |
-+ int *levels, char *msgbuf, size_t bufsize, freelist_t **freelist) |
231 |
- { |
232 |
- char *msg; |
233 |
- const char *format = *p_format; |
234 |
-@@ -569,7 +543,7 @@ |
235 |
- |
236 |
- static char * |
237 |
- convertsimple(PyObject *arg, const char **p_format, va_list *p_va, int flags, |
238 |
-- char *msgbuf, size_t bufsize, PyObject **freelist) |
239 |
-+ char *msgbuf, size_t bufsize, freelist_t **freelist) |
240 |
- { |
241 |
- /* For # codes */ |
242 |
- #define FETCH_SIZE int *q=NULL;Py_ssize_t *q2=NULL;\ |
243 |
-@@ -1534,7 +1508,8 @@ |
244 |
- const char *fname, *msg, *custom_msg, *keyword; |
245 |
- int min = INT_MAX; |
246 |
- int i, len, nargs, nkeywords; |
247 |
-- PyObject *freelist = NULL, *current_arg; |
248 |
-+ freelist_t *freelist = NULL; |
249 |
-+ PyObject *current_arg; |
250 |
- |
251 |
- assert(args != NULL && PyTuple_Check(args)); |
252 |
- assert(keywords == NULL || PyDict_Check(keywords)); |
253 |
-diff -r c7dff5469611f03946466caed17c567c4ea5d8d0 -r c26dc70ee34018efeec8b789d40ec78478304bc0 pypy/module/cpyext/test/test_getargs.py |
254 |
---- a/pypy/module/cpyext/test/test_getargs.py Wed Jun 13 13:19:05 2012 +0200 |
255 |
-+++ b/pypy/module/cpyext/test/test_getargs.py Wed Jun 13 15:48:19 2012 +0200 |
256 |
-@@ -144,6 +144,31 @@ |
257 |
- assert 'foo\0bar\0baz' == pybuffer(buffer('foo\0bar\0baz')) |
258 |
- |
259 |
- |
260 |
-+ def test_pyarg_parse_string_fails(self): |
261 |
-+ """ |
262 |
-+ Test the failing case of PyArg_ParseTuple(): it must not keep |
263 |
-+ a reference on the PyObject passed in. |
264 |
-+ """ |
265 |
-+ pybuffer = self.import_parser( |
266 |
-+ ''' |
267 |
-+ Py_buffer buf1, buf2, buf3; |
268 |
-+ PyObject *result; |
269 |
-+ if (!PyArg_ParseTuple(args, "s*s*s*", &buf1, &buf2, &buf3)) { |
270 |
-+ return NULL; |
271 |
-+ } |
272 |
-+ Py_FatalError("should not get there"); |
273 |
-+ return NULL; |
274 |
-+ ''') |
275 |
-+ freed = [] |
276 |
-+ class freestring(str): |
277 |
-+ def __del__(self): |
278 |
-+ freed.append('x') |
279 |
-+ raises(TypeError, pybuffer, |
280 |
-+ freestring("string"), freestring("other string"), 42) |
281 |
-+ import gc; gc.collect() |
282 |
-+ assert freed == ['x', 'x'] |
283 |
-+ |
284 |
-+ |
285 |
- def test_pyarg_parse_charbuf_and_length(self): |
286 |
- """ |
287 |
- The `t#` format specifier can be used to parse a read-only 8-bit |
288 |
|
289 |
diff --git a/dev-python/pypy-binpackage/files/1.9-more-ignored-ops-146ddf82a279.patch b/dev-python/pypy-binpackage/files/1.9-more-ignored-ops-146ddf82a279.patch |
290 |
deleted file mode 100644 |
291 |
index 146399d..0000000 |
292 |
--- a/dev-python/pypy-binpackage/files/1.9-more-ignored-ops-146ddf82a279.patch |
293 |
+++ /dev/null |
294 |
@@ -1,25 +0,0 @@ |
295 |
-changeset: 55567:146ddf82a279 |
296 |
-user: Armin Rigo <arigo@×××××.org> |
297 |
-date: Mon Jun 11 10:33:19 2012 +0200 |
298 |
-summary: More ignored ops |
299 |
- |
300 |
-diff -r 04ea518e5b71 -r 146ddf82a279 pypy/translator/c/gcc/trackgcroot.py |
301 |
---- a/pypy/translator/c/gcc/trackgcroot.py Mon Jun 11 10:28:26 2012 +0200 |
302 |
-+++ b/pypy/translator/c/gcc/trackgcroot.py Mon Jun 11 10:33:19 2012 +0200 |
303 |
-@@ -476,13 +476,13 @@ |
304 |
- # floating-point operations cannot produce GC pointers |
305 |
- 'f', |
306 |
- 'cvt', 'ucomi', 'comi', 'subs', 'subp' , 'adds', 'addp', 'xorp', |
307 |
-- 'movap', 'movd', 'movlp', 'sqrtsd', 'movhpd', |
308 |
-+ 'movap', 'movd', 'movlp', 'sqrt', 'rsqrt', 'movhpd', |
309 |
- 'mins', 'minp', 'maxs', 'maxp', 'unpck', 'pxor', 'por', # sse2 |
310 |
- 'shufps', 'shufpd', |
311 |
- # arithmetic operations should not produce GC pointers |
312 |
- 'inc', 'dec', 'not', 'neg', 'or', 'and', 'sbb', 'adc', |
313 |
- 'shl', 'shr', 'sal', 'sar', 'rol', 'ror', 'mul', 'imul', 'div', 'idiv', |
314 |
-- 'bswap', 'bt', 'rdtsc', |
315 |
-+ 'bswap', 'bt', 'rdtsc', 'rounds', |
316 |
- 'pabs', 'pack', 'padd', 'palign', 'pand', 'pavg', 'pcmp', 'pextr', |
317 |
- 'phadd', 'phsub', 'pinsr', 'pmadd', 'pmax', 'pmin', 'pmovmsk', |
318 |
- 'pmul', 'por', 'psadb', 'pshuf', 'psign', 'psll', 'psra', 'psrl', |
319 |
- |
320 |
|
321 |
diff --git a/dev-python/pypy-binpackage/files/1.9-more-ignored-ops-a9a8faa76bca.patch b/dev-python/pypy-binpackage/files/1.9-more-ignored-ops-a9a8faa76bca.patch |
322 |
deleted file mode 100644 |
323 |
index 51a53ca..0000000 |
324 |
--- a/dev-python/pypy-binpackage/files/1.9-more-ignored-ops-a9a8faa76bca.patch |
325 |
+++ /dev/null |
326 |
@@ -1,32 +0,0 @@ |
327 |
-changeset: 55523:a9a8faa76bca |
328 |
-parent: 55518:f0daafccddc5 |
329 |
-user: Armin Rigo <arigo@×××××.org> |
330 |
-date: Fri Jun 08 19:55:01 2012 +0200 |
331 |
-summary: Add more instructions to ignore by copying from Intel docs. |
332 |
- |
333 |
-diff -r f0daafccddc5 -r a9a8faa76bca pypy/translator/c/gcc/trackgcroot.py |
334 |
---- a/pypy/translator/c/gcc/trackgcroot.py Fri Jun 08 18:30:54 2012 +0200 |
335 |
-+++ b/pypy/translator/c/gcc/trackgcroot.py Fri Jun 08 19:55:01 2012 +0200 |
336 |
-@@ -483,8 +483,10 @@ |
337 |
- 'inc', 'dec', 'not', 'neg', 'or', 'and', 'sbb', 'adc', |
338 |
- 'shl', 'shr', 'sal', 'sar', 'rol', 'ror', 'mul', 'imul', 'div', 'idiv', |
339 |
- 'bswap', 'bt', 'rdtsc', |
340 |
-- 'punpck', 'pshufd', 'pcmp', 'pand', 'psllw', 'pslld', 'psllq', |
341 |
-- 'paddq', 'pinsr', 'pmul', 'psrl', |
342 |
-+ 'pabs', 'pack', 'padd', 'palign', 'pand', 'pavg', 'pcmp', 'pextr', |
343 |
-+ 'phadd', 'phsub', 'pinsr', 'pmadd', 'pmax', 'pmin', 'pmovmsk', |
344 |
-+ 'pmul', 'por', 'psadb', 'pshuf', 'psign', 'psll', 'psra', 'psrl', |
345 |
-+ 'psub', 'punpck', 'pxor', |
346 |
- # all vectors don't produce pointers |
347 |
- 'v', |
348 |
- # sign-extending moves should not produce GC pointers |
349 |
-@@ -492,7 +494,7 @@ |
350 |
- # zero-extending moves should not produce GC pointers |
351 |
- 'movz', |
352 |
- # locked operations should not move GC pointers, at least so far |
353 |
-- 'lock', |
354 |
-+ 'lock', 'pause', |
355 |
- ]) |
356 |
- |
357 |
- # a partial list is hopefully good enough for now; it's all to support |
358 |
- |
359 |
|
360 |
diff --git a/dev-python/pypy-binpackage/files/1.9-no-bytecode-4151f9c406b6.patch b/dev-python/pypy-binpackage/files/1.9-no-bytecode-4151f9c406b6.patch |
361 |
deleted file mode 100644 |
362 |
index 5fab3a5..0000000 |
363 |
--- a/dev-python/pypy-binpackage/files/1.9-no-bytecode-4151f9c406b6.patch |
364 |
+++ /dev/null |
365 |
@@ -1,27 +0,0 @@ |
366 |
-# HG changeset patch |
367 |
-# User Armin Rigo <arigo@×××××.org> |
368 |
-# Date 1339165065 -7200 |
369 |
-# Node ID 4151f9c406b62f6c4a1fdd669389eb46eb90f9cb |
370 |
-# Parent 68f8d7152a45fa7856a2a013799874614fcd9c33 |
371 |
-issue1043 3rd issue fixed |
372 |
- |
373 |
-diff -r 68f8d7152a45fa7856a2a013799874614fcd9c33 -r 4151f9c406b62f6c4a1fdd669389eb46eb90f9cb pypy/translator/goal/app_main.py |
374 |
---- a/pypy/translator/goal/app_main.py Fri Jun 08 16:06:33 2012 +0200 |
375 |
-+++ b/pypy/translator/goal/app_main.py Fri Jun 08 16:17:45 2012 +0200 |
376 |
-@@ -457,13 +457,13 @@ |
377 |
- |
378 |
- if PYTHON26 and not options["ignore_environment"]: |
379 |
- if os.getenv('PYTHONNOUSERSITE'): |
380 |
-- options["no_user_site"] = True |
381 |
-+ options["no_user_site"] = 1 |
382 |
- if os.getenv('PYTHONDONTWRITEBYTECODE'): |
383 |
-- options["dont_write_bytecode"] = True |
384 |
-+ options["dont_write_bytecode"] = 1 |
385 |
- |
386 |
- if (options["interactive"] or |
387 |
- (not options["ignore_environment"] and os.getenv('PYTHONINSPECT'))): |
388 |
-- options["inspect"] = True |
389 |
-+ options["inspect"] = 1 |
390 |
- |
391 |
- if PYTHON26 and we_are_translated(): |
392 |
- flags = [options[flag] for flag in sys_flags] |
393 |
|
394 |
diff --git a/dev-python/pypy-binpackage/files/1.9-no-static-hack.patch b/dev-python/pypy-binpackage/files/1.9-no-static-hack.patch |
395 |
deleted file mode 100644 |
396 |
index fe75ac2..0000000 |
397 |
--- a/dev-python/pypy-binpackage/files/1.9-no-static-hack.patch |
398 |
+++ /dev/null |
399 |
@@ -1,30 +0,0 @@ |
400 |
-Remove logic that links to libssl and libcrypto statically if |
401 |
-possible. Just always link dynamically: Gentoo is expected to have |
402 |
-sane dynamic libraries for us to use, and our users are not expected |
403 |
-to copy their pypy binary to a system with an incompatible |
404 |
-libssl/libcrypto and expect it to work. |
405 |
- |
406 |
-Patch contributed by XU Benda <heroxbd@g.o>. |
407 |
- |
408 |
---- pypy/rlib/ropenssl.py 2012-06-07 21:24:48.000000000 +0900 |
409 |
-+++ pypy/rlib/ropenssl.py.new 2012-06-10 17:28:29.000000000 +0900 |
410 |
-@@ -19,18 +19,8 @@ if sys.platform == 'win32' and platform. |
411 |
- # so that openssl/ssl.h can repair this nonsense. |
412 |
- 'wincrypt.h'] |
413 |
- else: |
414 |
-- libraries = ['z'] |
415 |
-+ libraries = ['z', 'ssl', 'crypto'] |
416 |
- includes = [] |
417 |
-- if (sys.platform.startswith('linux') and |
418 |
-- os.path.exists('/usr/lib/libssl.a') and |
419 |
-- os.path.exists('/usr/lib/libcrypto.a')): |
420 |
-- # use static linking to avoid the infinite |
421 |
-- # amount of troubles due to symbol versions |
422 |
-- # and 0.9.8/1.0.0 |
423 |
-- link_files += ['/usr/lib/libssl.a', '/usr/lib/libcrypto.a'] |
424 |
-- testonly_libraries += ['ssl', 'crypto'] |
425 |
-- else: |
426 |
-- libraries += ['ssl', 'crypto'] |
427 |
- |
428 |
- includes += [ |
429 |
- 'openssl/ssl.h', |
430 |
|
431 |
diff --git a/dev-python/pypy-binpackage/files/1.9-pybuffer-release-double-decref-4ec2a5b49386.patch b/dev-python/pypy-binpackage/files/1.9-pybuffer-release-double-decref-4ec2a5b49386.patch |
432 |
deleted file mode 100644 |
433 |
index 58c301e..0000000 |
434 |
--- a/dev-python/pypy-binpackage/files/1.9-pybuffer-release-double-decref-4ec2a5b49386.patch |
435 |
+++ /dev/null |
436 |
@@ -1,29 +0,0 @@ |
437 |
-changeset: 55598:4ec2a5b49386 |
438 |
-tag: tip |
439 |
-user: Armin Rigo <arigo@×××××.org> |
440 |
-date: Mon Jun 11 19:54:04 2012 +0200 |
441 |
-summary: Test and fix (thanks marienz) |
442 |
- |
443 |
-diff -r cdb2d1b3d0da -r 4ec2a5b49386 pypy/module/cpyext/object.py |
444 |
---- a/pypy/module/cpyext/object.py Mon Jun 11 19:41:35 2012 +0200 |
445 |
-+++ b/pypy/module/cpyext/object.py Mon Jun 11 19:54:04 2012 +0200 |
446 |
-@@ -489,3 +489,4 @@ |
447 |
- provides a subset of CPython's behavior. |
448 |
- """ |
449 |
- Py_DecRef(space, view.c_obj) |
450 |
-+ view.c_obj = lltype.nullptr(PyObject.TO) |
451 |
-diff -r cdb2d1b3d0da -r 4ec2a5b49386 pypy/module/cpyext/test/test_object.py |
452 |
---- a/pypy/module/cpyext/test/test_object.py Mon Jun 11 19:41:35 2012 +0200 |
453 |
-+++ b/pypy/module/cpyext/test/test_object.py Mon Jun 11 19:54:04 2012 +0200 |
454 |
-@@ -363,6 +363,10 @@ |
455 |
- * Py_buffer and the string should be released as well. |
456 |
- */ |
457 |
- PyBuffer_Release(&buf); |
458 |
-+ assert(!buf.obj); |
459 |
-+ PyBuffer_Release(&buf); /* call again, should not have any more effect */ |
460 |
-+ PyBuffer_Release(&buf); |
461 |
-+ PyBuffer_Release(&buf); |
462 |
- |
463 |
- Py_RETURN_NONE; |
464 |
- """)]) |
465 |
- |
466 |
|
467 |
diff --git a/dev-python/pypy-binpackage/files/1.9-signal-a33052b17f4e.patch b/dev-python/pypy-binpackage/files/1.9-signal-a33052b17f4e.patch |
468 |
deleted file mode 100644 |
469 |
index 6087122..0000000 |
470 |
--- a/dev-python/pypy-binpackage/files/1.9-signal-a33052b17f4e.patch |
471 |
+++ /dev/null |
472 |
@@ -1,65 +0,0 @@ |
473 |
-changeset: 55595:a33052b17f4e |
474 |
-parent: 55589:4f58f2db96c0 |
475 |
-user: Armin Rigo <arigo@×××××.org> |
476 |
-date: Mon Jun 11 18:06:35 2012 +0200 |
477 |
-summary: issue1167: changed the test (according to py.test -A on Linux), and fix |
478 |
- |
479 |
-diff -r 4f58f2db96c0 -r a33052b17f4e pypy/module/signal/interp_signal.py |
480 |
---- a/pypy/module/signal/interp_signal.py Mon Jun 11 17:05:01 2012 +0200 |
481 |
-+++ b/pypy/module/signal/interp_signal.py Mon Jun 11 18:06:35 2012 +0200 |
482 |
-@@ -227,7 +227,7 @@ |
483 |
- None -- if an unknown handler is in effect (XXX UNIMPLEMENTED) |
484 |
- anything else -- the callable Python object used as a handler |
485 |
- """ |
486 |
-- check_signum(space, signum) |
487 |
-+ check_signum_in_range(space, signum) |
488 |
- action = space.check_signal_action |
489 |
- if signum in action.handlers_w: |
490 |
- return action.handlers_w[signum] |
491 |
-@@ -253,12 +253,18 @@ |
492 |
- c_pause() |
493 |
- return space.w_None |
494 |
- |
495 |
--def check_signum(space, signum): |
496 |
-+def check_signum_exists(space, signum): |
497 |
- if signum in signal_values: |
498 |
- return |
499 |
- raise OperationError(space.w_ValueError, |
500 |
- space.wrap("invalid signal value")) |
501 |
- |
502 |
-+def check_signum_in_range(space, signum): |
503 |
-+ if 1 <= signum < NSIG: |
504 |
-+ return |
505 |
-+ raise OperationError(space.w_ValueError, |
506 |
-+ space.wrap("signal number out of range")) |
507 |
-+ |
508 |
- |
509 |
- @jit.dont_look_inside |
510 |
- @unwrap_spec(signum=int) |
511 |
-@@ -319,7 +325,7 @@ |
512 |
- |
513 |
- @unwrap_spec(signum=int, flag=int) |
514 |
- def siginterrupt(space, signum, flag): |
515 |
-- check_signum(space, signum) |
516 |
-+ check_signum_exists(space, signum) |
517 |
- if rffi.cast(lltype.Signed, c_siginterrupt(signum, flag)) < 0: |
518 |
- errno = rposix.get_errno() |
519 |
- raise OperationError(space.w_RuntimeError, space.wrap(errno)) |
520 |
-diff -r 4f58f2db96c0 -r a33052b17f4e pypy/module/signal/test/test_signal.py |
521 |
---- a/pypy/module/signal/test/test_signal.py Mon Jun 11 17:05:01 2012 +0200 |
522 |
-+++ b/pypy/module/signal/test/test_signal.py Mon Jun 11 18:06:35 2012 +0200 |
523 |
-@@ -154,7 +154,12 @@ |
524 |
- |
525 |
- raises(ValueError, getsignal, 4444) |
526 |
- raises(ValueError, signal, 4444, lambda *args: None) |
527 |
-- raises(ValueError, signal, 42, lambda *args: None) |
528 |
-+ import sys |
529 |
-+ if sys.platform == 'win32': |
530 |
-+ raises(ValueError, signal, 42, lambda *args: None) |
531 |
-+ else: |
532 |
-+ signal(42, lambda *args: None) |
533 |
-+ signal(42, SIG_DFL) |
534 |
- |
535 |
- def test_alarm(self): |
536 |
- try: |
537 |
- |
538 |
|
539 |
diff --git a/dev-python/pypy-binpackage/files/1.9-ssl-errors-25d3418150d2.patch b/dev-python/pypy-binpackage/files/1.9-ssl-errors-25d3418150d2.patch |
540 |
deleted file mode 100644 |
541 |
index 78affe9..0000000 |
542 |
--- a/dev-python/pypy-binpackage/files/1.9-ssl-errors-25d3418150d2.patch |
543 |
+++ /dev/null |
544 |
@@ -1,34 +0,0 @@ |
545 |
-# HG changeset patch |
546 |
-# User Amaury Forgeot d'Arc <amauryfa@×××××.com> |
547 |
-# Date 1339449304 -7200 |
548 |
-# Node ID 25d3418150d2e2820913043432f568e31bf3a19a |
549 |
-# Parent 33c305197a3d05217be023fa39a692ad89802317 |
550 |
-issue1169: _ssl errors outside any SSL context should use ERR_peek_last_error() |
551 |
- |
552 |
-diff -r 33c305197a3d05217be023fa39a692ad89802317 -r 25d3418150d2e2820913043432f568e31bf3a19a pypy/module/_ssl/interp_ssl.py |
553 |
---- a/pypy/module/_ssl/interp_ssl.py Mon Jun 11 23:01:31 2012 +0200 |
554 |
-+++ b/pypy/module/_ssl/interp_ssl.py Mon Jun 11 23:15:04 2012 +0200 |
555 |
-@@ -789,7 +789,11 @@ |
556 |
- def _ssl_seterror(space, ss, ret): |
557 |
- assert ret <= 0 |
558 |
- |
559 |
-- if ss and ss.ssl: |
560 |
-+ if ss is None: |
561 |
-+ errval = libssl_ERR_peek_last_error() |
562 |
-+ errstr = rffi.charp2str(libssl_ERR_error_string(errval, None)) |
563 |
-+ return ssl_error(space, errstr, errval) |
564 |
-+ elif ss.ssl: |
565 |
- err = libssl_SSL_get_error(ss.ssl, ret) |
566 |
- else: |
567 |
- err = SSL_ERROR_SSL |
568 |
-diff -r 33c305197a3d05217be023fa39a692ad89802317 -r 25d3418150d2e2820913043432f568e31bf3a19a pypy/rlib/ropenssl.py |
569 |
---- a/pypy/rlib/ropenssl.py Mon Jun 11 23:01:31 2012 +0200 |
570 |
-+++ b/pypy/rlib/ropenssl.py Mon Jun 11 23:15:04 2012 +0200 |
571 |
-@@ -259,6 +259,7 @@ |
572 |
- ssl_external('SSL_CIPHER_get_bits', [SSL_CIPHER, rffi.INTP], rffi.INT) |
573 |
- |
574 |
- ssl_external('ERR_get_error', [], rffi.INT) |
575 |
-+ssl_external('ERR_peek_last_error', [], rffi.INT) |
576 |
- ssl_external('ERR_error_string', [rffi.ULONG, rffi.CCHARP], rffi.CCHARP) |
577 |
- |
578 |
- ssl_external('SSL_free', [SSL], lltype.Void) |
579 |
|
580 |
diff --git a/dev-python/pypy-binpackage/files/1.9-ssl-threads-1-34b3b5aac082.patch b/dev-python/pypy-binpackage/files/1.9-ssl-threads-1-34b3b5aac082.patch |
581 |
deleted file mode 100644 |
582 |
index ac5d7ad..0000000 |
583 |
--- a/dev-python/pypy-binpackage/files/1.9-ssl-threads-1-34b3b5aac082.patch |
584 |
+++ /dev/null |
585 |
@@ -1,143 +0,0 @@ |
586 |
-changeset: 55575:34b3b5aac082 |
587 |
-parent: 55569:fa8262a5746a |
588 |
-user: Armin Rigo <arigo@×××××.org> |
589 |
-date: Mon Jun 11 14:38:35 2012 +0200 |
590 |
-summary: Move the callback logic to C code instead of using RPython code |
591 |
- |
592 |
-diff -r fa8262a5746a -r 34b3b5aac082 pypy/module/_ssl/__init__.py |
593 |
---- a/pypy/module/_ssl/__init__.py Mon Jun 11 11:04:53 2012 +0200 |
594 |
-+++ b/pypy/module/_ssl/__init__.py Mon Jun 11 14:38:35 2012 +0200 |
595 |
-@@ -31,5 +31,6 @@ |
596 |
- def startup(self, space): |
597 |
- from pypy.rlib.ropenssl import init_ssl |
598 |
- init_ssl() |
599 |
-- from pypy.module._ssl.interp_ssl import setup_ssl_threads |
600 |
-- setup_ssl_threads() |
601 |
-+ if space.config.objspace.usemodules.thread: |
602 |
-+ from pypy.module._ssl.thread_lock import setup_ssl_threads |
603 |
-+ setup_ssl_threads() |
604 |
-diff -r fa8262a5746a -r 34b3b5aac082 pypy/module/_ssl/interp_ssl.py |
605 |
---- a/pypy/module/_ssl/interp_ssl.py Mon Jun 11 11:04:53 2012 +0200 |
606 |
-+++ b/pypy/module/_ssl/interp_ssl.py Mon Jun 11 14:38:35 2012 +0200 |
607 |
-@@ -880,38 +880,3 @@ |
608 |
- libssl_X509_free(x) |
609 |
- finally: |
610 |
- libssl_BIO_free(cert) |
611 |
-- |
612 |
--# this function is needed to perform locking on shared data |
613 |
--# structures. (Note that OpenSSL uses a number of global data |
614 |
--# structures that will be implicitly shared whenever multiple threads |
615 |
--# use OpenSSL.) Multi-threaded applications will crash at random if |
616 |
--# it is not set. |
617 |
--# |
618 |
--# locking_function() must be able to handle up to CRYPTO_num_locks() |
619 |
--# different mutex locks. It sets the n-th lock if mode & CRYPTO_LOCK, and |
620 |
--# releases it otherwise. |
621 |
--# |
622 |
--# filename and line are the file number of the function setting the |
623 |
--# lock. They can be useful for debugging. |
624 |
--_ssl_locks = [] |
625 |
-- |
626 |
--def _ssl_thread_locking_function(mode, n, filename, line): |
627 |
-- n = intmask(n) |
628 |
-- if n < 0 or n >= len(_ssl_locks): |
629 |
-- return |
630 |
-- |
631 |
-- if intmask(mode) & CRYPTO_LOCK: |
632 |
-- _ssl_locks[n].acquire(True) |
633 |
-- else: |
634 |
-- _ssl_locks[n].release() |
635 |
-- |
636 |
--def _ssl_thread_id_function(): |
637 |
-- from pypy.module.thread import ll_thread |
638 |
-- return rffi.cast(rffi.LONG, ll_thread.get_ident()) |
639 |
-- |
640 |
--def setup_ssl_threads(): |
641 |
-- from pypy.module.thread import ll_thread |
642 |
-- for i in range(libssl_CRYPTO_num_locks()): |
643 |
-- _ssl_locks.append(ll_thread.allocate_lock()) |
644 |
-- libssl_CRYPTO_set_locking_callback(_ssl_thread_locking_function) |
645 |
-- libssl_CRYPTO_set_id_callback(_ssl_thread_id_function) |
646 |
-diff -r fa8262a5746a -r 34b3b5aac082 pypy/module/_ssl/thread_lock.py |
647 |
---- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
648 |
-+++ b/pypy/module/_ssl/thread_lock.py Mon Jun 11 14:38:35 2012 +0200 |
649 |
-@@ -0,0 +1,78 @@ |
650 |
-+from pypy.rlib.ropenssl import * |
651 |
-+from pypy.rpython.lltypesystem import lltype, rffi |
652 |
-+from pypy.translator.tool.cbuild import ExternalCompilationInfo |
653 |
-+ |
654 |
-+# CRYPTO_set_locking_callback: |
655 |
-+# |
656 |
-+# this function is needed to perform locking on shared data |
657 |
-+# structures. (Note that OpenSSL uses a number of global data |
658 |
-+# structures that will be implicitly shared whenever multiple threads |
659 |
-+# use OpenSSL.) Multi-threaded applications will crash at random if |
660 |
-+# it is not set. |
661 |
-+# |
662 |
-+# locking_function() must be able to handle up to CRYPTO_num_locks() |
663 |
-+# different mutex locks. It sets the n-th lock if mode & CRYPTO_LOCK, and |
664 |
-+# releases it otherwise. |
665 |
-+# |
666 |
-+# filename and line are the file number of the function setting the |
667 |
-+# lock. They can be useful for debugging. |
668 |
-+ |
669 |
-+ |
670 |
-+# This logic is moved to C code so that the callbacks can be invoked |
671 |
-+# without caring about the GIL. |
672 |
-+ |
673 |
-+separate_module_source = """ |
674 |
-+ |
675 |
-+#include <openssl/crypto.h> |
676 |
-+ |
677 |
-+static unsigned int _ssl_locks_count = 0; |
678 |
-+static struct RPyOpaque_ThreadLock *_ssl_locks; |
679 |
-+ |
680 |
-+static unsigned long _ssl_thread_id_function(void) { |
681 |
-+ return RPyThreadGetIdent(); |
682 |
-+} |
683 |
-+ |
684 |
-+static void _ssl_thread_locking_function(int mode, int n, const char *file, |
685 |
-+ int line) { |
686 |
-+ if ((_ssl_locks == NULL) || |
687 |
-+ (n < 0) || ((unsigned)n >= _ssl_locks_count)) |
688 |
-+ return; |
689 |
-+ |
690 |
-+ if (mode & CRYPTO_LOCK) { |
691 |
-+ RPyThreadAcquireLock(_ssl_locks[n], 1); |
692 |
-+ } else { |
693 |
-+ RPyThreadReleaseLock(_ssl_locks[n]); |
694 |
-+ } |
695 |
-+} |
696 |
-+ |
697 |
-+int _PyPy_SSL_SetupThreads(void) |
698 |
-+{ |
699 |
-+ unsigned int i; |
700 |
-+ _ssl_locks_count = CRYPTO_num_locks(); |
701 |
-+ _ssl_locks = calloc(_ssl_locks_count, sizeof(struct RPyOpaque_ThreadLock)); |
702 |
-+ if (_ssl_locks == NULL) |
703 |
-+ return 0; |
704 |
-+ for (i=0; i<_ssl_locks_count; i++) { |
705 |
-+ if (RPyThreadLockInit(_ssl_locks + i) == 0) |
706 |
-+ return 0; |
707 |
-+ } |
708 |
-+ CRYPTO_set_locking_callback(_ssl_thread_locking_function); |
709 |
-+ CRYPTO_set_id_callback(_ssl_thread_id_function); |
710 |
-+ return 1; |
711 |
-+} |
712 |
-+""" |
713 |
-+ |
714 |
-+ |
715 |
-+eci = ExternalCompilationInfo( |
716 |
-+ separate_module_sources=[separate_module_source], |
717 |
-+ export_symbols=['_PyPy_SSL_SetupThreads'], |
718 |
-+) |
719 |
-+ |
720 |
-+_PyPy_SSL_SetupThreads = rffi.llexternal('_PyPy_SSL_SetupThreads', |
721 |
-+ [], rffi.INT, |
722 |
-+ compilation_info=eci) |
723 |
-+ |
724 |
-+def setup_ssl_threads(): |
725 |
-+ result = _PyPy_SSL_SetupThreads() |
726 |
-+ if rffi.cast(lltype.Signed, result) == 0: |
727 |
-+ raise MemoryError |
728 |
- |
729 |
|
730 |
diff --git a/dev-python/pypy-binpackage/files/1.9-ssl-threads-2-25cd11066d95.patch b/dev-python/pypy-binpackage/files/1.9-ssl-threads-2-25cd11066d95.patch |
731 |
deleted file mode 100644 |
732 |
index a1878f3..0000000 |
733 |
--- a/dev-python/pypy-binpackage/files/1.9-ssl-threads-2-25cd11066d95.patch |
734 |
+++ /dev/null |
735 |
@@ -1,22 +0,0 @@ |
736 |
-changeset: 55578:25cd11066d95 |
737 |
-tag: tip |
738 |
-user: Armin Rigo <arigo@×××××.org> |
739 |
-date: Mon Jun 11 15:19:38 2012 +0200 |
740 |
-summary: Fix. |
741 |
- |
742 |
-diff -r e701bca5f3b9 -r 25cd11066d95 pypy/module/_ssl/thread_lock.py |
743 |
---- a/pypy/module/_ssl/thread_lock.py Mon Jun 11 15:01:00 2012 +0200 |
744 |
-+++ b/pypy/module/_ssl/thread_lock.py Mon Jun 11 15:19:38 2012 +0200 |
745 |
-@@ -39,9 +39,9 @@ |
746 |
- return; |
747 |
- |
748 |
- if (mode & CRYPTO_LOCK) { |
749 |
-- RPyThreadAcquireLock(_ssl_locks[n], 1); |
750 |
-+ RPyThreadAcquireLock(_ssl_locks + n, 1); |
751 |
- } else { |
752 |
-- RPyThreadReleaseLock(_ssl_locks[n]); |
753 |
-+ RPyThreadReleaseLock(_ssl_locks + n); |
754 |
- } |
755 |
- } |
756 |
- |
757 |
- |
758 |
|
759 |
diff --git a/dev-python/pypy-binpackage/files/1.9-distutils-fix_handling_of_executables_and_flags.patch b/dev-python/pypy-binpackage/files/2.1-distutils-fix_handling_of_executables_and_flags.patch |
760 |
similarity index 79% |
761 |
rename from dev-python/pypy-binpackage/files/1.9-distutils-fix_handling_of_executables_and_flags.patch |
762 |
rename to dev-python/pypy-binpackage/files/2.1-distutils-fix_handling_of_executables_and_flags.patch |
763 |
index 4a35ea8..2a27e3a 100644 |
764 |
--- a/dev-python/pypy-binpackage/files/1.9-distutils-fix_handling_of_executables_and_flags.patch |
765 |
+++ b/dev-python/pypy-binpackage/files/2.1-distutils-fix_handling_of_executables_and_flags.patch |
766 |
@@ -1,78 +1,5 @@ |
767 |
---- lib-python/2.7/distutils/ccompiler.py |
768 |
-+++ lib-python/2.7/distutils/ccompiler.py |
769 |
-@@ -27,10 +27,16 @@ |
770 |
- varies across Unices and is stored in Python's Makefile. |
771 |
- """ |
772 |
- if compiler.compiler_type == "unix": |
773 |
-- (cc, cxx, opt, cflags, ccshared, ldshared, so_ext, ar, ar_flags) = \ |
774 |
-- _sysconfig.get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS', |
775 |
-- 'CCSHARED', 'LDSHARED', 'SO', 'AR', |
776 |
-- 'ARFLAGS') |
777 |
-+ cc = ' '.join(compiler.compiler) |
778 |
-+ cxx = ' '.join(compiler.compiler_cxx) |
779 |
-+ ldshared = ' '.join(compiler.linker_so) |
780 |
-+ ldcxxshared = ' '.join(compiler.linker_so_cxx) |
781 |
-+ ar = compiler.archiver[0] |
782 |
-+ |
783 |
-+ cflags = '' |
784 |
-+ cxxflags = '' |
785 |
-+ ccshared = '-fPIC' |
786 |
-+ ar_flags = compiler.archiver[1] |
787 |
- |
788 |
- if 'CC' in os.environ: |
789 |
- cc = os.environ['CC'] |
790 |
-@@ -38,19 +44,27 @@ |
791 |
- cxx = os.environ['CXX'] |
792 |
- if 'LDSHARED' in os.environ: |
793 |
- ldshared = os.environ['LDSHARED'] |
794 |
-+ if 'LDCXXSHARED' in os.environ: |
795 |
-+ ldcxxshared = os.environ['LDCXXSHARED'] |
796 |
- if 'CPP' in os.environ: |
797 |
- cpp = os.environ['CPP'] |
798 |
- else: |
799 |
- cpp = cc + " -E" # not always |
800 |
- if 'LDFLAGS' in os.environ: |
801 |
- ldshared = ldshared + ' ' + os.environ['LDFLAGS'] |
802 |
-+ ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS'] |
803 |
- if 'CFLAGS' in os.environ: |
804 |
-- cflags = opt + ' ' + os.environ['CFLAGS'] |
805 |
-+ cflags = os.environ['CFLAGS'] |
806 |
- ldshared = ldshared + ' ' + os.environ['CFLAGS'] |
807 |
-+ if 'CXXFLAGS' in os.environ: |
808 |
-+ cxxflags = os.environ['CXXFLAGS'] |
809 |
-+ ldcxxshared = ldcxxshared + ' ' + os.environ['CXXFLAGS'] |
810 |
- if 'CPPFLAGS' in os.environ: |
811 |
- cpp = cpp + ' ' + os.environ['CPPFLAGS'] |
812 |
- cflags = cflags + ' ' + os.environ['CPPFLAGS'] |
813 |
-+ cxxflags = cxxflags + ' ' + os.environ['CPPFLAGS'] |
814 |
- ldshared = ldshared + ' ' + os.environ['CPPFLAGS'] |
815 |
-+ ldcxxshared = ldcxxshared + ' ' + os.environ['CPPFLAGS'] |
816 |
- if 'AR' in os.environ: |
817 |
- ar = os.environ['AR'] |
818 |
- if 'ARFLAGS' in os.environ: |
819 |
-@@ -59,17 +73,19 @@ |
820 |
- archiver = ar + ' ' + ar_flags |
821 |
- |
822 |
- cc_cmd = cc + ' ' + cflags |
823 |
-+ cxx_cmd = cxx + ' ' + cxxflags |
824 |
- compiler.set_executables( |
825 |
- preprocessor=cpp, |
826 |
- compiler=cc_cmd, |
827 |
- compiler_so=cc_cmd + ' ' + ccshared, |
828 |
-- compiler_cxx=cxx, |
829 |
-+ compiler_cxx=cxx_cmd, |
830 |
-+ compiler_so_cxx=cxx_cmd + ' ' + ccshared, |
831 |
- linker_so=ldshared, |
832 |
- linker_exe=cc, |
833 |
-+ linker_so_cxx=ldcxxshared, |
834 |
-+ linker_exe_cxx=cxx, |
835 |
- archiver=archiver) |
836 |
- |
837 |
-- compiler.shared_lib_extension = so_ext |
838 |
-- |
839 |
- class CCompiler: |
840 |
- """Abstract base class to define the interface that must be implemented |
841 |
- by real compiler classes. Also has some utility methods used by |
842 |
+http://bugs.python.org/issue1222585 |
843 |
+ |
844 |
--- lib-python/2.7/distutils/cygwinccompiler.py |
845 |
+++ lib-python/2.7/distutils/cygwinccompiler.py |
846 |
@@ -135,9 +135,13 @@ |
847 |
@@ -105,7 +32,7 @@ |
848 |
except DistutilsExecError, msg: |
849 |
raise CompileError, msg |
850 |
|
851 |
-@@ -325,10 +333,15 @@ |
852 |
+@@ -325,10 +338,15 @@ |
853 |
self.set_executables(compiler='gcc -mno-cygwin -O -Wall', |
854 |
compiler_so='gcc -mno-cygwin -mdll -O -Wall', |
855 |
compiler_cxx='g++ -mno-cygwin -O -Wall', |
856 |
@@ -155,23 +82,24 @@ |
857 |
|
858 |
--- lib-python/2.7/distutils/sysconfig_cpython.py |
859 |
+++ lib-python/2.7/distutils/sysconfig_cpython.py |
860 |
-@@ -149,9 +149,12 @@ |
861 |
+@@ -149,10 +149,12 @@ |
862 |
varies across Unices and is stored in Python's Makefile. |
863 |
""" |
864 |
if compiler.compiler_type == "unix": |
865 |
-- (cc, cxx, opt, cflags, ccshared, ldshared, so_ext) = \ |
866 |
+- (cc, cxx, opt, cflags, ccshared, ldshared, so_ext, ar, ar_flags) = \ |
867 |
- get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS', |
868 |
-- 'CCSHARED', 'LDSHARED', 'SO') |
869 |
-+ (cc, cxx, ccshared, ldshared, ldcxxshared, so_ext) = \ |
870 |
-+ get_config_vars('CC', 'CXX', 'CCSHARED', 'LDSHARED', |
871 |
-+ 'LDCXXSHARED', 'SO') |
872 |
+- 'CCSHARED', 'LDSHARED', 'SO', 'AR', |
873 |
+- 'ARFLAGS') |
874 |
++ (cc, cxx, ccshared, ldshared, ldcxxshared, so_ext, ar, ar_flags) = \ |
875 |
++ get_config_vars('CC', 'CXX', 'CCSHARED', 'LDSHARED', 'LDCXXSHARED', |
876 |
++ 'SO', 'AR', 'ARFLAGS') |
877 |
+ |
878 |
+ cflags = '' |
879 |
+ cxxflags = '' |
880 |
|
881 |
+ newcc = None |
882 |
if 'CC' in os.environ: |
883 |
- cc = os.environ['CC'] |
884 |
-@@ -159,28 +162,40 @@ |
885 |
+@@ -190,19 +192,27 @@ |
886 |
cxx = os.environ['CXX'] |
887 |
if 'LDSHARED' in os.environ: |
888 |
ldshared = os.environ['LDSHARED'] |
889 |
@@ -197,6 +125,11 @@ |
890 |
+ cxxflags = cxxflags + ' ' + os.environ['CPPFLAGS'] |
891 |
ldshared = ldshared + ' ' + os.environ['CPPFLAGS'] |
892 |
+ ldcxxshared = ldcxxshared + ' ' + os.environ['CPPFLAGS'] |
893 |
+ if 'AR' in os.environ: |
894 |
+ ar = os.environ['AR'] |
895 |
+ if 'ARFLAGS' in os.environ: |
896 |
+@@ -211,13 +221,17 @@ |
897 |
+ archiver = ar + ' ' + ar_flags |
898 |
|
899 |
cc_cmd = cc + ' ' + cflags |
900 |
+ cxx_cmd = cxx + ' ' + cxxflags |
901 |
@@ -208,14 +141,13 @@ |
902 |
+ compiler_cxx=cxx_cmd, |
903 |
+ compiler_so_cxx=cxx_cmd + ' ' + ccshared, |
904 |
linker_so=ldshared, |
905 |
-- linker_exe=cc) |
906 |
-+ linker_exe=cc, |
907 |
+ linker_exe=cc, |
908 |
+ linker_so_cxx=ldcxxshared, |
909 |
-+ linker_exe_cxx=cxx) |
910 |
++ linker_exe_cxx=cxx, |
911 |
+ archiver=archiver) |
912 |
|
913 |
compiler.shared_lib_extension = so_ext |
914 |
- |
915 |
-@@ -506,7 +521,7 @@ |
916 |
+@@ -529,7 +543,7 @@ |
917 |
for key in ('LDFLAGS', 'BASECFLAGS', 'LDSHARED', |
918 |
# a number of derived variables. These need to be |
919 |
# patched up as well. |
920 |
@@ -224,7 +156,7 @@ |
921 |
flags = _config_vars[key] |
922 |
flags = re.sub('-arch\s+\w+\s', ' ', flags) |
923 |
flags = re.sub('-isysroot [^ \t]*', ' ', flags) |
924 |
-@@ -525,7 +540,7 @@ |
925 |
+@@ -548,7 +562,7 @@ |
926 |
for key in ('LDFLAGS', 'BASECFLAGS', 'LDSHARED', |
927 |
# a number of derived variables. These need to be |
928 |
# patched up as well. |
929 |
@@ -233,7 +165,7 @@ |
930 |
|
931 |
flags = _config_vars[key] |
932 |
flags = re.sub('-arch\s+\w+\s', ' ', flags) |
933 |
-@@ -549,7 +564,7 @@ |
934 |
+@@ -572,7 +586,7 @@ |
935 |
for key in ('LDFLAGS', 'BASECFLAGS', 'LDSHARED', |
936 |
# a number of derived variables. These need to be |
937 |
# patched up as well. |
938 |
@@ -244,11 +176,11 @@ |
939 |
flags = re.sub('-isysroot\s+\S+(\s|$)', ' ', flags) |
940 |
--- lib-python/2.7/distutils/sysconfig_pypy.py |
941 |
+++ lib-python/2.7/distutils/sysconfig_pypy.py |
942 |
-@@ -114,13 +114,56 @@ |
943 |
+@@ -123,7 +123,55 @@ |
944 |
optional C speedup components. |
945 |
""" |
946 |
if compiler.compiler_type == "unix": |
947 |
-- compiler.compiler_so.extend(['-fPIC', '-Wimplicit']) |
948 |
+- compiler.compiler_so.extend(['-O2', '-fPIC', '-Wimplicit']) |
949 |
+ cc = ' '.join(compiler.compiler) |
950 |
+ cxx = ' '.join(compiler.compiler_cxx) |
951 |
+ ldshared = ' '.join(compiler.linker_so) |
952 |
@@ -299,14 +231,8 @@ |
953 |
+ linker_so_cxx=ldcxxshared, |
954 |
+ linker_exe_cxx=cxx) |
955 |
compiler.shared_lib_extension = get_config_var('SO') |
956 |
-- if "CFLAGS" in os.environ: |
957 |
-- cflags = os.environ["CFLAGS"] |
958 |
-- compiler.compiler.append(cflags) |
959 |
-- compiler.compiler_so.append(cflags) |
960 |
-- compiler.linker_so.append(cflags) |
961 |
- |
962 |
- |
963 |
- from sysconfig_cpython import ( |
964 |
+ if "CPPFLAGS" in os.environ: |
965 |
+ cppflags = shlex.split(os.environ["CPPFLAGS"]) |
966 |
--- lib-python/2.7/distutils/unixccompiler.py |
967 |
+++ lib-python/2.7/distutils/unixccompiler.py |
968 |
@@ -114,14 +114,17 @@ |
969 |
@@ -335,7 +261,7 @@ |
970 |
} |
971 |
|
972 |
if sys.platform[:6] == "darwin": |
973 |
-@@ -186,11 +189,18 @@ |
974 |
+@@ -171,11 +174,18 @@ |
975 |
|
976 |
def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts): |
977 |
compiler_so = self.compiler_so |
978 |
@@ -356,7 +282,7 @@ |
979 |
except DistutilsExecError, msg: |
980 |
raise CompileError, msg |
981 |
|
982 |
-@@ -247,23 +257,16 @@ |
983 |
+@@ -232,23 +242,16 @@ |
984 |
ld_args.extend(extra_postargs) |
985 |
self.mkpath(os.path.dirname(output_filename)) |
986 |
try: |
987 |
|
988 |
diff --git a/dev-python/pypy-binpackage/pypy-binpackage-2.0.2.ebuild b/dev-python/pypy-binpackage/pypy-binpackage-2.0.2.ebuild |
989 |
index 0ceb9ec..0e390b0 100644 |
990 |
--- a/dev-python/pypy-binpackage/pypy-binpackage-2.0.2.ebuild |
991 |
+++ b/dev-python/pypy-binpackage/pypy-binpackage-2.0.2.ebuild |
992 |
@@ -16,7 +16,7 @@ HOMEPAGE="http://pypy.org/" |
993 |
SRC_URI="mirror://bitbucket/pypy/pypy/downloads/${MY_P}-src.tar.bz2" |
994 |
|
995 |
LICENSE="MIT" |
996 |
-SLOT=$(get_version_component_range 1-2 ${PV}) |
997 |
+SLOT=0 |
998 |
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" |
999 |
IUSE="bzip2 +jit ncurses sandbox shadowstack sse2" |
1000 |
|
1001 |
|
1002 |
diff --git a/dev-python/pypy-binpackage/pypy-binpackage-1.9-r2.ebuild b/dev-python/pypy-binpackage/pypy-binpackage-2.2.1.ebuild |
1003 |
similarity index 59% |
1004 |
rename from dev-python/pypy-binpackage/pypy-binpackage-1.9-r2.ebuild |
1005 |
rename to dev-python/pypy-binpackage/pypy-binpackage-2.2.1.ebuild |
1006 |
index 252e9c1..a138e0c 100644 |
1007 |
--- a/dev-python/pypy-binpackage/pypy-binpackage-1.9-r2.ebuild |
1008 |
+++ b/dev-python/pypy-binpackage/pypy-binpackage-2.2.1.ebuild |
1009 |
@@ -1,24 +1,22 @@ |
1010 |
-# Copyright 1999-2013 Gentoo Foundation |
1011 |
+# Copyright 1999-2014 Gentoo Foundation |
1012 |
# Distributed under the terms of the GNU General Public License v2 |
1013 |
-# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/pypy-1.9-r2.ebuild,v 1.4 2013/02/17 22:45:18 floppym Exp $ |
1014 |
+# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/pypy-2.2.1.ebuild,v 1.2 2014/03/12 09:14:21 mgorny Exp $ |
1015 |
|
1016 |
EAPI=5 |
1017 |
|
1018 |
-# pypy should be preferred, per upstream. |
1019 |
-# that's the easiest way of forcing it. |
1020 |
-PYTHON_COMPAT=( pypy{1_8,1_9,2_0} ) |
1021 |
-inherit check-reqs eutils multilib multiprocessing python-any-r1 toolchain-funcs vcs-snapshot versionator |
1022 |
- |
1023 |
+PYTHON_COMPAT=( python2_7 pypy2_0 ) |
1024 |
+inherit check-reqs eutils multilib multiprocessing pax-utils \ |
1025 |
+ python-any-r1 toolchain-funcs versionator |
1026 |
MY_P=pypy-${PV} |
1027 |
|
1028 |
DESCRIPTION="A fast, compliant alternative implementation of the Python language" |
1029 |
HOMEPAGE="http://pypy.org/" |
1030 |
-SRC_URI="https://bitbucket.org/pypy/pypy/get/release-${PV}.tar.bz2 -> ${MY_P}.tar.bz2" |
1031 |
+SRC_URI="mirror://bitbucket/pypy/pypy/downloads/${MY_P}-src.tar.bz2" |
1032 |
|
1033 |
LICENSE="MIT" |
1034 |
-SLOT=$(get_version_component_range 1-2 ${PV}) |
1035 |
+SLOT="0/$(get_version_component_range 1-2 ${PV})" |
1036 |
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" |
1037 |
-IUSE="bzip2 +jit ncurses sandbox shadowstack sse2" |
1038 |
+IUSE="bzip2 +jit ncurses sandbox shadowstack sqlite sse2" |
1039 |
|
1040 |
DEPEND=">=sys-libs/zlib-1.1.3 |
1041 |
virtual/libffi |
1042 |
@@ -30,19 +28,14 @@ DEPEND=">=sys-libs/zlib-1.1.3 |
1043 |
app-arch/xz-utils |
1044 |
${PYTHON_DEPS}" |
1045 |
|
1046 |
-S=${WORKDIR}/pypy-${PV} |
1047 |
+S="${WORKDIR}/${MY_P}-src" |
1048 |
|
1049 |
pkg_pretend() { |
1050 |
- if [[ ! ${PYPY_BINPKG_STORE} ]]; then |
1051 |
- eerror "Please set PYPY_BINPKG_STORE to the location where built" |
1052 |
- eerror "packages are to be stored." |
1053 |
- |
1054 |
- die "Set PYPY_BINPKG_STORE." |
1055 |
- fi |
1056 |
- |
1057 |
CHECKREQS_MEMORY="2G" |
1058 |
use amd64 && CHECKREQS_MEMORY="4G" |
1059 |
check-reqs_pkg_pretend |
1060 |
+ |
1061 |
+ [[ ${PYPY_BINPKG_STORE} ]] || die 'PYPY_BINPKG_STORE unset, wtf?!' |
1062 |
} |
1063 |
|
1064 |
pkg_setup() { |
1065 |
@@ -73,22 +66,9 @@ pkg_setup() { |
1066 |
} |
1067 |
|
1068 |
src_prepare() { |
1069 |
- epatch "${FILESDIR}/${PV}-no-bytecode-4151f9c406b6.patch" |
1070 |
- epatch "${FILESDIR}/${PV}-scripts-location.patch" |
1071 |
- epatch "${FILESDIR}/${PV}-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch" |
1072 |
- epatch "${FILESDIR}/${PV}-distutils-fix_handling_of_executables_and_flags.patch" |
1073 |
- epatch "${FILESDIR}/${PV}-ssl-threads-1-34b3b5aac082.patch" |
1074 |
- epatch "${FILESDIR}/${PV}-ssl-threads-2-25cd11066d95.patch" |
1075 |
- epatch "${FILESDIR}/${PV}-get_python_lib_standard_lib-04ea518e5b71.patch" |
1076 |
- epatch "${FILESDIR}/${PV}-more-ignored-ops-a9a8faa76bca.patch" |
1077 |
- epatch "${FILESDIR}/${PV}-more-ignored-ops-146ddf82a279.patch" |
1078 |
- epatch "${FILESDIR}/${PV}-pybuffer-release-double-decref-4ec2a5b49386.patch" |
1079 |
- epatch "${FILESDIR}/${PV}-signal-a33052b17f4e.patch" |
1080 |
- epatch "${FILESDIR}/${PV}-getargs-freelist-c26dc70ee340.patch" |
1081 |
- epatch "${FILESDIR}/${PV}-ssl-errors-25d3418150d2.patch" |
1082 |
- |
1083 |
- # The following is Gentoo-specific. |
1084 |
- epatch "${FILESDIR}/${PV}-no-static-hack.patch" |
1085 |
+ epatch "${FILESDIR}/1.9-scripts-location.patch" |
1086 |
+ epatch "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch" |
1087 |
+ epatch "${FILESDIR}/2.1-distutils-fix_handling_of_executables_and_flags.patch" |
1088 |
|
1089 |
epatch_user |
1090 |
} |
1091 |
@@ -124,7 +104,7 @@ src_compile() { |
1092 |
${jit_backend} |
1093 |
--make-jobs=$(makeopts_jobs) |
1094 |
|
1095 |
- ./pypy/translator/goal/targetpypystandalone.py |
1096 |
+ pypy/goal/targetpypystandalone |
1097 |
) |
1098 |
|
1099 |
# Avoid linking against libraries disabled by use flags |
1100 |
@@ -143,7 +123,7 @@ src_compile() { |
1101 |
) |
1102 |
done |
1103 |
|
1104 |
- set -- "${PYTHON}" ./pypy/translator/goal/translate.py --batch "${args[@]}" |
1105 |
+ set -- "${PYTHON}" rpython/bin/rpython --batch "${args[@]}" |
1106 |
echo -e "\033[1m${@}\033[0m" |
1107 |
"${@}" || die "compile error" |
1108 |
} |
1109 |
@@ -166,7 +146,7 @@ src_install() { |
1110 |
chmod +x "${BIN_P}${suffix}"/pypy-c || die |
1111 |
|
1112 |
tar -cf "${BIN_P}${suffix}.tar" "${BIN_P}${suffix}" || die |
1113 |
- xz -vz9 "${BIN_P}${suffix}.tar" || die |
1114 |
+ xz -vz9e "${BIN_P}${suffix}.tar" || die |
1115 |
} |
1116 |
|
1117 |
# Yup, very hacky. |