aboutsummaryrefslogtreecommitdiffstats
path: root/community/arpack/APKBUILD
blob: 34fe7ac886d178388b66d2bd241e673977d7f3b0 (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
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=arpack
_pkgname=$pkgname-ng
pkgver=3.7.0
pkgrel=0
pkgdesc="Collection of Fortran77 subroutines designed to solve large scale eigenvalue problems"
url="https://github.com/opencollab/arpack-ng"
arch="all"
license="BSD-3-Clause"
depends_dev="openblas-dev>=0.3.0"
makedepends="$depends_dev autoconf automake gfortran libtool"
subpackages="$pkgname-dev $pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/opencollab/$_pkgname/archive/$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"

# Tests hang on ppc64le when running via abuild, don't know why.
case "$CARCH" in
	ppc64le) options="!check";;
esac

_ilp64=no
_builddir64="$builddir-64"
if [ "$CARCH" = "x86_64" ]; then
	subpackages="$subpackages $pkgname-ilp64"
	_ilp64=yes
fi

prepare() {
	default_prepare
	./bootstrap
	cp -ar "$builddir" "$_builddir64"
}

build() {
	_build
	if [ "$_ilp64" = yes ]; then
		msg "Building with ILP64..."

		cd "$builddir-64"
		_build LIBSUFFIX=64_ \
			SYMBOLSUFFIX=_64 \
			INTERFACE64=1 \
			--with-blas=openblas64_ \
			--with-lapack=openblas64_
	fi
}

_build() {
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		"$@"
	make
}

check() {
	make check
}

package() {
	if [ "$_ilp64" = yes ]; then
		make -C "$_builddir64" DESTDIR="$pkgdir" install
	fi

	make DESTDIR="$pkgdir" install

	install -D -m644 COPYING \
		"$pkgdir"/usr/share/licenses/$pkgname/COPYING

	install -d "$pkgdir"/usr/share/doc/$pkgname
	mv DOCUMENTS/* "$pkgdir"/usr/share/doc/$pkgname/
}

ilp64() {
	pkgdesc="$pkgdesc (ILP64)"

	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libarpack64_* "$subpkgdir"/usr/lib/
}

sha512sums="cc07cdd1fba4881907b507ff6b6c9bce9e3dadd8ef744194f08ee718a6210c039ac0c51c12edd720503f8e59bcd11c178fc323e1a59696be8c3b8262cf47a452  arpack-3.7.0.tar.gz"