libddprof 0.2.0.1.0.beta3 → 0.6.0.1.0

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.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/lib/libddprof/version.rb +2 -2
  3. data/lib/libddprof.rb +3 -8
  4. data/vendor/libddprof-0.6.0/aarch64-linux/libddprof-aarch64-unknown-linux-gnu/LICENSE +202 -0
  5. data/vendor/libddprof-0.6.0/aarch64-linux/libddprof-aarch64-unknown-linux-gnu/LICENSE-3rdparty.yml +1009 -0
  6. data/vendor/libddprof-0.6.0/aarch64-linux/libddprof-aarch64-unknown-linux-gnu/NOTICE +4 -0
  7. data/vendor/libddprof-0.6.0/aarch64-linux/libddprof-aarch64-unknown-linux-gnu/include/ddprof/ffi.h +555 -0
  8. data/vendor/libddprof-0.6.0/aarch64-linux/libddprof-aarch64-unknown-linux-gnu/lib/libddprof_ffi.so +0 -0
  9. data/vendor/libddprof-0.6.0/aarch64-linux/libddprof-aarch64-unknown-linux-gnu/lib/pkgconfig/ddprof_ffi_with_rpath.pc +17 -0
  10. data/vendor/libddprof-0.6.0/aarch64-linux-musl/libddprof-aarch64-alpine-linux-musl/LICENSE +202 -0
  11. data/vendor/libddprof-0.6.0/aarch64-linux-musl/libddprof-aarch64-alpine-linux-musl/LICENSE-3rdparty.yml +1009 -0
  12. data/vendor/libddprof-0.6.0/aarch64-linux-musl/libddprof-aarch64-alpine-linux-musl/NOTICE +4 -0
  13. data/vendor/libddprof-0.6.0/aarch64-linux-musl/libddprof-aarch64-alpine-linux-musl/include/ddprof/ffi.h +555 -0
  14. data/vendor/libddprof-0.6.0/aarch64-linux-musl/libddprof-aarch64-alpine-linux-musl/lib/libddprof_ffi.so +0 -0
  15. data/vendor/libddprof-0.6.0/aarch64-linux-musl/libddprof-aarch64-alpine-linux-musl/lib/pkgconfig/ddprof_ffi_with_rpath.pc +17 -0
  16. data/vendor/libddprof-0.6.0/x86_64-linux/libddprof-x86_64-unknown-linux-gnu/LICENSE +202 -0
  17. data/vendor/libddprof-0.6.0/x86_64-linux/libddprof-x86_64-unknown-linux-gnu/LICENSE-3rdparty.yml +1009 -0
  18. data/vendor/libddprof-0.6.0/x86_64-linux/libddprof-x86_64-unknown-linux-gnu/NOTICE +4 -0
  19. data/vendor/libddprof-0.6.0/x86_64-linux/libddprof-x86_64-unknown-linux-gnu/include/ddprof/ffi.h +555 -0
  20. data/vendor/libddprof-0.6.0/x86_64-linux/libddprof-x86_64-unknown-linux-gnu/lib/libddprof_ffi.so +0 -0
  21. data/vendor/libddprof-0.6.0/x86_64-linux/libddprof-x86_64-unknown-linux-gnu/lib/pkgconfig/ddprof_ffi_with_rpath.pc +17 -0
  22. data/vendor/libddprof-0.6.0/x86_64-linux-musl/libddprof-x86_64-alpine-linux-musl/LICENSE +202 -0
  23. data/vendor/libddprof-0.6.0/x86_64-linux-musl/libddprof-x86_64-alpine-linux-musl/LICENSE-3rdparty.yml +1009 -0
  24. data/vendor/libddprof-0.6.0/x86_64-linux-musl/libddprof-x86_64-alpine-linux-musl/NOTICE +4 -0
  25. data/vendor/libddprof-0.6.0/x86_64-linux-musl/libddprof-x86_64-alpine-linux-musl/include/ddprof/ffi.h +555 -0
  26. data/vendor/libddprof-0.6.0/x86_64-linux-musl/libddprof-x86_64-alpine-linux-musl/lib/libddprof_ffi.so +0 -0
  27. data/vendor/libddprof-0.6.0/x86_64-linux-musl/libddprof-x86_64-alpine-linux-musl/lib/pkgconfig/ddprof_ffi_with_rpath.pc +17 -0
  28. metadata +29 -11
  29. data/.rspec +0 -3
  30. data/.standard.yml +0 -3
  31. data/README.md +0 -29
  32. data/Rakefile +0 -151
  33. data/docker-compose.yml +0 -14
  34. data/gems.rb +0 -13
data/Rakefile DELETED
@@ -1,151 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "bundler/gem_tasks"
4
- require "rspec/core/rake_task"
5
- require "standard/rake" unless RUBY_VERSION < "2.5"
6
-
7
- require "fileutils"
8
- require "http"
9
- require "pry"
10
- require "rubygems/package"
11
-
12
- RSpec::Core::RakeTask.new(:spec)
13
-
14
- LIB_GITHUB_RELEASES = {
15
- "0.2.0" => [
16
- {
17
- file: "libddprof-x86_64-unknown-linux-gnu.tar.gz",
18
- sha256: "cba0f24074d44781d7252b912faff50d330957e84a8f40a172a8138e81001f27",
19
- ruby_platform: "x86_64-linux"
20
- },
21
- {
22
- file: "libddprof-x86_64-alpine-linux-musl.tar.gz",
23
- sha256: "d519a6241d78260522624b8e79e98502510f11d5d9551f5f80fc1134e95fa146",
24
- ruby_platform: "x86_64-linux-musl"
25
- }
26
- ]
27
- # Add more versions here
28
- }
29
-
30
- task default: [
31
- :spec,
32
- (:'standard:fix' unless RUBY_VERSION < "2.5")
33
- ].compact
34
-
35
- desc "Download lib release from github"
36
- task :fetch do
37
- Helpers.each_github_release_variant do |file:, sha256:, target_directory:, target_file:, **_|
38
- target_url = "https://github.com/DataDog/libddprof/releases/download/v#{Libddprof::LIB_VERSION}/#{file}"
39
-
40
- if File.exist?(target_file)
41
- target_file_hash = Digest::SHA256.hexdigest(File.read(target_file))
42
-
43
- if target_file_hash == sha256
44
- puts "Found #{target_file} matching the expected sha256, skipping download"
45
- next
46
- else
47
- puts "Found #{target_file} with hash (#{target_file_hash}) BUT IT DID NOT MATCH THE EXPECTED sha256 (#{sha256}), downloading it again..."
48
- end
49
- end
50
-
51
- puts "Going to download #{target_url} into #{target_file}"
52
-
53
- File.open(target_file, "wb") do |file|
54
- HTTP.follow.get(target_url).body.each { |chunk| file.write(chunk) }
55
- end
56
-
57
- if Digest::SHA256.hexdigest(File.read(target_file)) == sha256
58
- puts "Success!"
59
- else
60
- raise "Downloaded file is corrupt, does not match expected sha256"
61
- end
62
- end
63
- end
64
-
65
- desc "Extract lib downloaded releases"
66
- task extract: [:fetch] do
67
- Helpers.each_github_release_variant do |target_directory:, target_file:, **_|
68
- puts "Extracting #{target_file}"
69
- File.open(target_file, "rb") do |file|
70
- Gem::Package.new("").extract_tar_gz(file, target_directory)
71
- end
72
- end
73
- end
74
-
75
- desc "Package lib downloaded releases as gems"
76
- task package: [:spec, :'standard:fix', :extract] do
77
- gemspec = eval(File.read("libddprof.gemspec"), nil, "libddprof.gemspec") # standard:disable Security/Eval
78
- FileUtils.mkdir_p("pkg")
79
-
80
- Helpers.package_without_binaries(gemspec)
81
- Helpers.package_linux_x86_64(gemspec)
82
- end
83
-
84
- desc "Release all packaged gems"
85
- task push_to_rubygems: [
86
- :package,
87
- :'release:guard_clean'
88
- ] do
89
- system("gem signout") # make sure there are no existing credentials in use
90
-
91
- system("gem push pkg/libddprof-#{Libddprof::VERSION}.gem")
92
- system("gem push pkg/libddprof-#{Libddprof::VERSION}-x86_64-linux.gem")
93
-
94
- system("gem signout") # leave no credentials behind
95
- end
96
-
97
- module Helpers
98
- def self.each_github_release_variant(version: Libddprof::LIB_VERSION)
99
- LIB_GITHUB_RELEASES.fetch(version).each do |variant|
100
- file = variant.fetch(:file)
101
- sha256 = variant.fetch(:sha256)
102
- ruby_platform = variant.fetch(:ruby_platform)
103
-
104
- # These two are so common that we just centralize them here
105
- target_directory = "vendor/libddprof-#{version}/#{ruby_platform}"
106
- target_file = "#{target_directory}/#{file}"
107
-
108
- FileUtils.mkdir_p(target_directory)
109
-
110
- yield(file: file, sha256: sha256, ruby_platform: ruby_platform, target_directory: target_directory, target_file: target_file)
111
- end
112
- end
113
-
114
- def self.package_without_binaries(gemspec)
115
- target_gemspec = gemspec.dup
116
-
117
- puts "Building a variant without binaries including:"
118
- pp target_gemspec.files
119
-
120
- package = Gem::Package.build(target_gemspec)
121
- FileUtils.mv(package, "pkg")
122
- puts("-" * 80)
123
- end
124
-
125
- def self.package_linux_x86_64(gemspec)
126
- # We include both glibc and musl variants in the same binary gem to avoid the issues
127
- # documented in https://github.com/rubygems/rubygems/issues/3174
128
- target_gemspec = gemspec.dup
129
- target_gemspec.files += files_for("x86_64-linux", "x86_64-linux-musl")
130
- target_gemspec.platform = "x86_64-linux"
131
-
132
- puts "Building for x86_64-linux including: (this can take a while)"
133
- pp target_gemspec.files
134
-
135
- package = Gem::Package.build(target_gemspec)
136
- FileUtils.mv(package, "pkg")
137
- puts("-" * 80)
138
- end
139
-
140
- def self.files_for(*included_platforms, version: Libddprof::LIB_VERSION)
141
- files = []
142
-
143
- each_github_release_variant(version: version) do |ruby_platform:, target_directory:, target_file:, **_|
144
- next unless included_platforms.include?(ruby_platform)
145
-
146
- files += Dir.glob("#{target_directory}/**/*").select { |path| File.file?(path) } - [target_file]
147
- end
148
-
149
- files
150
- end
151
- end
data/docker-compose.yml DELETED
@@ -1,14 +0,0 @@
1
- version: '3.2'
2
- services:
3
- push_to_rubygems:
4
- image: ruby:3.1
5
- platform: linux/x86_64
6
- stdin_open: true
7
- tty: true
8
- command: bash -c 'cd /libddprof/ruby && bundle install && bundle exec rake push_to_rubygems'
9
- volumes:
10
- - ..:/libddprof
11
- - bundle-3.1:/usr/local/bundle
12
-
13
- volumes:
14
- bundle-3.1:
data/gems.rb DELETED
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source "https://rubygems.org"
4
-
5
- # Specify your gem's dependencies in libddprof.gemspec
6
- gemspec
7
-
8
- gem "rake", "~> 13.0"
9
- gem "rspec", "~> 3.10"
10
- gem "standard", "~> 1.3" unless RUBY_VERSION < "2.5"
11
- gem "http", "~> 5.0"
12
- gem "pry"
13
- gem "pry-byebug"