Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / febio / default.nix
blobd0c54b8b157d795b9f7cb1803fced2c954151346
1 { lib, stdenv, fetchFromGitHub, cmake, boost, eigen, libxml2, mpi, python3
2 , mklSupport ? true, mkl
3 , substituteAll
4 }:
6 stdenv.mkDerivation rec {
7   pname = "FEBio";
8   version = "3.6";
10   src = fetchFromGitHub {
11     owner = "febiosoftware";
12     repo = pname;
13     rev = "v${version}";
14     sha256 = "187s4lyzr806xla3smq3lsvj3f6wxlhfkban89w0fnyfmfb8w9am";
15   };
17   patches = [
18     (substituteAll {
19       src = ./fix-cmake.patch;  # cannot find mkl libraries without this
20       so = stdenv.hostPlatform.extensions.sharedLibrary;
21     })
22   ];
24   cmakeFlags = lib.optional mklSupport "-DUSE_MKL=On"
25     ++ lib.optional mklSupport "-DMKLROOT=${mkl}"
26   ;
28   env.CXXFLAGS = lib.optionalString stdenv.isLinux "-include cstring";
30   installPhase = ''
31     runHook preInstall
33     mkdir -p $out/include
34     cp -R lib bin $out/
35     cp -R ../FECore \
36       ../FEBioFluid \
37       ../FEBioLib \
38       ../FEBioMech \
39       ../FEBioMix \
40       ../FEBioOpt \
41       ../FEBioPlot \
42       ../FEBioXML \
43       ../NumCore \
44       $out/include
46     runHook postInstall
47   '';
49   nativeBuildInputs = [ cmake ];
50   buildInputs = [ boost eigen libxml2 mpi python3 python3.pkgs.numpy ]
51    ++ lib.optional mklSupport mkl
52   ;
54   meta = {
55     description = "FEBio Suite Solver";
56     license = with lib.licenses; [ mit ];
57     homepage = "https://febio.org/";
58     platforms = lib.platforms.unix;
59     maintainers = with lib.maintainers; [ Scriptkiddi ];
60   };