at 24.05-pre 61 lines 1.4 kB view raw
1{ lib, stdenv, fetchFromGitHub, cmake, boost, eigen, libxml2, mpi, python3 2, mklSupport ? true, mkl 3, substituteAll 4}: 5 6stdenv.mkDerivation rec { 7 pname = "FEBio"; 8 version = "3.6"; 9 10 src = fetchFromGitHub { 11 owner = "febiosoftware"; 12 repo = pname; 13 rev = "v${version}"; 14 sha256 = "187s4lyzr806xla3smq3lsvj3f6wxlhfkban89w0fnyfmfb8w9am"; 15 }; 16 17 patches = [ 18 (substituteAll { 19 src = ./fix-cmake.patch; # cannot find mkl libraries without this 20 so = stdenv.hostPlatform.extensions.sharedLibrary; 21 }) 22 ]; 23 24 cmakeFlags = lib.optional mklSupport "-DUSE_MKL=On" 25 ++ lib.optional mklSupport "-DMKLROOT=${mkl}" 26 ; 27 28 env.CXXFLAGS = lib.optionalString stdenv.isLinux "-include cstring"; 29 30 installPhase = '' 31 runHook preInstall 32 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 45 46 runHook postInstall 47 ''; 48 49 nativeBuildInputs = [ cmake ]; 50 buildInputs = [ boost eigen libxml2 mpi python3 python3.pkgs.numpy ] 51 ++ lib.optional mklSupport mkl 52 ; 53 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 }; 61}