summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 3c4f68d03e4534658a7eb5d8429dee01e9ce8f2d (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
# Maintainer: tuxzz <dorazzsoft@gmail.com>
# Contributer: jclds139 <codling@umich.edu>

pkgname=blis-cblas
pkgver=0.9.0
_blasver=3.10.0
pkgrel=1
pkgdesc="BLAS-like Library Instantiation Software Framework (providing blas and cblas, with pthreads support, particularly recommended for AMD Zen CPUs)"
arch=('i686' 'x86_64')
license=('custom')
url="https://github.com/flame/blis"
makedepends=('git' 'make' 'gcc' 'python')
provides=('blis')
conflicts=('blis' 'blas' 'cblas')
provides=("blas=${_blasver}" "cblas=${_blasver}")
source=(
"${pkgname%-cblas}::https://github.com/flame/blis/archive/refs/tags/${pkgver}.tar.gz"
"cblas_f77.h"
"cblas_mangling.h"
"cblas_test.h"
"cblas.h"
)
sha1sums=(
'c5ff9b0437edc1f93ad30fcdd633c0a276165b7e'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
)
options=('staticlibs' '!emptydirs')

build() {
  cd "${pkgname%-cblas}-${pkgver}"
  
  export BLIS_NUM_THREADS=`nproc`
  export nt_use=1
  
  # static build is necessary for some packages and programs (e. g. GAMESS)
  ./configure --prefix=/usr --enable-static --enable-shared --enable-cblas --enable-threading=pthreads auto
  make
}

check() {
    cd "${pkgname%-cblas}-${pkgver}"
    
    export BLIS_NUM_THREADS=`nproc`
    export nt_use=1
    make check
}

package() {
  cd "${pkgname%-cblas}-${pkgver}"

  make DESTDIR="${pkgdir}" install
  install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname%-git}/LICENSE"
  install -Dm644 ${srcdir}/cblas_{f77,mangling,test}.h "${pkgdir}/usr/include/"
  install -Dm644 ${srcdir}/cblas.h "${pkgdir}/usr/include/"
    
  cd ${pkgdir}/usr/lib
  # BLAS
  ln -sv libblis.so libblas.so
  ln -sv libblis.so libblas.so.${_blasver%.*.*}
  ln -sv libblis.so libblas.so.${_blasver}
  # CBLAS
  ln -sv libblis.so libcblas.so
  ln -sv libblis.so libcblas.so.${_blasver}
  ln -sv libblis.so libcblas.so.${_blasver%.*.*}
}