APKBUILD 1.9 KB
Newer Older
Jakub Jirutka's avatar
Jakub Jirutka committed
1 2 3 4
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=arpack
_pkgname=$pkgname-ng
5 6
pkgver=3.5.0
pkgrel=0
Jakub Jirutka's avatar
Jakub Jirutka committed
7 8
pkgdesc="Collection of Fortran77 subroutines designed to solve large scale eigenvalue problems"
url="https://github.com/opencollab/arpack-ng"
9
arch="all !ppc64le !s390x" #openblas not avail on excluded platform
Jakub Jirutka's avatar
Jakub Jirutka committed
10 11 12 13 14 15 16 17
license="BSD"
depends=""
depends_dev="openblas-dev"
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"

18 19 20 21 22 23 24
_ilp64=no
_builddir64="$builddir-64"
if [ "$CARCH" = "x86_64" ]; then
	subpackages="$subpackages $pkgname-ilp64"
	_ilp64=yes
fi

Jakub Jirutka's avatar
Jakub Jirutka committed
25
prepare() {
26 27
	default_prepare || return 1
	cd "$builddir"
28

Jakub Jirutka's avatar
Jakub Jirutka committed
29
	./bootstrap
30
	cp -ar "$builddir" "$_builddir64"
Jakub Jirutka's avatar
Jakub Jirutka committed
31 32 33 34
}

build() {
	cd "$builddir"
35 36 37 38 39 40 41 42 43 44 45 46 47 48
	_build || return 1

	if [ "$_ilp64" = yes ]; then
		msg "Building with ILP64..."

		cd "$builddir-64"
		_build LIBSUFFIX=64_ \
			SYMBOLSUFFIX=_64 \
			INTERFACE64=1 \
			--with-blas=openblas64_ \
			--with-lapack=openblas64_ \
			|| return 1
	fi
}
Jakub Jirutka's avatar
Jakub Jirutka committed
49

50
_build() {
Jakub Jirutka's avatar
Jakub Jirutka committed
51 52 53 54
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
55
		"$@" || return 1
Jakub Jirutka's avatar
Jakub Jirutka committed
56 57 58 59
	make
}

package() {
60 61 62
	if [ "$_ilp64" = yes ]; then
		make -C "$_builddir64" DESTDIR="$pkgdir" install || return 1
	fi
Jakub Jirutka's avatar
Jakub Jirutka committed
63

64
	cd "$builddir"
Jakub Jirutka's avatar
Jakub Jirutka committed
65 66
	make DESTDIR="$pkgdir" install || return 1

67 68
	install -D -m644 COPYING \
		"$pkgdir/usr/share/licenses/$pkgname/COPYING" || return 1
Jakub Jirutka's avatar
Jakub Jirutka committed
69 70 71 72 73

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

74 75 76 77 78 79 80
ilp64() {
	pkgdesc="$pkgdesc (ILP64)"

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

81
sha512sums="67181c783e61d5d2214ccbfa0de8efd55148537feca30376760f7009995694f68c9fc14991306fa19ad67598497510b6e0d42b68dc56dd581dc2a798e3a4b369  arpack-3.5.0.tar.gz"