vuls: init at 0.27.0 (#348530)
[NixPkgs.git] / pkgs / by-name / ei / eigenrand / package.nix
blobd3014ff9d75f47de8508e945100b248e887012a4
2   cmake,
3   eigen,
4   fetchFromGitHub,
5   gtest,
6   lib,
7   stdenv,
8 }:
10 stdenv.mkDerivation (finalAttrs: {
11   pname = "eigenrand";
12   version = "0.5.1";
14   src = fetchFromGitHub {
15     owner = "bab2min";
16     repo = "EigenRand";
17     rev = "v${finalAttrs.version}";
18     hash = "sha256-mrpkWIb6kfLvppmIfzhjF1/3m1zSd8XG1D07V6Zjlu0=";
19   };
21   # Avoid downloading googletest: we already have it.
22   postPatch = ''
23     substituteInPlace CMakeLists.txt --replace-fail \
24       "FetchContent_MakeAvailable(googletest)" \
25       "add_subdirectory(${gtest.src} googletest SYSTEM)"
26   '';
28   postInstall = ''
29     # Remove installed tests and googletest stuff
30     rm -rf $out/bin $out/include/gmock $out/include/gtest $out/lib
31   '';
33   nativeBuildInputs = [ cmake ];
34   propagatedBuildInputs = [ eigen ];
35   checkInputs = [ gtest ];
37   doCheck = true;
39   cmakeFlags = [ "-DCMAKE_CTEST_ARGUMENTS=--exclude-regex;EigenRand-test" ];
41   meta = {
42     description = "Fastest Random Distribution Generator for Eigen";
43     homepage = "https://github.com/bab2min/EigenRand";
44     license = lib.licenses.mit;
45     maintainers = with lib.maintainers; [ nim65s ];
46     platforms = lib.platforms.unix;
47   };