62 lines
1.0 KiB
Nix
62 lines
1.0 KiB
Nix
{ lib
|
|
, stdenvNoCC
|
|
, fetchFromGitHub
|
|
, cmake
|
|
, ninja
|
|
, gtest
|
|
, mold
|
|
, clang_14
|
|
, cppCompiler ? clang_14
|
|
, hwloc
|
|
, gflags
|
|
, rapidjson
|
|
, extraBuildInputs ? []
|
|
, extraCmakeFlags ? []
|
|
}:
|
|
|
|
let
|
|
basename = "ginkgo-hpc";
|
|
version = "1.5.0";
|
|
cpp_c = cppCompiler;
|
|
src = fetchFromGitHub {
|
|
repo = "ginkgo";
|
|
owner = "ginkgo-project";
|
|
rev = "234594c92b58e2384dfb43c2d08e7f43e2b58e7a";
|
|
sha256 = "eKQfuXnTMGgEzuksXzZE4QR5ILfVbw+dK9IsRdmalQc=";
|
|
};
|
|
extra_build_inputs = extraBuildInputs;
|
|
base_cmake_flags = [
|
|
"-DGINKGO_BUILD_TESTS=ON"
|
|
];
|
|
extra_cmake_flags = extraCmakeFlags;
|
|
native_build_inputs = [
|
|
cmake
|
|
ninja
|
|
cpp_c
|
|
mold
|
|
gtest
|
|
];
|
|
build_inputs = [
|
|
hwloc
|
|
gflags
|
|
rapidjson
|
|
];
|
|
in stdenvNoCC.mkDerivation {
|
|
pname = "${basename}";
|
|
version = version;
|
|
|
|
src = src;
|
|
|
|
nativeBuildInputs = native_build_inputs;
|
|
|
|
buildInputs = build_inputs ++ extra_build_inputs;
|
|
|
|
cmakeFlags = base_cmake_flags ++ extra_cmake_flags;
|
|
|
|
outputs = [ "out" "dev" ];
|
|
|
|
patches = [
|
|
./ver_1_5_cmake.patch
|
|
];
|
|
}
|