# $Id: PKGBUILD 137551 2015-07-28 11:06:17Z arodseth $
# Maintainer: Alexander Rødseth <rodseth@gmail.com>
# Contributor: Lex Black <autumn-wind at web dot de>
# Contributor: Michael Jakl <jakl.michael@gmail.com>
# Contributor: devmotion <nospam-archlinux.org@devmotion.de>
# Contributor: Valentin Churavy <v.churavy@gmail.com>

pkgbase=julia
pkgname=('julia' 'julia-docs')
epoch=2
pkgver=0.3.11
pkgrel=1
pkgdesc='High-level, high-performance, dynamic programming language'
arch=('x86_64' 'i686')
url='http://julialang.org/'
license=('MIT')
makedepends=('gcc-fortran' 'python2' 'libuv' 'git' 'blas' 'lapack' 'arpack' 'libunwind' 'fftw' 'gmp' 'mpfr' 'pcre' 'zlib' 'suitesparse')
optdepends=('gnuplot: If using the Gaston Package from julia')
options=('!emptydirs' 'staticlibs')
backup=('etc/ld.so.conf.d/julia.conf' 'etc/julia/juliarc.jl')
source=("git://github.com/JuliaLang/julia.git#tag=v$pkgver")
sha256sums=('SKIP')

prepare() {
  # For /etc/ld.so.conf.d/
  echo '/usr/lib/julia' > julia.conf
}

build() {
  make -C "$pkgname" prefix=/usr sysconfdir=/etc \
    MARCH=${CARCH/_/-} \
    USE_SYSTEM_LLVM=0 \
    USE_SYSTEM_LIBUNWIND=1 \
    USE_SYSTEM_READLINE=0 \
    USE_SYSTEM_PCRE=1 \
    USE_SYSTEM_LIBM=1 \
    USE_SYSTEM_OPENLIBM=0 \
    USE_SYSTEM_OPENSPECFUN=0 \
    USE_SYSTEM_BLAS=0 \
    USE_SYSTEM_LAPACK=1 \
    USE_SYSTEM_FFTW=1 \
    USE_SYSTEM_GMP=1 \
    USE_SYSTEM_MPFR=1 \
    USE_SYSTEM_ARPACK=1 \
    USE_SYSTEM_SUITESPARSE=1 \
    USE_SYSTEM_ZLIB=1 \
    USE_SYSTEM_GRISU=0 \
    USE_SYSTEM_RMATH=0 \
    USE_SYSTEM_LIBUV=0 \
    USE_SYSTEM_UTF8PROC=0 \
    USE_MKL=0 \
    USE_BLAS64=0 \
    USE_LLVM_SHLIB=0
}

package_julia() {
  depends=('arpack' 'fftw' 'git' 'gmp' 'libunwind' 'mpfr' 'pcre' 'zlib' 'lapack' 'suitesparse')
  install='sysfix.install'

  make -C "$pkgname" DESTDIR="$pkgdir" \
    prefix=/usr sysconfdir=/etc  \
    MARCH=${CARCH/_/-} \
    USE_SYSTEM_LLVM=0 \
    USE_SYSTEM_LIBUNWIND=1 \
    USE_SYSTEM_READLINE=0 \
    USE_SYSTEM_PCRE=1 \
    USE_SYSTEM_LIBM=1 \
    USE_SYSTEM_OPENLIBM=0 \
    USE_SYSTEM_OPENSPECFUN=0 \
    USE_SYSTEM_BLAS=0 \
    USE_SYSTEM_LAPACK=1 \
    USE_SYSTEM_FFTW=1 \
    USE_SYSTEM_GMP=1 \
    USE_SYSTEM_MPFR=1 \
    USE_SYSTEM_ARPACK=1 \
    USE_SYSTEM_SUITESPARSE=1 \
    USE_SYSTEM_ZLIB=1 \
    USE_SYSTEM_GRISU=0 \
    USE_SYSTEM_RMATH=0 \
    USE_SYSTEM_LIBUV=0 \
    USE_SYSTEM_UTF8PROC=0 \
    USE_MKL=0 \
    USE_BLAS64=0 \
    USE_LLVM_SHLIB=0 \
    install

  # Remove duplicate man-page from julia/doc
  rm -rvf "$pkgdir/usr/share/julia/doc/man"

  # For /etc/ld.so.conf.d, FS#41731
  install -Dm644 julia.conf "$pkgdir/etc/ld.so.conf.d/julia.conf"

  # Documentation and examples are in the julia-docs package
  rm -rvf "$pkgdir/usr/share/doc/"
  rm -rvf "$pkgdir/usr/share/julia/doc/"
  rm -rvf "$pkgdir/usr/share/julia/examples/"

  cd "$pkgname"
  install -Dm644 LICENSE.md "$pkgdir/usr/share/licenses/$pkgname/LICENSE.md"
}

package_julia-docs() {
  pkgdesc='Documentation and examples for Julia'

  install -d "$pkgdir/usr/share/doc"
  cp -rv "$srcdir/$pkgbase/doc" "$pkgdir/usr/share/doc/$pkgbase"
  cp -rv "$srcdir/$pkgbase/examples" "$pkgdir/usr/share/doc/$pkgbase/examples"
}

# getver: julialang.org/downloads
# vim:set ts=2 sw=2 et:
