1{ stdenv, lib, fetchFromGitHub, pkgconfig, protobuf, automake
2, autoreconfHook, zlib
3, enableGrpc ? false
4}:
5
6let
7 # be sure to use the right revision based on the submodule!
8 common =
9 fetchFromGitHub {
10 owner = "lightstep";
11 repo = "lightstep-tracer-common";
12 rev = "fe1f65f4a221746f9fffe8bf544c81d4e1b8aded";
13 sha256 = "1qqpjxfrjmhnhs15nhbfv28fsgzi57vmfabxlzc99j4vl78h5iln";
14 };
15
16in
17
18stdenv.mkDerivation rec {
19 name = "lightstep-tracer-cpp-${version}";
20 version = "0.36";
21
22 src = fetchFromGitHub {
23 owner = "lightstep";
24 repo = "lightstep-tracer-cpp";
25 rev = "v0_36";
26 sha256 = "1sfj91bn7gw7fga7xawag076c8j9l7kiwhm4x3zh17qhycmaqq16";
27 };
28
29 postUnpack = ''
30 cp -r ${common}/* $sourceRoot/lightstep-tracer-common
31 '';
32
33 preConfigure = lib.optionalString (!enableGrpc) ''
34 configureFlagsArray+=("--disable-grpc")
35 '';
36
37 nativeBuildInputs = [
38 pkgconfig automake autoreconfHook
39 ];
40
41 buildInputs = [
42 protobuf zlib
43 ];
44
45 meta = with lib; {
46 description = "Distributed tracing system built on top of the OpenTracing standard";
47 homepage = "https://lightstep.com/";
48 license = licenses.mit;
49 platforms = platforms.linux;
50 maintainers = with maintainers; [ cstrahan ];
51 broken = true; # 2018-02-16
52 };
53}