- Add back PYPY_BITS as it is required to define the names of two files,
depending if pypy is translated for 32 or 64 bit systems [1].
- Change maintainership to python@ [2][3][4]
Reported by: pkg-fallout [1]
Approved by: koobs@ [2]
PR: 204743 [3]
Submitted by: robak@ [4]
There are two reasons to rename this port.
1) Upstream never liked it and requested -spark be the suffix instead
2) An ongoing attempt to fix lang/spark may result in a number of slave
ports with a -spark suffix, so this keeps up consistency as all of
these ports only exist to support that port.
The BFD option is supported to be off by default on FreeBSD9, but the
upgrade to version 3.0.0 re-enabled it because the logic to prevent this
was faulty. Using the immediate evaluation (:=) for the options
definition restores the intended configuration.
Reported by: pkg-fallout
Changes:
- Remove plist-sub PYPY_BITS
- Switch PYPY_VER to PYPY_CFFI_VER
Change Log:
- Highlighted features:
- Update cffi to 1.3.1.
- Update Python implementation to 2.7.10.
- New vectorisation optimisations added to the JIT. To enable add
--jit vec=1 (or --jit vec_all=1 for all vectorisation optimisations).
- Improved JIT warmup time of ~20%.
- Reduced memory consumption by ~20%.
- Numpy's ndarray and numeric dtypes are almost feature complete.
- Numpy's linalg, random and fft have been implemented as cffi modules using
the same underlying libraries as upstream.
- Bug Fixes
- Fix a bug when unrolling double loops in JITted code
- Fix multiple memory leaks in the ssl module, one of which affected CPython
as well (thanks to Alex Gaynor for pointing those out)
- Use pkg-config to find ssl headers on OS-X
- Fix a crash on non-linux when running more than 20 threads
- In cffi, ffi.new_handle() is more cpython compliant
- Accept unicode in functions inside the _curses cffi backend exactly like
cpython
- Fix a segfault in itertools.islice()
- Fix ndarray.copy() for upstream compatability when copying non-contiguous
arrays
- Fix assumption that lltype.UniChar is unsigned
- Fix a subtle bug with stacklets on shadowstack
- Improve support for the cpython capi in cpyext (our capi compatibility
layer). Fixing these issues inspired some thought about cpyext in general,
stay tuned for more improvements
- When loading dynamic libraries, in case of a certain loading error, retry
loading the library assuming it is actually a linker script, like on Arch
and Gentoo
- New features
- Internal cleanup of RPython class handling
- Support stackless and greenlets on PPC machines
- Improve debug logging in subprocesses: use PYPYLOG=jit:log.%d for example
to have all subprocesses write the JIT log to a file called ?log.%d?, with
?%d? replaced with the subprocess? PID.
- Support PyOS_double_to_string in our cpyext capi compatibility layer
- Add an optimization pass to vectorize loops using x86 SIMD intrinsics.
- Support __stdcall on Windows in CFFI
- Improve debug logging when using PYPYLOG=???
- Deal with platforms with no RAND_egd() in OpenSSL
- Numpy
- Improve support for __array_interface__
- Propagate most NAN mantissas through float16-float32-float64 conversions
- Add support for ndarray.ctypes
- Fast path for mixing numpy scalars and floats
- Add support for creating Fortran-ordered ndarrays
- Fix casting failures in linalg (by extending ufunc casting)
- Recognize and disallow (for now) pickling of ndarrays with objects embedded
in them
- Performance improvements and refactorings
- Improvements in slicing byte arrays
- Improvements in enumerate()
- Silence some warnings while translating
- Reuse hashed keys across dictionaries and sets
- Refactor JIT interals to improve warmup time by 20% or so at the cost of a
minor regression in JIT speed
- Recognize patterns of common sequences in the JIT backends and optimize them
- Make the garbage collecter more incremental over external_malloc() calls
- Share guard resume data where possible which reduces memory usage
- Fast path for zip(list, list)
- Reduce the number of checks in the JIT for lst[a:]
- Move the non-optimizable part of callbacks outside the JIT
- Factor in field immutability when invalidating heap information
- Unroll itertools.izip_longest() with two sequences
- Minor optimizations after analyzing output from vmprof and trace logs
- Remove many class attributes in rpython classes
- Handle getfield_gc_pure* and getfield_gc_* uniformly in heap.py
- Improve simple trace function performance by lazily calling fast2locals and
locals2fast only if truly necessary
Submitted by: robak@
PR: 204743 (with modification)
The UET_Address attribute has been removed for gcc6. It was intended for
internal use only, but it wasn't used. Rather than apply this patch for
GCC6 only through the EXTRA_PATCHES mechanism, just unconditionally remove
the check regardless of gnat used to build it. (It should not make any
difference). No bump required.
This will be the successor to lang/gcc5-aux. GCC6 is still in development
although the Ada front end is generally stable. Once gcc6-aux is released,
the lang/gcc-aux port will likely be removed. For that to happen, the
gnatdroid compilers need to move from it to gcc5-aux or gcc6-aux. The
Ada framework will also move to gcc6-aux by default as well.
This is the first major release of FreePascal in nearly four years.
There are a ton of new features, way more to list here. see:
http://wiki.freepascal.org/FPC_New_Features_3.0
Several new unit ports were added, some were contracted. Most of
those were absorbed into the main FPC packages, but two units are
no longer supported: sndfile and matroshka.
All 99 remaining ports (including Lazarus ports) were build tested
on FreeBSD i386 and amd64 Release 10.2
Similar to lang/gnatdroid-armv7, lang/gnatdroid-x86 is a cross-compiler
targetting Android. The former targets ARMv7 processors while the latter
targets Android on x86 (32-bit). The latter also runs on Virtualbox as
a bonus. The new ports are implemented as slaves to the ARMv7 versions.
The GNAT ACATS were run, and it passed every test except CXG2024,
"accuracy of multiplication and division of mixed decimal and binary
fixed point numbers".
subtest 13: expected -51.00 got 50.0
subtest 14: expected 51.0 got 50.0
This is probably a rounding error unique to 32-bit x86. Overall this
version passed better than gnatdroid-armv7 because unwind is supported,
enabling check check support.
Also added:
lang/gnatdroid-sysroot-x86 (KitKat and Lollipop API)
lang/gnatdroid-binutils-x86
Despite the desciption, C++, Fortran and Objective-C should also work
well (in addition to advertised C and Ada frontends).
===
The gnatdroid-x86 port builds a C/Ada cross-compiler based on GCC 4.9
that targets the Android operating system (up to version 5.0, API level
21) running on x86 or x86_64 architecture (version 7). This produces
binaries that run natively on x86-based Android devices.
to the versioned executable (gfortran48, gcc48, and g++48).
These standard names are going to remain in place in case of version
upgrades and constitute the default, and expected by users, names.
Suggested by: db
Reviewed by: db