sq_mini_racer 0.3.1.0.0 → 0.3.1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/azure-pipelines.yml +3 -3
- data/ext/mini_racer_extension/extconf.rb +51 -57
- data/lib/sqreen/mini_racer/version.rb +1 -1
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d8ffbedb494b5384038b21e205060ab0ef1a56a852cdab5904b3462952af6206
|
4
|
+
data.tar.gz: b9d185c49effc232ff2f6bd31e5475f9c4e6a05f5de81b35619ee0c16045dec3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7dfc7a570a835dc0231f451ac9016e49be96ed2ef59e940df3eb0911e1df9921cce4b0da739a0e100e5c8ae4cc6122ecf417a851a2661586aea892b2f52e204d
|
7
|
+
data.tar.gz: fac74a6bd2be1e22956e6575e1787c1e42de977c0e1065b564f13bf7e1fa33075b2db4b2c306fc4f14f816ccd196673a6e7bbf998d7a12cf7a3888d0095c5a3d
|
data/azure-pipelines.yml
CHANGED
@@ -29,49 +29,52 @@ def libv8_gem_name
|
|
29
29
|
'libv8-node'
|
30
30
|
end
|
31
31
|
|
32
|
-
def
|
33
|
-
'14.14.0.0.
|
32
|
+
def libv8_requirement
|
33
|
+
'~> 14.14.0.0.beta1'
|
34
34
|
end
|
35
35
|
|
36
|
-
def libv8_basename
|
37
|
-
"#{libv8_gem_name}-#{
|
36
|
+
def libv8_basename(version)
|
37
|
+
"#{libv8_gem_name}-#{version}-#{ruby_platform}"
|
38
38
|
end
|
39
39
|
|
40
|
-
def
|
41
|
-
|
42
|
-
"#{libv8_gem_name}-#{libv8_version}-#{platform_no_libc}.gemspec"
|
43
|
-
end
|
44
|
-
|
45
|
-
def libv8_gemspec
|
46
|
-
"#{libv8_basename}.gemspec"
|
40
|
+
def libv8_gemspec(version)
|
41
|
+
"#{libv8_basename(version)}.gemspec"
|
47
42
|
end
|
48
43
|
|
49
44
|
def libv8_local_path(path=Gem.path)
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
p
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
45
|
+
name_glob = "#{libv8_gem_name}-*-#{ruby_platform}"
|
46
|
+
|
47
|
+
puts "looking for #{name_glob} in #{path.inspect}"
|
48
|
+
|
49
|
+
paths = path.map { |p| Dir.glob(File.join(p, 'specifications', name_glob + '.gemspec')) }.flatten
|
50
|
+
|
51
|
+
if paths.empty?
|
52
|
+
puts "#{name_glob} not found in #{path.inspect}"
|
53
|
+
return
|
54
|
+
end
|
55
|
+
|
56
|
+
specs = paths.map { |p| [p, eval(File.read(p))] }
|
57
|
+
.select { |_, spec| Gem::Requirement.new(libv8_requirement).satisfied_by?(spec.version) }
|
58
|
+
found_path, found_spec = specs.sort_by { |_, spec| spec.version }.last
|
59
|
+
|
60
|
+
unless found_path && found_spec
|
61
|
+
puts "not found in specs: no '#{libv8_requirement}' in #{paths.inspect}"
|
59
62
|
return
|
60
63
|
end
|
61
64
|
|
62
|
-
puts "found in
|
65
|
+
puts "found in specs: #{found_path}"
|
63
66
|
|
64
|
-
gemdir = File.basename(
|
65
|
-
dir = File.expand_path(File.join(
|
67
|
+
gemdir = File.basename(found_path, '.gemspec')
|
68
|
+
dir = File.expand_path(File.join(found_path, '..', '..', 'gems', gemdir))
|
66
69
|
|
67
70
|
unless Dir.exist?(dir)
|
68
|
-
puts "not found in
|
71
|
+
puts "not found in gems: #{dir}"
|
69
72
|
return
|
70
73
|
end
|
71
74
|
|
72
|
-
puts "found in
|
75
|
+
puts "found in gems: #{dir}"
|
73
76
|
|
74
|
-
dir
|
77
|
+
[dir, found_spec]
|
75
78
|
end
|
76
79
|
|
77
80
|
def vendor_path
|
@@ -79,25 +82,12 @@ def vendor_path
|
|
79
82
|
end
|
80
83
|
|
81
84
|
def libv8_vendor_path
|
82
|
-
|
83
|
-
path = Dir.glob("#{vendor_path}/#{libv8_basename}").first
|
84
|
-
|
85
|
-
unless path
|
86
|
-
puts "#{libv8_basename} not found in #{vendor_path}"
|
87
|
-
return
|
88
|
-
end
|
89
|
-
|
90
|
-
puts "looking for #{libv8_basename}/lib/libv8-node.rb in #{vendor_path}"
|
91
|
-
unless Dir.glob(File.join(vendor_path, libv8_basename, 'lib', 'libv8-node.rb')).first
|
92
|
-
puts "#{libv8_basename}/lib/libv8.rb not found in #{vendor_path}"
|
93
|
-
return
|
94
|
-
end
|
95
|
-
|
96
|
-
path
|
85
|
+
libv8_local_path([vendor_path])
|
97
86
|
end
|
98
87
|
|
99
88
|
def parse_platform(str)
|
100
89
|
Gem::Platform.new(str).tap do |p|
|
90
|
+
p.instance_eval { @version = 'musl' } if str =~ /-musl/ && p.version.nil?
|
101
91
|
p.instance_eval { @cpu = 'x86_64' } if str =~ /universal.*darwin/
|
102
92
|
end
|
103
93
|
end
|
@@ -121,21 +111,23 @@ def libv8_remote_search
|
|
121
111
|
json = JSON.parse(body)
|
122
112
|
|
123
113
|
versions = json.select do |v|
|
124
|
-
Gem::Version.new(v['number'])
|
114
|
+
Gem::Requirement.new(libv8_requirement).satisfied_by?(Gem::Version.new(v['number']))
|
125
115
|
end
|
126
116
|
abort(<<-ERROR) if versions.empty?
|
127
|
-
ERROR: could not find #{libv8_gem_name} (
|
117
|
+
ERROR: could not find #{libv8_gem_name} (requirement #{libv8_requirement}) in rubygems.org
|
128
118
|
ERROR
|
129
119
|
|
130
120
|
platform_versions = versions.select do |v|
|
131
121
|
parse_platform(v['platform']) == ruby_platform unless v['platform'] =~ /universal.*darwin/
|
132
122
|
end
|
133
123
|
abort(<<-ERROR) if platform_versions.empty?
|
134
|
-
ERROR: found #{libv8_gem_name}
|
135
|
-
try "gem install #{libv8_gem_name}
|
124
|
+
ERROR: found gems matching #{libv8_gem_name}:'#{libv8_requirement}', but no binary for #{ruby_platform}
|
125
|
+
try "gem install #{libv8_gem_name}:'#{libv8_requirement}'" to attempt to build #{libv8_gem_name} from source
|
136
126
|
ERROR
|
137
127
|
|
138
|
-
platform_versions.
|
128
|
+
puts "found #{libv8_gem_name} for #{ruby_platform} on rubygems: #{platform_versions.map { |v| v['number'] }.join(', ')}"
|
129
|
+
|
130
|
+
platform_versions.sort_by { |v| Gem::Version.new(v['number']) }.last
|
139
131
|
end
|
140
132
|
|
141
133
|
def libv8_download_uri(name, version, platform)
|
@@ -147,19 +139,19 @@ def libv8_downloaded_gem(name, version, platform)
|
|
147
139
|
end
|
148
140
|
|
149
141
|
def libv8_download(name, version, platform)
|
150
|
-
FileUtils.mkdir_p(vendor_path)
|
142
|
+
FileUtils.mkdir_p(File.join(vendor_path, 'cache'))
|
151
143
|
body = http_get(libv8_download_uri(name, version, platform))
|
152
|
-
File.open(File.join(vendor_path, libv8_downloaded_gem(name, version, platform)), 'wb') { |f| f.write(body) }
|
144
|
+
File.open(File.join(vendor_path, 'cache', libv8_downloaded_gem(name, version, platform)), 'wb') { |f| f.write(body) }
|
153
145
|
end
|
154
146
|
|
155
147
|
def libv8_install!
|
156
|
-
cmd = "gem install #{libv8_gem_name} --version '#{
|
148
|
+
cmd = "gem install #{libv8_gem_name} --version '#{libv8_requirement}' --install-dir '#{vendor_path}'"
|
157
149
|
puts "installing #{libv8_gem_name} using `#{cmd}`"
|
158
150
|
rc = system(cmd)
|
159
151
|
|
160
152
|
abort(<<-ERROR) unless rc
|
161
|
-
ERROR: could not install #{libv8_gem_name}
|
162
|
-
try "gem install #{libv8_gem_name} -v '#{
|
153
|
+
ERROR: could not install #{libv8_gem_name}:#{libv8_requirement}
|
154
|
+
try "gem install #{libv8_gem_name} -v '#{libv8_requirement}'" to attempt to build libv8 from source
|
163
155
|
ERROR
|
164
156
|
|
165
157
|
libv8_local_path([vendor_path])
|
@@ -173,18 +165,20 @@ def libv8_vendor!
|
|
173
165
|
puts "downloading #{libv8_downloaded_gem(libv8_gem_name, version['number'], version['platform'])} to #{vendor_path}"
|
174
166
|
libv8_download(libv8_gem_name, version['number'], version['platform'])
|
175
167
|
|
176
|
-
package = Gem::Package.new(File.join(vendor_path, libv8_downloaded_gem(libv8_gem_name, version['number'], version['platform'])))
|
177
|
-
package.extract_files(File.join(vendor_path, File.basename(libv8_downloaded_gem(libv8_gem_name, version['number'], version['platform']), '.gem')))
|
168
|
+
package = Gem::Package.new(File.join(vendor_path, 'cache', libv8_downloaded_gem(libv8_gem_name, version['number'], version['platform'])))
|
169
|
+
package.extract_files(File.join(vendor_path, 'gems', File.basename(libv8_downloaded_gem(libv8_gem_name, version['number'], version['platform']), '.gem')))
|
170
|
+
FileUtils.mkdir_p(File.join(vendor_path, 'specifications'))
|
171
|
+
File.open(File.join(vendor_path, 'specifications', File.basename(libv8_downloaded_gem(libv8_gem_name, version['number'], version['platform']), '.gem') + '.gemspec'), 'wb') { |f| f.write(package.spec.to_ruby) }
|
178
172
|
|
179
173
|
libv8_vendor_path
|
180
174
|
end
|
181
175
|
|
182
176
|
def ensure_libv8_load_path
|
183
|
-
puts "
|
177
|
+
puts "platform ruby:#{RUBY_PLATFORM} rubygems:#{Gem::Platform.new(RUBY_PLATFORM)} detected:#{ruby_platform}"
|
184
178
|
|
185
|
-
libv8_path = libv8_local_path
|
186
|
-
|
187
|
-
libv8_path
|
179
|
+
libv8_path, spec = libv8_local_path
|
180
|
+
if !ENV['ONLY_INSTALLED_LIBV8_GEM'] && !libv8_path
|
181
|
+
libv8_path, spec = libv8_vendor_path || libv8_vendor!
|
188
182
|
end
|
189
183
|
|
190
184
|
abort(<<-ERROR) unless libv8_path
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sq_mini_racer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.1.0.
|
4
|
+
version: 0.3.1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sam Saffron
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-11-
|
11
|
+
date: 2020-11-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -138,10 +138,10 @@ licenses:
|
|
138
138
|
- MIT
|
139
139
|
metadata:
|
140
140
|
bug_tracker_uri: https://github.com/discourse/mini_racer/issues
|
141
|
-
changelog_uri: https://github.com/discourse/mini_racer/blob/v0.3.1.0.
|
142
|
-
documentation_uri: https://www.rubydoc.info/gems/mini_racer/0.3.1.0.
|
143
|
-
source_code_uri: https://github.com/discourse/mini_racer/tree/v0.3.1.0.
|
144
|
-
post_install_message:
|
141
|
+
changelog_uri: https://github.com/discourse/mini_racer/blob/v0.3.1.0.1/CHANGELOG
|
142
|
+
documentation_uri: https://www.rubydoc.info/gems/mini_racer/0.3.1.0.1
|
143
|
+
source_code_uri: https://github.com/discourse/mini_racer/tree/v0.3.1.0.1
|
144
|
+
post_install_message:
|
145
145
|
rdoc_options: []
|
146
146
|
require_paths:
|
147
147
|
- lib
|
@@ -157,8 +157,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
157
157
|
- !ruby/object:Gem::Version
|
158
158
|
version: '0'
|
159
159
|
requirements: []
|
160
|
-
rubygems_version: 3.1.
|
161
|
-
signing_key:
|
160
|
+
rubygems_version: 3.1.3
|
161
|
+
signing_key:
|
162
162
|
specification_version: 4
|
163
163
|
summary: Minimal embedded v8 for Ruby
|
164
164
|
test_files: []
|