In python the 'purelib' and 'platlib' paths should contain 'site-packages'
however the original pypy code does not thus the patch did not either however
this is not consistent with distutils/sysconfig.py.
Changes:
1) Fix installation with LOCALBASE!=/usr/local
2) Properly detect the number of CPUs for concurrent builds
Notes:
1) The cffi based module _sqlite3.py needs to know where to find
sqlite3.h, which is hard-coded into the file, however the '.so'
created is based on the checksum of _sqlite3.py that changes
when changing the hard-coded path. Change this by properly
using the LOCALBASE environment variable.
2) This change does not modify the behaviour of the port as this
port runs the compilation stage directly, and correctly, however
this change will be upstreamed.
Changes:
* Strip cffi libraries
Outstanding items:
* Fix virtualenv bug (ports/183795)
* Update memory and compiler times (Makefile, wiki)
ChangeLog:
* Our Garbage Collector is now "incremental". It should avoid almost all
pauses due to a major collection taking place. Previously, it would pause
the program (rarely) to walk all live objects, which could take
arbitrarily long if your process is using a whole lot of RAM. Now the
same work is done in steps. This should make PyPy more responsive, e.g.
in games. There are still other pauses, from the GC and the JIT, but
they should be on the order of 5 milliseconds each.
* The JIT counters for hot code were never reset, which meant that a
process running for long enough would eventually JIT-compile more and
more rarely executed code. Not only is it useless to compile such code,
but as more compiled code means more memory used, this gives the
impression of a memory leak. This has been tentatively fixed by
decreasing the counters from time to time.
* 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. You need to
install NumPy separately with a virtualenv: pip install
git+https://bitbucket.org/pypy/numpy.git; or directly: git clone
https://bitbucket.org/pypy/numpy.git; cd numpy; pypy setup.py install.
* 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
Also, require a modern compiler that can handle c11. Although this is
not strictly required (just about any C compiler would do) the base GCC
compiler has a memory bug and thus cannot reasonably compile the ports.
Be more aggresive in cleaning up temporary directories that pypy leaves
behind in the copied directories (files and directories in __pycache__).
Only .so and .pyc should be left behind in those __pycache__ directories
and no subdirectories.
Also remove the manual requirement for building lang/pypy. Redports
successfully built lang/pypy3-devel (with leftovers) in 19 hours.
Reported by: Redports
pypy-devel is intended as a staging ground for beta releases and - while
no beta releases are available - snapshots of pypy default branch.
While introducing pypy-devel to build logic has been reworked to better
accomodate pypy3. The lib-python/2.7 and lib_pypy folders are not renamed
after extraction (with only symbolic links used to emulate the structure).
PyPy still expects the standard structure and the symbolic links satisfy
this change.
The devel port was requested by mva@ to better support commercial clients.