1{ lib
2, stdenv
3, fetchFromGitHub
4, cmake
5, gtest
6, prometheus-cpp
7}:
8
9stdenv.mkDerivation rec {
10 pname = "gbenchmark";
11 version = "1.8.0";
12
13 src = fetchFromGitHub {
14 owner = "google";
15 repo = "benchmark";
16 rev = "v${version}";
17 sha256 = "sha256-pUW9YVaujs/y00/SiPqDgK4wvVsaM7QUp/65k0t7Yr0=";
18 };
19
20 nativeBuildInputs = [ cmake ];
21
22 postPatch = ''
23 cp -r ${gtest.src} googletest
24 chmod -R u+w googletest
25
26 # https://github.com/google/benchmark/issues/1396
27 substituteInPlace cmake/benchmark.pc.in \
28 --replace '$'{prefix}/@CMAKE_INSTALL_LIBDIR@ @CMAKE_INSTALL_FULL_LIBDIR@ \
29 --replace '$'{prefix}/@CMAKE_INSTALL_INCLUDEDIR@ @CMAKE_INSTALL_FULL_INCLUDEDIR@
30 '';
31
32 doCheck = true;
33
34 passthru.tests = {
35 inherit prometheus-cpp;
36 };
37
38 meta = with lib; {
39 description = "A microbenchmark support library";
40 homepage = "https://github.com/google/benchmark";
41 license = licenses.asl20;
42 platforms = platforms.linux ++ platforms.darwin;
43 maintainers = with maintainers; [ abbradar ];
44 };
45}