blob: 65f07025a9c2f4a4315dc99873bc038a09d42ab3 (
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
|
# Maintainer (AUR): Jingbei Li <i@jingbei.li>
# Contributor (AUR): Xwang <xwaang1976@gmail.com>
# Contributor (AUR): George Eleftheriou <eleftg>
# Contributor (AUR): Andrew Fischer <andrew_at_apastron.co>
# Contributor: bill-auger <bill-auger@programmer.net>
# parabola changes and rationale:
# - removed parametis support
pkgname=openfoam
_majorver=7
_minorver=20200508 # git-tagged release version
pkgver=${_majorver}.${_minorver}
pkgrel=1
pkgdesc="computational fluid dynamics (CFD) toolbox, without non-free parmetis support"
arch=('x86_64')
url="http://www.openfoam.org"
license=("GPL")
depends=('bzip2' 'paraview' 'scotch' 'boost' 'flex' 'cgal')
makedepends=('bash')
conflicts=(openfoam3.0-git)
repalces=(openfoam3.0-git)
source=(OpenFOAM-${_majorver}::https://github.com/OpenFOAM/OpenFOAM-${_majorver}/archive/${_minorver}.tar.gz)
install=openfoam.install
sha256sums=('54e637521a89c96ad69d53a260c908a2eb429793a74788f24d6ca87ad22db38b')
prepare() {
# Extract the current version and major of paraview and of scotch for use in the system preferences
_pversion=$(pacman -Q $(pacman -Qqo $(which paraview)) | sed -e 's/.* //; s/-.*//g')
_pmajor=`echo $_pversion | cut -d '.' -f1`
_sversion=`pacman -Q scotch | sed -e 's/.* //; s/-.*//g'`
# Generate and install the system preferences file
echo "compilerInstall=system" > "${srcdir}"/prefs.sh
echo "export WM_MPLIB=SYSTEMOPENMPI" >> "${srcdir}"/prefs.sh
echo "export ParaView_VERSION=${_pversion}" >> "${srcdir}"/prefs.sh
echo "export ParaView_MAJOR=${_pmajor}" >> "${srcdir}"/prefs.sh
cp "${srcdir}"/prefs.sh "${srcdir}"/OpenFOAM-${_majorver}/etc #|| return 1
# Generate the scotch.sh file for arch
echo "export SCOTCH_VERSION=scotch_${_sversion}" > "${srcdir}"/scotch.sh
echo "export SCOTCH_ARCH_PATH=/usr" >> "${srcdir}"/scotch.sh
cp "${srcdir}"/scotch.sh "${srcdir}"/OpenFOAM-${_majorver}/etc/config #|| return 1
}
build() {
# Setup the build environment
export FOAM_INST_DIR="${srcdir}"
foamDotFile="${srcdir}"/OpenFOAM-${_majorver}/etc/bashrc
[ -f ${foamDotFile} ] || return 1
# Enter build directory
cd "${srcdir}"/OpenFOAM-${_majorver}
# Build and clean up OpenFOAM
bash -c "source ${foamDotFile}
./Allwmake || exit 1
wclean all || exit 1
wmakeLnIncludeAll || exit 1"
}
package() {
cd "${srcdir}"
# Create destination directories
install -d "${pkgdir}"/opt/OpenFOAM "${pkgdir}"/etc/profile.d || return 1
# copy package to pkgdir
cp -r "${srcdir}"/OpenFOAM-${_majorver} "${pkgdir}"/opt/OpenFOAM || return 1
# Add source file
echo "export FOAM_INST_DIR=/opt/OpenFOAM" > "${pkgdir}"/etc/profile.d/openfoam-${_majorver}.sh || return 1
echo "alias ofoam=\"source \${FOAM_INST_DIR}/OpenFOAM-${_majorver}/etc/bashrc\"" >> "${pkgdir}"/etc/profile.d/openfoam-${_majorver}.sh || return 1
chmod 755 "${pkgdir}"/etc/profile.d/openfoam-${_majorver}.sh || return 1
# Add stub thirdparty directory to keep openfoam happy
install -d "${pkgdir}"/opt/OpenFOAM/ThirdParty-${_majorver} || return 1
# Permission fixes - for system-wide install and use
chmod -R go+r "${pkgdir}"/opt
chmod -R 755 "${pkgdir}"/opt/OpenFOAM/OpenFOAM-${_majorver}/bin
chmod -R 755 ""${pkgdir}""/opt/OpenFOAM/OpenFOAM-${_majorver}/etc
}
|