ginkgo-nix/derivation.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
];
}