libv8 3.16.14.8.rc1 → 3.16.14.8

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
  SHA1:
3
- metadata.gz: 87f28e3efc8aaca71eb2907ea44f3bf0265f1e9c
4
- data.tar.gz: 55c873337139353105ee25c52d630d94d2325629
3
+ metadata.gz: a49051559de30d6e2a1b3ee846a9a29a33f40d9c
4
+ data.tar.gz: 68cd7e68bf8880ab9a8d0db60795f4fd25d46cd3
5
5
  SHA512:
6
- metadata.gz: e96105aa3f83e3e87533591de3ff533f8c2c46043027b68908ffad4b612f9a288b3a7921a7230f48df7c15502364c46d0f5864d6dc5d3909f2f0856d144c3fd1
7
- data.tar.gz: 05108311aea44d2c803d6a4cb5fce6df76a110010a0d4d26458993769b2088bae4da7b91acc118af4bd9d341e270afcd0bba108ef7c5c4072309da216074c863
6
+ metadata.gz: 978ca2ba3b026e0cc4b775aca68784c0b5bcbf4a64d54614a6ceb34f2dcb178616b57e7f4319c9348aab9f59dc120528a3747fd7c6709a025918f28ffaea4d2f
7
+ data.tar.gz: 6e9fe33d8403b8f6afd6d6c87fa243931a90983690e080a537991971c62c26606997d67a0109a5c568349898f6d93f6638b59463624e5e66be4beca55516d9f6
data/README.md CHANGED
@@ -1,4 +1,8 @@
1
1
  # libv8
2
+ [![Gem Version](https://badge.fury.io/rb/libv8.svg)](http://badge.fury.io/rb/libv8)
3
+ [![Build Status](https://travis-ci.org/cowboyd/libv8.svg?branch=master)](https://travis-ci.org/cowboyd/libv8)
4
+ [![Build status](https://ci.appveyor.com/api/projects/status/ugeqff972kxlba5j?svg=true)](https://ci.appveyor.com/project/cowboyd/libv8)
5
+ [![Join the chat at https://gitter.im/cowboyd/therubyracer](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/cowboyd/therubyracer?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
2
6
 
3
7
  A gem for distributing the v8 runtime libraries and headers in both
4
8
  source and binary form.
data/Rakefile CHANGED
@@ -21,7 +21,7 @@ task :checkout do
21
21
  end
22
22
 
23
23
  desc "compile v8 via the ruby extension mechanism"
24
- task :compile do
24
+ task :compile => :devkit do
25
25
  sh "ruby ext/libv8/extconf.rb"
26
26
  end
27
27
 
@@ -74,7 +74,21 @@ task :clean do
74
74
  sh "rm -rf pkg"
75
75
  sh "git clean -df"
76
76
  sh "cd #{V8_Source} && git checkout -f && git clean -dxf"
77
- sh "cd #{GYP_Source} && git checkout -f && git clean -dxf"
77
+ if Dir.chdir GYP_Source
78
+ sh "git checkout -f"
79
+ puts "git clean -dxf"
80
+ `git clean -dxf`
81
+ end
82
+ end
83
+
84
+ task :devkit do
85
+ begin
86
+ if RUBY_PLATFORM =~ /mingw/
87
+ require "devkit"
88
+ end
89
+ rescue LoadError => e
90
+ abort "Failed to activate RubyInstaller's DevKit required for compilation."
91
+ end
78
92
  end
79
93
 
80
94
  task :default => [:checkout, :compile, :spec]
@@ -0,0 +1,36 @@
1
+ version: 3.16.14.8.b{build}
2
+
3
+ # Operating system (build VM template)
4
+ os: Windows Server 2012
5
+
6
+ clone_depth: 10
7
+
8
+ environment:
9
+ matrix:
10
+ - ruby_version: "22-x64"
11
+ - ruby_version: "22"
12
+ - ruby_version: "21-x64"
13
+ - ruby_version: "21"
14
+ - ruby_version: "200-x64"
15
+ - ruby_version: "200"
16
+ - ruby_version: "193"
17
+
18
+ # scripts that run after cloning repository
19
+ install:
20
+ - set PATH=C:\Ruby%ruby_version%\bin;%PATH%
21
+ - git submodule update --init
22
+ - ruby --version
23
+ - gem --version
24
+ - gem install bundler --no-ri --no-rdoc
25
+ - bundle --version
26
+ - bundle install --jobs=1 --retry=3
27
+
28
+ build_script:
29
+ - bundle exec rake binary
30
+
31
+ test_script:
32
+ - bundle exec rake spec
33
+
34
+ artifacts:
35
+ - path: pkg\*.gem
36
+
@@ -16,9 +16,12 @@ module Libv8
16
16
  @compiler = choose_compiler
17
17
  end
18
18
 
19
- def make_flags(*flags)
19
+ def make_target
20
20
  profile = enable_config('debug') ? 'debug' : 'release'
21
-
21
+ "#{libv8_arch}.#{profile}"
22
+ end
23
+
24
+ def make_flags(*flags)
22
25
  # FreeBSD uses gcc 4.2 by default which leads to
23
26
  # compilation failures due to warnings about aliasing.
24
27
  # http://svnweb.freebsd.org/ports/head/lang/v8/Makefile?view=markup
@@ -42,7 +45,7 @@ module Libv8
42
45
  # with it on
43
46
  flags << 'werror=no'
44
47
 
45
- "#{libv8_arch}.#{profile} #{flags.join ' '}"
48
+ "#{make_target} #{flags.join ' '}"
46
49
  end
47
50
 
48
51
  def build_libv8!
@@ -53,7 +56,17 @@ module Libv8
53
56
  setup_build_deps!
54
57
  patch! *patch_directories_for(@compiler)
55
58
  print_build_info
56
- puts `env CXX=#{@compiler} LINK=#{@compiler} #{make} #{make_flags}`
59
+
60
+ case RUBY_PLATFORM
61
+ when /mingw/
62
+ # use a script that will fix the paths in the generated Makefiles
63
+ # don't use make_flags otherwise it will trigger a rebuild of the Makefiles
64
+ system "env CXX=#{@compiler} LINK=#{@compiler} bash #{PATCH_DIRECTORY}/mingw-generate-makefiles.sh"
65
+ system "env CXX=#{@compiler} LINK=#{@compiler} make #{make_target}"
66
+
67
+ else
68
+ puts `env CXX=#{@compiler} LINK=#{@compiler} #{make} #{make_flags}`
69
+ end
57
70
  end
58
71
  return $?.exitstatus
59
72
  end
@@ -96,8 +109,8 @@ module Libv8
96
109
  end
97
110
 
98
111
  def python_version
99
- if system 'which python 2>&1 > /dev/null'
100
- `python -c 'import platform; print(platform.python_version())'`.chomp
112
+ if `which python` =~ /python/
113
+ `python -c "import platform; print(platform.python_version())"`.chomp
101
114
  else
102
115
  "not available"
103
116
  end
@@ -15,7 +15,7 @@ module Libv8
15
15
 
16
16
  Dir.chdir(V8_Source) do
17
17
  `git fetch`
18
- `git checkout #{Libv8::VERSION.gsub(/\.\d+$/,'')} -f`
18
+ `git checkout #{Libv8::VERSION.gsub(/\.\d+(\.rc\d+)?$/,'')} -f`
19
19
  `rm -f .applied_patches`
20
20
  end
21
21
 
@@ -31,7 +31,8 @@ module Libv8
31
31
  # --git-dir is needed for older versions of git and git-svn
32
32
  `git --git-dir=../../.git/modules/vendor/gyp/ svn init #{GYP_SVN} -Ttrunk`
33
33
  `git config --replace-all svn-remote.svn.fetch trunk:refs/remotes/origin/master`
34
- `git checkout $(git --git-dir=../../.git/modules/vendor/gyp/ svn find-rev r#{rev} | tail -n 1) -f`
34
+ svn_rev = `git --git-dir=../../.git/modules/vendor/gyp/ svn find-rev r#{rev} | tail -n 1`.chomp
35
+ `git checkout #{svn_rev} -f`
35
36
  end
36
37
  end
37
38
 
@@ -40,6 +41,9 @@ module Libv8
40
41
  end
41
42
 
42
43
  def check_git_svn!
44
+ # msysgit provides git svn
45
+ return if RUBY_PLATFORM =~ /mingw/
46
+
43
47
  unless system 'git help svn 2>&1 > /dev/null'
44
48
  fail "git-svn not installed!\nPlease install git-svn."
45
49
  end
@@ -48,6 +48,7 @@ module Libv8
48
48
  def configure(context = MkmfContext.new)
49
49
  context.send(:dir_config, 'v8')
50
50
  context.send(:find_header, 'v8.h') or fail NotFoundError
51
+ context.send(:have_library, 'v8') or fail NotFoundError
51
52
  end
52
53
 
53
54
  class NotFoundError < StandardError
@@ -47,6 +47,7 @@ module Libv8
47
47
 
48
48
  (available_patches - applied_patches).each do |patch|
49
49
  `patch -p1 -N < #{patch}`
50
+ fail 'failed to apply patch' unless $?.success?
50
51
  f.puts patch
51
52
  end
52
53
  end
@@ -1,4 +1,5 @@
1
1
  require 'rbconfig'
2
+ require 'shellwords'
2
3
  require File.expand_path '../arch', __FILE__
3
4
 
4
5
  module Libv8
@@ -6,11 +7,13 @@ module Libv8
6
7
  module_function
7
8
 
8
9
  def include_paths
9
- ["#{vendored_source_path}/include"]
10
+ [Shellwords.escape("#{vendored_source_path}/include")]
10
11
  end
11
12
 
12
13
  def object_paths
13
- [libv8_object(:base), libv8_object(:snapshot)]
14
+ [libv8_object(:base), libv8_object(:snapshot)].map do |path|
15
+ Shellwords.escape path
16
+ end
14
17
  end
15
18
 
16
19
  def config
@@ -1,3 +1,3 @@
1
1
  module Libv8
2
- VERSION = "3.16.14.8.rc1"
2
+ VERSION = "3.16.14.8"
3
3
  end
@@ -28,8 +28,8 @@ Gem::Specification.new do |s|
28
28
  s.extensions = ["ext/libv8/extconf.rb"]
29
29
  s.require_paths = ["lib", "ext"]
30
30
 
31
- s.add_development_dependency "rake"
32
- s.add_development_dependency "rake-compiler"
33
- s.add_development_dependency "rspec"
34
- s.add_development_dependency "rspec-spies"
31
+ s.add_development_dependency 'rake', '~> 10'
32
+ s.add_development_dependency 'rake-compiler', '~> 0'
33
+ s.add_development_dependency 'rspec', '~> 2'
34
+ s.add_development_dependency 'rspec-spies', '~> 2'
35
35
  end
@@ -1,15 +1,3 @@
1
- diff --git a/build/common.gypi b/build/common.gypi
2
- index 3a59639..594abe4 100644
3
- --- a/build/common.gypi
4
- +++ b/build/common.gypi
5
- @@ -173,7 +173,6 @@
6
- [ 'v8_use_arm_eabi_hardfloat=="true"', {
7
- 'defines': [
8
- 'USE_EABI_HARDFLOAT=1',
9
- - 'CAN_USE_VFP2_INSTRUCTIONS',
10
- ],
11
- 'target_conditions': [
12
- ['_toolset=="target"', {
13
1
  diff --git a/build/standalone.gypi b/build/standalone.gypi
14
2
  index 125c5bf..9900c5b 100644
15
3
  --- a/build/standalone.gypi
@@ -0,0 +1,97 @@
1
+ #!/bin/sh
2
+ # Copyright 2013 the V8 project authors. All rights reserved.
3
+ # Redistribution and use in source and binary forms, with or without
4
+ # modification, are permitted provided that the following conditions are
5
+ # met:
6
+ #
7
+ # * Redistributions of source code must retain the above copyright
8
+ # notice, this list of conditions and the following disclaimer.
9
+ # * Redistributions in binary form must reproduce the above
10
+ # copyright notice, this list of conditions and the following
11
+ # disclaimer in the documentation and/or other materials provided
12
+ # with the distribution.
13
+ # * Neither the name of Google Inc. nor the names of its
14
+ # contributors may be used to endorse or promote products derived
15
+ # from this software without specific prior written permission.
16
+ #
17
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18
+ # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19
+ # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20
+ # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21
+ # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22
+ # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23
+ # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24
+ # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25
+ # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
+ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27
+ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
+
29
+ # Monkey-patch GYP.
30
+ cat > build/gyp/gyp.mingw << EOF
31
+ #!/usr/bin/env python
32
+
33
+ # Copyright (c) 2009 Google Inc. All rights reserved.
34
+ # Use of this source code is governed by a BSD-style license that can be
35
+ # found in the LICENSE file.
36
+
37
+ import sys
38
+
39
+ # TODO(mark): sys.path manipulation is some temporary testing stuff.
40
+ try:
41
+ import gyp
42
+ except ImportError, e:
43
+ import os.path
44
+ sys.path.append(os.path.join(os.path.dirname(sys.argv[0]), 'pylib'))
45
+ import gyp
46
+
47
+ def MonkeyBuildFileTargets(target_list, build_file):
48
+ """From a target_list, returns the subset from the specified build_file.
49
+ """
50
+ build_file = build_file.replace('/', '\\\\')
51
+ return [p for p in target_list if gyp.common.BuildFile(p) == build_file]
52
+ gyp.common.BuildFileTargets = MonkeyBuildFileTargets
53
+
54
+ import gyp.generator.make
55
+ import os
56
+ def Monkey_ITIP(self):
57
+ """Returns the location of the final output for an installable target."""
58
+ sep = os.path.sep
59
+ # Xcode puts shared_library results into PRODUCT_DIR, and some gyp files
60
+ # rely on this. Emulate this behavior for mac.
61
+ if (self.type == 'shared_library' and
62
+ (self.flavor != 'mac' or self.toolset != 'target')):
63
+ # Install all shared libs into a common directory (per toolset) for
64
+ # convenient access with LD_LIBRARY_PATH.
65
+ return '\$(builddir)%slib.%s%s%s' % (sep, self.toolset, sep, self.alias)
66
+ return '\$(builddir)' + sep + self.alias
67
+ gyp.generator.make.MakefileWriter._InstallableTargetInstallPath = Monkey_ITIP
68
+
69
+ if __name__ == '__main__':
70
+ sys.exit(gyp.main(sys.argv[1:]))
71
+ EOF
72
+
73
+ # Delete old generated Makefiles.
74
+ find out -name '*.mk' -or -name 'Makefile*' -exec rm {} \;
75
+
76
+ # Generate fresh Makefiles.
77
+ mv build/gyp/gyp build/gyp/gyp.original
78
+ mv build/gyp/gyp.mingw build/gyp/gyp
79
+ make out/Makefile.ia32 out/Makefile.x64
80
+ mv build/gyp/gyp build/gyp/gyp.mingw
81
+ mv build/gyp/gyp.original build/gyp/gyp
82
+
83
+ # Patch generated Makefiles: replace most backslashes with forward slashes,
84
+ # fix library names in linker flags.
85
+ FILES=$(find out -name '*.mk' -or -name 'Makefile*')
86
+ for F in $FILES ; do
87
+ echo "Patching $F..."
88
+ cp $F $F.orig
89
+ cat $F.orig \
90
+ | sed -e 's|\([)a-zA-Z0-9]\)\\\([a-zA-Z]\)|\1/\2|g' \
91
+ -e 's|\([)a-zA-Z0-9]\)\\\\\([a-zA-Z]\)|\1/\2|g' \
92
+ -e 's|'%s/n'|'%s\\\\n'|g' \
93
+ -e 's|-lwinmm\.lib|-lwinmm|g' \
94
+ -e 's|-lws2_32\.lib|-lws2_32|g' \
95
+ > $F
96
+ rm $F.orig
97
+ done
@@ -4,25 +4,44 @@ describe "libv8 locations" do
4
4
  before do
5
5
  @context = double(:CompilationContext)
6
6
  end
7
+
7
8
  describe "the system location" do
8
9
  before do
9
10
  @location = Libv8::Location::System.new
10
11
  @context.stub(:dir_config)
11
12
  end
13
+
12
14
  describe "configuring a compliation context with it" do
13
15
  before do
14
16
  @context.stub(:find_header) {true}
17
+ @context.stub(:have_library) {true}
15
18
  @location.configure @context
16
19
  end
20
+
17
21
  it "adds the include path to the front of the include flags" do
18
22
  @context.should have_received(:dir_config).with('v8').at_least(:once)
19
23
  @context.should have_received(:find_header).with('v8.h').at_least(:once)
24
+ @context.should have_received(:have_library).with('v8').at_least(:once)
25
+ end
26
+ end
27
+
28
+ describe "when the v8 library cannot be found" do
29
+ before do
30
+ @context.stub(:find_header) {true}
31
+ @context.stub(:have_library) {false}
32
+ end
33
+
34
+ it "raises a NotFoundError" do
35
+ expect {@location.configure @context}.to raise_error Libv8::Location::System::NotFoundError
20
36
  end
21
37
  end
38
+
22
39
  describe "when the v8.h header cannot be found" do
23
40
  before do
24
41
  @context.stub(:find_header) {false}
42
+ @context.stub(:have_library) {true}
25
43
  end
44
+
26
45
  it "raises a NotFoundError" do
27
46
  expect {@location.configure @context}.to raise_error Libv8::Location::System::NotFoundError
28
47
  end
@@ -35,17 +54,17 @@ describe "libv8 locations" do
35
54
  @context.stub(:incflags) {@incflags ||= "-I/usr/include -I/usr/local/include"}
36
55
  @context.stub(:ldflags) {@ldflags ||= "-lobjc -lpthread"}
37
56
 
38
- Libv8::Paths.stub(:include_paths) {["/frp/v8/include"]}
39
- Libv8::Paths.stub(:object_paths) {["/frp/v8/obj/libv8_base.a", "/frp/v8/obj/libv8_snapshot.a"]}
57
+ Libv8::Paths.stub(:vendored_source_path) {"/foo bar/v8"}
58
+ Libv8::Arch.stub(:libv8_arch) {'x64'}
40
59
  @location.configure @context
41
60
  end
42
61
 
43
62
  it "prepends its own incflags before any pre-existing ones" do
44
- @context.incflags.should eql "-I/frp/v8/include -I/usr/include -I/usr/local/include"
63
+ @context.incflags.should eql "-I/foo\\ bar/v8/include -I/usr/include -I/usr/local/include"
45
64
  end
46
65
 
47
66
  it "prepends the locations of any libv8 objects on the the ldflags" do
48
- @context.ldflags.should eql "/frp/v8/obj/libv8_base.a /frp/v8/obj/libv8_snapshot.a -lobjc -lpthread"
67
+ @context.ldflags.should eql "/foo\\ bar/v8/out/x64.release/obj.target/tools/gyp/libv8_base.a /foo\\ bar/v8/out/x64.release/obj.target/tools/gyp/libv8_snapshot.a -lobjc -lpthread"
49
68
  end
50
69
  end
51
70
  end
metadata CHANGED
@@ -1,71 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libv8
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.16.14.8.rc1
4
+ version: 3.16.14.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charles Lowell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-27 00:00:00.000000000 Z
11
+ date: 2015-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '10'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '10'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake-compiler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '2'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '2'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec-spies
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '2'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '2'
69
69
  description: Distributes the V8 JavaScript engine in binary and source forms in order
70
70
  to support fast builds of The Ruby Racer
71
71
  email:
@@ -81,6 +81,7 @@ files:
81
81
  - Gemfile
82
82
  - README.md
83
83
  - Rakefile
84
+ - appveyor.yml
84
85
  - ext/libv8/arch.rb
85
86
  - ext/libv8/builder.rb
86
87
  - ext/libv8/checkout.rb
@@ -104,6 +105,7 @@ files:
104
105
  - patches/disable-building-tests.patch
105
106
  - patches/fPIC-for-static.patch
106
107
  - patches/gcc48/gcc48-wno-unused-local-typedefs.patch
108
+ - patches/mingw-generate-makefiles.sh
107
109
  - spec/location_spec.rb
108
110
  - spec/spec_helper.rb
109
111
  - thefrontside.png
@@ -3044,12 +3046,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
3044
3046
  version: '0'
3045
3047
  required_rubygems_version: !ruby/object:Gem::Requirement
3046
3048
  requirements:
3047
- - - ">"
3049
+ - - ">="
3048
3050
  - !ruby/object:Gem::Version
3049
- version: 1.3.1
3051
+ version: '0'
3050
3052
  requirements: []
3051
3053
  rubyforge_project: libv8
3052
- rubygems_version: 2.4.6
3054
+ rubygems_version: 2.2.2
3053
3055
  signing_key:
3054
3056
  specification_version: 4
3055
3057
  summary: Distribution of the V8 JavaScript engine