nixpkgs/pkgs/applications/science/physics/elmerfem/default.nix
grindhold 865d79bb5b elmerfem: make elmerfem-9.0 properly
0) ElmerGUI displays things in the Model tree on the
     left screen side again
  1) Enable the import of STEP- and other opencascade-
     based formats
  2) Patch the source to enable builds with gcc-11
  3) Build the Qt5 version instead of the Qt4 version
2022-05-09 10:41:56 +02:00

69 lines
1.5 KiB
Nix

{ lib, stdenv, fetchFromGitHub, cmake, git, gfortran, mpi, blas, liblapack, pkg-config, libGL, libGLU, opencascade, libsForQt5, vtkWithQt5}:
stdenv.mkDerivation rec {
pname = "elmerfem";
version = "9.0";
src = fetchFromGitHub {
owner = "elmercsc";
repo = "elmerfem";
rev = "release-${version}";
sha256 = "VK7jvu4s5d7k0c39XqY9dEzg/vXtX5Yr/09VcuZVQ9A=";
};
hardeningDisable = [ "format" ];
nativeBuildInputs = [
cmake
gfortran
pkg-config
libsForQt5.wrapQtAppsHook
];
buildInputs = [
mpi
blas
liblapack
libsForQt5.qtbase
libsForQt5.qtscript
libsForQt5.qwt
libGL
libGLU
opencascade
vtkWithQt5
];
preConfigure = ''
patchShebangs ./
'';
patches = [
./patches/0001-fix-import-of-QPainterPath.patch
./patches/0002-fem-rename-loopvars-to-avoid-redefinition.patch
./patches/0003-ignore-qwt_compat.patch
];
storepath = placeholder "out";
cmakeFlags = [
"-DELMER_INSTALL_LIB_DIR=${storepath}/lib"
"-DWITH_OpenMP:BOOLEAN=TRUE"
"-DWITH_MPI:BOOLEAN=TRUE"
"-DWITH_QT5:BOOLEAN=TRUE"
"-DWITH_OCC:BOOLEAN=TRUE"
"-DWITH_VTK:BOOLEAN=TRUE"
"-DWITH_ELMERGUI:BOOLEAN=TRUE"
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DCMAKE_INSTALL_INCLUDEDIR=include"
"-DCMAKE_OpenGL_GL_PREFERENCE=GLVND"
];
meta = with lib; {
homepage = "https://elmerfem.org/";
description = "A finite element software for multiphysical problems";
platforms = platforms.unix;
maintainers = with maintainers; [ wulfsta broke ];
license = licenses.lgpl21;
};
}