# $Id$
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: damir <damir@archlinux.org>
# Contributor: Jason Taylor <jftaylor21@gmail.com>

pkgbase=lapack
pkgname=('lapack' 'blas' 'cblas' 'lapacke')
pkgver=3.8.0
pkgrel=1
url="http://www.netlib.org/lapack"
pkgdesc="Linear Algebra PACKage"
makedepends=('gcc-fortran' 'cmake' 'python' 'doxygen')
arch=('x86_64')
license=("custom")
source=(http://www.netlib.org/${pkgbase}/${pkgbase}-${pkgver}.tar.gz LICENSE.blas)
sha1sums=('55ac9d6be510883c5442c8aca967722cdf58fb29'
          '2491a151a37f0162b25fc4e4e9a8ac444b574a76')

build() {
  install -d build
  cd build
  cmake ../${pkgname}-${pkgver} \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_SKIP_RPATH=ON \
    -DBUILD_SHARED_LIBS=ON \
    -DBUILD_TESTING=OFF \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_INSTALL_LIBDIR=lib \
    -DCMAKE_Fortran_COMPILER=gfortran \
    -DLAPACKE_WITH_TMG=ON \
    -DCBLAS=ON \
    -DBUILD_DEPRECATED=ON
  make

# Build man pages
  cd ../$pkgname-$pkgver
  doxygen DOCS/Doxyfile_man
}

package_lapack() {
  depends=("blas")
  
  cd build
  make DESTDIR="$pkgdir" install

  rm -r "$pkgdir"/usr/lib/{libblas.*,libcblas.*,liblapacke.*}
  rm -r "$pkgdir"/usr/lib/pkgconfig/{blas.*,cblas.*,lapacke.*}
  rm -r "$pkgdir"/usr/lib/cmake/{cblas*,lapacke*}
  rm -r "$pkgdir"/usr/include
}

package_blas() {
  pkgdesc="Basic Linear Algebra Subprograms"
  depends=('gcc-libs')

  cd build/BLAS
  make DESTDIR="$pkgdir" install
  
  install -m755 -d "${pkgdir}/usr/share/licenses/blas"
  install -m644 "${srcdir}/LICENSE.blas" \
    "${pkgdir}/usr/share/licenses/blas/"
}

package_cblas() {
  pkgdesc="C interface to BLAS"
  depends=("blas")

  cd build/CBLAS
  make DESTDIR="$pkgdir" install
}

package_lapacke() {
  pkgdesc="C interface to LAPACK"
  depends=("lapack")

  cd build/LAPACKE
  make DESTDIR="$pkgdir" install
}

package_lapack-doc() {
  pkgdesc="Man pages for BLAS/LAPACK"

  mkdir -p "$pkgdir"/usr/share
  cp -r lapack-$pkgver/DOCS/man "$pkgdir"/usr/share
}