summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 8acd6d795a34ea97aeda5ced257d3285e55caf70 (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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# Maintainer: Lex Black <autumn-wind at web dot de>
# Contributor: Michael Jakl <jakl.michael@gmail.com>
# With contributions from many kind people at https://aur.archlinux.org/packages/julia-git/

_pkgbase=julia
pkgbase=${_pkgbase}-git
pkgname=('julia-git' 'julia-git-docs')
pkgver=0.4.0.dev.5049.g556bbe3
pkgrel=1
pkgdesc='High-level, high-performance, dynamic programming language'
arch=('i686' 'x86_64')
url="http://julialang.org"
license=('GPL')
makedepends=('gcc-fortran' 'arpack' 'fftw' 'git' 'gmp' 'libgit2' 'libunwind' 'llvm' 'mpfr' 'openlibm' 'openspecfun' 'pcre' 'suitesparse' 'patchelf')
# Needed if building the documentation
#makedepends+=('python2-sphinx' 'python2-sphinx_rtd_theme' 'python-pip' 'texlive-langcjk' 'texlive-latexextra')
options=('!emptydirs')
source=('git://github.com/JuliaLang/julia.git')
md5sums=('SKIP')


pkgver() {
  cd $_pkgbase

  # use the version from VERSION file
  ver=`git show master:VERSION | sed 's/-/./g'`
  # strip the last tag name from the HEAD description
  rev=`git describe --tags | sed 's/^.\+-\([0-9]\+-g[0-9a-f]\+\)$/\1/;s/-/./g'`
  echo $ver.$rev
}

prepare() {
  cd $_pkgbase
  git submodule init
  git submodule update

  cd doc
  # They use the Python2 version for sphinx which has on Arch a different name
  #sed s/sphinx-build/sphinx-build2/g -i Makefile
}

build() {
  make -C $_pkgbase prefix=/usr sysconfdir=/etc \
    USE_SYSTEM_LLVM=1 \
    USE_SYSTEM_LIBUNWIND=1 \
    USE_SYSTEM_PCRE=1 \
    USE_SYSTEM_LIBM=1 \
    USE_SYSTEM_OPENLIBM=1 \
    USE_SYSTEM_OPENSPECFUN=1 \
    USE_SYSTEM_DSFMT=0 \
    USE_SYSTEM_BLAS=1 \
    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_RMATH=0 \
    USE_SYSTEM_LIBUV=0 \
    USE_SYSTEM_UTF8PROC=0 \
    USE_SYSTEM_LIBGIT2=1 \
    USE_SYSTEM_PATCHELF=1 \
    USE_INTEL_MKL=0 \
    USE_BLAS64=0 \
    USE_LLVM_SHLIB=0

  # Building doc
  cd $_pkgbase/doc
  echo "Doc build disabled"
  #make man
  #make latexpdf
  #make info
}

package_julia-git() {
  depends=('arpack' 'fftw' 'gmp' 'libgit2' 'libunwind' 'llvm' 'mpfr' 'openlibm' 'openspecfun' 'pcre' 'suitesparse' 'patchelf' 'hicolor-icon-theme' 'xdg-utils') # 'utf8proc' (AUR) 'intel-mkl' (AUR)
  optdepends=('gnuplot: If using the Gaston Package from julia')
  install=julia.install
  provides=('julia')
  conflicts=('julia')
  backup=('etc/julia/juliarc.jl')

  make -C $_pkgbase DESTDIR=$pkgdir prefix=/usr sysconfdir=/etc \
    USE_SYSTEM_LLVM=1 \
    USE_SYSTEM_LIBUNWIND=1 \
    USE_SYSTEM_PCRE=1 \
    USE_SYSTEM_LIBM=1 \
    USE_SYSTEM_OPENLIBM=1 \
    USE_SYSTEM_OPENSPECFUN=1 \
    USE_SYSTEM_DSFMT=0 \
    USE_SYSTEM_BLAS=1 \
    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_RMATH=0 \
    USE_SYSTEM_LIBUV=0 \
    USE_SYSTEM_UTF8PROC=0 \
    USE_SYSTEM_LIBGIT2=1 \
    USE_SYSTEM_PATCHELF=1 \
    USE_INTEL_MKL=0 \
    USE_BLAS64=0 \
    USE_LLVM_SHLIB=0 \
    install

  # Remove doc files
  rm -r $pkgdir/usr/share/doc/julia
}

package_julia-git-docs() {
  arch=('any')
  pkgdesc+=" (Documentation and examples)"
  provides=('julia-docs')
  conflicts=('julia-docs' 'julia-git-doc')

  echo "Doc building disabled, just the source files and examples"
  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"

  #cd $_pkgbase/doc/_build
  #install -D -m644 man/julialanguage.1 $pkgdir/usr/share/man/man1/julialanguage.1
  #install -D -m644 texinfo/JuliaLanguage.info $pkgdir/usr/share/info/julialanguage.info
  #install -D -m644 latex/JuliaLanguage.pdf $pkgdir/usr/share/julia/doc/julialanguage.pdf
  #cp -dpr --no-preserve=ownership html $pkgdir/usr/share/julia/doc/
}

# vim:set ts=2 sw=2 et: