Besides official support for newer Python, this updates bring typing and
threading support as well as a few new functions for linear algebra like
matvec and vecmat. Went through a bulk by tb@.
tweaks and ok tb@
numpy are no longer ABI-compatible following the update to numpy 2.x.
this may over-bump slightly, but I've seen problems with at least pandas
and scipy, and identifying others individually is too time-consuming.
This will break a few ports and fix some others. The required clean up
work in the consumers will be committed by daniel shortly.
tested on amd64, aarch64, sparc64, i386 and in an amd64 bulk by me
and in real world scenarios by various.
from daniel
Thanks to sthen for being way too efficient at trawling through issue
trackers and locating the workaround for an aarch64 ICE amazingly quickly.
add annotations near COMPILER for some other ports that don't have
COMPILER_LIBCXX in WANTLIB
not changing the actual compiler version of anything here (some could
possibly remove the COMPILER line completely where they only used
COMPILER due to an old WANTLIB entry which has since stopped using
C++, but changing that is too likely to break things)
To be reconsidered when we move to lang/gcc/11 or newer, which
supports -mbranch-protection. The fix isn't complete since some ports
may use BTI-incompatible fortran code through shared libraries.
ok tb@ phessler@ pascal@ sthen@
runtime at the start of running crackfortran.py but not used until slightly
later which can result in issues with dpb junking (as reported by naddy in
scipy) - also forcing the dep ensures consistent behaviour.
This update merges math/{cblas,blas} into math/lapack and drops the
documentation, otherwise the dependency on doxygen creates a loop. (discovered
by jca@, merci). The whole update simplifies the situation (requested by
sthen@)
Bump all consumers
Feedback from many, survived in a bulk build and no objections from steven@
(maintainer)
Tested on amd64, arm64, i386, riscv64 and sparc64 with sthen doing a bulk
on i386. Let's sort out the remaining fallout in tree.
from daniel who did the heavy lifting
tested & ok jca sthen tb
setuptools (it's used as a package locator but importlib.metadata in
newer Python core or the external importlib_metadata are preferred).
So drop the RDEP in that case (it's still kept for py27) and bump
revisions.
and it's been through most of a bulk on i386 by me albeit with python
default switched to 3.10 (plus various consumers tested separately with
3.9).
- i386 is using --disable-optimization for now; 1.20 added cpu optimizations
(SSE, AVX, etc) with runtime detect, but with any optimization level we're
hitting segfaults at runtime in numpy's own tests, and when building other
ports that use numpy (e.g. makehuman)
- macppc segfaults in numpy's own tests - this isn't new for this version,
1.19.5 failed in this way on OpenBSD too, but various other runtime use
is working (e.g. able to build py-scipy and makehuman with this).
old patches were supposedly needed to build numpy itself and scipy;
they are no longer needed for those so I've removed them.
Since ports/lang/gcc doesn't have riscv64 support yet this helps us
unlock a bunch of ports there. Disabling fortran/blas/lapack means that
some feature are missing. This is mitigated by numpy shipping a minimal
lapack copy translated to C.
This was a group effort and it already passed several bulks
on various archs.
Main diffs from jca@, sthen@.
Tested in bulk by sthen@ and naddy@.
Input from Daniel Dickman, tb@, Martin Reindl, ajacotot@
OK sthen@, kmos@
The main change is to switch from sourceforge to pypi for hosting of the
distfile as the latest versions of numpy no longer seem to be published to
sourceforge.