# Maintainer (aur): Jingbei Li # Contributor: Xwang # Contributor: George Eleftheriou # Contributor: Andrew Fischer # Contributor: bill-auger # 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 }