summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: a33897ca515dfc8c0c3948ccf123a139cc73ebc3 (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
# Maintainer: Sukanka <su975853527 [AT] gmail.com>
pkgname=yade
pkgver=2020.01a
pkgrel=1
pkgdesc="An Open Source Discrete Element Method"
arch=("x86_64")
url='https://yade-dem.org/doc/index.html'
license=('GPL2')
depends=(
    'boost' 'qt5-base' 'freeglut' 'libqglviewer' 'eigen' 'gdb' 'sqlite'
    'python' 'python-numpy' 'ipython' 'python-sphinx' 'python-mpi4py' 
    'python-matplotlib' 'python-xlib' 'python-future'
    # AUR packages
    'python-minieigen-git' 'python-pygraphviz' 'loki-lib' 
)
#boost  libqglviewer  ipython python-sphinx python-mpi4py python-matplotlib eigen   loki vtk cgal     coin-or  python-mpmath python-pygraphviz python-xlib python-minieigen-git python-future
optdepends=(
    'gl2ps: an OpenGL to PostScript printing library'
    'vtk: open source software for manipulating and displaying scientific data (Recommended)'
    'cgal: Computational Geometry Algorithms Library'
    'suitesparse: sparse algebra library (fluid coupling)'
    'openblas: optimized and parallelized alternative to the standard blas+lapack (fluid coupling)'
    'metis: matrix preconditioning (fluid coupling)'
    'openmpi: library for parallel distributed computing (For MPI and OpenFOAM coupling)'
    # simply use sudo pacman -S coin-or to install the following:
    'coin-or-asl: Linear Programming Solver in group coin-or (For PotentialBlock)'
    'coin-or-cbc: Linear Programming Solver in group coin-or (For PotentialBlock)'
    'coin-or-cgl: Linear Programming Solver in group coin-or (For PotentialBlock)'
    'coin-or-clp: Linear Programming Solver in group coin-or (For PotentialBlock)'
    'coin-or-coinutils: Linear Programming Solver in group coin-or (For PotentialBlock)'
    'coin-or-mp: Linear Programming Solver in group coin-or (For PotentialBlock)'
    'coin-or-osi: Linear Programming Solver in group coin-or (For PotentialBlock)'
    
    'mpfr: multiple-precision floating-point library (with python-mpmath)'
    'python-mpmath: arbitrary-precision floating-point library (with mpfr)'
    'cuda: to activate GPU accelerated PFV'
)
makedepends=('cmake')
provides=('yade')
source=("https://launchpad.net/yade/trunk/yade-1.00.0/+download/yade-${pkgver}.tar.bz2")
sha512sums=('91262e24e361bd2f7139426fe32273efb8907271d870eb4f71cf659a2b4ef391123c3e60c39dea1255bbdc4c1ff442a40e0a9eaeb0fff84ade28bd945da6c16e')



prepare(){
    cd "$srcdir"
    # Follow https://yade-dem.org/doc/installation.html#compilation
    mv trunk-${pkgver} trunk 
    mkdir build 
}
build(){
    cd "$srcdir"/build
    # I hope CMAKE_INSTALL_PREFIX=/usr won't cause bugs.
    # WARNING: Package contains reference to $srcdir, but all to "$srcdir"/trunk, I think it's safe. 
    # Anyway, I still want to deal with this, but need help.
    cmake ../trunk \
        -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib \
        -DENABLE_SPH=ON   -DENABLE_PROFILING=ON  -DCHOLMOD_GPU=ON -DENABLE_PYTHON3=ON -DENABLE_LIQMIGRATION=ON -DENABLE_MASK_ARBITRARY=ON  -DNOSUFFIX=ON \
        -DENABLE_USEFUL_ERRORS=OFF # or build will fail!
    make -j10
}

package(){
    cd "$srcdir"/build
#     mv lib64 lib
    make install DESTDIR="${pkgdir}"
}