summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Schindler2017-05-08 17:15:25 +0200
committerFelix Schindler2017-05-08 19:47:31 +0200
commit14613e23324d6839e9750402a0473bf898993156 (patch)
treea9417625912048ee7aec47e542bc626041a05954
downloadaur-14613e23324d6839e9750402a0473bf898993156.tar.gz
3.10.3-1
-rw-r--r--.SRCINFO37
-rw-r--r--PKGBUILD113
-rw-r--r--atlas-lapack-for-flexiblas.install16
-rw-r--r--atlas-license.txt29
-rw-r--r--blas-license.txt19
-rw-r--r--makefile.shared.mt41
-rw-r--r--makefile.shared.st25
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 $< $@