1{ stdenv, lib, fetchFromGitHub, pkg-config, cmake
2, opentracing-cpp, protobuf
3, enableGrpc ? false, grpc, openssl
4}:
5
6stdenv.mkDerivation rec {
7 pname = "lightstep-tracer-cpp";
8 version = "0.14.0";
9
10 src = fetchFromGitHub {
11 owner = "lightstep";
12 repo = pname;
13 rev = "v${version}";
14 sha256 = "1xr11dm94qpbx3nxb7si7zy7hzg2akj01pyxkd8pzzbvmkmic16j";
15 };
16
17 nativeBuildInputs = [
18 cmake pkg-config
19 ];
20
21 buildInputs = [
22 opentracing-cpp protobuf
23 ] ++ lib.optionals enableGrpc [
24 grpc openssl
25 ];
26
27 cmakeFlags = lib.optionals (!enableGrpc) [ "-DWITH_GRPC=OFF" ];
28
29 meta = with lib; {
30 description = "Distributed tracing system built on top of the OpenTracing standard";
31 homepage = "https://lightstep.com/";
32 license = licenses.mit;
33 platforms = platforms.linux;
34 maintainers = with maintainers; [ cstrahan ];
35 };
36}