blob: 814f32feedab54a068dbd63b91426c0e63bbd6a5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
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' 'openblas-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
}
|