{ stdenv, lib, pkgs, ... }: let version = "12.20250206"; major = "12"; revision = "20250206"; realname = "OpenFOAM"; in let pkg = stdenv.mkDerivation { pname = "openfoam"; inherit version major; src = pkgs.fetchFromGitHub { owner = realname; repo = "${realname}-${major}"; rev = "${revision}"; sha256 = "sha256-MZ29G5+49ZjE2hHC4uRF6PTR7cI5hrdjOn66lMnIgIw="; }; nativeBuildInputs = with pkgs; [bash m4 flex bison]; buildInputs = with pkgs; [fftw mpi scotch boost cgal zlib]; patches = [ ./0001-etc-bashrc-add-placeholder-for-FOAM_INST_DIR.patch ]; postPatch = '' substituteInPlace etc/bashrc \ --replace 'export SCOTCH_TYPE=ThirdParty' 'export SCOTCH_TYPE=system' \ --replace 'export ZOLTAN_TYPE=ThirdParty' 'export ZOLTAN_TYPE=none' patchShebangs Allwmake patchShebangs etc patchShebangs wmake patchShebangs applications patchShebangs bin ''; configurePhase = '' export FOAM_INST_DIR=$NIX_BUILD_TOP/source export WM_PROJECT_DIR=$FOAM_INST_DIR/${realname}-${major} mkdir $WM_PROJECT_DIR mv $(find $FOAM_INST_DIR/ -maxdepth 1 -not -path $WM_PROJECT_DIR -not -path $FOAM_INST_DIR/) \ $WM_PROJECT_DIR/ set +e . $WM_PROJECT_DIR/etc/bashrc set -e ''; buildPhase = '' sh $WM_PROJECT_DIR/Allwmake -j$CORES wclean all wmakeLnIncludeAll ''; installPhase = '' mkdir -p $out/${realname}-${major} substituteInPlace $WM_PROJECT_DIR/etc/bashrc \ --replace '# __inst_dir_placeholder__' "export FOAM_INST_DIR=$out" cp -Ra $WM_PROJECT_DIR/* $out/${realname}-${major} ''; passthru = { shellHook = '' . ${pkg}/${realname}-${major}/etc/bashrc ''; }; meta = with pkgs.lib; { homepage = "https://www.openfoam.org/"; description = "OpenFOAM is a free, open source CFD software released and developed by OpenFOAM Foundation"; license = licenses.gpl3; platforms = platforms.linux; maintainers = [ "wose" ]; broken = pkgs.stdenv.isDarwin; }; }; in pkg