diff --git a/development/numpy/README b/development/numpy/README index 7e44029a85..10cd6ba81d 100644 --- a/development/numpy/README +++ b/development/numpy/README @@ -9,15 +9,28 @@ interfacing with general-purpose data-base applications. There are also basic facilities for discrete fourier transform, basic linear algebra and random number generation. -If you need to build numpy for debugging, set DEBUG=y. If software -depending on numpy is having problems with the new relaxed strides -checking, set NPY_RSC=0. +If you need to build numpy for debugging, set DEBUG=y. If you use software +which is having problems with numpy's new relaxed strides checking, set +NPY_RSC=0. -It is highly recommended to install optimized BLAS and LAPACK libs -before installing numpy. You may choose between ATLAS+LAPACK and -OpenBLAS. +It is highly recommended to install libraries implementing BLAS and LAPACK +before installing numpy. You may choose between: + 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. -IMPORTANT: The version installed by this SlackBuild doesn NOT include the +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 oldnumeric and numarray compatibility modules since starting with version 1.9.0 these modules got removed by the numpy developers. If you need these compatibility modules please consider the diff --git a/development/numpy/README.ATLAS b/development/numpy/README.ATLAS new file mode 100644 index 0000000000..bf8972befa --- /dev/null +++ b/development/numpy/README.ATLAS @@ -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. diff --git a/development/numpy/numpy.SlackBuild b/development/numpy/numpy.SlackBuild index bd4558c011..1cbea85539 100644 --- a/development/numpy/numpy.SlackBuild +++ b/development/numpy/numpy.SlackBuild @@ -2,27 +2,58 @@ # Slackware build script for NumPy +# Copyright 2011-2016 Serban Udrea +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, +# is permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, +# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + # Written by Aleksandar Samardzic -# Updated up to 1.9.1 by Serban Udrea +# Updated up to 1.11.1 by Serban Udrea +# # Added support for building with debugging symbols (S. Udrea) +# # LIBDIRSUFFIX is now needed to set the proper path for # UMFPACK (S. Udrea) +# +# Since UMFPACK is not used anymore by scipy but by the optional package +# scikit-umfpack, the configuration of this and the corresponding AMD library +# is now optional. One has to set NO_UMFPACK to "no" to create the apropriate +# configuration file before building numpy. (S. Udrea) +# +# Added the possibility to force numpy to link to different kinds of the +# ATLAS library (S. Udrea) PRGNAM=numpy -VERSION=${VERSION:-1.9.1} +VERSION=${VERSION:-1.11.1} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac fi -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -55,22 +86,43 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +# You may want to force numpy to link against a special kind of ATLAS +# +ATLAS_SHARED="${ATLAS_SHARED:-yes}" +ATLAS_SHARED=$(echo "$ATLAS_SHARED"|cut -b 1|tr a-z A-Z) +ATLAS_NO_THREADS="${ATLAS_NO_THREADS:-no}" +ATLAS_NO_THREADS=$(echo "$ATLAS_NO_THREADS"|cut -b 1|tr a-z A-Z) -cat > site.cfg <> site.cfg + echo -e "lapack_libs = satlas\nlapack_atlas = satlas\n" >> site.cfg + 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 -[umfpack] -library_dirs = /usr/lib${LIBDIRSUFFIX} -include_dirs = /usr/include/umfpack -umfpack_libs = umfpack -EOF +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} - case "$DEBUG" in [yY]|[yY][eE][sS]) DEBUG="y" ;; *) DEBUG="" ;; @@ -87,7 +139,7 @@ else fi mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a COMPATIBILITY DEV_README.txt LICENSE.txt README.txt THANKS.txt\ +cp -a LICENSE.txt THANKS.txt INSTALL.rst.txt PKG-INFO \ $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild find $PKG/usr/doc -type f -exec chmod 0644 {} \; diff --git a/development/numpy/numpy.info b/development/numpy/numpy.info index beebab24ef..f94e077438 100644 --- a/development/numpy/numpy.info +++ b/development/numpy/numpy.info @@ -1,8 +1,8 @@ PRGNAM="numpy" -VERSION="1.9.1" +VERSION="1.11.1" HOMEPAGE="http://numpy.scipy.org/" -DOWNLOAD="http://download.sourceforge.net/project/numpy/NumPy/1.9.1/numpy-1.9.1.tar.gz" -MD5SUM="78842b73560ec378142665e712ae4ad9" +DOWNLOAD="http://download.sourceforge.net/project/numpy/NumPy/1.11.1/numpy-1.11.1.tar.gz" +MD5SUM="2f44a895a8104ffac140c3a70edbd450" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES=""