blob: bd81df98c2c9b07e121a8bec0ce18628c5f2b4c0 (
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
|
# Maintainer: Gustavo Alvarez <sl1pkn07@gmail.com>
# Original: Michele Mocciola <mickele>
# Contributor: Brice Méalier <mealier_brice@yahoo.fr>
# Contributor: César Vecchio <cesar UNDERSTRIKE vecchio AT yahoo DOT com>
# Contributor: valandil
# Contributor: nim65s
# Contributor: Joey Dumont <joey.dumont@gmail.com>
# Contributor: simonp
# Contributor: Martin Ortbauer <mortbauer@gmail.com>
_pkgname='med'
pkgname=('med-openmpi'
'med-openmpi-docs'
)
pkgver=4.1.0
pkgrel=2
pkgdesc="Generic pre- and post-processing platform for numerical simulation (openmpi version)"
url="https://www.salome-platform.org/downloads"
license=('LGPL')
depends=('hdf5-openmpi'
'tk'
'python'
)
makedepends=('gcc-fortran'
'swig'
'openmpi'
'cmake'
)
arch=('x86_64')
source=("http://files.salome-platform.org/Salome/other/${_pkgname}-${pkgver}.tar.gz"
'hdf5-1.12.patch::https://gitweb.gentoo.org/repo/gentoo.git/plain/sci-libs/med/files/med-4.1.0-0003-build-against-hdf5-1.12.patch?id=350ea3e89d0e87e35a3a4b5f2ce92b55aae9d226'
)
sha256sums=('847db5d6fbc9ce6924cb4aea86362812c9a5ef6b9684377e4dd6879627651fce'
'82d28b6ae2ee6ceb3c6de9acb861a49741e2e759c7c556217f7d284216788206'
)
options=('debug')
prepare() {
patch -d "${_pkgname}-${pkgver}" -p1 -i "${srcdir}/hdf5-1.12.patch"
sed 's/if H5_VERS_MINOR > 10/if 0/g' -i "${_pkgname}-${pkgver}/src/ci/MEDfileCompatibility.c"
# set libdir as cmake install path instead of share
sed 's|share/cmake|lib${LIB_SUFFIX}/cmake|g' -i "${_pkgname}-${pkgver}/CMakeLists.txt"
}
build() {
CXX="mpicxx" \
CC="mpicc" \
FC="mpif90" \
F9X="mpif90" \
CFLAGS+=" -DH5_USE_18_API" \
cmake -S "${_pkgname}-${pkgver}" -B build \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DMEDFILE_USE_MPI=ON \
-DMEDFILE_BUILD_PYTHON=ON \
-DMEDFILE_BUILD_TESTS=ON \
-DMEDFILE_INSTALL_DOC=ON \
-DCMAKE_SKIP_RPATH=ON
cmake --build build
}
check() {
cd build
LD_LIBRARY_PATH="${srcdir}/build/src" \
ctest -E '._Python' --output-on-failure # exclude python test due circular dependency(?)
}
package_med-openmpi() {
provides=('med')
conflicts=('med')
replaces=('med')
DESTDIR="${pkgdir}" cmake --build build --target install
# remove docs
rm -rf "${pkgdir}/usr/share"
# remove testsuit
rm -fr "${pkgdir}/usr/bin/"test*
# create missing symlinks (see install output)
(cd "${pkgdir}/usr/bin"
ln -sf mdump4 mdump
ln -sf xmdump4 xmdump
)
}
package_med-openmpi-docs() {
pkgdesc+=" (Documentation)"
arch=('any')
depends=()
DESTDIR="${pkgdir}" cmake --build build --target install
# remove headers, binaries and libraries
rm -rf "${pkgdir}/usr/include"
rm -rf "${pkgdir}/usr/bin"
rm -rf "${pkgdir}/usr/lib"
}
|