44 lines
1.5 KiB
Nix
44 lines
1.5 KiB
Nix
{ lib, stdenv, fetchFromGitHub, cmake, gcc, boost, eigen, libxml2, openmpi, python3, python3Packages }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "precice";
|
|
version = "2020-01-20";
|
|
# Todo next release switch back to versioning but for python3 support master is needed
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "precice";
|
|
repo = pname;
|
|
rev = "9f778290416416255fc73a495e962def301648b0";
|
|
sha256 = "1ij43qjbf1aq3lh91gqpviajc8lyl7qkxfccmj5md5vwf88vjaip";
|
|
};
|
|
|
|
cmakeFlags = [
|
|
"-DBUILD_SHARED_LIBS=ON"
|
|
"-DPETSC=off"
|
|
"-DPYTHON_LIBRARIES=${python3.libPrefix}"
|
|
"-DPYTHON_INCLUDE_DIR=${python3}/include/${python3.libPrefix}m"
|
|
];
|
|
|
|
nativeBuildInputs = [ cmake gcc ];
|
|
buildInputs = [ boost eigen libxml2 openmpi python3 python3Packages.numpy ];
|
|
patches = [
|
|
./0001-Fix-the-install-target-dirs-to-use-the-CMAKE-flags.patch # CMake Packaging is not perfect upstream, after this PR it is https://github.com/precice/precice/pull/577/files
|
|
];
|
|
enableParallelBuilding = true;
|
|
|
|
postInstall = ''
|
|
substituteInPlace "$out"/lib/cmake/precice/preciceTargets.cmake \
|
|
--replace 'INTERFACE_INCLUDE_DIRECTORIES "''${_IMPORT_PREFIX}/include;' 'INTERFACE_INCLUDE_DIRECTORIES "'$out/include';'
|
|
''; # Check if this can be removed after upstream PR 577
|
|
|
|
meta = {
|
|
description = "preCICE stands for Precise Code Interaction Coupling Environment";
|
|
license = with lib.licenses; [ gpl3 ];
|
|
homepage = "https://www.precice.org/";
|
|
platforms = lib.platforms.linux;
|
|
maintainers = with lib.maintainers; [ Scriptkiddi ];
|
|
};
|
|
}
|
|
|
|
|