summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrzej Giniewicz2015-07-07 18:59:37 +0200
committerAndrzej Giniewicz2015-07-07 18:59:37 +0200
commit3507e205a381aa182f5705f84219dc232213b1de (patch)
treec5a41be4f797b565449069e785be8275b057b879
downloadaur-3507e205a381aa182f5705f84219dc232213b1de.tar.gz
Initial import
-rw-r--r--.SRCINFO39
-rw-r--r--PKGBUILD91
-rw-r--r--atlas-lapack.install16
-rw-r--r--atlas-license.txt29
-rw-r--r--blas-license.txt19
-rw-r--r--makefile.shared.mt42
-rw-r--r--makefile.shared.st26
7 files changed, 262 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 00000000000..dbf802f45bf
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,39 @@
+pkgbase = atlas-lapack
+ pkgdesc = Complete LAPACK and BLAS implementation using optimised ATLAS routines
+ pkgver = 3.10.2
+ pkgrel = 1
+ url = http://math-atlas.sourceforge.net/
+ install = atlas-lapack.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
+ provides = blas
+ provides = lapack=3.5.0
+ provides = cblas
+ conflicts = blas
+ conflicts = lapack
+ conflicts = cblas
+ noextract = lapack-3.5.0.tgz
+ noextract = atlas3.10.2.tar.bz2
+ options = !makeflags
+ source = http://www.netlib.org/lapack/lapack-3.5.0.tgz
+ source = http://downloads.sourceforge.net/math-atlas/atlas3.10.2.tar.bz2
+ source = blas-license.txt
+ source = atlas-license.txt
+ source = makefile.shared.mt
+ source = makefile.shared.st
+ md5sums = b1d3e3e425b2e44a06760ff173104bdf
+ md5sums = a4e21f343dec8f22e7415e339f09f6da
+ md5sums = 38b6acb8ed5691d25863319d30a8b365
+ md5sums = 4903eb06072dfbf94710691ccb6660bf
+ md5sums = 471f0ecdc36ef5e1118309847d142eea
+ md5sums = 6e307b98236ff319ac1c03166ad9164c
+
+pkgname = atlas-lapack
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 00000000000..096aa676e56
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,91 @@
+# Maintainer: 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
+pkgver=3.10.2
+_lapackver=3.5.0
+pkgrel=1
+pkgdesc="Complete LAPACK and BLAS implementation using optimised ATLAS routines"
+url="http://math-atlas.sourceforge.net/"
+depends=('gcc-libs')
+makedepends=('binutils' 'sed' 'gcc-fortran')
+arch=('i686' 'x86_64')
+conflicts=('blas' 'lapack' 'cblas')
+provides=("blas" "lapack=$_lapackver" 'cblas')
+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 blas-license.txt atlas-license.txt makefile.shared.mt makefile.shared.st)
+noextract=(lapack-$_lapackver.tgz atlas$pkgver.tar.bz2)
+md5sums=('b1d3e3e425b2e44a06760ff173104bdf'
+ 'a4e21f343dec8f22e7415e339f09f6da'
+ '38b6acb8ed5691d25863319d30a8b365'
+ '4903eb06072dfbf94710691ccb6660bf'
+ '471f0ecdc36ef5e1118309847d142eea'
+ '6e307b98236ff319ac1c03166ad9164c')
+
+build() {
+ cd "$srcdir"
+ tar -xjf atlas$pkgver.tar.bz2
+
+ NCPU=`grep "^processor" /proc/cpuinfo | wc -l`
+ #USE_ARCH_DEFAULTS="yes"
+ msg 'Before building this package, as root you must set the CPU(s)'
+ msg 'governor(s) to "performance".'
+
+ if [ "$CARCH" = "x86_64" ]; then
+ ARCHITECTURE_BUILD_OPTS="-b 64" # for x86_64
+ else
+ ARCHITECTURE_BUILD_OPTS="-b 32" # for i686
+ fi
+
+ mkdir -p "$srcdir/ATLAS/build"
+ cd "$srcdir/ATLAS/build"
+
+ msg 'Build ATLAS'
+ unset MAKE
+ cd "$srcdir/ATLAS/build"
+ rm -rf *
+ ../configure --prefix=/usr/ $ARCHITECTURE_BUILD_OPTS -Fa alg -fPIC \
+ --with-netlib-lapack-tarfile="$srcdir/lapack-$_lapackver.tgz"
+ make build
+ msg 'Build 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"
+
+ msg 'Check...'
+ unset MAKE
+ make check
+ make ptcheck
+ make time
+}
+
+package() {
+
+ cd "$srcdir/ATLAS/build"
+ make DESTDIR="$pkgdir/usr" install
+ cp -d lib/*.so* "$pkgdir/usr/lib"
+ [ -e lib/libptlapack.a ] && cp lib/libptlapack.a "$pkgdir/usr/lib"
+ cd "$pkgdir/usr/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"
+}
+
diff --git a/atlas-lapack.install b/atlas-lapack.install
new file mode 100644
index 00000000000..46ed1e01ed8
--- /dev/null
+++ b/atlas-lapack.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 00000000000..18e3a60e237
--- /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 00000000000..79f38386e65
--- /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 00000000000..4d8e8d6f333
--- /dev/null
+++ b/makefile.shared.mt
@@ -0,0 +1,42 @@
+include Make.inc
+
+all: libatlas.so libf77blas.so libptf77blas.so libstcblas.so libptcblas.so \
+ libblas.so libcblas.so liblapack.so.3.4.1 libptlapack.so.3.4.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
+ ld $(LDFLAGS) -shared -soname libstcblas.so -o $@ --whole-archive \
+ libcblas.a -L. -latlas
+
+libptcblas.so : libptcblas.a libatlas.so
+ ld $(LDFLAGS) -shared -soname libcblas.so -o $@ --whole-archive \
+ libptcblas.a -L. -latlas
+
+libblas.so: libptf77blas.so
+ ln -s $< $@
+
+libcblas.so: libptcblas.so
+ ln -s $< $@
+
+liblapack.so.3.4.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 -lgcc_s
+
+libptlapack.so.3.4.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 -lgcc_s
+
+liblapack.so.3: libptlapack.so.3.4.1
+ ln -s $< $@
diff --git a/makefile.shared.st b/makefile.shared.st
new file mode 100644
index 00000000000..3e16e7485f6
--- /dev/null
+++ b/makefile.shared.st
@@ -0,0 +1,26 @@
+include Make.inc
+
+all: libatlas.so libf77blas.so libcblas.so libblas.so liblapack.so.3.4.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
+ ld $(LDFLAGS) -shared -soname $@ -o $@ --whole-archive libcblas.a \
+ -L. -latlas
+
+libblas.so: libf77blas.so
+ ln -s $< $@
+
+liblapack.so.3.4.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 -lgcc_s
+
+liblapack.so.3: liblapack.so.3.4.1
+ ln -s $< $@