febio: init at 3.5.1

+83
+55
pkgs/development/libraries/febio/default.nix
···
··· 1 + { lib, stdenv, fetchFromGitHub, cmake, boost, eigen, libxml2, mpi, python3 2 + , mklSupport ? true, mkl 3 + }: 4 + 5 + stdenv.mkDerivation rec { 6 + pname = "FEBio"; 7 + version = "3.6"; 8 + 9 + src = fetchFromGitHub { 10 + owner = "febiosoftware"; 11 + repo = pname; 12 + rev = "v${version}"; 13 + sha256 = "187s4lyzr806xla3smq3lsvj3f6wxlhfkban89w0fnyfmfb8w9am"; 14 + }; 15 + 16 + patches = [ 17 + ./fix-cmake.patch # cannot find mkl libraries without this 18 + ]; 19 + 20 + cmakeFlags = lib.optional mklSupport "-DUSE_MKL=On" 21 + ++ lib.optional mklSupport "-DMKLROOT=${mkl}" 22 + ; 23 + 24 + installPhase = '' 25 + runHook preInstall 26 + 27 + mkdir -p $out/include 28 + cp -R lib bin $out/ 29 + cp -R ../FECore \ 30 + ../FEBioFluid \ 31 + ../FEBioLib \ 32 + ../FEBioMech \ 33 + ../FEBioMix \ 34 + ../FEBioOpt \ 35 + ../FEBioPlot \ 36 + ../FEBioXML \ 37 + ../NumCore \ 38 + $out/include 39 + 40 + runHook postInstall 41 + ''; 42 + 43 + nativeBuildInputs = [ cmake ]; 44 + buildInputs = [ boost eigen libxml2 mpi python3 python3.pkgs.numpy ] 45 + ++ lib.optional mklSupport mkl 46 + ; 47 + 48 + meta = { 49 + description = "FEBio Suite Solver"; 50 + license = with lib.licenses; [ mit ]; 51 + homepage = "https://febio.org/"; 52 + platforms = lib.platforms.unix; 53 + maintainers = with lib.maintainers; [ Scriptkiddi ]; 54 + }; 55 + }
+26
pkgs/development/libraries/febio/fix-cmake.patch
···
··· 1 + --- a/CMakeLists.txt 2 + +++ b/CMakeLists.txt 3 + @@ -47,7 +47,7 @@ function(findLib libName libDir libOut) 4 + find_library(TEMP NAMES ${libName}.lib ${ARGV3}.lib ${ARGV4}.lib ${ARGV5}.lib ${ARGV6}.lib 5 + PATHS ${${libDir}} NO_DEFAULT_PATH) 6 + else() 7 + - find_library(TEMP NAMES lib${libName}.a lib${ARGV3}.a lib${ARGV4}.a lib${ARGV5}.a lib${ARGV6}.a 8 + + find_library(TEMP NAMES lib${libName}.a lib${ARGV3}.a lib${ARGV4}.a lib${ARGV5}.a lib${ARGV6}.a lib${libName}.so lib${ARGV3}.so lib${ARGV4}.so lib${ARGV5}.so lib${ARGV6}.so 9 + PATHS ${${libDir}} NO_DEFAULT_PATH) 10 + endif() 11 + 12 + diff --git a/FindDependencies.cmake b/FindDependencies.cmake 13 + index 2d644005f..7261ba923 100644 14 + --- a/FindDependencies.cmake 15 + +++ b/FindDependencies.cmake 16 + @@ -46,8 +46,8 @@ if(MKLROOT) 17 + NO_DEFAULT_PATH) 18 + 19 + find_library(MKL_OMP_LIB 20 + - NAMES iomp5 iomp5md libiomp5md.lib 21 + - PATHS ${MKLROOT}/../lib ${MKLROOT}/../compiler/lib 22 + + NAMES libiomp5.so libiomp5 iomp5 iomp5md libiomp5md.lib 23 + + PATHS ${MKLROOT}/lib ${MKLROOT}/../lib ${MKLROOT}/../compiler/lib 24 + PATH_SUFFIXES "intel64" "intel32" 25 + NO_DEFAULT_PATH 26 + DOC "MKL OMP Library")
+2
pkgs/top-level/all-packages.nix
··· 16523 16524 fcl = callPackage ../development/libraries/fcl { }; 16525 16526 ffcast = callPackage ../tools/X11/ffcast { }; 16527 16528 fflas-ffpack = callPackage ../development/libraries/fflas-ffpack { };
··· 16523 16524 fcl = callPackage ../development/libraries/fcl { }; 16525 16526 + febio = callPackage ../development/libraries/febio { }; 16527 + 16528 ffcast = callPackage ../tools/X11/ffcast { }; 16529 16530 fflas-ffpack = callPackage ../development/libraries/fflas-ffpack { };