summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Schindler2017-05-08 19:39:29 +0200
committerFelix Schindler2017-05-08 19:40:09 +0200
commit62e6a85ef0a6a4199dc7db80088244a14de4a1cc (patch)
tree07ff68b846f66558c066436b40d022060e5ea1cb
downloadaur-62e6a85ef0a6a4199dc7db80088244a14de4a1cc.tar.gz
2.0.0-1
-rw-r--r--.SRCINFO31
-rw-r--r--PKGBUILD87
2 files changed, 118 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..bf02e8a5dfd6
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,31 @@
+# Generated by mksrcinfo v8
+# Mon May 8 17:39:05 UTC 2017
+pkgbase = flexiblas
+ pkgdesc = A Blas wrapper library with runtime exchangable backends
+ pkgver = 2.0.0
+ pkgrel = 1
+ url = http://www.mpi-magdeburg.mpg.de/projects/flexiblas
+ arch = i686
+ arch = x86_64
+ license = GPL3
+ makedepends = cmake
+ makedepends = gcc-fortran
+ makedepends = openblas-lapack-for-flexiblas
+ makedepends = atlas-lapack-for-flexiblas
+ provides = blas=3.6.0
+ provides = lapack=3.6.0
+ provides = cblas=3.6.0
+ provides = lapacke=3.6.0
+ conflicts = blas
+ conflicts = lapack
+ conflicts = cblas
+ conflicts = lapacke
+ conflicts = openblas
+ conflicts = opeblas-lapack
+ conflicts = atlas
+ conflicts = atlas-lapack
+ source = https://www2.mpi-magdeburg.mpg.de/mpcsc/software/flexiblas/flexiblas-2.0.0.tar.bz2
+ md5sums = 4ac2cd9d945d69896440ed5e5630d421
+
+pkgname = flexiblas
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..baba21e0f47a
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,87 @@
+# Maintainer: Felix Schindler <aur at felixschindler dot net>
+DLAGENTS=("https::/usr/bin/curl -k -o %o %u")
+
+pkgname=flexiblas
+pkgver=2.0.0
+pkgrel=1
+_lapackver=3.6.0
+pkgdesc="A Blas wrapper library with runtime exchangable backends"
+url=http://www.mpi-magdeburg.mpg.de/projects/flexiblas
+license=('GPL3')
+source=("https://www2.mpi-magdeburg.mpg.de/mpcsc/software/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('4ac2cd9d945d69896440ed5e5630d421')
+arch=('i686' 'x86_64')
+makedepends=('cmake' 'gcc-fortran')
+depends=('openblas-lapack-for-flexiblas' 'atlas-lapack-for-flexiblas')
+conflicts=('blas' 'lapack' 'cblas' 'lapacke' 'openblas' 'opeblas-lapack' 'atlas' 'atlas-lapack')
+provides=("blas=${_lapackver}" "lapack=${_lapackver}" "cblas=${_lapackver}" "lapacke=${_lapackver}")
+
+build() {
+ cd ${pkgname}-${pkgver}
+ [ -e build ] && rm -r build
+ mkdir build
+ cd build
+ cmake .. \
+ -DCMAKE_INSTALL_PREFIX="/usr" \
+ -DOPENBLAS="/opt/openblas-lapack-for-flexiblas/lib/libopenblas.so;gfortran;gomp;m" \
+ -DATLAS="/opt/atlas-lapack-for-flexiblas/lib/libatlas.so;/opt/atlas-lapack-for-flexiblas/lib/libf77blas.so;/opt/atlas-lapack-for-flexiblas/lib/liblapack.so.3.6.1;/opt/atlas-lapack-for-flexiblas/lib/libptcblas.so;/opt/atlas-lapack-for-flexiblas/lib/libptlapack.a;/opt/atlas-lapack-for-flexiblas/lib/libptlapack.so.3.6.1;/opt/atlas-lapack-for-flexiblas/lib/libsatlas.so;/opt/atlas-lapack-for-flexiblas/lib/libsatlas.so;/opt/atlas-lapack-for-flexiblas/lib/libstcblas.so;/opt/atlas-lapack-for-flexiblas/lib/libtatlas.so;gfortran;gomp;m"
+ make
+}
+
+## ATM, this does not work unless flexiblas is already installed!
+#check() {
+# # make a backup of the users flexiblasrc, if present
+# export _users_flexiblasrc=${HOME}/.flexiblasrc
+# export _users_flexiblasrc_backup=${HOME}/.flexiblasrc.aur_pkg_backup
+# [ -e ${_users_flexiblasrc} ] && mv ${_users_flexiblasrc} ${_users_flexiblasrc_backup}
+#
+# for backend in NETLIB OpenBLAS ATLAS; do
+# echo " "
+# echo "========================================"
+# echo " testing with ${backend} backend"
+# echo "========================================"
+# echo " "
+# # write a custom flexiblasrc
+# echo "default = ${backend}" > ${_users_flexiblasrc}
+# echo "verbose = 0" >> ${_users_flexiblasrc}
+# echo "profile = 0" >> ${_users_flexiblasrc}
+# echo " " >> ${_users_flexiblasrc}
+# echo "[NETLIB]" >> ${_users_flexiblasrc}
+# echo "library = libflexiblas_netlib.so" >> ${_users_flexiblasrc}
+# echo " " >> ${_users_flexiblasrc}
+# echo "[OpenBLAS]" >> ${_users_flexiblasrc}
+# echo "library = libflexiblas_openblas.so " >> ${_users_flexiblasrc}
+# echo " " >> ${_users_flexiblasrc}
+# echo "[ATLAS]" >> ${_users_flexiblasrc}
+# echo "library = libflexiblas_atlas.so" >> ${_users_flexiblasrc}
+# # test this backend
+# cd ${pkgname}-${pkgver}
+# cd build
+# make test
+# done
+#
+# # restore the original blexiblasrc
+# [ -e ${_users_flexiblasrc_backup} ] && mv ${_users_flexiblasrc_backup} ${_users_flexiblasrc}
+#}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ cd build
+ make DESTDIR="${pkgdir}" install
+
+ mv ${pkgdir}/usr/lib64 ${pkgdir}/usr/lib
+ cd ${pkgdir}/usr/lib
+ ln -s libflexiblas.so libblas.so
+ ln -s libflexiblas.so libblas.so.3
+ ln -s libflexiblas.so libblas.so.3.7.0
+ ln -s libflexiblas.so libcblas.so
+ ln -s libflexiblas.so liblapacke.so
+ ln -s libflexiblas.so liblapack.so
+ ln -s libflexiblas.so liblapack.so.3
+ ln -s libflexiblas.so liblapack.so.3.7.0
+
+ cd ${pkgdir}/usr/include
+ ln -s flexiblas/cblas.h cblas.h
+ ln -s flexiblas/lapack.h lapacke.h
+}
+