blob: 65c6382965932d202d3ecfeb15630f290730387f (
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
59
60
61
62
63
64
65
66
67
68
69
|
{
lib,
stdenv,
buildPecl,
cargo,
rustc,
fetchFromGitHub,
rustPlatform,
curl,
pcre2,
valgrind,
libiconv,
}:
buildPecl rec {
pname = "ddtrace";
version = "1.19.2";
src = fetchFromGitHub {
owner = "DataDog";
repo = "dd-trace-php";
rev = version;
fetchSubmodules = true;
hash = "sha256-pfhoj5a+kUVOuMnAHgL2s05Pcc6uhlTcp2t5aj1eJ0E=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit src;
hash = "sha256-Onkkea1xntfSKVr2aoCy1Z9wGIdv/L7HRh7LGxv738M=";
};
env.NIX_CFLAGS_COMPILE = "-O2";
# Fix double slashes in Makefile paths to prevent impure path errors during
# linking. The Makefile has /$(builddir)/components-rs/... but builddir is
# already absolute (/build/source), creating //build/source/... paths.
postConfigure = ''
substituteInPlace Makefile --replace-fail '/$(builddir)/components-rs' '$(builddir)/components-rs'
'';
nativeBuildInputs = [
cargo
rustc
rustPlatform.bindgenHook
rustPlatform.cargoSetupHook
];
buildInputs = [
curl
pcre2
]
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
valgrind
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
libiconv
];
meta = {
changelog = "https://github.com/DataDog/dd-trace-php/blob/${src.rev}/CHANGELOG.md";
description = "Datadog Tracing PHP Client";
homepage = "https://github.com/DataDog/dd-trace-php";
license = with lib.licenses; [
asl20
bsd3
];
teams = [ lib.teams.php ];
};
}
|