libv8 3.16.14.13 → 3.16.14.14

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: a790f5d5bfb2f2b3b36729f7f348f846ea7cf2a4
4
- data.tar.gz: 6313e7339be07bc0d3c5b4f5d03320a94d0c08cf
3
+ metadata.gz: c4b888c69d0ba2844ae209a8951b6a811e122a8f
4
+ data.tar.gz: f2ae53593da203454156ab4221bb4b29adb1b70d
5
5
  SHA512:
6
- metadata.gz: b3e9135de2c7b796c867d84f1eb7d95ecb11ae95dc50b816c1d938c51d176e17740bc53c58a636596f98df635ca51bfbaf7fb4e19f5d24aefa585ba788aececa
7
- data.tar.gz: 4549c2e41bad275064c27af0403c077cb444d41a47689c28d138e351d54cc0e9bea1e20be2f6df313981694e596fb5e27bd7b2218e01f2fa1e281fd8bbfd5c4a
6
+ metadata.gz: 16bc788bcc0306162b6b6773b8d90cc8ff1a056bbd49a513c1ab5ff4e498b03aead1842c3eb6e1e99d800a47d6861eb19097ecc5210be6969b1f926ec03c9a4a
7
+ data.tar.gz: df157ca9e8300f6d7cd7dc8b6d34365c619fb6e74cfae6899aea71780841af44785c9cab1a56b503e05de80b0b3106b8fda994d0516dc0a132117330f824380e
@@ -1,13 +1,38 @@
1
1
  rvm:
2
- - 2.0.0
3
- - 2.1.5
2
+ - 2.3.0
3
+ - 2.2.4
4
+ - 2.1.8
4
5
  - 1.9.3
5
6
  - rbx
7
+ matrix:
8
+ include:
9
+ - rvm: system
10
+ os: osx
11
+ osx_image: xcode7.3
12
+ - rvm: system
13
+ os: osx
14
+ osx_image: xcode6.4
15
+ - rvm: system
16
+ os: osx
17
+ osx_image: beta-xcode6.2
6
18
  bundler_args: --jobs=1 --retry=3
19
+ before_install:
20
+ - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get update; fi
21
+ - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install git-svn; fi
22
+ - if [ "$TRAVIS_OS_NAME" == "linux" ]; then gem update --system; fi
23
+ - if [ "$TRAVIS_OS_NAME" == "linux" ]; then gem update bundler; fi
24
+ - if [ "$TRAVIS_OS_NAME" == "osx" ]; then sudo gem install bundler ; fi
25
+ script:
26
+ - MAKEFLAGS+=-j8 bundle exec rake checkout compile spec binary --trace
27
+ deploy:
28
+ provider: releases
29
+ file: $(git ls-files -o pkg | head -1)
30
+ api_key:
31
+ secure: hvq5MEvIq3qk2OC3qGj7dVjq8p6RzGdY98Gq+cSn2MaNr3AUFgJw11458ZGqwrsB3V9TLnPIVZFeSRd2PWYfUx+aan5qtKX4yGc17UJ5IyFPSyCgQj5N1NR40pAwEmFJkVcLXDSMhIVMlo64lCfetCS7apOewOxuH85JcZENrIiEyoOH5rWpd7W8idNTy+dCUaLEN30rOuA2JP0KPgP9uwf5J89tzGp/THy0Dk++pyz9JdOiPxI07CUf/zqHGwm8F4XAdx0SxRwesokDDU2x5dik1cYVVYqcdwHUpz4ywaT6WjjQ50Kt0KHi869kCMkUZ7TtNbCXUoWFZavkK7DSUSmJeuEniaTYxKRPf7bhWJudKko/qwWhLLAWzVtfwGc5uJnE7ZcpeBdbcOLhv+zOFVyes9S16VGxWpkEZykgGynltvbcX3gLb7cYYtZkoTMdeeTZpuHSyuupHCBSU+KM76AeeXG9zpX6STR3jYDKrf1ZqibwEH6AR77BOG+pK7zstD8sZaBvp+KERgYPg6+kA2omVazWFrYK1pIi8L2wzuTWmajL83STz+P+iuA0a4xXA+XGzJhZ9B/U+Ib2wf5R7y9/EdkF/xTN5nG2sHKHgswGkXf1WCfR1qxMBXHzIvyJcEeBg0bskiiedlgPtbZVG5Utrxt0Q9+7VDz/4A5NNZ4=
32
+ skip_cleanup: true
33
+ on:
34
+ tags: true
7
35
  notifications:
8
36
  recipients:
9
37
  - cowboyd@thefrontside.net
10
38
  - bordjukov@gmail.com
11
- before_install:
12
- - sudo apt-get update
13
- - sudo apt-get install git-svn
@@ -0,0 +1,7 @@
1
+ ### Unreleased
2
+
3
+ * Enhance compiler version detection and architecture detection #212
4
+ * Introduce darwin13-15 binary building #211
5
+ * Disable errors on warning for OS X #210
6
+ * Improve --with-system-v8 error message #200
7
+ * Fix the check for git-svn #199
data/README.md CHANGED
@@ -71,7 +71,7 @@ so by specifying the git repo as a gem source. Just make sure you have
71
71
  `git-svn` and add the following to your `Gemfile`:
72
72
 
73
73
  ```Ruby
74
- gem "libv8", git: "git://github.com/cowboyd/libv8.git", submodules: true
74
+ gem "libv8", github: "cowboyd/libv8", submodules: true
75
75
  ```
76
76
 
77
77
  You can find more info on using a git repo as a gem source in
data/Rakefile CHANGED
@@ -92,20 +92,20 @@ task :devkit do
92
92
  end
93
93
 
94
94
  namespace :build do
95
- ['x86_64-linux', 'x86-linux'].each do |arch|
95
+ ['x86_64-linux', 'x86-linux', 'x86_64-freebsd10'].each do |arch|
96
96
  desc "build binary gem for #{arch}"
97
97
  task arch do
98
98
  arch_dir = Pathname(__FILE__).dirname.join("release/#{arch}")
99
99
  Dir.chdir(arch_dir) do
100
+ ENV['RUBYLIB'] = nil # https://github.com/mitchellh/vagrant/issues/6158
100
101
  sh "vagrant up"
101
- sh "vagrant ssh -c 'cd /vagrant && rm -rf libv8 && git clone /libv8/.git libv8'"
102
- sh "vagrant ssh -c 'cd /vagrant/libv8 && bundle install --path vendor/bundle'"
103
- sh "vagrant ssh -c 'cd /vagrant/libv8 && bundle exec rake checkout binary'"
104
- sh "vagrant ssh -c 'cp /vagrant/libv8/pkg/*.gem /vagrant'"
102
+ sh "vagrant ssh -c 'git clone /libv8/.git ~/libv8'"
103
+ sh "vagrant ssh -c 'cd ~/libv8 && bundle install --path vendor/bundle'"
104
+ sh "vagrant ssh -c 'cd ~/libv8 && bundle exec rake checkout binary'"
105
+ sh "vagrant ssh -c 'cp ~/libv8/pkg/*.gem /vagrant'"
105
106
  end
106
107
  end
107
108
  end
108
-
109
109
  end
110
110
 
111
111
  task :default => [:checkout, :compile, :spec]
@@ -20,7 +20,7 @@ module Libv8
20
20
  profile = enable_config('debug') ? 'debug' : 'release'
21
21
  "#{libv8_arch}.#{profile}"
22
22
  end
23
-
23
+
24
24
  def make_flags(*flags)
25
25
  # FreeBSD uses gcc 4.2 by default which leads to
26
26
  # compilation failures due to warnings about aliasing.
@@ -49,24 +49,29 @@ module Libv8
49
49
  end
50
50
 
51
51
  def build_libv8!
52
+ checkout!
53
+ setup_python!
52
54
  Dir.chdir(V8_Source) do
53
- fail 'No compilers available' if @compiler.nil?
54
- checkout!
55
- setup_python!
56
55
  setup_build_deps!
57
- patch! *patch_directories_for(@compiler)
56
+ fail 'No compilers available' if @compiler.nil?
57
+ patch!
58
58
  print_build_info
59
+ puts 'Beginning compilation. This will take some time.'
60
+
61
+ command = "env CXX=#{@compiler} LINK=#{@compiler}"
59
62
 
60
63
  case RUBY_PLATFORM
61
64
  when /mingw/
62
65
  # use a script that will fix the paths in the generated Makefiles
63
66
  # don't use make_flags otherwise it will trigger a rebuild of the Makefiles
64
67
  system "env CXX=#{@compiler} LINK=#{@compiler} bash #{PATCH_DIRECTORY}/mingw-generate-makefiles.sh"
65
- system "env CXX=#{@compiler} LINK=#{@compiler} make #{make_target}"
66
-
68
+ command += " make #{make_target}"
67
69
  else
68
- puts `env CXX=#{@compiler} LINK=#{@compiler} #{make} #{make_flags}`
70
+ command += " #{make} #{make_flags}"
69
71
  end
72
+
73
+ puts "Building v8 with #{command}"
74
+ system command
70
75
  end
71
76
  return $?.exitstatus
72
77
  end
@@ -97,7 +102,7 @@ module Libv8
97
102
  def choose_compiler
98
103
  compiler_names = if with_config('cxx') then [with_config('cxx')]
99
104
  elsif ENV['CXX'] then [ENV['CXX']]
100
- else Compiler::KNOWN_COMPILERS
105
+ else Compiler::well_known_compilers
101
106
  end
102
107
 
103
108
  available_compilers = Compiler.available_compilers(*compiler_names)
@@ -44,7 +44,7 @@ module Libv8
44
44
  # msysgit provides git svn
45
45
  return if RUBY_PLATFORM =~ /mingw/
46
46
 
47
- unless system 'git help svn 2>&1 > /dev/null'
47
+ unless system 'git svn --version 2>&1 > /dev/null'
48
48
  fail "git-svn not installed!\nPlease install git-svn."
49
49
  end
50
50
  end
@@ -1,42 +1,63 @@
1
- require 'mkmf'
2
- require 'open3'
1
+ require 'rbconfig'
3
2
  require File.expand_path '../compiler/generic_compiler', __FILE__
4
3
  require File.expand_path '../compiler/gcc', __FILE__
5
4
  require File.expand_path '../compiler/clang', __FILE__
5
+ require File.expand_path '../compiler/apple_llvm', __FILE__
6
6
 
7
7
  module Libv8
8
8
  module Compiler
9
- KNOWN_COMPILERS = [
10
- 'c++',
11
- 'g++48', 'g++46', 'g++44', 'g++',
12
- 'clang++',
13
- ]
14
-
15
9
  module_function
16
10
 
17
- def system_compilers
18
- available_compilers *Compiler::KNOWN_COMPILERS
11
+ def well_known_compilers
12
+ compilers = []
13
+
14
+ # The default system compiler
15
+ compilers << 'c++'
16
+
17
+ # FreeBSD GCC command names
18
+ compilers += ['g++48', 'g++49', 'g++5', 'g++6', 'g++7']
19
+
20
+ # Default compiler names
21
+ compilers += ['clang++', 'g++']
22
+
23
+ compilers.uniq
19
24
  end
20
25
 
21
26
  def available_compilers(*compiler_names)
22
- compiler_paths = compiler_names.map { |name| find name }.reject &:nil?
27
+ available = compiler_names.select { |compiler_name| available? compiler_name }
28
+ available.map { |compiler_name| type_of(compiler_name).new compiler_name }
23
29
  end
24
30
 
25
- def find(name)
26
- return nil if name.empty?
27
- path, _, status = Open3.capture3 "which #{name}"
28
- path.chomp!
29
- determine_type(path).new(path) if status.success?
31
+ def type_of(compiler_name)
32
+ case version_string_of(compiler_name)
33
+ when /^Apple LLVM\b/ then AppleLLVM
34
+ when /\bclang\b/i then Clang
35
+ when /^gcc/i then GCC
36
+ else GenericCompiler
37
+ end
30
38
  end
31
39
 
32
- def determine_type(compiler_path)
33
- compiler_version = Open3.capture3("#{compiler_path} -v")[0..1].join
40
+ def version_string_of(compiler_name)
41
+ command_result = execute_command "#{compiler_name} -v 2>&1"
34
42
 
35
- case compiler_version
36
- when /\bclang\b/i then Clang
37
- when /^gcc/i then GCC
38
- else GenericCompiler
43
+ unless command_result.status.success?
44
+ raise "Could not get version string of compiler #{compiler_name}"
39
45
  end
46
+
47
+ command_result.output
48
+ end
49
+
50
+ def available?(command)
51
+ execute_command("which #{command} 2>&1").status.success?
52
+ end
53
+
54
+ def execute_command(command)
55
+ output = `env LC_ALL=C LANG=C #{command}`
56
+ status = $?
57
+ ExecutionResult.new output, status
58
+ end
59
+
60
+ class ExecutionResult < Struct.new(:output, :status)
40
61
  end
41
62
  end
42
63
  end
@@ -0,0 +1,21 @@
1
+ module Libv8
2
+ module Compiler
3
+ class AppleLLVM < Clang
4
+ LLVM_VERSION_REGEXP = /Apple LLVM version (\d+\.\d+(\.\d+)*) \(/i
5
+
6
+ def name
7
+ 'Apple LLVM'
8
+ end
9
+
10
+ def compatible?
11
+ version >= '4.3' unless version.nil?
12
+ end
13
+
14
+ private
15
+
16
+ def version_regexp
17
+ LLVM_VERSION_REGEXP
18
+ end
19
+ end
20
+ end
21
+ end
@@ -1,14 +1,20 @@
1
1
  module Libv8
2
2
  module Compiler
3
3
  class Clang < GenericCompiler
4
- VERSION_REGEXP = /clang version (\d+\.\d+(\.\d+)*) \(/i
4
+ CLANG_VERSION_REGEXP = /clang version (\d+\.\d+(\.\d+)*) \(/i
5
5
 
6
6
  def name
7
7
  'clang'
8
8
  end
9
9
 
10
10
  def compatible?
11
- version >= '3.1'
11
+ version >= '3.1' unless version.nil?
12
+ end
13
+
14
+ private
15
+
16
+ def version_regexp
17
+ CLANG_VERSION_REGEXP
12
18
  end
13
19
  end
14
20
  end
@@ -1,14 +1,20 @@
1
1
  module Libv8
2
2
  module Compiler
3
3
  class GCC < GenericCompiler
4
- VERSION_REGEXP = /gcc version (\d+\.\d+(\.\d+)*)/i
4
+ GCC_VERSION_REGEXP = /gcc version (\d+\.\d+(\.\d+)*)/i
5
5
 
6
6
  def name
7
7
  'GCC'
8
8
  end
9
9
 
10
10
  def compatible?
11
- version > '4.3' and version < '5'
11
+ version > '4.3' unless version.nil?
12
+ end
13
+
14
+ private
15
+
16
+ def version_regexp
17
+ GCC_VERSION_REGEXP
12
18
  end
13
19
  end
14
20
  end
@@ -1,28 +1,28 @@
1
1
  module Libv8
2
2
  module Compiler
3
3
  class GenericCompiler
4
- VERSION_REGEXP = /(\d+\.\d+(\.\d+)*)/
5
- TARGET_REGEXP = /Target: ([a-z0-9\-_.]*)/
4
+ GENERIC_VERSION_REGEXP = /(\d+\.\d+(\.\d+)*)/
5
+ GENERIC_TARGET_REGEXP = /Target: ([a-z0-9\-_.]*)/
6
6
 
7
- def initialize(path)
8
- @path = path
7
+ def initialize(command)
8
+ @command = command
9
9
  end
10
10
 
11
11
  def name
12
- File.basename @path
12
+ File.basename @command
13
13
  end
14
14
 
15
15
  def to_s
16
- @path
16
+ @command
17
17
  end
18
18
 
19
19
  def version
20
- call('-v')[0..1].join =~ VERSION_REGEXP
20
+ version_string =~ version_regexp
21
21
  $1
22
22
  end
23
23
 
24
24
  def target
25
- call('-v')[0..1].join =~ TARGET_REGEXP
25
+ version_string =~ target_regexp
26
26
  $1
27
27
  end
28
28
 
@@ -31,7 +31,25 @@ module Libv8
31
31
  end
32
32
 
33
33
  def call(*arguments)
34
- Open3.capture3 arguments.unshift('env LC_ALL=en', @path).join(' ')
34
+ Compiler::execute_command arguments.unshift(@command).join(' ')
35
+ end
36
+
37
+ private
38
+
39
+ def version_string
40
+ begin
41
+ Compiler::version_string_of @command
42
+ rescue StandardError
43
+ nil
44
+ end
45
+ end
46
+
47
+ def version_regexp
48
+ GENERIC_VERSION_REGEXP
49
+ end
50
+
51
+ def target_regexp
52
+ GENERIC_TARGET_REGEXP
35
53
  end
36
54
  end
37
55
  end
@@ -54,16 +54,15 @@ module Libv8
54
54
  class NotFoundError < StandardError
55
55
  def initialize(*args)
56
56
  super(<<-EOS)
57
- You have chosen to use the version of V8 found on your system
58
- and *not* the one that is bundle with the libv8 rubygem. However,
59
- it could not be located. please make sure you have a version of
60
- v8 that is compatible with #{Libv8::VERSION} installed. You may
61
- need to special --with-v8-dir options if it is in a non-standard
62
- location
57
+ By using --with-system-v8, you have chosen to use the version
58
+ of V8 found on your system and *not* the one that is bundled with
59
+ the libv8 rubygem.
63
60
 
64
- thanks,
65
- The Mgmt
61
+ However, your system version of v8 could not be located.
66
62
 
63
+ Please make sure your system version of v8 that is compatible
64
+ with #{Libv8::VERSION} installed. You may need to use the
65
+ --with-v8-dir option if it is installed in a non-standard location
67
66
  EOS
68
67
  end
69
68
  end
@@ -4,51 +4,15 @@ module Libv8
4
4
 
5
5
  module_function
6
6
 
7
- def patch_directories_for(compiler)
8
- patch_directories = []
9
-
10
- case
11
- when compiler.target =~ /arm/
12
- patch_directories << 'arm'
13
- end
14
-
15
- case compiler
16
- when Compiler::GCC
17
- patch_directories << 'gcc48' if compiler.version >= '4.8'
18
- when Compiler::Clang
19
- patch_directories << 'clang'
20
- patch_directories << 'clang33' if compiler.version >= '3.3'
21
- patch_directories << 'clang51' if compiler.version >= '5.1'
22
- patch_directories << 'clang70' if compiler.version >= '7.0'
23
- end
24
-
25
- patch_directories
26
- end
27
-
28
- def patch_directories(*additional_directories)
29
- absolute_paths = [PATCH_DIRECTORY]
30
-
31
- additional_directories.each do |directory|
32
- absolute_paths << File.join(PATCH_DIRECTORY, directory)
33
- end
34
-
35
- absolute_paths.uniq
36
- end
37
-
38
- def patches(*additional_directories)
39
- patch_directories(*additional_directories).map do |directory|
40
- Dir.glob(File.join directory, '*.patch')
41
- end.flatten.sort
42
- end
43
-
44
- def patch!(*additional_directories)
7
+ def patch!
45
8
  File.open(".applied_patches", File::RDWR|File::CREAT) do |f|
46
- available_patches = patches *additional_directories
9
+ available_patches = Dir.glob(File.join(PATCH_DIRECTORY, '*.patch'))
47
10
  applied_patches = f.readlines.map(&:chomp)
48
11
 
49
12
  (available_patches - applied_patches).each do |patch|
13
+ puts "Applying #{patch}"
50
14
  `patch -p1 -N < #{patch}`
51
- fail 'failed to apply patch' unless $?.success?
15
+ fail "failed to apply patch #{patch}" unless $?.success?
52
16
  f.puts patch
53
17
  end
54
18
  end
@@ -1,3 +1,3 @@
1
1
  module Libv8
2
- VERSION = "3.16.14.13"
2
+ VERSION = "3.16.14.14"
3
3
  end
@@ -0,0 +1,12 @@
1
+ diff --git a/build/standalone.gypi b/build/standalone.gypi
2
+ index 125c5bf..de1924c 100644
3
+ --- a/build/standalone.gypi
4
+ +++ b/build/standalone.gypi
5
+ @@ -194,7 +194,6 @@
6
+ 'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES',
7
+ 'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
8
+ 'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics
9
+ - 'GCC_TREAT_WARNINGS_AS_ERRORS': 'YES', # -Werror
10
+ 'GCC_VERSION': 'com.apple.compilers.llvmgcc42',
11
+ 'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', # -Wnewline-eof
12
+ # MACOSX_DEPLOYMENT_TARGET maps to -mmacosx-version-min
@@ -13,7 +13,7 @@ Vagrant.configure(2) do |config|
13
13
  # Every Vagrant development environment requires a box. You can search for
14
14
  # boxes at https://atlas.hashicorp.com/search.
15
15
  # https://atlas.hashicorp.com/boxcutter/boxes/debian80-i386
16
- config.vm.box = "boxcutter/debian80-i386"
16
+ config.vm.box = "ubuntu/trusty32"
17
17
 
18
18
  # Disable automatic box update checking. If you disable this, then
19
19
  # boxes will only be checked for updates when the user runs
@@ -61,6 +61,11 @@ Vagrant.configure(2) do |config|
61
61
  # config.push.define "atlas" do |push|
62
62
  # push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
63
63
  # end
64
+ config.vm.provider :virtualbox do |vb|
65
+ vb.customize ["modifyvm", :id, "--hwvirtex", "on"]
66
+ vb.customize ["modifyvm", :id, "--audio", "none"]
67
+ vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
68
+ end
64
69
 
65
70
  # Enable provisioning with a shell script. Additional provisioners such as
66
71
  # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
@@ -72,4 +77,5 @@ Vagrant.configure(2) do |config|
72
77
  sudo update-alternatives --config gcc
73
78
  gem install bundler
74
79
  SHELL
80
+
75
81
  end
@@ -0,0 +1,86 @@
1
+ # -*- mode: ruby -*-
2
+ # vi: set ft=ruby :
3
+
4
+ # All Vagrant configuration is done below. The "2" in Vagrant.configure
5
+ # configures the configuration version (we support older styles for
6
+ # backwards compatibility). Please don't change it unless you know what
7
+ # you're doing.
8
+ Vagrant.configure(2) do |config|
9
+ # The most common configuration options are documented and commented below.
10
+ # For a complete reference, please see the online documentation at
11
+ # https://docs.vagrantup.com.
12
+
13
+ # Every Vagrant development environment requires a box. You can search for
14
+ # boxes at https://atlas.hashicorp.com/search.
15
+ config.vm.box = "freebsd/FreeBSD-10.3-RELEASE"
16
+
17
+ # Disable automatic box update checking. If you disable this, then
18
+ # boxes will only be checked for updates when the user runs
19
+ # `vagrant box outdated`. This is not recommended.
20
+ # config.vm.box_check_update = false
21
+
22
+ # Create a forwarded port mapping which allows access to a specific port
23
+ # within the machine from a port on the host machine. In the example below,
24
+ # accessing "localhost:8080" will access port 80 on the guest machine.
25
+ # config.vm.network "forwarded_port", guest: 80, host: 8080
26
+
27
+ # Create a private network, which allows host-only access to the machine
28
+ # using a specific IP.
29
+ # config.vm.network "private_network", ip: "192.168.33.10"
30
+ config.vm.network "private_network", ip: "192.168.33.10"
31
+
32
+ # Create a public network, which generally matched to bridged network.
33
+ # Bridged networks make the machine appear as another physical device on
34
+ # your network.
35
+ # config.vm.network "public_network"
36
+
37
+ # Share an additional folder to the guest VM. The first argument is
38
+ # the path on the host to the actual folder. The second argument is
39
+ # the path on the guest to mount the folder. And the optional third
40
+ # argument is a set of non-required options.
41
+ config.vm.synced_folder ".", "/vagrant", nfs: true
42
+ config.vm.synced_folder "../..", "/libv8", nfs: true
43
+
44
+
45
+ # Provider-specific configuration so you can fine-tune various
46
+ # backing providers for Vagrant. These expose provider-specific options.
47
+ # Example for VirtualBox:
48
+ #
49
+ # config.vm.provider "virtualbox" do |vb|
50
+ # # Display the VirtualBox GUI when booting the machine
51
+ # vb.gui = true
52
+ #
53
+ # # Customize the amount of memory on the VM:
54
+ # vb.memory = "1024"
55
+ # end
56
+ #
57
+ # View the documentation for the provider you are using for more
58
+ # information on available options.
59
+ # Various settings as suggested by the FreeBSD community
60
+ config.ssh.shell = "sh"
61
+ config.vm.base_mac = "080027D14C66"
62
+ config.vm.provider :virtualbox do |vb|
63
+ vb.customize ["modifyvm", :id, "--hwvirtex", "on"]
64
+ vb.customize ["modifyvm", :id, "--audio", "none"]
65
+ vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
66
+ vb.customize ["modifyvm", :id, "--nictype2", "virtio"]
67
+ end
68
+
69
+ # Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
70
+ # such as FTP and Heroku are also available. See the documentation at
71
+ # https://docs.vagrantup.com/v2/push/atlas.html for more information.
72
+ # config.push.define "atlas" do |push|
73
+ # push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
74
+ # end
75
+
76
+ # Enable provisioning with a shell script. Additional provisioners such as
77
+ # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
78
+ # documentation for more information about their specific syntax and use.
79
+ # config.vm.provision "shell", inline: <<-SHELL
80
+ # sudo apt-get update
81
+ # sudo apt-get install -y apache2
82
+ # SHELL
83
+ config.vm.provision "shell", inline: <<-SHELL
84
+ pkg install -y gmake ruby rubygem-bundler git-subversion python2
85
+ SHELL
86
+ end
@@ -13,7 +13,7 @@ Vagrant.configure(2) do |config|
13
13
  # Every Vagrant development environment requires a box. You can search for
14
14
  # boxes at https://atlas.hashicorp.com/search.
15
15
  # https://atlas.hashicorp.com/quarkslab/boxes/debian-8.0-amd64
16
- config.vm.box = "quarkslab/debian-8.0-amd64"
16
+ config.vm.box = "ubuntu/trusty64"
17
17
 
18
18
  # Disable automatic box update checking. If you disable this, then
19
19
  # boxes will only be checked for updates when the user runs
@@ -54,6 +54,11 @@ Vagrant.configure(2) do |config|
54
54
  #
55
55
  # View the documentation for the provider you are using for more
56
56
  # information on available options.
57
+ config.vm.provider :virtualbox do |vb|
58
+ vb.customize ["modifyvm", :id, "--hwvirtex", "on"]
59
+ vb.customize ["modifyvm", :id, "--audio", "none"]
60
+ vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
61
+ end
57
62
 
58
63
  # Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
59
64
  # such as FTP and Heroku are also available. See the documentation at
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libv8
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.16.14.13
4
+ version: 3.16.14.14
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-10-15 00:00:00.000000000 Z
11
+ date: 2016-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -78,6 +78,7 @@ files:
78
78
  - ".gitignore"
79
79
  - ".gitmodules"
80
80
  - ".travis.yml"
81
+ - CHANGELOG.md
81
82
  - Gemfile
82
83
  - README.md
83
84
  - Rakefile
@@ -86,6 +87,7 @@ files:
86
87
  - ext/libv8/builder.rb
87
88
  - ext/libv8/checkout.rb
88
89
  - ext/libv8/compiler.rb
90
+ - ext/libv8/compiler/apple_llvm.rb
89
91
  - ext/libv8/compiler/clang.rb
90
92
  - ext/libv8/compiler/gcc.rb
91
93
  - ext/libv8/compiler/generic_compiler.rb
@@ -97,17 +99,14 @@ files:
97
99
  - lib/libv8.rb
98
100
  - lib/libv8/version.rb
99
101
  - libv8.gemspec
100
- - patches/arm/do-not-imply-vfp3-and-armv7.patch
101
- - patches/arm/do-not-use-vfp2.patch
102
- - patches/clang/no-unused-private-field.patch
103
- - patches/clang33/silence-nested-anon-types-and-unused-function-warnings.patch
104
- - patches/clang51/no-unused-variable.patch
105
- - patches/clang70/no-unused-local-typedefs.patch
106
102
  - patches/disable-building-tests.patch
103
+ - patches/disable-werror-on-osx.patch
104
+ - patches/do-not-imply-vfp3-and-armv7.patch
105
+ - patches/do-not-use-vfp2.patch
107
106
  - patches/fPIC-for-static.patch
108
- - patches/gcc48/gcc48-wno-unused-local-typedefs.patch
109
107
  - patches/mingw-generate-makefiles.sh
110
108
  - release/x86-linux/Vagrantfile
109
+ - release/x86_64-freebsd10/Vagrantfile
111
110
  - release/x86_64-linux/Vagrantfile
112
111
  - spec/location_spec.rb
113
112
  - spec/spec_helper.rb
@@ -3054,7 +3053,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
3054
3053
  version: '0'
3055
3054
  requirements: []
3056
3055
  rubyforge_project: libv8
3057
- rubygems_version: 2.4.5
3056
+ rubygems_version: 2.6.4
3058
3057
  signing_key:
3059
3058
  specification_version: 4
3060
3059
  summary: Distribution of the V8 JavaScript engine
@@ -1,28 +0,0 @@
1
- diff --git a/build/common.gypi b/build/common.gypi
2
- index 3a59639..14bf0f9 100644
3
- --- a/build/common.gypi
4
- +++ b/build/common.gypi
5
- @@ -376,7 +376,8 @@
6
- }],
7
- ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', {
8
- 'cflags': [ '-Wall', '<(werror)', '-W', '-Wno-unused-parameter',
9
- - '-Wnon-virtual-dtor', '-Woverloaded-virtual' ],
10
- + '-Wnon-virtual-dtor', '-Woverloaded-virtual',
11
- + '-Wno-unused-private-field' ],
12
- }],
13
- ['OS=="linux" and v8_enable_backtrace==1', {
14
- # Support for backtrace_symbols.
15
- diff --git a/build/standalone.gypi b/build/standalone.gypi
16
- index 125c5bf..c8d9b4f 100644
17
- --- a/build/standalone.gypi
18
- +++ b/build/standalone.gypi
19
- @@ -98,7 +98,8 @@
20
- 'target_defaults': {
21
- 'cflags': [ '-Wall', '<(werror)', '-W', '-Wno-unused-parameter',
22
- '-Wnon-virtual-dtor', '-pthread', '-fno-rtti',
23
- - '-fno-exceptions', '-pedantic' ],
24
- + '-fno-exceptions', '-pedantic',
25
- + '-Wno-unused-private-field' ],
26
- 'ldflags': [ '-pthread', ],
27
- 'conditions': [
28
- [ 'OS=="linux"', {
@@ -1,28 +0,0 @@
1
- diff --git a/build/common.gypi b/build/common.gypi
2
- index 14bf0f9..301109a 100644
3
- --- a/build/common.gypi
4
- +++ b/build/common.gypi
5
- @@ -377,7 +377,8 @@
6
- ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', {
7
- 'cflags': [ '-Wall', '<(werror)', '-W', '-Wno-unused-parameter',
8
- '-Wnon-virtual-dtor', '-Woverloaded-virtual',
9
- - '-Wno-unused-private-field' ],
10
- + '-Wno-unused-private-field', '-Wno-nested-anon-types',
11
- + '-Wno-unused-function' ],
12
- }],
13
- ['OS=="linux" and v8_enable_backtrace==1', {
14
- # Support for backtrace_symbols.
15
- diff --git a/build/standalone.gypi b/build/standalone.gypi
16
- index c8d9b4f..ddd1693 100644
17
- --- a/build/standalone.gypi
18
- +++ b/build/standalone.gypi
19
- @@ -99,7 +99,8 @@
20
- 'cflags': [ '-Wall', '<(werror)', '-W', '-Wno-unused-parameter',
21
- '-Wnon-virtual-dtor', '-pthread', '-fno-rtti',
22
- '-fno-exceptions', '-pedantic',
23
- - '-Wno-unused-private-field' ],
24
- + '-Wno-unused-private-field', '-Wno-nested-anon-types',
25
- + '-Wno-unused-function' ],
26
- 'ldflags': [ '-pthread', ],
27
- 'conditions': [
28
- [ 'OS=="linux"', {
@@ -1,12 +0,0 @@
1
- diff --git a/build/standalone.gypi b/build/standalone.gypi
2
- index 125c5bf..a283a28 100644
3
- --- a/build/standalone.gypi
4
- +++ b/build/standalone.gypi
5
- @@ -210,6 +212,7 @@
6
- '-Wendif-labels',
7
- '-W',
8
- '-Wno-unused-parameter',
9
- + '-Wno-unused-variable',
10
- '-Wnon-virtual-dtor',
11
- ],
12
- },
@@ -1,13 +0,0 @@
1
- diff --git a/build/standalone.gypi b/build/standalone.gypi
2
- index 125c5bf..a283a28 100644
3
- --- a/build/standalone.gypi
4
- +++ b/build/standalone.gypi
5
- @@ -211,6 +212,8 @@
6
- '-W',
7
- '-Wno-unused-parameter',
8
- '-Wno-unused-variable',
9
- + '-Wno-unused-local-typedefs',
10
- + '-Wno-tautological-undefined-compare',
11
- '-Wnon-virtual-dtor',
12
- ],
13
- },
@@ -1,28 +0,0 @@
1
- diff --git a/build/common.gypi b/build/common.gypi
2
- index 3a59639..365178a 100644
3
- --- a/build/common.gypi
4
- +++ b/build/common.gypi
5
- @@ -376,7 +376,8 @@
6
- }],
7
- ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', {
8
- 'cflags': [ '-Wall', '<(werror)', '-W', '-Wno-unused-parameter',
9
- - '-Wnon-virtual-dtor', '-Woverloaded-virtual' ],
10
- + '-Wnon-virtual-dtor', '-Woverloaded-virtual',
11
- + '-Wno-unused-local-typedefs' ],
12
- }],
13
- ['OS=="linux" and v8_enable_backtrace==1', {
14
- # Support for backtrace_symbols.
15
- diff --git a/build/standalone.gypi b/build/standalone.gypi
16
- index 125c5bf..32eaf85 100644
17
- --- a/build/standalone.gypi
18
- +++ b/build/standalone.gypi
19
- @@ -98,7 +98,8 @@
20
- 'target_defaults': {
21
- 'cflags': [ '-Wall', '<(werror)', '-W', '-Wno-unused-parameter',
22
- '-Wnon-virtual-dtor', '-pthread', '-fno-rtti',
23
- - '-fno-exceptions', '-pedantic' ],
24
- + '-fno-exceptions', '-pedantic',
25
- + '-Wno-unused-local-typedefs' ],
26
- 'ldflags': [ '-pthread', ],
27
- 'conditions': [
28
- [ 'OS=="linux"', {