1{ stdenv
2, lib
3, fetchFromGitHub
4, cmake
5, glog
6, folly
7, fmt_8
8, boost
9, fbthrift
10, zlib
11, fizz
12, libsodium
13, wangle
14, python3
15}:
16
17stdenv.mkDerivation rec {
18 pname = "fb303";
19 version = "2023.06.12.00";
20
21 src = fetchFromGitHub {
22 owner = "facebook";
23 repo = "fb303";
24 rev = "v${version}";
25 sha256 = "sha256-nUOPYb5/tLyHjaZDvKuq0vdu4L7XOmO8R9nNLGAzeLI=";
26 };
27
28 nativeBuildInputs = [ cmake ];
29 cmakeFlags = [
30 "-DPYTHON_EXTENSIONS=OFF"
31 ] ++ lib.optionals stdenv.isDarwin [
32 "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation
33 ];
34
35 buildInputs = [
36 glog
37 folly
38 fmt_8
39 boost
40 fbthrift
41 zlib
42 fizz
43 libsodium
44 wangle
45 python3
46 ];
47
48 meta = with lib; {
49 description = "a base Thrift service and a common set of functionality for querying stats, options, and other information from a service";
50 homepage = "https://github.com/facebook/fb303";
51 license = licenses.asl20;
52 platforms = platforms.unix;
53 maintainers = with maintainers; [ kylesferrazza ];
54 };
55}