osc copypac from project:devel:languages:python:Factory package:pypy revision:37

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/pypy3?expand=0&rev=1
This commit is contained in:
Jan Matejek
2016-11-08 14:10:00 +00:00
committed by Git OBS Bridge
commit 1e679102be
14 changed files with 1367 additions and 0 deletions
+6
View File
@@ -0,0 +1,6 @@
-------------------------------------------------------------------
Thu Nov 21 12:32:19 UTC 2013 - mvyskocil@suse.com
- Initial packaging of pypy numpy for openSUSE
* upstream have splitted it from pypy itself
+647
View File
@@ -0,0 +1,647 @@
-------------------------------------------------------------------
Tue Apr 26 06:30:46 UTC 2016 - mvyskocil@opensuse.org
- Update to 5.1.0
+ More improvement to warmup time and memory requirements. An
additional reduction of about 20% in memory requirements, and
up to 30% warmup time improvement, more detail in the blog post.
- Patches changes:
* refreshed pypy-1.2-suppress-mandelbrot-set-during-tty-build.patch
-------------------------------------------------------------------
Thu Mar 31 19:27:32 UTC 2016 - michael@stroeder.com
- Update to 5.0.1
-------------------------------------------------------------------
Fri Jan 29 09:53:43 UTC 2016 - normand@linux.vnet.ibm.com
- remove two files not used anymore in spec file
008-fix-dynamic-symbols-script.patch
007-remove-startup-message.patch
- add rpmlintrc in spec to avoid warning in rpm build process.
- pypy.spec changes to avoid rpmlint errors and few warnings:
* add verbose flag on rm, sed, chmod actions
* put back call to fdupes
* add more exclude lines in %files sections
-------------------------------------------------------------------
Sat Jan 16 18:28:09 UTC 2016 - michael@stroeder.com
- Update to 4.0.1
+ few critical bugs were fixed
+ minor enhancements
-------------------------------------------------------------------
Sun Nov 29 06:22:31 UTC 2015 - normand@linux.vnet.ibm.com
- change BuildRequires from prelink to execstack new package
to avoid unresolvable for archi that do not build prelink.
-------------------------------------------------------------------
Sat Oct 31 20:09:43 UTC 2015 - mvyskocil@opensuse.org
- limit the maximum number of jobs to 1 to avoid OOM on i586
-------------------------------------------------------------------
Fri Oct 30 12:08:07 UTC 2015 - mvyskocil@opensuse.org
- Update to 4.0.0:
+ New Version Numbering (compatible with CPython 2.7.10)
+ Vectorization - JIT now emits SIMD code, use -jit vec=1 to test
+ Internal Refactoring: Warmup Time Improvement and Reduced
Memory Usage
-------------------------------------------------------------------
Sun Sep 6 15:12:48 UTC 2015 - mvyskocil@opensuse.org
- Update to 2.6.1:
+ Revive non-SSE2 support
+ Fixes for detaching _io.Buffer*
+ Clear up contention in the garbage collector between trace-me-later
and pinning
+ cffi was updated to version 1.3
+ The python stdlib was updated to 2.7.10 from 2.7.9
+ vmprof now supports multiple threads and OS X
+ The translation process builds cffi import libraries for some
stdlib packages, which should prevent confusion when package.py
is not used
+ better support for gdb debugging
+ Delay recursive calls to make them non-recursive
+ Skip loop unrolling if it compiles too much code
+ Tweak the heapcache
+ Add a list strategy for lists that store both floats and 32-bit
integers. The latter are encoded as nonstandard NaNs. Benchmarks
show that the speed of such lists is now very close to the speed
of purely-int or purely-float lists.
+ Simplify implementation of ffi.gc() to avoid most weakrefs
+ Massively improve the performance of map() with more than one
sequence argument
- Update to 2.6.0:
+ Improve support for TLS 1.1 and 1.2
+ Support for the PYTHONOPTIMIZE environment variable (impacting
builtins __debug__ property)
+ Add preliminary support for a new lightweight statistical profiler
vmprof, which has been designed to accomodate profiling JITted code
+ Slight improvement in frame sizes, improving some benchmarks
+ Internal refactoring and cleanups leading to improved JIT performance
+ Improved IO performance of zlib and bz2 modules
+ We continue to improve the JITs optimizations. Our benchmark suite is
now over 7 times faster than cpython
- Packaging:
+ add pypy-cffi-suse.patch
+ drop pypy-curses.patch, obsoleted by pypy-cffi-suse.patch
+ drop pypy-tcl-libs.patch, obsoleted by pypy-cffi-suse.patch
+ fix the code guessing max number of jobs
-------------------------------------------------------------------
Thu Apr 30 06:46:11 UTC 2015 - steve.cordwell@gmail.com
- Remove "--output=pypy" translation flag
+ Produces "libpypy-c.so" instead of "libpypy.so"
+ See https://bitbucket.org/pypy/pypy/issue/1971
-------------------------------------------------------------------
Thu Apr 30 00:08:45 UTC 2015 - steve.cordwell@gmail.com
- Update to 2.5.1
+ Merge version 2.7.9 of the standard library from Python
+ Python 3.4's ssl module
+ Disabled SSLv3 by default
+ ensurepip has been added
+ More performant garbage collector
+ Speed boost
+ Bugs from 2.5.0 are fixed
+ See http://doc.pypy.org/en/latest/release-2.5.1.html
-------------------------------------------------------------------
Sun Mar 8 00:47:03 UTC 2015 - mvyskocil@opensuse.org
- decrease maximum number of compilation jobs to 2, to prevent oom
-------------------------------------------------------------------
Sat Mar 7 19:53:54 UTC 2015 - mvyskocil@opensuse.org
- Setup LD_LIBRARY_PATH to run pypy in install phase
-------------------------------------------------------------------
Fri Feb 6 20:50:22 UTC 2015 - mvyskocil@opensuse.org
- Install shared library
- Fix removal of non Linux platform stuff
-------------------------------------------------------------------
Thu Feb 5 07:01:12 UTC 2015 - mvyskocil@opensuse.org
- Add required pkg-config
- Change all devel dependencies to pkgconfig()
-------------------------------------------------------------------
Wed Feb 4 21:37:13 UTC 2015 - mvyskocil@opensuse.org
- Update to 2.5.0
+ Improved warmup speed by 10%
+ Improved passing objects between C and Pypy
+ Ordered and compact dictionaries
+ Better erno handling
+ all bugs from 2.4.0 are fixed
+ see http://doc.pypy.org/en/latest/release-2.5.0.html
-------------------------------------------------------------------
Tue Sep 23 07:07:52 UTC 2014 - mvyskocil@opensuse.org
- Update to 2.4.0
+ Bytearray operations no longer copy the bytearray unnecessarily
+ Added support for __getitem__, __setitem__, __getslice__,
__setslice__, and __len__ to RPython
+ Give the StringBuilder a more flexible internal structure, with
a chained list of strings instead of just one string. This
make it more efficient when building large strings, e.g. with
cStringIO().
+ Also, use systematically jit.conditional_call() instead of
regular branches. This lets the JIT make more linear code,
at the cost of forcing a bit more data (to be passed as
arguments to conditional_calls). I would expect the net
result to be a slight slow-down on some simple benchmarks
and a speed-up on bigger programs.
+ Change the executioncontexts lookup to be done by reading
a thread- local variable (which is implemented in C using
__thread if possible, and pthread_getspecific() otherwise).
On Linux x86 and x86-64, the JIT backend has a special
optimization that lets it emit directly a single MOV from
a %gs- or %fs-based address. It seems actually to give a
good boost in performance.
+ A faster way to handle the GIL, particularly in JIT code.
The GIL is now a composite of two concepts: a global number
(its just set from 1 to 0 and back around CALL_RELEASE_GIL),
and a real mutex. If there are threads waiting to acquire the
GIL, one of them is actively checking the global number every
0.1 ms to 1 ms. Overall, JIT loops full of external function
calls now run a bit faster (if no thread was started yet), or
a lot faster (if threads were started already).
+ Optimize the errno handling in the JIT, notably around external
function calls. Linux-only.
+ Remove non-functioning ctypes.pyhonapi and ctypes.PyDLL, document
this incompatibility with cpython. Recast sys.dllhandle to an int.
+ Fix performance regression on ufunc(<scalar>, <scalar>) in numpy.
+ Update our copies of py.test and pylib to versions 2.5.2
and 1.4.20, respectively.
+ Classes in the ast module are now distinct from structures
used by the compiler.
+ Fix issue #1861 - cpython compatability madness
- Refreshed patches:
* 006-always-log-stdout.patch
* pypy-curses.patch
* pypy-tcl-libs.patch
-------------------------------------------------------------------
Wed Jul 9 12:41:18 UTC 2014 - mvyskocil@opensuse.org
- Use rpm conditionals for build jobs definition instead of wrong
bash code - thanks scarabeus for noticing that
-------------------------------------------------------------------
Wed Jun 25 06:15:19 UTC 2014 - mvyskocil@opensuse.org
- Update to 2.3.1
+ Move builtin struct module to _struct to allow pypy "-m idlelib.idle"
+ Support compilation with gcc-4.9
+ Added support for the stdlib gdbm module via cffi
+ Annotator cleanups
+ Use argparse for packaging.py, and add third-party components to LICENSE file.
Also mention that gdbm is GPL. Do not crash the packaging process on
failure in CFFI or license-building, rather complete the build step and
return -1.
pypy 2.3:
+ Update stdlib to v2.7.6
+ Clean up numpy types, add newbyteorder functionality
+ JIT support for singlefloats on ARM using the hardfloat ABI
+ Better support for record numpy arrays
+ Use subclasses of SpaceOperation instead of SpaceOperator objects. Random
cleanups in flowspace and annotator.
+ adds support for the buffer= argument to the ndarray ctor
+ Remove multimethods on str/unicode/bytearray and make the implementations share code.
+ Speed up generators that dont yield inside try or wait blocks by skipping
unnecessary cleanup.
+ Remove FlowObjSpace. Improve cohesion between rpython.flowspace and rpython.annotator.
+ mapdicts keep track of whether or not an attribute is every assigned to multiple times.
If its only assigned once then an elidable lookup is used when possible.
+ Simplify implementation of NonConstant.
+ Kill some guards and operations in JIT traces by adding integer bounds propagation for
getfield_(raw|gc) and getarrayitem_(raw|gc).
+ Optimize away INT_AND with constant mask of 1s that fully cover the bitrange of other operand.
+ Propagate appropriate bounds through INT_(OR|XOR|AND) operations if the operands are positive
to kill some guards
+ kills int/long/smalllong/bool multimethods
+ Cleanup micronumpy module
+ In a lot of places CPython allows objects with __int__ and __float__ instead of actual ints
and floats, while until now pypy disallowed them. We fix it by making space.{int_w,float_w,etc.}
accepting those objects by default, and disallowing conversions only when explicitly needed.
+ Fix for getarrayitem_gc_pure optimization
+ Implements SimpleRangeListStrategy for case range(n) where n is a positive number. Makes
some traces nicer by getting rid of multiplication for calculating loop counter and
propagates that n > 0 further to get rid of guards.
+ Provide an exit status for popened RFiles via pclose
+ Support for virtualizing raw_store/raw_load operations
+ Separate the interp-level buffer API from the buffer type exposed to app-level. The
Buffer class is now used by W_MemoryView and W_Buffer, which is not present in Python 3.
Previously W_Buffer was an alias to Buffer, which was wrappable itself.
+ and many more, see http://doc.pypy.org/en/latest/whatsnew-2.3.0.html
-------------------------------------------------------------------
Fri Nov 29 09:24:36 UTC 2013 - mvyskocil@suse.com
- refresh pypy-tcl-libs.patch
-------------------------------------------------------------------
Wed Nov 27 14:59:19 UTC 2013 - mvyskocil@suse.com
- Update to 2.2.1
+ an issue in sockets' reference counting emulation, showing up
notably when using the ssl module and calling makefile().
- adjust source url
-------------------------------------------------------------------
Wed Nov 27 09:58:00 UTC 2013 - mvyskocil@suse.com
- fix a typo preventing JIT enabled build on i586
-------------------------------------------------------------------
Tue Nov 19 08:38:39 UTC 2013 - mvyskocil@suse.com
- do not hardcode tcl/tk version, just add a stub and expand it to
real version in pre
* modified pypy-tcl-libs.patch
-------------------------------------------------------------------
Mon Nov 18 14:31:08 UTC 2013 - mvyskocil@suse.com
- Fix a few rpmlint errors and warnings
* devel-file-in-non-devel-package - remove c files inside __pycache__
* ignore files-duplicate for pyc/pyo
* backup-file-in-package - remove all orig files
-------------------------------------------------------------------
Thu Nov 14 13:01:07 UTC 2013 - mvyskocil@suse.com
- Update to 2.2
+ Our Garbage Collector is now "incremental". Pauses should take 5
miliseconds at maximum.
+ The JIT counters for hot core are decreased from time to time in
order to prevent JITing of rarely executed code.
+ NumPy has been split: now PyPy only contains the core module,
called _numpypy. The numpy module itself has been moved to
https://bitbucket.org/pypy/numpy and numpypy disappeared.
+ Non-inlined calls have less overhead.
+ Things that use sys.set_trace are now JITted (like coverage).
+ JSON decoding is now very fast (JSON encoding was already very fast).
+ Various buffer copying methods experience speedups (like list-of-ints
to int[] buffer from cffi).
+ We finally wrote (hopefully) all the missing os.xxx() functions, including
os.startfile() on Windows and a handful of rare ones on Posix.
+ numpy has a rudimentary C API that cooperates with cpyext.
- do not install all platform dirs, only plat-linux2 and plat-generic
- split pypy-libs into more subpackages to reduce a size and dependencies
* -idle containst idle
* -tk with tkinter support
* -testsuite contains all tests of pypy and python library
- skip post-build-checks to not warn about gcc issues on generated code
- updated patches:
* pypy-tcl-libs.patch
-------------------------------------------------------------------
Wed Aug 14 07:09:59 UTC 2013 - mvyskocil@suse.com
- build with sqlite3-devel
- build with tcl-devel and tk-devel for tkinker support
- generate __pycache__ dirs for cffi based modules _curses, _sqlite3,
syslog and tkinker
- correct paths of include files for ncurses
* pypy-curses.patch
- correct linker flags for tcl and tk
* pypy-tcl-libs.patch
-------------------------------------------------------------------
Tue Aug 6 10:10:27 UTC 2013 - mvyskocil@suse.com
- Update to 2.1
+ JIT support for ARM, architecture versions 6 and 7, hard- and
soft-float ABI
+ Stacklet support for ARM
+ Support for os.statvfs and os.fstatvfs on unix systems
+ Improved logging performance
+ Faster sets for objects
+ Interpreter improvements
+ During packaging, compile the CFFI based TK extension
+ Pickling of numpy arrays and dtypes
+ Subarrays for numpy
+ Bugfixes to numpy
+ Bugfixes to cffi and ctypes
+ Bugfixes to the x86 stacklet support
+ Fixed issue 1533: fix an RPython-level OverflowError for
space.float_w(w_big_long_number).
+ Fixed issue 1552: GreenletExit should inherit from BaseException.
+ Fixed issue 1537: numpypy __array_interface__
+ Fixed issue 1238: Writing to an SSL socket in PyPy sometimes
failed with a “bad write retry” message.
- add python-curses to BR
- deprecate config.path, fixed upstream
-------------------------------------------------------------------
Mon May 27 11:02:42 UTC 2013 - mvyskocil@suse.com
- Update to 2.0.2
+ fixes a crash in the JIT when calling external C functions (with
ctypes/cffi) in a multithreaded context.
+ fix an occasional crash in the JIT that ends in RPython Fatal error:
NotImplementedError.
+ id(x) is now always a positive number (except on int/float/long/complex).
This fixes an issue in _sqlite.py (mostly for 32-bit Linux).
+ fix crashes of callback-from-C-functions (with cffi) when used together
with Stackless features, on asmgcc (i.e. Linux only). Now gevent should work
better.
+ work around an eventlet issue with socket._decref_socketios().
-------------------------------------------------------------------
Mon May 13 18:33:30 UTC 2013 - mvyskocil@opensuse.org
- Update to 2.0 (final)
+ JIT now supports stackless features, that is greenlets and stacklets. This
means that JIT can now optimize the code that switches the context. It
enables running eventlet and gevent on PyPy (although gevent requires some
special support thats not quite finished, read below).
+ This is the first PyPy release that includes cffi as a core library.
Version 0.6 comes included in the PyPy library. cffi has seen a lot of
adoption among library authors and we believe its the best way to wrap C
libaries. You can see examples of cffi usage in _curses.py and _sqlite3.py in
the PyPy source code.
- brp-python-bytecompile is fixed, so it does produce all needed .pyc files
- add a basic test to ensure .pyc files were produced
-------------------------------------------------------------------
Thu Apr 25 18:47:31 UTC 2013 - mvyskocil@opensuse.org
- Update to 2.0 beta2
-------------------------------------------------------------------
Tue Mar 19 13:01:16 UTC 2013 - speilicke@suse.com
- Drop pypy-1.6-fix-test-subprocess-with-nonreadable-path-dir.patch:
+ No desire to rebase
- Use fdupes -s
-------------------------------------------------------------------
Fri Feb 22 12:06:35 UTC 2013 - saschpe@suse.de
- Add self-hosting build bcond which allows to use the "pypy" package
to translate PyPy instead of Python-2.7
- There is no '--stackless' option anymore, PyPy now provides "continuelets"
- Fix rpmlint issues:
+ description-shorter-than-summary
+ devel-file-in-non-devel-package
+ files-duplicate
+ macro-in-comment
- Add rpmlintrc:
+ /etc/rpm/macros.pypy is not meant to be configurable
-------------------------------------------------------------------
Mon Feb 11 16:09:42 UTC 2013 - saschpe@suse.de
- Own /usr/lib64/pypy-%{version}
-------------------------------------------------------------------
Mon Feb 11 14:10:42 UTC 2013 - saschpe@suse.de
- Fix some typos and disable debuginfo handling (for now)
-------------------------------------------------------------------
Sun Feb 10 14:16:22 UTC 2013 - saschpe@suse.de
- Update to version 2.0b1:
+ cffi is officially supported by PyPy.
+ ARM is now an officially supported processor architecture. PyPy now work
on soft-float ARM/Linux builds. Currently ARM processors supporting the
ARMv7 and later ISA that include a floating-point unit are supported.
+ This release contains the latest Python standard library 2.7.3 and is
fully compatible with Python 2.7.3.
+ It does not however contain hash randomization, since the solution present
in CPython is not solving the problem anyway.
+ gc.get_referrers() is now faster.
+ Various numpy improvements. The list includes:
- axis argument support in many places
- full support for fancy indexing
- complex128 and complex64 dtypes
+ JIT hooks are now a powerful tool to introspect the JITting process that PyPy performs.
+ **kwds usage is much faster in the typical scenario
+ operations on long objects are now as fast as in CPython (from roughly 2x slower)
- Reuse some Fedora patches
- Use _constraints file, we need >4G RAM on x86_64
-------------------------------------------------------------------
Mon Jun 11 11:10:29 UTC 2012 - saschpe@suse.de
- Update to version 1.9:
* Many bugs were corrected for Windows 32 bit. This includes new
functionality to test the validity of file descriptors; and
correct handling of the calling convensions for ctypes.
* Improvements in cpyext, our emulator for CPython C extension modules.
For example PyOpenSSL should now work. We thank various people for help.
Sets now have strategies just like dictionaries. This means for example
that a set containing only ints will be more compact (and faster).
* A lot of progress on various aspects of numpypy. See the numpy-status
page for the automatic report.
* It is now possible to create and manipulate C-like structures using the
PyPy-only _ffi module. The advantage over using e.g. ctypes is that
_ffi is very JIT-friendly, and getting/setting of fields is translated
to few assembler instructions by the JIT. However, this is mostly intended
as a low-level backend to be used by more user-friendly FFI packages, and
the API might change in the future. Use it at your own risk.
* The non-x86 backends for the JIT are progressing but are still not
merged (ARMv7 and PPC64).
* JIT hooks for inspecting the created assembler code have been improved.
* See JIT hooks documentation for details.
* select.kqueue has been added (BSD).
* Handling of keyword arguments has been drastically improved in the best-case
scenario: proxy functions which simply forwards *args and **kwargs
to another function now performs much better with the JIT.
* List comprehension has been improved.
-------------------------------------------------------------------
Wed Mar 21 19:13:10 UTC 2012 - saschpe@gmx.de
- Update to version 1.8:
* Upstream provideas no changelog
-------------------------------------------------------------------
Tue Sep 27 20:12:33 UTC 2011 - saschpe@gmx.de
- Drop pypy-1.2-suppress-mandelbrot-set-during-tty-build.patch,
'--batch' mode does that too
-------------------------------------------------------------------
Tue Sep 27 20:10:39 UTC 2011 - saschpe@gmx.de
- Install binaries correctly
-------------------------------------------------------------------
Tue Sep 27 15:25:10 UTC 2011 - saschpe@suse.de
- Split of 'vim' package containing VIM syntax files
- Use %_smp_mflags
-------------------------------------------------------------------
Tue Sep 27 13:11:38 UTC 2011 - saschpe@suse.de
- Split of 'emacs' package containing the JIT viewer mode
- Removed pypy-1.4-config.patch and pypy-1.5-config.patch, the translate.py
commandline arg '--cflags' is sufficient.
-------------------------------------------------------------------
Fri Aug 26 12:52:54 CEST 2011 - dsterba@suse.cz
- disable emacs
-------------------------------------------------------------------
Fri Aug 26 12:26:27 CEST 2011 - dsterba@suse.cz
- pull from fedora package master, pypy 1.6
-------------------------------------------------------------------
Fri Aug 26 11:51:08 CEST 2011 - dsterba@suse.cz
- initial import from home:dipe, pypy 1.4
-------------------------------------------------------------------
Thu Aug 25 00:00:00 UTC 2011 - dmalcolm@redhat.com
- add rpm macros file to the devel subpackage (source 2)
- skip some tests that can't pass yet
-------------------------------------------------------------------
Sat Aug 20 00:00:00 UTC 2011 - dmalcolm@redhat.com
- work around test_subprocess failure seen in koji (patch 5)
-------------------------------------------------------------------
Thu Aug 18 00:00:00 UTC 2011 - dmalcolm@redhat.com
- 1.6
- rewrite the %%check section, introducing per-test timeouts
-------------------------------------------------------------------
Tue Aug 2 00:00:00 UTC 2011 - dmalcolm@redhat.com
- add pypytrace-mode.el to the pypy-libs subpackage, for viewing JIT trace
logs in emacs
-------------------------------------------------------------------
Mon May 2 00:00:00 UTC 2011 - dmalcolm@redhat.com
- 1.5
-------------------------------------------------------------------
Wed Apr 20 00:00:00 UTC 2011 - dmalcolm@redhat.com
- build a /usr/bin/pypy (but without the JIT compiler) on architectures that
don't support the JIT, so that they do at least have something that runs
-------------------------------------------------------------------
Tue Feb 8 00:00:00 UTC 2011 - rel-eng@lists.fedoraproject.org
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
-------------------------------------------------------------------
Fri Jan 14 00:00:00 UTC 2011 - dmalcolm@redhat.com
- skip test_ioctl for now
-------------------------------------------------------------------
Thu Jan 13 00:00:00 UTC 2011 - dmalcolm@redhat.com
- add a "pypy-devel" subpackage, and install the header files there
- in %%check, re-run failed tests in verbose mode
-------------------------------------------------------------------
Fri Jan 7 00:00:00 UTC 2011 - Dan Horák <dan[at]danny.cz> - 1.4.1-5
- valgrind available only on selected architectures
-------------------------------------------------------------------
Wed Jan 5 00:00:00 UTC 2011 - dmalcolm@redhat.com
- rebuild pypy using itself, for speed, with a boolean to break this cycle in
the build-requirement graph (falling back to using "python-devel" aka CPython)
- add work-in-progress patch to try to make generated c more readable
(rhbz#666963)
- capture the RPython source code files from the build within the debuginfo
package (rhbz#666975)
-------------------------------------------------------------------
Wed Dec 22 00:00:00 UTC 2010 - dmalcolm@redhat.com
- remove .svn directories
- disable verbose logging
- add a %%check section
- introduce %%goal_dir variable, to avoid repetition
- remove shebang line from demo/bpnn.py, as we're treating this as a
documentation file
- regenerate patch 2 to apply without generating a .orig file
-------------------------------------------------------------------
Tue Dec 21 00:00:00 UTC 2010 - dmalcolm@redhat.com
- 1.4.1; fixup %%setup to reflect change in toplevel directory in upstream
source tarball
- apply SELinux fix to the bundled test_commands.py (patch 2)
-------------------------------------------------------------------
Wed Dec 15 00:00:00 UTC 2010 - dmalcolm@redhat.com
- rename the jit build and subpackge to just "pypy", and remove the nojit and
sandbox builds, as upstream now seems to be focussing on the JIT build (with
only stackless called out in the getting-started-python docs); disable
stackless for now
- add a verbose_logs specfile boolean; leave it enabled for now (whilst fixing
build issues)
- add more comments, and update others to reflect 1.2 -> 1.4 changes
- re-enable debuginfo within CFLAGS ("-g")
- add the LICENSE and README to all subpackages
- ensure the built binaries don't have the "I need an executable stack" flag
- remove DOS batch files during %%prep (idlelib.bat)
- remove shebang lines from .py files that aren't executable, and remove
executability from .py files that don't have a shebang line (taken from
our python3.spec)
- bytecompile the .py files into .pyc files in pypy's bytecode format
-------------------------------------------------------------------
Sun Nov 28 00:00:00 UTC 2010 - toshio@fedoraproject.org
- BuildRequire valgrind-devel
- Install pypy library from the new directory
- Disable building with our CFLAGS for now because they are causing a build failure.
- Include site-packages directory
-------------------------------------------------------------------
Sat Nov 27 00:00:00 UTC 2010 - toshio@fedoraproject.org
- Update to 1.4
- Drop patch for py2.6 that's in this build
- Switch to building pypy with itself once pypy is built once as recommended by
upstream
- Remove bundled, prebuilt java libraries
- Fix license tag
- Fix source url
- Version pypy-libs Req
-------------------------------------------------------------------
Tue May 4 00:00:00 UTC 2010 - dmalcolm@redhat.com
- cherrypick r72073 from upstream SVN in order to fix the build against
python 2.6.5 (patch 2)
-------------------------------------------------------------------
Wed Apr 28 00:00:00 UTC 2010 - dmalcolm@redhat.com
- initial packaging
+120
View File
@@ -0,0 +1,120 @@
#
# spec file for package
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: pypy-numpy
Version: 0.0.0+git20131121.c0ebca2
Release: 0
License: BSD-3-Clause
Summary: NumPy array processing for numbers, strings, records and objects
Url: https://bitbucket.org/pypy/numpy/src
Group: Development/Libraries/Python
# tar --exclude-vcs -cJf numpy-%{version}.tar.xz numpy/
Source0: numpy-%{version}.tar.xz
BuildRequires: xz
BuildRequires: pypy-devel
BuildRequires: blas-devel
BuildRequires: lapack-devel
BuildRequires: gcc-fortran
BuildRequires: fdupes
#TODO: mvyskocil: it is unclear if missing declarations are problem or not
# asked upstream and masked errors
BuildRequires: -post-build-checks
Requires: pypy >= 2.2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
NumPy is a general-purpose array-processing package designed to
efficiently manipulate large multi-dimensional arrays of arbitrary
records without sacrificing too much speed for small multi-dimensional
arrays. NumPy is built on the Numeric code base and adds features
introduced by numarray as well as an extended C-API and the ability to
create arrays of arbitrary type which also makes NumPy suitable for
interfacing with general-purpose data-base applications.
There are also basic facilities for discrete fourier transform,
basic linear algebra and random number generation.
This package contain specific pypy fork of numpy.
%package devel
Summary: Development files for numpy applications
Group: Development/Libraries/Python
Requires: %{name} = %{version}
Requires: blas-devel
Requires: lapack-devel
Requires: python-devel >= %{py_ver}
Requires: gcc-fortran
%requires_eq pypy-devel
%description devel
This package contains files for developing applications
using numpy.
%prep
%setup -q -n numpy
#no shebang
find . -name '*.py' | xargs sed -i -e '/^#!.usr.bin.*/d'
%build
CFLAGS="%{optflags} -fno-strict-aliasing" %{__pypy} setup.py build
%install
%{__pypy} setup.py install --root="%{buildroot}" --prefix="%{_prefix}"
#XXX: This is a bug in pypy distutils, which points to /usr/site-packages
# asked upstream https://mail.python.org/pipermail/pypy-dev/2013-November/011938.html
# lets workaround it once it will be resolved
mkdir -p %{buildroot}/%{pypy_sitearch}/site-packages/
mv %{buildroot}/%{_prefix}/site-packages/* %{buildroot}/%{pypy_sitearch}/
rm -rf %{buildroot}%{pypy_sitearch}/numpy/{,core,distutils,f2py,fft,ma,matrixlib,oldnumeric,polynomial,random,testing}/tests # Don't package testsuite
%fdupes -s %{buildroot}%{_prefix}
#TODO: update-alternatives
mv %{buildroot}/%{_bindir}/f2py %{buildroot}/%{_bindir}/f2py-pypy
# split devel files out
find %{buildroot}/%{pypy_sitearch}/numpy -name '*.c' -or -name '*.h' -or -name '*.a' | \
sed 's@%{buildroot}/%{pypy_sitearch}@%%{pypy_sitearch}@' > devel-files
#FIXME: why such sed does not work?
#sed 's/.*/%%exclude &/' > exclude-devel-files
cat <<EOF > mkexcludes.py
#!/usr/bin/pypy
with open("devel-files", "rt") as fp:
for line in fp:
print("%exclude {}".format(line.rstrip()))
EOF
pypy mkexcludes.py > exclude-devel-files
%files -f exclude-devel-files
%defattr(-,root,root)
%doc COMPATIBILITY LICENSE.txt README.txt THANKS.txt
%{_bindir}/f2py-pypy
%{pypy_sitearch}/numpy/
%{pypy_sitearch}/numpy-1.8.0.dev_Unknown-py2.7.egg-info
%files devel -f devel-files
%defattr(-,root,root)
%{pypy_sitearch}/numpy/*/*/*.c
%{pypy_sitearch}/numpy/*/*.h
%{pypy_sitearch}/numpy/*/*/*.h
%{pypy_sitearch}/numpy/*/*/*/*.h
%{pypy_sitearch}/numpy/core/lib/libnpymath.a
%changelog
+448
View File
@@ -0,0 +1,448 @@
#
# Copyright (c) 2013, Sascha Peilicke <saschpe@gmx.de>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# We could build many different implementations of Python. For now, let's focus
# on the implementation that appears to be receiving the most attention
# upstream: the JIT-enabled build, with all standard optimizations We will build
# a "pypy" binary. Unfortunately, the JIT support is only available on some
# architectures (see pypy-1.4/pypy/jit/backend/detect_cpu.py:getcpuclassname).
%ifarch %{ix86} x86_64 %arm
%define with_jit 1
%else
%define with_jit 0
%endif
# Forcibly use the shadow-stack option for detecting GC roots, rather than
# relying on hacking up generated assembler with regexps:
%global shadow_stack 1
# Should be require "pypy" instead of "python-devel" for translation?
%bcond_with self_hosting
# Tests should not be run in normal builds - it takes hours w/o tests
%bcond_with tests
# Turn off the brp-python-bytecompile postprocessing script. We manually invoke it later on, using the freshly built pypy binary:
%define __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')
%global py_ver 2.7
Name: pypy
Version: 5.1.0
%define pypyprefix %{_libdir}/pypy-%{version}
Release: 0
Url: http://pypy.org/
Summary: A very fast and compliant implementation of the Python language
License: MIT
Group: Development/Languages/Python
Source0: https://bitbucket.org/pypy/pypy/downloads/%{name}-%{version}-src.tar.bz2
Source1: macros.pypy
Source100: rpmlintrc
Patch0: pypy-1.2-suppress-mandelbrot-set-during-tty-build.patch
Patch1: 006-always-log-stdout.patch
#PATCH-FIX-OPENSUSE: fix library includes dirs and link library names
Patch2: pypy-cffi-suse.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: libffi-devel
BuildRequires: openssl-devel
BuildRequires: pkg-config
BuildRequires: gdbm-devel
BuildRequires: pkgconfig(bzip2)
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(ncurses)
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(zlib)
BuildRequires: pkgconfig(tcl)
BuildRequires: pkgconfig(tk)
%if %{with self_hosting}
BuildRequires: pypy-devel
%else
BuildRequires: pkgconfig(python)
BuildRequires: python-curses
%endif
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le s390x
BuildRequires: pkgconfig(valgrind)
%endif
BuildRequires: execstack
#XXX: mvyskocil: I'd not fix implicit-fortify-decl or implicit-pointer-decl issues in **generated** C code
BuildRequires: -post-build-checks
BuildRequires: fdupes
# Documentation requirements:
#BuildRequires: python-Sphinx
# Metadata for the core package (the JIT build):
Requires: pypy-libs = %{version}
%description
PyPy is a fast, compliant alternative implementation of the Python language.
It has several advantages and distinct features:
* Speed: Thanks to its Just-in-Time compiler, Python programs often run
faster on PyPy
* Memory usage: large, memory-hungry Python programs might end up taking less
space than they do in CPython
* Compatibility: PyPy is highly compatible with existing python code. It
supports ctypes and can run popular python libraries like Twisted and Django
* Sandboxing: PyPy provides the ability to run untrusted code in a fully secure way
* Stackless: PyPy can be configured to run in stackless mode, providing
micro-threads for massive concurrency
%if 0%{?with_jit}
This build of PyPy has JIT-compilation enabled.
%else
This build of PyPy has JIT-compilation disabled, as it is not supported on this
CPU architecture.
%endif
%package libs
Group: Development/Languages/Python
Summary: Run-time libraries used by PyPy implementations of Python
%description libs
PyPy is a fast, compliant alternative implementation of the Python language.
Libraries required by the various PyPy implementations of Python.
%package devel
Group: Development/Languages/Python
Summary: Development tools for working with PyPy
Requires: %{name} = %{version}
%description devel
PyPy is a fast, compliant alternative implementation of the Python language.
Header files for building C extension modules against PyPy
%package testsuite
Group: Development/Languages/Python
Summary: Development tools for working with PyPy
Requires: %{name} = %{version}
%description testsuite
PyPy is a fast, compliant alternative implementation of the Python language.
Tests for PyPy and its standard library.
%package idle
Summary: An Integrated Development Environment for Python
Group: Development/Languages/Python
Requires: %{name} = %{version}
Requires: %{name}-tk
%description idle
IDLE is a Tkinter based integrated development environment for Python.
It features a multi-window text editor with multiple undo, Python
colorizing, and many other things, as well as a Python shell window and
a debugger.
%package tk
Summary: TkInter - Python Tk Interface
Group: Development/Libraries/Python
Requires: %{name} = %{version}
%description tk
PyPy interface to Tk. Tk is the GUI toolkit that comes with Tcl. The
"xrpm" package uses this PyPy interface.
%package emacs
Summary: Emacs mode for the PyPy JIT viewer
Group: Productivity/Text/Editors
Requires: %{name} = %{version}
%description emacs
PyPy is a fast, compliant alternative implementation of the Python language.
Emacs mode for the PyPy JIT viewer.
%package vim
Summary: Vim syntax files for the PyPy JIT viewer
Group: Productivity/Text/Editors
Requires: %{name} = %{version}
%description vim
PyPy is a fast, compliant alternative implementation of the Python language.
Vim syntax files for the PyPy JIT viewer.
%prep
%setup -q -n %{name}-%{version}-src
%patch0 -p1
%patch1 -p1
%patch2 -p1
# Replace /usr/local/bin/python shebangs with /usr/bin/python:
find -name "*.py" -exec sed -i -e "s|/usr/local/bin/python|/usr/bin/python|" {} \;
# Remove DOS batch files:
find -name "*.bat" -exec rm {} \;
find -name '*.jar' -exec rm {} \;
# remove spurious .orig files
find -name "*.orig" -delete
%build
pushd pypy/goal
%if 0%{shadow_stack}
# This is the most portable option, and avoids a reliance on non-guaranteed
# behaviors within GCC's code generator: use an explicitly-maintained stack
# of root pointers:
%define gcrootfinder_options --gcrootfinder=shadowstack
export CFLAGS=$(echo "$RPM_OPT_FLAGS")
%else
# Go with the default, which is "asmgcc"
%define gcrootfinder_options %{nil}
# https://bugzilla.redhat.com/show_bug.cgi?id=588941#c18
# The generated Makefile compiles the .c files into assembler (.s), rather
# than direct to .o It then post-processes this assembler to locate
# garbage-collection roots (building .lbl.s and .gcmap files, and a
# "gcmaptable.s"). (The modified .lbl.s files have extra code injected
# within them).
# Unfortunately, the code to do this:
# pypy-1.4/pypy/translator/c/gcc/trackgcroot.py
# doesn't interract well with the results of using our standard build flags.
# For now, filter our CFLAGS of everything that could be conflicting with
# pypy. Need to check these and reenable ones that are okay later.
# Filed as https://bugzilla.redhat.com/show_bug.cgi?id=666966
export CFLAGS=$(echo "$RPM_OPT_FLAGS" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//' -e 's/-fexceptions//' -e 's/-fstack-protector//' -e 's/--param=ssp-buffer-size=4//' -e 's/-O2//' -e 's/-fasynchronous-unwind-tables//' -e 's/-march=i686//' -e 's/-mtune=atom//')
%endif
# The generated C code leads to many thousands of warnings of the form:
# warning: variable 'l_v26003' set but not used [-Wunused-but-set-variable]
# Suppress them:
export CFLAGS=$(echo "$CFLAGS" -Wno-unused -fPIC)
# If we're already built the JIT-enabled "pypy", then use it for subsequent
# builds (of other configurations):
if test -x '/usr/bin/pypy' ; then
INTERP='pypy'
else
# First pypy build within this rpm build?
# Fall back to using the bootstrap python interpreter, which might be a
# system copy of pypy from an earlier rpm, or be cpython's /usr/bin/python:
INTERP='python'
fi
touch __TSTAMP__
# mvyskocil: memory requirements of pypy build process are huge. I saw OOM killer on i586 with just two processes
# preffer build success than a speed
JOBS=1
RPM_BUILD_ROOT= $INTERP ../../rpython/bin/rpython --log --shared --make-jobs="${JOBS}" \
--batch %{gcrootfinder_options} \
%if 0%{?with_jit}
--opt=jit \
%else
--opt=2 \
%endif
targetpypystandalone.py
# generate appropriate __pycache__ dirs
# advice from: http://mail.python.org/pipermail/pypy-dev/2013-August/011636.html
./pypy-c -c 'import _sqlite3, _curses, syslog, _tkinter' || :
# remove bogus __pycache__/home/abuild subdirs, idea taken from FreeBSD ports
find . -name '__pycache__' | xargs -n 1 -I {} find {} -mindepth 1 -maxdepth 1 -type d | xargs rm -vrf
popd #pypy/goal
# remove c files from __pycache__ dirs to avoid
# pypy-libs.x86_64: E: devel-file-in-non-devel-package (Badness: 50) /usr/lib/pypy-2.2/lib_pypy/__pycache__/_cffi__ga01735dbxad93c709.c
find . -name '__pycache__' | xargs -n 1 -I {} find {} -type f -name '*.c' | xargs rm -vrf
%install
mkdir -p %{buildroot}/%{_bindir}
install -Dm 755 pypy/goal/pypy-c %{buildroot}/%{pypyprefix}/pypy
ln -s %{pypyprefix}/pypy %{buildroot}/%{_bindir}
execstack --clear-execstack %{buildroot}/%{pypyprefix}/pypy
install -Dm 755 pypy/goal/libpypy-c.so %{buildroot}/%{_libdir}/
cp -a lib-python %{buildroot}/%{pypyprefix}
cp -a lib_pypy %{buildroot}/%{pypyprefix}
# Remove a text file that documents which selftests fail on Win32:
rm %{buildroot}/%{pypyprefix}/lib-python/win32-failures.txt
# Remove a text file containing upstream's recipe for syncing stdlib in
# their hg repository with cpython's:
rm %{buildroot}/%{pypyprefix}/lib-python/stdlib-upgrade.txt
# Remove all other platform files that plat-linux2 and plat-generic
# XXX: do we need plat-generic?
find %{buildroot}/%{pypyprefix}/lib* -type d -name 'plat-*' -and \( -not -name 'plat-linux2' -or -not -name 'plat-generic' \) | xargs rm -vrf
# Remove shebang lines from .py files that aren't executable, and
# remove executability from .py files that don't have a shebang line:
find %{buildroot} -name "*.py" \( \
\( \! -perm /u+x,g+x,o+x -exec sed -e '/^#!/Q 0' -e 'Q 1' {} \; \
-print -exec sed -i '1d' {} \; \) \
-o \( \
-perm /u+x,g+x,o+x ! -exec grep -m 1 -q '^#!' {} \; \
-print -exec chmod a-x {} \; \) \)
mkdir -p %{buildroot}/%{pypyprefix}/site-packages
# pypy uses .pyc files by default (--objspace-usepycfiles), but has a slightly
# different bytecode format to CPython. It doesn't use .pyo files: the -O flag
# is treated as a "dummy optimization flag for compatibility with C Python"
# Bytecompile all of the .py files we ship, using our pypy binary, giving us
# .pyc files for pypy. The script actually does the work twice (passing in -O
# the second time) but it's simplest to reuse that script.
#
# The script has special-casing for .py files below /usr/lib{64}/python[0-9].[0-9]
# but given that we're installing into a different path, the supplied "default"
# implementation gets used instead.
#
# Note that some of the test files deliberately contain syntax errors, so
# we pass 0 for the second argument ("errors_terminate"):
#
export LD_LIBRARY_PATH=%{buildroot}/%{_libdir}/
# mv: don't use symlinks as script calls test -x, which fails on symlinks
/usr/lib/rpm/brp-python-bytecompile %{buildroot}/%{pypyprefix}/pypy 0
#TODO: we can write a test in Python, but check at least few modules from stdlib
for module in os pdb antigravity bisect; do
if [ ! -f %{buildroot}/%{pypyprefix}/lib-python/%{py_ver}/${module}.pyc ]; then
echo "ERROR: %{buildroot}/%{pypyprefix}/lib-python/%{py_ver}/${module}.pyc is missing" >&2
echo " brp-python-bytecode have probably failed"
exit 1
fi
done
# Header files for C extension modules.
# Upstream's packaging process (pypy/tool/release/package.py)
# creates an "include" subdir and copies all *.h/*.inl from "include" there
# (it also has an apparently out-of-date comment about copying them from
# pypy/_interfaces, but this directory doesn't seem to exist, and it doesn't
# seem to do this as of 2011-01-13)
# FIXME: arguably these should be instead put into a subdir below /usr/include,
# it's not yet clear to me how upstream plan to deal with the C extension
# interface going forward, so let's just mimic upstream for now.
install -d %{buildroot}/%{pypyprefix}/include
cp include/*.h %{buildroot}/%{pypyprefix}/include
# Capture the RPython source code files from the build within the debuginfo
# package (rhbz#666975)
#%%define pypy_debuginfo_dir /usr/src/debug/pypy-%%{version}-src
#mkdir -p %%{buildroot}%%{pypy_debuginfo_dir}
# copy over everything:
#cp -a pypy %%{buildroot}%%{pypy_debuginfo_dir}
# ...then delete files that aren't .py files:
#find %%{buildroot}%%{pypy_debuginfo_dir} -type f -a \! \( -name "*.py" \
# -o -name "Makefile" \
# -o -name "typeids.txt" \
# -o -name "dynamic-symbols-*" \) -delete
# Install JIT trace mode for Emacs:
install -Dm644 rpython/jit/tool/pypytrace-mode.el %{buildroot}%{_datadir}/emacs/site-lisp/pypytrace-mode.el
# Install JIT trace VIM syntax file:
install -Dm644 rpython/jit/tool/pypytrace.vim %{buildroot}%{_datadir}/vim/site/syntax/jinja.vim
# Install RPM macros:
install -Dm644 %{SOURCE1} %{buildroot}/%{_sysconfdir}/rpm/macros.pypy
%fdupes -s %{buildroot}/%{pypyprefix}/lib-python/%{py_ver}/
%fdupes -s %{buildroot}/%{pypyprefix}/lib_pypy
%check
%if %{with tests}
time %{buildroot}/%{pypyprefix}/pypy pytest.py pypy/ || :
%endif
%files
%defattr(-,root,root,-)
%doc LICENSE README.rst
%{_bindir}/pypy
%{pypyprefix}/pypy
%{_libdir}/libpypy-c.so
%files libs
%defattr(-,root,root,-)
%doc LICENSE
%dir %{pypyprefix}
%{pypyprefix}/lib-python/
%{pypyprefix}/lib_pypy/
%exclude %{pypyprefix}/lib_pypy/testcapi_long.h
%exclude %{pypyprefix}/lib_pypy/_testcapimodule.c
%exclude %{pypyprefix}/lib_pypy/_ctypes_test.c
%{pypyprefix}/site-packages/
#testsuite
%exclude %{pypyprefix}/lib-python/%{py_ver}/ctypes/test/
%exclude %{pypyprefix}/lib-python/%{py_ver}/distutils/tests/
%exclude %{pypyprefix}/lib-python/%{py_ver}/json/tests/
%exclude %{pypyprefix}/lib-python/%{py_ver}/lib-tk/test/
%exclude %{pypyprefix}/lib-python/%{py_ver}/lib2to3/tests/
%exclude %{pypyprefix}/lib-python/%{py_ver}/sqlite3/test/
%exclude %{pypyprefix}/lib-python/%{py_ver}/test/
#tk
%exclude %{pypyprefix}/lib-python/%{py_ver}/lib-tk/
%exclude %{pypyprefix}/lib_pypy/_tkinter/
#idle
%exclude %{pypyprefix}/lib-python/%{py_ver}/idlelib/
# more required exclude related to "E: devel-file-in-non-devel-package"
%exclude %{pypyprefix}/lib_pypy/_audioop_cffi.c
%exclude %{pypyprefix}/lib_pypy/_curses_cffi.c
%exclude %{pypyprefix}/lib_pypy/_gdbm_cffi.c
%exclude %{pypyprefix}/lib_pypy/_pwdgrp_cffi.c
%exclude %{pypyprefix}/lib_pypy/_sqlite3_cffi.c
%exclude %{pypyprefix}/lib_pypy/_syslog_cffi.c
%exclude %{pypyprefix}/lib_pypy/cffi/_cffi_include.h
%exclude %{pypyprefix}/lib_pypy/cffi/parse_c_type.h
%files devel
%defattr(-,root,root,-)
%{pypyprefix}/include/
%{pypyprefix}/lib_pypy/testcapi_long.h
%{pypyprefix}/lib_pypy/_testcapimodule.c
%{pypyprefix}/lib_pypy/_ctypes_test.c
%{_sysconfdir}/rpm/macros.pypy
%files testsuite
%defattr(0644,root,root,0755)
%{pypyprefix}/lib-python/%{py_ver}/ctypes/test/
%{pypyprefix}/lib-python/%{py_ver}/distutils/tests/
%{pypyprefix}/lib-python/%{py_ver}/json/tests/
%{pypyprefix}/lib-python/%{py_ver}/lib-tk/test/
%{pypyprefix}/lib-python/%{py_ver}/lib2to3/tests/
%{pypyprefix}/lib-python/%{py_ver}/sqlite3/test/
%{pypyprefix}/lib-python/%{py_ver}/test/
%{pypyprefix}/lib-python/%{py_ver}/email/test/
%{pypyprefix}/lib-python/%{py_ver}/lib2to3/fixes/__init__.py
# last one only to avoid dangling-symlink warning related to fdupes call
%files idle
%defattr(644, root, root, 755)
%{pypyprefix}/lib-python/%{py_ver}/idlelib/
%files tk
%defattr(644, root, root, 755)
%{pypyprefix}/lib-python/%{py_ver}/lib-tk/
%{pypyprefix}/lib_pypy/_tkinter/
%files emacs
%defattr(-,root,root,-)
%{_datadir}/emacs/site-lisp/pypytrace-mode.el*
%files vim
%defattr(-,root,root,-)
%{_datadir}/vim
%changelog
+22
View File
@@ -0,0 +1,22 @@
<constraints>
<hardware>
<physicalmemory>
<!-- Actually we only need >4G on x86_64, 2G should be sufficient on 32-bit machines -->
<size unit="G">8</size>
</physicalmemory>
<disk>
<size unit="G">30</size>
</disk>
</hardware>
<overwrite>
<conditions>
<arch>i586</arch>
<arch>x86_64</arch>
</conditions>
<hardware>
<cpu>
<flag>sse2</flag>
</cpu>
</hardware>
</overwrite>
</constraints>
+23
View File
@@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
+1
View File
@@ -0,0 +1 @@
.osc
+17
View File
@@ -0,0 +1,17 @@
---
rpython/translator/platform/__init__.py | 2 ++
1 file changed, 2 insertions(+)
Index: pypy-2.4.0-src/rpython/translator/platform/__init__.py
===================================================================
--- pypy-2.4.0-src.orig/rpython/translator/platform/__init__.py
+++ pypy-2.4.0-src/rpython/translator/platform/__init__.py
@@ -139,6 +139,8 @@ class Platform(object):
self._handle_error(returncode, stdout, stderr, outname)
def _handle_error(self, returncode, stdout, stderr, outname):
+ for line in stdout.splitlines():
+ log.message(line)
if returncode != 0:
errorfile = outname.new(ext='errors')
errorfile.write(stderr, 'wb')
+9
View File
@@ -0,0 +1,9 @@
%__pypy /usr/bin/pypy
%pypy_ver %(%{__pypy} -c "import sys; v=sys.version_info[:2]; print '%%d.%%d'%%v" 2>/dev/null || echo PYTHON-NOT-FOUND)
%pypy_sitelib %(%{__pypy} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
%pypy_sitearch %(%{__pypy} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")
%pypy_prefix %(%{__pypy} -c "import sys; print sys.prefix" 2>/dev/null || echo PYTHON-NOT-FOUND)
%pypy_libdir %{pypy_prefix}/%{_lib}/pypy%{pypy_ver}
%pypy_incdir %{pypy_prefix}/include/pypy%{pypy_ver}
%pypy_sitedir %{pypy_libdir}/site-packages
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0db58d7a75c0d3ed81a88269e717f49bb59551dd29d5d4d25860c0e410375634
size 3433008
@@ -0,0 +1,17 @@
Index: pypy-5.1.0-src/rpython/tool/ansi_print.py
===================================================================
--- pypy-5.1.0-src.orig/rpython/tool/ansi_print.py
+++ pypy-5.1.0-src/rpython/tool/ansi_print.py
@@ -67,11 +67,7 @@ class AnsiLogger(object):
def dot(self):
"""Output a mandelbrot dot to the terminal."""
- global wrote_dot
- if not wrote_dot:
- mandelbrot_driver.reset()
- wrote_dot = True
- mandelbrot_driver.dot()
+ pass
def debug(self, info):
"""For messages that are dropped. Can be monkeypatched in tests."""
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:16bab9501e942c0704abbf9cd6c4e950c6a76dc226cf1e447ea084916aef4714
size 17349112
+44
View File
@@ -0,0 +1,44 @@
Index: pypy-2.6.1-src/lib_pypy/_curses_build.py
===================================================================
--- pypy-2.6.1-src.orig/lib_pypy/_curses_build.py
+++ pypy-2.6.1-src/lib_pypy/_curses_build.py
@@ -1,5 +1,9 @@
from cffi import FFI
+import sys, os
+incdirs = []
+if os.path.isfile("/usr/include/ncurses/panel.h"):
+ incdirs = ["/usr/include/ncurses/"]
ffi = FFI()
ffi.set_source("_curses_cffi", """
@@ -41,7 +45,7 @@ int _m_ispad(WINDOW *win) {
void _m_getsyx(int *yx) {
getsyx(yx[0], yx[1]);
}
-""", libraries=['ncurses', 'panel'])
+""", libraries=['ncurses', 'panel'], include_dirs=incdirs)
ffi.cdef("""
Index: pypy-2.6.1-src/lib_pypy/_tkinter/tklib_build.py
===================================================================
--- pypy-2.6.1-src.orig/lib_pypy/_tkinter/tklib_build.py
+++ pypy-2.6.1-src/lib_pypy/_tkinter/tklib_build.py
@@ -24,10 +24,15 @@ elif sys.platform == 'darwin':
else:
for _ver in ['', '8.6', '8.5', '']:
incdirs = ['/usr/include/tcl' + _ver]
- linklibs = ['tcl' + _ver, 'tk' + _ver]
libdirs = []
if os.path.isdir(incdirs[0]):
break
+ for _ver in ['', '8.6', '8.5', '']:
+ for arch in ['', '64', '32', '']:
+ linklibs = ['tcl' + _ver, 'tk' + _ver]
+ if os.path.isfile(
+ os.path.join('/usr/lib' + arch, 'lib' + linklibs[0] + '.so')):
+ break
config_ffi = FFI()
config_ffi.cdef("""
+7
View File
@@ -0,0 +1,7 @@
# RPM macros are not meant to be modifiable:
addFilter("non-conffile-in-etc /etc/rpm/macros.pypy")
# ignore duplicates of pyc/pyo files
# a) /usr/bin/pypy itself is 44MB (on 64bits), so we can't gain anything reasonable
# b) it confuses testing
addFilter("files-duplicate.*pyc")
addFilter("files-duplicate.*pyo")