diff options
author | Felix Schindler | 2017-05-08 17:15:25 +0200 |
---|---|---|
committer | Felix Schindler | 2017-05-08 19:47:31 +0200 |
commit | 14613e23324d6839e9750402a0473bf898993156 (patch) | |
tree | a9417625912048ee7aec47e542bc626041a05954 | |
download | aur-14613e23324d6839e9750402a0473bf898993156.tar.gz |
3.10.3-1
-rw-r--r-- | .SRCINFO | 37 | ||||
-rw-r--r-- | PKGBUILD | 113 | ||||
-rw-r--r-- | atlas-lapack-for-flexiblas.install | 16 | ||||
-rw-r--r-- | atlas-license.txt | 29 | ||||
-rw-r--r-- | blas-license.txt | 19 | ||||
-rw-r--r-- | makefile.shared.mt | 41 | ||||
-rw-r--r-- | makefile.shared.st | 25 |
7 files changed, 280 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..27cd0608a1d7 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,37 @@ +# Generated by mksrcinfo v8 +# Mon May 8 17:47:18 UTC 2017 +pkgbase = atlas-lapack-for-flexiblas + pkgdesc = Complete LAPACK and BLAS implementation using optimised ATLAS routines (for flexiblas) + pkgver = 3.10.3 + pkgrel = 1 + url = http://math-atlas.sourceforge.net/ + install = atlas-lapack-for-flexiblas.install + arch = i686 + arch = x86_64 + license = custom:blas + license = custom:lapack + license = custom:atlas + makedepends = binutils + makedepends = sed + makedepends = gcc-fortran + depends = gcc-libs + noextract = lapack-3.6.1.tgz + noextract = atlas3.10.3.tar.bz2 + options = !makeflags + source = http://www.netlib.org/lapack/lapack-3.6.1.tgz + source = http://downloads.sourceforge.net/math-atlas/atlas3.10.3.tar.bz2 + source = atlas-lapack-for-flexiblas.install + source = atlas-license.txt + source = blas-license.txt + source = makefile.shared.mt + source = makefile.shared.st + md5sums = 421b2cb72e15f237e144428f9c460ee0 + md5sums = d6ce4f16c2ad301837cfb3dade2f7cef + md5sums = 7e171a59c446c4f5017e8ac7e35e6d7b + md5sums = 4903eb06072dfbf94710691ccb6660bf + md5sums = 38b6acb8ed5691d25863319d30a8b365 + md5sums = e293bf3b62b7cc02cb5dcf54f9f40053 + md5sums = 5153cb945e8f386e4d98d4b0fe791776 + +pkgname = atlas-lapack-for-flexiblas + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..4fa2da7e89cb --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,113 @@ +# Maintainer: Felix Schindler <aur at felixschindler dot net> +# Contributor: Giuseppe Borzi <gborzi___AT___ieee___DOT___org> +# Contributor: mickele <mimocciola___AT___yahoo___DOT___ com> +# Contributor: iztok pizorn <pizorn___AT___gmail___DOT___com> +# Contributor: olivier medoc <o_medoc___AT___yahoo___DOT___fr> +pkgname=atlas-lapack-for-flexiblas +pkgver=3.10.3 +_lapackver=3.6.1 +pkgrel=1 +pkgdesc="Complete LAPACK and BLAS implementation using optimised ATLAS routines (for flexiblas)" +url="http://math-atlas.sourceforge.net/" +depends=('gcc-libs') +makedepends=('binutils' 'sed' 'gcc-fortran') +arch=('i686' 'x86_64') +license=('custom:blas' 'custom:lapack' 'custom:atlas') +options=(!makeflags) +install=$pkgname.install +source=(http://www.netlib.org/lapack/lapack-$_lapackver.tgz + http://downloads.sourceforge.net/math-atlas/atlas${pkgver}.tar.bz2 + atlas-lapack-for-flexiblas.install + atlas-license.txt + blas-license.txt + makefile.shared.mt + makefile.shared.st) +noextract=(lapack-$_lapackver.tgz atlas$pkgver.tar.bz2) +md5sums=('421b2cb72e15f237e144428f9c460ee0' + 'd6ce4f16c2ad301837cfb3dade2f7cef' + '7e171a59c446c4f5017e8ac7e35e6d7b' + '4903eb06072dfbf94710691ccb6660bf' + '38b6acb8ed5691d25863319d30a8b365' + 'e293bf3b62b7cc02cb5dcf54f9f40053' + '5153cb945e8f386e4d98d4b0fe791776') + +build() { + msg 'Before building this package, as root you must set the CPU(s)' + msg 'governor(s) to "performance".' + msg 'See: https://wiki.archlinux.org/index.php/CPU_frequency_scaling' + + cd "$srcdir" + tar -xjf atlas$pkgver.tar.bz2 + + unset MAKE + CORE=`cat /proc/cpuinfo | grep "cpu MHz" | head -n 1 | sed "s/.*: \([0-9.]*\).*/\1/"` + NCPU=`grep "^processor" /proc/cpuinfo | wc -l` + if [ "$CARCH" = "x86_64" ]; then + ARCHITECTURE_BUILD_OPTS="-b 64" # for x86_64 + else + ARCHITECTURE_BUILD_OPTS="-b 32" # for i686 + fi + + cd "$srcdir"/ATLAS + rm -rf build + mkdir -p build + cd build + + msg 'Configuring ATLAS' + + ../configure --prefix=/usr/ $ARCHITECTURE_BUILD_OPTS -Fa alg -fPIC \ + --shared -D c -DPentiumCPS=$CORE \ + --with-netlib-lapack-tarfile="$srcdir/lapack-$_lapackver.tgz" + + msg 'Building ATLAS' + + make build + + msg 'Building shared libraries' + cd lib + if [ 1 -lt $NCPU ]; then + cp "$srcdir/makefile.shared.mt" makefile + else + cp "$srcdir/makefile.shared.st" makefile + fi + make -f makefile +} + +check() { + cd "$srcdir/ATLAS/build" + unset MAKE + + msg 'Checking ATLAS' + + make check + make ptcheck + make time +} + +package() { + cd "$srcdir/ATLAS/build" + unset MAKE + + msg 'Packaging ATLAS' + + make DESTDIR="$pkgdir/opt/${pkgname}" install + cp -d lib/*.so* "$pkgdir/opt/${pkgname}/lib" + [ -e lib/libptlapack.a ] && cp lib/libptlapack.a "$pkgdir/opt/${pkgname}/lib" + cd "$pkgdir/opt/${pkgname}/lib" + ln -s libblas.so libblas.so.3 + ln -s liblapack.so.3 liblapack.so + + install -Dm644 "${srcdir}/blas-license.txt" \ + "${pkgdir}/usr/share/licenses/$pkgname/blas-license.txt" + install -Dm644 "${srcdir}/ATLAS/build/src/lapack/reference/LICENSE" \ + "${pkgdir}/usr/share/licenses/$pkgname/lapack-license.txt" + install -Dm644 "${srcdir}/atlas-license.txt" \ + "${pkgdir}/usr/share/licenses/$pkgname/atlas-license.txt" + + # remove traces from $srcdir + for ii in $(find ${pkgdir} -name \*.h); do + sed -i 's;/var/aur/atlas-lapack-for-flexiblas/src/ATLAS/build/..//;;g' $ii + done + sed -i 's;/var/aur/atlas-lapack-for-flexiblas/src/;;g' ${pkgdir}/opt/atlas-lapack-for-flexiblas/include/atlas/atlas_buildinfo.h +} + diff --git a/atlas-lapack-for-flexiblas.install b/atlas-lapack-for-flexiblas.install new file mode 100644 index 000000000000..46ed1e01ed8e --- /dev/null +++ b/atlas-lapack-for-flexiblas.install @@ -0,0 +1,16 @@ +post_install() { + echo "On multi-core/thread systems libf77blas.so, libstcblas.so and" + echo "liblapack.so.3.4.1 are single-threaded, libptcblas.so, libptf77blas.so" + echo "and libptlapack.so.3.4.1 are multi-threaded. By default" + echo "libcblas.so, libblas.so and liblapack.so point to the multi-threaded" + echo "versions." + echo "The default can be changed by making libcblas.so, libblas.so and" + echo "liblapack.so.3 point to the single threaded libraries, i.e." + echo "" + echo "ln -sf libf77blas.so libblas.so; ln -sf libstcblas.so libcblas.so;" + echo "ln -sf liblapack.so.3.4.1 liblapack.so.3" +} + +post_upgrade() { + post_install $1 +} diff --git a/atlas-license.txt b/atlas-license.txt new file mode 100644 index 000000000000..18e3a60e237f --- /dev/null +++ b/atlas-license.txt @@ -0,0 +1,29 @@ + Automatically Tuned Linear Algebra Software v3.8.2 + (C) Copyright 1999 R. Clint Whaley + + Code contributers : R. Clint Whaley, Antoine P. Petitet + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the ATLAS group or the names of its contributers may + not be used to endorse or promote products derived from this + software without specific written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``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 ATLAS GROUP OR ITS CONTRIBUTORS + 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. + diff --git a/blas-license.txt b/blas-license.txt new file mode 100644 index 000000000000..79f38386e651 --- /dev/null +++ b/blas-license.txt @@ -0,0 +1,19 @@ +From: http://www.netlib.org/blas/faq.html + + 2) Are there legal restrictions on the use of BLAS reference + implementation software? + +The reference BLAS is a freely-available software package. It is +available from netlib via anonymous ftp and the World Wide Web. Thus, +it can be included in commercial software packages (and has been). We +only ask that proper credit be given to the authors. + +Like all software, it is copyrighted. It is not trademarked, but we do +ask the following: + +If you modify the source for these routines we ask that you change the +name of the routine and comment the changes made to the original. + +We will gladly answer any questions regarding the software. If a +modification is done, however, it is the responsibility of the person +who modified the routine to provide support. diff --git a/makefile.shared.mt b/makefile.shared.mt new file mode 100644 index 000000000000..048fa456e23b --- /dev/null +++ b/makefile.shared.mt @@ -0,0 +1,41 @@ +include Make.inc + +all: libatlas.so libf77blas.so libptf77blas.so libstcblas.so libptcblas.so \ + libblas.so libcblas.so liblapack.so.3.6.1 libptlapack.so.3.6.1 liblapack.so.3 + +libatlas.so: libatlas.a + ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive libatlas.a \ + --no-whole-archive -lc $(LIBS) + +libf77blas.so : libf77blas.a libatlas.so + ld $(LDFLAGS) -shared -soname libf77blas.so.3 -o $@ --whole-archive \ + libf77blas.a --no-whole-archive $(F77SYSLIB) -L. -latlas + +libptf77blas.so : libptf77blas.a libatlas.so + ld $(LDFLAGS) -shared -soname libblas.so.3 -o $@ --whole-archive \ + libptf77blas.a --no-whole-archive $(F77SYSLIB) -L. -latlas + +libstcblas.so : libcblas.a libatlas.so libblas.so + ld $(LDFLAGS) -shared -soname libstcblas.so -o $@ --whole-archive \ + libcblas.a -L. -latlas -lblas + +libptcblas.so : libptcblas.a libatlas.so libblas.so + ld $(LDFLAGS) -shared -soname libcblas.so -o $@ --whole-archive \ + libptcblas.a -L. -latlas -lblas + +libblas.so: libptf77blas.so + ln -s $< $@ + +libcblas.so: libptcblas.so + ln -s $< $@ + +liblapack.so.3.6.1 : liblapack.a libstcblas.so libf77blas.so + ld $(LDFLAGS) -shared -soname libstlapack.so.3 -o $@ --whole-archive \ + liblapack.a --no-whole-archive $(F77SYSLIB) -L. -lstcblas -lf77blas + +libptlapack.so.3.6.1 : libptlapack.a libcblas.so libblas.so + ld $(LDFLAGS) -shared -soname liblapack.so.3 -o $@ --whole-archive \ + libptlapack.a --no-whole-archive $(F77SYSLIB) -L. -lcblas -lblas + +liblapack.so.3: libptlapack.so.3.6.1 + ln -s $< $@ diff --git a/makefile.shared.st b/makefile.shared.st new file mode 100644 index 000000000000..5feda573104c --- /dev/null +++ b/makefile.shared.st @@ -0,0 +1,25 @@ +include Make.inc + +all: libatlas.so libf77blas.so libcblas.so libblas.so liblapack.so.3.6.1 + +libatlas.so: libatlas.a + ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive libatlas.a \ + --no-whole-archive -lc $(LIBS) + +libf77blas.so : libf77blas.a libatlas.so + ld $(LDFLAGS) -shared -soname libblas.so.3 -o $@ --whole-archive \ + libf77blas.a --no-whole-archive $(F77SYSLIB) -L. -latlas + +libcblas.so : libcblas.a libatlas.so libblas.so + ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive libcblas.a \ + -L. -latlas -lblas + +libblas.so: libf77blas.so + ln -s $< $@ + +liblapack.so.3.6.1 : liblapack.a libcblas.so libblas.so + ld $(LDFLAGS) -shared -soname liblapack.so.3 -o $@ --whole-archive \ + liblapack.a --no-whole-archive $(F77SYSLIB) -L. -lcblas -lblas + +liblapack.so.3: liblapack.so.3.6.1 + ln -s $< $@ |