summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 8a8b88caca6881211117d33f6501caea71c05898 (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
# Maintainer: Josh Hoffer < hoffer dot joshua at gmail dot com >
pkgbase=dune-core
pkgname=('dune-common' 'dune-geometry' 'dune-localfunctions' 'dune-istl' 'dune-grid' 'dune-uggrid' )

pkgver=2.5.1
pkgrel=3

pkgdesc='Core modules of the DUNE framework'
groups=('dune')
url='http://www.dune-project.org'

arch=('i686' 'x86_64')
license=('custom')

makedepends=('cmake' 'gcc-fortran' 'openmpi' 'gmp' 'lapack' 'boost' 'superlu' 'suitesparse'
    'parmetis' 'alberta=3.0.1' 'psurface' )


export CFLAGS="-fPIC ${CFLAGS}"
export CXXFLAGS="-fPIC ${CFLAGS}" 

for _module in "${pkgname[@]}"; do
    source+=("http://www.dune-project.org/download/${pkgver}/${_module}-${pkgver}.tar.gz")
done

md5sums=('71676b07bd489321d9f67b2d77d9f2d6'
         '3d0ea46cad71c5087f304f462ccc5068'
         'a4a6d31714d9a46ac8be2ad8303e4531'
         'b16be825d8f0c2acdfdebde91894c6ef'
         '8394d8aa7811f4a548df6449b448796a'
         '4ce8cf2291fe12454695c3d94e195310')

_dunecontrol="./dune-common-${pkgver}/bin/dunecontrol"

prepare() {
    cd "dune-istl-${pkgver}"

#    patch -p1 -i ../../avoid-boost-fusion-1.61.patch
}

package() {
    $_dunecontrol --only=${pkgname} make install DESTDIR="${pkgdir}"

    install -m644 -D ${pkgname}-${pkgver}/COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"

    find "${pkgdir}" -type d -empty -delete
}

build() {
    CMAKE_FLAGS='-DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib -fPIC -DBUILD_SHARED_LIBS:BOOL=OFF' \
        $_dunecontrol configure --enabled-shared

    $_dunecontrol make
}

package_dune-common() {
    pkgdesc='Basic classes used by all DUNE modules'
    depends=('bash' 'python')

    package
}

package_dune-geometry() {
    pkgdesc='Reference elements with corresponding mappings and quadratures'

    package
}

package_dune-localfunctions() {
    pkgdesc='Shape functions, interpolation operators on DUNE reference elemements'
    arch=('any')

    package
}

package_dune-grid() {
    pkgdesc='Nonconforming, hierarchically nested, multi-element-type, parallel grids'
    arch=('any')
    package
}

package_dune-uggrid() {
    pkgdesc='UG grid manager'
    arch=('any')
    package
}

package_dune-istl() {
    pkgdesc='Iterative solver template library'
    arch=('any')

    package
}

package_dune-alugrid() {
    pkgdesc='Unstructured simplicial and cube DUNE grids'
    arch=('any')

    package
}