blob: 99280ccad67a6d50094d1eef27efb0289696e192 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
{ stdenv
, jo
, pkg-config
, coreutils
, protobuf_25
, grpc
, clang
, fmt
# for tests
, gnugrep
, unixtools
}:
stdenv.mkDerivation rec {
name = "nix-dependencies";
unpackPhase=''true'';
nativeBuildInputs = [
pkg-config
protobuf_25
grpc
jo
];
buildInputs = [
clang
fmt
coreutils
gnugrep
unixtools.xxd
];
buildPhase = ''
echo PKG_CONFIG_PATH=$PKG_CONFIG_PATH
jo TOOLCHAIN_CONFIG=$(jo \
CC=$(jo PATH=$(jo -a ${clang}/bin ${coreutils}/bin)) \
PROTO=$(jo PATH=$(jo -a ${protobuf_25}/bin ${grpc}/bin) \
PROTOC=${protobuf_25}/bin/protoc \
GRPC_PLUGIN=${grpc}/bin/grpc_cpp_plugin \
) \
shell=$(jo PATH=$(jo -a ${coreutils}/bin)) \
test=$(jo PATH=$(jo -a ${gnugrep}/bin ${unixtools.xxd}/bin)) \
PKGCONFIG=$(jo pkg-config=${pkg-config}/bin/pkg-config \
PKG_CONFIG_PATH=$(jo -a $PKG_CONFIG_PATH)) \
) > config.json
cat config.json
jo "just files"=$(jo config=$(jo -a $(jo root=system path=$out/share/config.json))) > rc.json
'';
installPhase = ''
mkdir -p $out/share
cp config.json $out/share
cp rc.json $out/share
'';
}
|