aboutsummaryrefslogtreecommitdiffstats
path: root/community/py3-numpy
diff options
context:
space:
mode:
authorFrancesco Colista <fcolista@alpinelinux.org>2019-08-07 20:25:22 +0000
committerFrancesco Colista <fcolista@alpinelinux.org>2019-08-07 20:25:22 +0000
commitbd5ff7c1227a2319a838ee7436db75bd99179f2e (patch)
treeaa85ce31f38fbe8e92f2cf43fe41225af0e4694d /community/py3-numpy
parent582a1403d093affb03380b0f585a195cb525bd35 (diff)
downloadaports-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/APKBUILD54
-rw-r--r--community/py3-numpy/numpy-1.17.0-musl.patch39
-rw-r--r--community/py3-numpy/site.cfg157
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