diff options
author | Francesco Colista <fcolista@alpinelinux.org> | 2019-08-07 20:25:22 +0000 |
---|---|---|
committer | Francesco Colista <fcolista@alpinelinux.org> | 2019-08-07 20:25:22 +0000 |
commit | bd5ff7c1227a2319a838ee7436db75bd99179f2e (patch) | |
tree | aa85ce31f38fbe8e92f2cf43fe41225af0e4694d /community/py3-numpy | |
parent | 582a1403d093affb03380b0f585a195cb525bd35 (diff) | |
download | aports-bd5ff7c1227a2319a838ee7436db75bd99179f2e.tar.bz2 aports-bd5ff7c1227a2319a838ee7436db75bd99179f2e.tar.xz |
community/py3-numpy: upgrade to 1.17.0, removed python2
Diffstat (limited to 'community/py3-numpy')
-rw-r--r-- | community/py3-numpy/APKBUILD | 54 | ||||
-rw-r--r-- | community/py3-numpy/numpy-1.17.0-musl.patch | 39 | ||||
-rw-r--r-- | community/py3-numpy/site.cfg | 157 |
3 files changed, 250 insertions, 0 deletions
diff --git a/community/py3-numpy/APKBUILD b/community/py3-numpy/APKBUILD new file mode 100644 index 0000000000..638ac5dc55 --- /dev/null +++ b/community/py3-numpy/APKBUILD @@ -0,0 +1,54 @@ +# Contributor: Francesco Colista <fcolista@alpinelinux.org> +# Contributor: Jakub Jirutka <jakub@jirutka.cz> +# Contributor: Martell Malone <martellmalone@gmail.com> +# Maintainer: Francesco Colista <fcolista@alpinelinux.org> +pkgname=py3-numpy +_pkgname=numpy +pkgver=1.17.0 +pkgrel=0 +pkgdesc="Scientific tools for Python" +url="https://www.numpy.org/" +arch="all" +license="BSD-3-Clause" +options="!check" +replaces="py-numpy" +makedepends="python3-dev cython openblas-dev>=0.3.0 + gfortran py3-nose libbsd-dev" +subpackages="$pkgname-dev + $pkgname-doc + $pkgname-f2py::noarch" +source="https://github.com/numpy/numpy/releases/download/v$pkgver/$_pkgname-$pkgver.tar.gz + numpy-1.17.0-musl.patch + site.cfg" +builddir="$srcdir/$_pkgname-$pkgver" + +prepare() { + default_prepare + cp "$srcdir"/site.cfg "$builddir"/ +} + +build() { + export Atlas=None + LDFLAGS="$LDFLAGS -shared" + python3 setup.py build config_fc --fcompiler=gnu95 +} + +package() { + python3 setup.py install --prefix=/usr --root="$pkgdir" \ + config_fc --fcompiler=gnu95 + + install -D -m 644 LICENSE.txt \ + "$pkgdir"/usr/share/licenses/$pkgname/LICENSE +} + +f2py() { + pkgdesc="f2py for numpy (for python3)" + depends="py3-numpy=$pkgver-r$pkgrel python3-dev" + install_if="$pkgname-f2py=$pkgver-r$pkgrel python3" + mkdir -p "$subpkgdir"/usr/bin + mv "$pkgdir"/usr/bin/f2py* "$subpkgdir"/usr/bin/ +} + +sha512sums="24ed1c509c483e86c10ed8ed63d3a6efb3fc46eaf1bbbd0712e231a546c6ff80750cdd11f7e4a8a59848425a050f8f7fa358fcb665d3bcf3b878aedbdfb8f7b5 numpy-1.17.0.tar.gz +f9f2a89ad4409b14e2b46acedadfc5e8d79a749af6cad3c8d168bcaf21ca4379cd03be95f22485c35b41114604599bbeb9adaa96dff4194b01dc73e90c04a29f numpy-1.17.0-musl.patch +21ca8db304cbbf5949f07702f2a42bb5e5a0d641921e36649555a41b0e48f04e96f53760417823177ac27f6de24b2191e6e1d5f0eb393beafa29f7484e23284f site.cfg" diff --git a/community/py3-numpy/numpy-1.17.0-musl.patch b/community/py3-numpy/numpy-1.17.0-musl.patch new file mode 100644 index 0000000000..16265786f8 --- /dev/null +++ b/community/py3-numpy/numpy-1.17.0-musl.patch @@ -0,0 +1,39 @@ +diff --git a/numpy/core/include/numpy/npy_endian.h b/numpy/core/include/numpy/npy_endian.h +index 44cdffd..f120094 100644 +--- a/numpy/core/include/numpy/npy_endian.h ++++ b/numpy/core/include/numpy/npy_endian.h +@@ -12,7 +12,7 @@ + #if defined(NPY_HAVE_ENDIAN_H) + #include <endian.h> + #elif defined(NPY_HAVE_SYS_ENDIAN_H) +- #include <sys/endian.h> ++ #include <bsd/sys/endian.h> + #endif + + #if defined(BYTE_ORDER) && defined(BIG_ENDIAN) && defined(LITTLE_ENDIAN) +diff --git a/numpy/core/setup.py b/numpy/core/setup.py +index 3385027..976e782 100644 +--- a/numpy/core/setup.py ++++ b/numpy/core/setup.py +@@ -290,7 +290,7 @@ def check_types(config_cmd, ext, build_dir): + if res: + private_defines.append(('HAVE_ENDIAN_H', 1)) + public_defines.append(('NPY_HAVE_ENDIAN_H', 1)) +- res = config_cmd.check_header("sys/endian.h") ++ res = config_cmd.check_header("bsd/sys/endian.h") + if res: + private_defines.append(('HAVE_SYS_ENDIAN_H', 1)) + public_defines.append(('NPY_HAVE_SYS_ENDIAN_H', 1)) +diff --git a/numpy/core/setup_common.py b/numpy/core/setup_common.py +index 307fab3..916a216 100644 +--- a/numpy/core/setup_common.py ++++ b/numpy/core/setup_common.py +@@ -120,7 +120,7 @@ OPTIONAL_HEADERS = [ + "emmintrin.h", # SSE2 + "immintrin.h", # AVX + "features.h", # for glibc version linux +- "xlocale.h", # see GH#8367 ++ "locale.h", # see GH#8367 + "dlfcn.h", # dladdr + "sys/mman.h", #madvise + ] diff --git a/community/py3-numpy/site.cfg b/community/py3-numpy/site.cfg new file mode 100644 index 0000000000..effb46f110 --- /dev/null +++ b/community/py3-numpy/site.cfg @@ -0,0 +1,157 @@ +# This file provides configuration information about non-Python dependencies for +# numpy.distutils-using packages. Create a file like this called "site.cfg" next +# to your package's setup.py file and fill in the appropriate sections. Not all +# packages will use all sections so you should leave out sections that your +# package does not use. + +# To assist automatic installation like easy_install, the user's home directory +# will also be checked for the file ~/.numpy-site.cfg . + +# The format of the file is that of the standard library's ConfigParser module. +# +# http://www.python.org/doc/current/lib/module-ConfigParser.html +# +# Each section defines settings that apply to one particular dependency. Some of +# the settings are general and apply to nearly any section and are defined here. +# Settings specific to a particular section will be defined near their section. +# +# libraries +# Comma-separated list of library names to add to compile the extension +# with. Note that these should be just the names, not the filenames. For +# example, the file "libfoo.so" would become simply "foo". +# libraries = lapack,f77blas,cblas,atlas +# +# library_dirs +# List of directories to add to the library search path when compiling +# extensions with this dependency. Use the character given by os.pathsep +# to separate the items in the list. Note that this character is known to +# vary on some unix-like systems; if a colon does not work, try a comma. +# This also applies to include_dirs and src_dirs (see below). +# On UN*X-type systems (OS X, most BSD and Linux systems): +# library_dirs = /usr/lib:/usr/local/lib +# On Windows: +# library_dirs = c:\mingw\lib,c:\atlas\lib +# On some BSD and Linux systems: +# library_dirs = /usr/lib,/usr/local/lib +# +# include_dirs +# List of directories to add to the header file earch path. +# include_dirs = /usr/include:/usr/local/include +# +# src_dirs +# List of directories that contain extracted source code for the +# dependency. For some dependencies, numpy.distutils will be able to build +# them from source if binaries cannot be found. The FORTRAN BLAS and +# LAPACK libraries are one example. However, most dependencies are more +# complicated and require actual installation that you need to do +# yourself. +# src_dirs = /home/rkern/src/BLAS_SRC:/home/rkern/src/LAPACK_SRC +# +# search_static_first +# Boolean (one of (0, false, no, off) for False or (1, true, yes, on) for +# True) to tell numpy.distutils to prefer static libraries (.a) over +# shared libraries (.so). It is turned off by default. +# search_static_first = false + +# Defaults +# ======== +# The settings given here will apply to all other sections if not overridden. +# This is a good place to add general library and include directories like +# /usr/local/{lib,include} +# +#[DEFAULT] +#library_dirs = /usr/local/lib +#include_dirs = /usr/local/include + +# Atlas +# ----- +# Atlas is an open source optimized implementation of the BLAS and Lapack +# routines. Numpy will try to build against Atlas by default when available in +# the system library dirs. To build numpy against a custom installation of +# Atlas you can add an explicit section such as the following. Here we assume +# that Atlas was configured with ``prefix=/opt/atlas``. +# +# [atlas] +# library_dirs = /opt/atlas/lib +# include_dirs = /opt/atlas/include + +# OpenBLAS +# -------- +# OpenBLAS is another open source optimized implementation of BLAS and Lapack +# and can be seen as an alternative to Atlas. To build numpy against OpenBLAS +# instead of Atlas, use this section instead of the above, adjusting as needed +# for your configuration (in the following example we installed OpenBLAS with +# ``make install PREFIX=/opt/OpenBLAS``. +# +# **Warning**: OpenBLAS, by default, is built in multithreaded mode. Due to the +# way Python's multiprocessing is implemented, a multithreaded OpenBLAS can +# cause programs using both to hang as soon as a worker process is forked on +# POSIX systems (Linux, Mac). +# This is fixed in Openblas 0.2.9 for the pthread build, the OpenMP build using +# GNU openmp is as of gcc-4.9 not fixed yet. +# Python 3.4 will introduce a new feature in multiprocessing, called the +# "forkserver", which solves this problem. For older versions, make sure +# OpenBLAS is built using pthreads or use Python threads instead of +# multiprocessing. +# (This problem does not exist with multithreaded ATLAS.) +# +# http://docs.python.org/3.4/library/multiprocessing.html#contexts-and-start-methods +# https://github.com/xianyi/OpenBLAS/issues/294 +# +[openblas] +libraries = openblas +library_dirs = /usr/lib +include_dirs = /usr/include + +# MKL +#---- +# MKL is Intel's very optimized yet proprietary implementation of BLAS and +# Lapack. +# For recent (9.0.21, for example) mkl, you need to change the names of the +# lapack library. Assuming you installed the mkl in /opt, for a 32 bits cpu: +# [mkl] +# library_dirs = /opt/intel/mkl/9.1.023/lib/32/ +# lapack_libs = mkl_lapack +# +# For 10.*, on 32 bits machines: +# [mkl] +# library_dirs = /opt/intel/mkl/10.0.1.014/lib/32/ +# lapack_libs = mkl_lapack +# mkl_libs = mkl, guide + +# UMFPACK +# ------- +# The UMFPACK library is used in scikits.umfpack to factor large sparse matrices. +# It, in turn, depends on the AMD library for reordering the matrices for +# better performance. Note that the AMD library has nothing to do with AMD +# (Advanced Micro Devices), the CPU company. +# +# UMFPACK is not needed for numpy or scipy. +# +# http://www.cise.ufl.edu/research/sparse/umfpack/ +# http://www.cise.ufl.edu/research/sparse/amd/ +# http://scikits.appspot.com/umfpack +# +#[amd] +#amd_libs = amd +# +#[umfpack] +#umfpack_libs = umfpack + +# FFT libraries +# ------------- +# There are two FFT libraries that we can configure here: FFTW (2 and 3) and djbfft. +# Note that these libraries are not needed for numpy or scipy. +# +# http://fftw.org/ +# http://cr.yp.to/djbfft.html +# +# Given only this section, numpy.distutils will try to figure out which version +# of FFTW you are using. +#[fftw] +#libraries = fftw3 +# +# For djbfft, numpy.distutils will look for either djbfft.a or libdjbfft.a . +#[djbfft] +#include_dirs = /usr/local/djbfft/include +#library_dirs = /usr/local/djbfft/lib |