From 619e8a697652d0560b5b654ee51b2981198db445 Mon Sep 17 00:00:00 2001 From: Christoph Willing Date: Thu, 25 Aug 2016 11:26:04 +1000 Subject: [PATCH] development/numpy3: Updated for version 1.11.1 Signed-off-by: Christoph Willing --- development/numpy3/README | 25 +++++++++--- development/numpy3/README.ATLAS | 10 +++++ development/numpy3/numpy3.SlackBuild | 60 +++++++++++++++++++--------- development/numpy3/numpy3.info | 8 ++-- development/numpy3/slack-desc | 2 +- 5 files changed, 75 insertions(+), 30 deletions(-) create mode 100644 development/numpy3/README.ATLAS diff --git a/development/numpy3/README b/development/numpy3/README index f219a96c84..579bc2a36f 100644 --- a/development/numpy3/README +++ b/development/numpy3/README @@ -9,13 +9,26 @@ 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. + +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 diff --git a/development/numpy3/README.ATLAS b/development/numpy3/README.ATLAS new file mode 100644 index 0000000000..bf8972befa --- /dev/null +++ b/development/numpy3/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/numpy3/numpy3.SlackBuild b/development/numpy3/numpy3.SlackBuild index ad074a021a..fd3b2febbe 100644 --- a/development/numpy3/numpy3.SlackBuild +++ b/development/numpy3/numpy3.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for numpy3 -# Copyright 2015 Christoph Willing Brisbane, Australia +# Copyright 2015-2016 Christoph Willing Brisbane, Australia # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -27,22 +27,22 @@ PRGNAM=numpy3 SRCNAM=numpy -VERSION=${VERSION:-1.9.1} +VERSION=${VERSION:-1.11.1} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} -PYTHON_VERSIONS="3" ;# NOTE! Could easily be PYTHON_VERSIONS="2 3" +PYTHON_VERSIONS="3" 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" @@ -66,7 +66,7 @@ rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $SRCNAM-$VERSION -tar xvf $CWD/$SRCNAM-$VERSION.tar.gz +tar xf $CWD/$SRCNAM-$VERSION.tar.gz cd $SRCNAM-$VERSION chown -R root:root . find -L . \ @@ -75,21 +75,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 {} \; -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 +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="" ;; @@ -110,7 +132,7 @@ for v in $PYTHON_VERSIONS ; do done 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 cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild find $PKG/usr/doc -type f -exec chmod 0644 {} \; diff --git a/development/numpy3/numpy3.info b/development/numpy3/numpy3.info index de8601ab5e..dfb204d856 100644 --- a/development/numpy3/numpy3.info +++ b/development/numpy3/numpy3.info @@ -1,10 +1,10 @@ PRGNAM="numpy3" -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="https://github.com/numpy/numpy/archive/v1.11.1/numpy-1.11.1.tar.gz" +MD5SUM="3c3700a30fae5ae2e41c947076417d4c" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="python3" MAINTAINER="Christoph Willing" -EMAIL="chris.willing@iinet.net.au" +EMAIL="chris.willing@linux.com" diff --git a/development/numpy3/slack-desc b/development/numpy3/slack-desc index 54f162ff90..7e6129ce03 100644 --- a/development/numpy3/slack-desc +++ b/development/numpy3/slack-desc @@ -6,7 +6,7 @@ # customary to leave one space after the ':' except on otherwise blank lines. |-----handy-ruler------------------------------------------------------| -numpy3: NumPy (Python extension for scientific computing) +numpy3: NumPy (Python3 extension for scientific computing) numpy3: numpy3: NumPy is an extension to the Python programming language, adding numpy3: support for large, multi-dimensional arrays and matrices along