The guys on Archlinux forum fixed it. Here is a working PKGBUILD
# Maintainer: Renato Caldas <renato at calgera dot com>
Contributor: Anton Kudelin <kudelin at protonmail dot com>
Contributor: saxonbeta <saxonbeta [[at]] gmail _dot com
Contributor: Randy Heydon <randy dot heydon at clockworklab dot net>
pkgname=elmerfem
pkgver=26.2.1
pkgrel=1
pkgdesc="A finite element software for multiphysical problems"
arch=('x86_64')
url="http://www.elmerfem.org"
license=('GPL')
depends=('arpack' 'blas' 'qt6-declarative' 'netcdf-fortran' 'mmg' 'glu' 'qwt')
makedepends=('gcc-fortran' 'cmake' 'cli11' 'qt5-svg')
conflicts=('elmerfem-git')
source=("https://github.com/ElmerCSC/$pkgname/archive/release-$pkgver.tar.gz"
"$pkgname.desktop"
"fix_mkl_gomp.patch"
"fix_gettimeofday.patch")
sha256sums=('2271444cabdc9ae6185df961d939359062d43b1940ac9a7463a2b8adf7e0009b'
'f4b39389e5f258c7860b8d7a6b171fb54bf849dc772f640ac5e7a12c7a384aca'
'61529ac78f2e8d1bd0515e4181a670cc2dc290783b6751c7cd73681d8baa4743'
'3006a50187839fe3e461690908e0c649e2a209e6bc1c31c382257e1eaeb31b86')
options=(!emptydirs !makeflags)
prepare() {
cd "$srcdir/$pkgname-release-$pkgver"
mkdir -p ../build
patch -p0 < "$srcdir/fix_mkl_gomp.patch"
patch -p0 < "$srcdir/fix_gettimeofday.patch"
}
build() {
export CFLAGS="$CFLAGS -std=c17 -Wno-int-conversion"
cd "$srcdir/build"
cmake ../$pkgname-release-$pkgver \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_C_FLAGS="$CFLAGS -Wno-error=format-security -Wno-error=implicit-function-declaration" \
-DCMAKE_Fortran_FLAGS="$FCFLAGS -fallow-argument-mismatch -fallow-invalid-boz" \
-DMPI_Fortran_COMPILE_FLAGS="$FCFLAGS -fallow-argument-mismatch -fallow-invalid-boz" \
-DELMER_INSTALL_LIB_DIR=/usr/lib \
-DWITH_CONTRIB=ON \
-DWITH_ELMERGUI=ON \
-DWITH_ElmerIce=ON \
-DWITH_LUA=ON \
-DWITH_MATC=ON \
-DWITH_MPI=ON \
-DWITH_OpenMP=ON \
-DWITH_QT6=ON \
-DWITH_ScatteredDataInterpolator=ON \
-DWITH_VTK=OFF \
-DWITH_MKL=OFF \
-DWITH_PYTHONQT=OFF \
-DWITH_QWT=ON \
-DOpenGL_GL_PREFERENCE=GLVND \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
make all
}
package() {
cd "$srcdir/build"
make DESTDIR="$pkgdir" install
cd "$pkgdir/usr"
# Remove unecessary libraries
rm -rf -- lib/{.a,arpack.so,ElmerGUI}
# Create directories
install -dv share/{applications,pixmaps,licenses/$pkgname}
# Icon and desktop files
install -D -m644 "$srcdir/$pkgname-release-$pkgver/ElmerGUI/Application/images/logo.png" \
share/pixmaps/$pkgname.png
install -D -m644 "$srcdir/$pkgname.desktop" share/applications
# Clean up and move stuff in place
cp share/ElmerGUI/edf-extra/ share/ElmerGUI/edf
mv share/ElmerGUI/license_texts/GPL_EXCEPTION share/licenses/$pkgname
rm share/ElmerGUI/license_texts/
}
Pinned Comments
rmsc commented on 2025-05-23 21:37 (UTC)
I patched this as much as I could, but it's still not compiling due an error in one of the solvers, which is written in Fortran. Help is really welcome.
That said, this release is so old that it's probably best to just use the git version.