libdatadog 6.0.0.1.0 → 6.0.0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b9c7f7bbaba6f18af1f9266ebbe4137bc77e3e00a30abd4de722def9eebef462
4
- data.tar.gz: f529fbb0f17aee6eaf1d295bb8f469bb17ae6e17985eba32e290c1770592dbd4
3
+ metadata.gz: c9dfb381c70e2874c06593dceb5aac26eb2f5094c293962822dab2b4300b0a09
4
+ data.tar.gz: eda4cce6a0befafdac67597c4f006529f934ebb935633ec3dad8cc05c0c4a8df
5
5
  SHA512:
6
- metadata.gz: '03392d974333aaf15630eb541bc879d67b5c5a4958384e68ebe1e6e2d128b77334dd41a1f5a0c42a26e21012601c33d23f42be7aedb92501cf4ac0ae337ad90a'
7
- data.tar.gz: 29b06d9fb3a3ff7e2e88fa54da65806820ba7788acb97f4c162f2f33a581d348d27963d711f68d81a2e130ae41b41b41f445cf3e2e7a9ca6dfea3c70df96f80f
6
+ metadata.gz: 1a4bf4d54d71f5cad104b2aac373030d07aebe039852dbb4b93f2b02625362fe8b464877e3f0ba16caf99c3a69d40be3b0830b10bfe0dccacd2c08b86c2e3d26
7
+ data.tar.gz: b275e149e66ccb6d5c90ed11ffd308995d29ea5778c6bf7d5b47f39effc60aa2cb09c32c8cc828a9621206ac73568dd455d7d8fedc76ed7788d1bfc10a3f96c2
@@ -4,7 +4,7 @@ module Libdatadog
4
4
  # Current libdatadog version
5
5
  LIB_VERSION = "6.0.0"
6
6
 
7
- GEM_MAJOR_VERSION = "1"
7
+ GEM_MAJOR_VERSION = "2"
8
8
  GEM_MINOR_VERSION = "0"
9
9
  GEM_PRERELEASE_VERSION = "" # remember to include dot prefix, if needed!
10
10
  private_constant :GEM_MAJOR_VERSION, :GEM_MINOR_VERSION, :GEM_PRERELEASE_VERSION
data/lib/libdatadog.rb CHANGED
@@ -9,24 +9,7 @@ module Libdatadog
9
9
  end
10
10
 
11
11
  def self.pkgconfig_folder(pkgconfig_file_name = "datadog_profiling_with_rpath.pc")
12
- current_platform = Gem::Platform.local.to_s
13
-
14
- if RbConfig::CONFIG["arch"].include?("-musl") && !current_platform.include?("-musl")
15
- # Fix/workaround for https://github.com/DataDog/dd-trace-rb/issues/2222
16
- #
17
- # Old versions of rubygems (for instance 3.0.3) don't properly detect alternative libc implementations on Linux;
18
- # in particular for our case, they don't detect musl. (For reference, Rubies older than 2.7 may have shipped with
19
- # an affected version of rubygems).
20
- # In such cases, we fall back to use RbConfig::CONFIG['arch'] instead.
21
- #
22
- # Why not use RbConfig::CONFIG['arch'] always? Because Gem::Platform.local.to_s does some normalization we want
23
- # in other situations -- for instance, it turns `x86_64-linux-gnu` to `x86_64-linux`. So for now we only add this
24
- # workaround in a specific situation where we actually know it is wrong.
25
- #
26
- # See also https://github.com/rubygems/rubygems/pull/2922 and https://github.com/rubygems/rubygems/pull/4082
27
-
28
- current_platform = RbConfig::CONFIG["arch"]
29
- end
12
+ current_platform = self.current_platform
30
13
 
31
14
  return unless available_binaries.include?(current_platform)
32
15
 
@@ -40,4 +23,37 @@ module Libdatadog
40
23
  private_class_method def self.vendor_directory
41
24
  ENV["LIBDATADOG_VENDOR_OVERRIDE"] || "#{__dir__}/../vendor/libdatadog-#{Libdatadog::LIB_VERSION}/"
42
25
  end
26
+
27
+ def self.current_platform
28
+ platform = Gem::Platform.local.to_s
29
+
30
+ if platform.end_with?("-gnu")
31
+ # In some cases on Linux with glibc the platform includes a -gnu suffix. We normalize it to not have the suffix.
32
+ #
33
+ # Note: This should be platform = platform.delete_suffix("-gnu") but it doesn't work on legacy Rubies; once
34
+ # dd-trace-rb 2.0 is out we can simplify this.
35
+ #
36
+ platform = platform[0..-5]
37
+ end
38
+
39
+ if RbConfig::CONFIG["arch"].include?("-musl") && !platform.include?("-musl")
40
+ # Fix/workaround for https://github.com/datadog/dd-trace-rb/issues/2222
41
+ #
42
+ # Old versions of rubygems (for instance 3.0.3) don't properly detect alternative libc implementations on Linux;
43
+ # in particular for our case, they don't detect musl. (For reference, Rubies older than 2.7 may have shipped with
44
+ # an affected version of rubygems).
45
+ # In such cases, we fall back to use RbConfig::CONFIG['arch'] instead.
46
+ #
47
+ # Why not use RbConfig::CONFIG['arch'] always? Because Gem::Platform.local.to_s does some normalization that seemed
48
+ # useful in the past, although part of it got removed in https://github.com/rubygems/rubygems/pull/5852.
49
+ # For now we only add this workaround in a specific situation where we actually know it is wrong, but in the
50
+ # future it may be worth re-evaluating if we should move away from `Gem::Platform` altogether.
51
+ #
52
+ # See also https://github.com/rubygems/rubygems/pull/2922 and https://github.com/rubygems/rubygems/pull/4082
53
+
54
+ RbConfig::CONFIG["arch"]
55
+ else
56
+ platform
57
+ end
58
+ end
43
59
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libdatadog
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.0.1.0
4
+ version: 6.0.0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Datadog, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-12 00:00:00.000000000 Z
11
+ date: 2024-03-04 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: libdatadog is a Rust-based utility library for Datadog's ddtrace gem.
14
14
  email: