development/numpy3: Updated for version 1.11.1

Signed-off-by: Christoph Willing <chris.willing@iinet.net.au>
This commit is contained in:
Christoph Willing 2016-08-25 11:26:04 +10:00 committed by David Spencer
parent 70857804a6
commit 619e8a6976
5 changed files with 75 additions and 30 deletions

View file

@ -9,13 +9,26 @@ interfacing with general-purpose data-base applications.
There are also basic facilities for discrete fourier transform, basic There are also basic facilities for discrete fourier transform, basic
linear algebra and random number generation. linear algebra and random number generation.
If you need to build numpy for debugging, set DEBUG=y. If software If you need to build numpy for debugging, set DEBUG=y. If you use software
depending on numpy is having problems with the new relaxed strides which is having problems with numpy's new relaxed strides checking, set
checking, set NPY_RSC=0. NPY_RSC=0.
It is highly recommended to install optimized BLAS and LAPACK libs It is highly recommended to install libraries implementing BLAS and LAPACK
before installing numpy. You may choose between ATLAS+LAPACK and before installing numpy. You may choose between:
OpenBLAS. a) BLAS and LAPACK (reference but unoptimized and thus slow)
b) OpenBLAS (optimized, provides LAPACK too)
c) ATLAS and LAPACK (optimized), good to read README.ATLAS
All these are available on SlackBuilds.org.
If you want to use the UMFPACK library instead of SuperLU to solve unsymmetric
sparse linear systems, then run this Slackbuild with NO_UMFPACK set to "no"
and then install scikit-umfpack on top of scipy. In this context, UMFPACK is an
optional dependency for numpy. Nevertheless, note that presently scikit-umfpack
is not available on SlackBuilds.org while its dependencies are.
NOTE: If you use this SlackBuild, numpy will run with the python version
provided by Slackware Linux, which is presently 2.7.xx. If you'd like to
use python 3.x then you have to install numpy with the numpy3 SlackBuild.
IMPORTANT: The version installed by this SlackBuild does NOT include the IMPORTANT: The version installed by this SlackBuild does NOT include the
oldnumeric and numarray compatibility modules since starting with oldnumeric and numarray compatibility modules since starting with

View file

@ -0,0 +1,10 @@
numpy is able to autodetect the ATLAS libraries, but by default will try
to use the shared, threaded ones. It would use something else just if these
are missing. You may force numpy to have another behaviour.
a) Set just ATLAS_NO_THREADS to "yes". In this case numpy will be forced to
look for the shared, single threaded libs.
b) Set just ATLAS_SHARED to "no". In this case numpy will be forced to look for
the static, threaded ATLAS libraries.
c) Set ATLAS_SHARED to "no" and ATLAS_NO_THREADS to "yes". In this case numpy
will be forced to look for the static, single threaded ATLAS libraries.

View file

@ -2,7 +2,7 @@
# Slackware build script for numpy3 # Slackware build script for numpy3
# Copyright 2015 Christoph Willing Brisbane, Australia # Copyright 2015-2016 Christoph Willing Brisbane, Australia
# All rights reserved. # All rights reserved.
# #
# Redistribution and use of this script, with or without modification, is # Redistribution and use of this script, with or without modification, is
@ -27,22 +27,22 @@
PRGNAM=numpy3 PRGNAM=numpy3
SRCNAM=numpy SRCNAM=numpy
VERSION=${VERSION:-1.9.1} VERSION=${VERSION:-1.11.1}
BUILD=${BUILD:-1} BUILD=${BUILD:-1}
TAG=${TAG:-_SBo} TAG=${TAG:-_SBo}
PYTHON_VERSIONS="3" ;# NOTE! Could easily be PYTHON_VERSIONS="2 3" PYTHON_VERSIONS="3"
if [ -z "$ARCH" ]; then if [ -z "$ARCH" ]; then
case "$( uname -m )" in case "$( uname -m )" in
i?86) ARCH=i486 ;; i?86) ARCH=i586 ;;
arm*) ARCH=arm ;; arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;; *) ARCH=$( uname -m ) ;;
esac esac
fi fi
if [ "$ARCH" = "i486" ]; then if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686" SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX="" LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686" SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@ -66,7 +66,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT mkdir -p $TMP $PKG $OUTPUT
cd $TMP cd $TMP
rm -rf $SRCNAM-$VERSION rm -rf $SRCNAM-$VERSION
tar xvf $CWD/$SRCNAM-$VERSION.tar.gz tar xf $CWD/$SRCNAM-$VERSION.tar.gz
cd $SRCNAM-$VERSION cd $SRCNAM-$VERSION
chown -R root:root . chown -R root:root .
find -L . \ find -L . \
@ -75,21 +75,43 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
cat > site.cfg <<EOF # You may want to force numpy to link against a special kind of ATLAS
[amd] #
library_dirs = /usr/lib${LIBDIRSUFFIX} ATLAS_SHARED="${ATLAS_SHARED:-yes}"
include_dirs = /usr/include/amd ATLAS_SHARED=$(echo "$ATLAS_SHARED"|cut -b 1|tr a-z A-Z)
amd_libs = amd ATLAS_NO_THREADS="${ATLAS_NO_THREADS:-no}"
ATLAS_NO_THREADS=$(echo "$ATLAS_NO_THREADS"|cut -b 1|tr a-z A-Z)
[umfpack] if [ "$ATLAS_SHARED" = "Y" ]; then
library_dirs = /usr/lib${LIBDIRSUFFIX} if [ "$ATLAS_NO_THREADS" = "Y" ]; then
include_dirs = /usr/include/umfpack echo -e "[atlas]\natlas_libs = satlas" >> site.cfg
umfpack_libs = umfpack echo -e "lapack_libs = satlas\nlapack_atlas = satlas\n" >> site.cfg
EOF fi
else
if [ "$ATLAS_NO_THREADS" = "Y" ]; then
echo -e "[atlas]\natlas_libs = f77blas,cblas,atlas" >> site.cfg
echo -e "lapack_libs = lapack\nlapack_atlas = lapack\n" >> site.cfg
else
echo -e "[atlas]\natlas_libs = ptf77blas,ptcblas,atlas" >> site.cfg
echo -e "lapack_libs = ptlapack\nlapack_atlas = ptlapack\n" >> site.cfg
fi
fi
NO_UMFPACK=${NO_UMFPACK:-yes}
case "$NO_UMFPACK" in
[yY]|[yY][eE][sS]) NO_UMFPACK="y" ;;
*) NO_UMFPACK="" ;;
esac
if [ ! "$NO_UMFPACK" ]; then
echo -e "[amd]\nlibrary_dirs = /usr/lib${LIBDIRSUFFIX}" >> site.cfg
echo -e "include_dirs = /usr/include/amd\namd_libs = amd\n" >> site.cfg
echo -e "[umfpack]\nlibrary_dirs = /usr/lib${LIBDIRSUFFIX}" >> site.cfg
echo -e "include_dirs = /usr/include/umfpack\numfpack_libs = umfpack\n" \
>> site.cfg
fi
DEBUG=${DEBUG:-no} DEBUG=${DEBUG:-no}
case "$DEBUG" in case "$DEBUG" in
[yY]|[yY][eE][sS]) DEBUG="y" ;; [yY]|[yY][eE][sS]) DEBUG="y" ;;
*) DEBUG="" ;; *) DEBUG="" ;;
@ -110,7 +132,7 @@ for v in $PYTHON_VERSIONS ; do
done done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a COMPATIBILITY DEV_README.txt LICENSE.txt README.txt THANKS.txt \ cp -a CONTRIBUTING.md INSTALL.rst.txt LICENSE.txt README.md THANKS.txt \
$PKG/usr/doc/$PRGNAM-$VERSION $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
find $PKG/usr/doc -type f -exec chmod 0644 {} \; find $PKG/usr/doc -type f -exec chmod 0644 {} \;

View file

@ -1,10 +1,10 @@
PRGNAM="numpy3" PRGNAM="numpy3"
VERSION="1.9.1" VERSION="1.11.1"
HOMEPAGE="http://numpy.scipy.org/" HOMEPAGE="http://numpy.scipy.org/"
DOWNLOAD="http://download.sourceforge.net/project/numpy/NumPy/1.9.1/numpy-1.9.1.tar.gz" DOWNLOAD="https://github.com/numpy/numpy/archive/v1.11.1/numpy-1.11.1.tar.gz"
MD5SUM="78842b73560ec378142665e712ae4ad9" MD5SUM="3c3700a30fae5ae2e41c947076417d4c"
DOWNLOAD_x86_64="" DOWNLOAD_x86_64=""
MD5SUM_x86_64="" MD5SUM_x86_64=""
REQUIRES="python3" REQUIRES="python3"
MAINTAINER="Christoph Willing" MAINTAINER="Christoph Willing"
EMAIL="chris.willing@iinet.net.au" EMAIL="chris.willing@linux.com"

View file

@ -6,7 +6,7 @@
# customary to leave one space after the ':' except on otherwise blank lines. # customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------| |-----handy-ruler------------------------------------------------------|
numpy3: NumPy (Python extension for scientific computing) numpy3: NumPy (Python3 extension for scientific computing)
numpy3: numpy3:
numpy3: NumPy is an extension to the Python programming language, adding numpy3: NumPy is an extension to the Python programming language, adding
numpy3: support for large, multi-dimensional arrays and matrices along numpy3: support for large, multi-dimensional arrays and matrices along