libdatadog 30.0.0.1.0-x86_64-linux → 33.0.0.1.0-x86_64-linux
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/libdatadog/version.rb +1 -1
- data/tasks/build.rake +175 -0
- data/vendor/libdatadog-33.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE-3rdparty.csv +548 -0
- data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/common.h +80 -19
- data/vendor/{libdatadog-30.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-33.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/include/datadog/data-pipeline.h +17 -4
- data/vendor/{libdatadog-30.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-33.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/include/datadog/ffe.h +7 -3
- data/vendor/{libdatadog-30.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-33.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/include/datadog/profiling.h +36 -0
- data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/telemetry.h +21 -0
- data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
- data/vendor/libdatadog-33.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE-3rdparty.csv +548 -0
- data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/common.h +80 -19
- data/vendor/{libdatadog-30.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-33.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/data-pipeline.h +17 -4
- data/vendor/{libdatadog-30.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-33.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/ffe.h +7 -3
- data/vendor/{libdatadog-30.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-33.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/profiling.h +36 -0
- data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/telemetry.h +21 -0
- data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
- metadata +34 -33
- data/vendor/libdatadog-30.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE-3rdparty.yml +0 -53656
- data/vendor/libdatadog-30.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE-3rdparty.yml +0 -53656
- /data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE +0 -0
- /data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/NOTICE +0 -0
- /data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
- /data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/crashtracker.h +0 -0
- /data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/ddsketch.h +0 -0
- /data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/library-config.h +0 -0
- /data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/log.h +0 -0
- /data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/NOTICE +0 -0
- /data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/crashtracker.h +0 -0
- /data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/ddsketch.h +0 -0
- /data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/library-config.h +0 -0
- /data/vendor/{libdatadog-30.0.0 → libdatadog-33.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/log.h +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9a8b73dea6e305594e6dac3935c87734bf2c1a35199e4b2042c177e3047a0b1d
|
|
4
|
+
data.tar.gz: 03c82ef43348541518f316c3e925e05e8d497dccff078880daf831e2bd911db1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8e2567dbfd32b129474495172a3cd3723096d527310caebda99dc58e510e11c20cd11903340728997ffcf4bf0b2b7bc9a1c647bc4f6b5f588b93a32fa9377a32
|
|
7
|
+
data.tar.gz: 9edc5701b8a249995b964531d1ce86bcd3edac502e0c485f4922ee73ff0d57fe3566f133e5a851e57ce31e08b7aa61ec0559e2304882003ff55fdaae5f82fdf5
|
data/lib/libdatadog/version.rb
CHANGED
data/tasks/build.rake
ADDED
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "etc"
|
|
4
|
+
require "pathname"
|
|
5
|
+
|
|
6
|
+
module BuildFromSource
|
|
7
|
+
module Target
|
|
8
|
+
# Mapping from Rust target triples to Ruby gem platform names.
|
|
9
|
+
# x86_64-apple-darwin is deliberately not supported.
|
|
10
|
+
RUST_TO_RUBY = {
|
|
11
|
+
"x86_64-unknown-linux-gnu" => "x86_64-linux",
|
|
12
|
+
"x86_64-unknown-linux-musl" => "x86_64-linux-musl",
|
|
13
|
+
"aarch64-unknown-linux-gnu" => "aarch64-linux",
|
|
14
|
+
"aarch64-unknown-linux-musl" => "aarch64-linux-musl",
|
|
15
|
+
"aarch64-apple-darwin" => "arm64-darwin"
|
|
16
|
+
}.freeze
|
|
17
|
+
|
|
18
|
+
class << self
|
|
19
|
+
def host_triple
|
|
20
|
+
@host_triple ||= begin
|
|
21
|
+
output = `rustc -vV`
|
|
22
|
+
raise "rustc not found or failed" unless $?.success?
|
|
23
|
+
|
|
24
|
+
triple = output[/^host:\s*(.+)$/, 1]
|
|
25
|
+
raise "Could not determine host triple from rustc output" unless triple
|
|
26
|
+
|
|
27
|
+
triple = triple.strip
|
|
28
|
+
|
|
29
|
+
triple
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def ruby_platform(rust_triple = host_triple)
|
|
34
|
+
RUST_TO_RUBY.fetch(rust_triple) do
|
|
35
|
+
raise "Unsupported Rust target: #{rust_triple}. " \
|
|
36
|
+
"Supported: #{RUST_TO_RUBY.keys.join(", ")}"
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
module Paths
|
|
43
|
+
class << self
|
|
44
|
+
# Project root
|
|
45
|
+
def root
|
|
46
|
+
@root ||= (Pathname.new(__dir__) / "..").expand_path
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Intermediate build artifacts
|
|
50
|
+
def tmp
|
|
51
|
+
root / "tmp"
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def builder_root
|
|
55
|
+
tmp / "builder"
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def builder_bin
|
|
59
|
+
builder_root / "bin" / "release"
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def cargo_target
|
|
63
|
+
tmp / "cargo-target"
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def cmake_out
|
|
67
|
+
tmp / "cmake-out"
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Vendor output tree
|
|
71
|
+
def vendor
|
|
72
|
+
root / "vendor" / "libdatadog-#{Libdatadog::LIB_VERSION}"
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def vendor_target(ruby_platform = Target.ruby_platform)
|
|
76
|
+
vendor / ruby_platform
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
module Builder
|
|
82
|
+
class << self
|
|
83
|
+
# Build the cargo install command for the builder crate's `release` binary.
|
|
84
|
+
#
|
|
85
|
+
# source: optional path to a local libdatadog checkout
|
|
86
|
+
# features: optional comma-separated feature override
|
|
87
|
+
def cargo_install_cmd(source: nil, features: nil)
|
|
88
|
+
cmd = %W[cargo install --bin release --root #{Paths.builder_root} --force]
|
|
89
|
+
|
|
90
|
+
cmd += if source
|
|
91
|
+
["--path", (Pathname.new(source).expand_path / "builder").to_s]
|
|
92
|
+
else
|
|
93
|
+
[
|
|
94
|
+
"--git", "https://github.com/DataDog/libdatadog",
|
|
95
|
+
"--tag", "v#{Libdatadog::LIB_VERSION}",
|
|
96
|
+
"builder"
|
|
97
|
+
]
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
cmd += ["--no-default-features", "--features", features] if features
|
|
101
|
+
|
|
102
|
+
cmd
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
# Environment variables required by the builder binary at runtime.
|
|
106
|
+
#
|
|
107
|
+
# The builder reads PROFILE, TARGET, and CARGO_PKG_VERSION via env::var()
|
|
108
|
+
# (they are NOT baked in at compile time despite the build script's cargo:rustc-env).
|
|
109
|
+
# CARGO_TARGET_DIR is needed because we are not inside a cargo workspace.
|
|
110
|
+
# HOST, OUT_DIR, OPT_LEVEL, DEBUG, and NUM_JOBS are required by the cmake crate
|
|
111
|
+
# used internally to build the crashtracker receiver.
|
|
112
|
+
def env(host_triple)
|
|
113
|
+
{
|
|
114
|
+
"PROFILE" => "release",
|
|
115
|
+
"OPT_LEVEL" => "3",
|
|
116
|
+
"DEBUG" => "false",
|
|
117
|
+
"TARGET" => host_triple,
|
|
118
|
+
"HOST" => host_triple,
|
|
119
|
+
"CARGO_PKG_VERSION" => Libdatadog::LIB_VERSION,
|
|
120
|
+
"CARGO_TARGET_DIR" => Paths.cargo_target.to_s,
|
|
121
|
+
"OUT_DIR" => Paths.cmake_out.to_s,
|
|
122
|
+
"NUM_JOBS" => begin
|
|
123
|
+
Etc.nprocessors
|
|
124
|
+
rescue
|
|
125
|
+
1
|
|
126
|
+
end.to_s
|
|
127
|
+
}
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
namespace :libdatadog do
|
|
134
|
+
desc "Build libdatadog from source for the current platform"
|
|
135
|
+
task :build do
|
|
136
|
+
host_triple = BuildFromSource::Target.host_triple
|
|
137
|
+
ruby_platform = BuildFromSource::Target.ruby_platform(host_triple)
|
|
138
|
+
paths = BuildFromSource::Paths
|
|
139
|
+
|
|
140
|
+
# Install builder binary
|
|
141
|
+
source = ENV["LIBDATADOG_SOURCE"]
|
|
142
|
+
features = ENV["LIBDATADOG_FEATURES"]
|
|
143
|
+
install_cmd = BuildFromSource::Builder.cargo_install_cmd(source: source, features: features)
|
|
144
|
+
|
|
145
|
+
info = source ? "local: #{source}" : "v#{Libdatadog::LIB_VERSION}"
|
|
146
|
+
puts "Installing builder (#{info})..."
|
|
147
|
+
system(*install_cmd) || raise("Failed to install builder via cargo")
|
|
148
|
+
|
|
149
|
+
# Prepare output directories
|
|
150
|
+
target_dir = paths.vendor_target(ruby_platform)
|
|
151
|
+
[target_dir, paths.cargo_target, paths.cmake_out].each(&:mkpath)
|
|
152
|
+
|
|
153
|
+
# Invoke builder
|
|
154
|
+
env = BuildFromSource::Builder.env(host_triple)
|
|
155
|
+
|
|
156
|
+
puts "Building libdatadog for #{ruby_platform} (#{host_triple})"
|
|
157
|
+
puts "Output: #{target_dir}"
|
|
158
|
+
system(env, paths.builder_bin.to_s, "--out", target_dir.to_s) || raise("Builder failed")
|
|
159
|
+
|
|
160
|
+
# Fix file permissions to match expected values for packaging
|
|
161
|
+
Helpers.fix_file_permissions(target_dir.to_s)
|
|
162
|
+
|
|
163
|
+
puts "Done! Artifacts in #{target_dir}"
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
desc "Remove build intermediates and vendor tree"
|
|
167
|
+
task :clean do
|
|
168
|
+
[BuildFromSource::Paths.tmp, BuildFromSource::Paths.vendor].each do |dir|
|
|
169
|
+
if dir.exist?
|
|
170
|
+
puts "Removing #{dir}"
|
|
171
|
+
dir.rmtree
|
|
172
|
+
end
|
|
173
|
+
end
|
|
174
|
+
end
|
|
175
|
+
end
|