libv8-node 15.5.1.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 53dc1c4fa623e40647f5b87dbf7886192196dd6deca2047eae10191d37338898
4
+ data.tar.gz: 6f18e2366a9d86ef4c229512c871fa9d0a7e4b44da60b267eb616ece659e55c0
5
+ SHA512:
6
+ metadata.gz: 3a0f2f9cc8e5a08e40af6d38b52b3c3309d6b5d0e2da4e2be2504e8b906e78bd139d34bf22a6bf07e03b3f0cf07d8e71c10ecdb3f558d53f281b592329aee718
7
+ data.tar.gz: abeb6decf2a222cb7dd3470eb9cd95abb8c88c234933a6e6754d6849eaea78b2da675068e24e940990cfe80ff8247f5912cacb18b626481a75411c168c5096bc
data/CHANGELOG.md ADDED
File without changes
data/LICENSE ADDED
@@ -0,0 +1,7 @@
1
+ Copyright (c) 2009,2010 Charles Lowell
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
+
5
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
+
7
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
File without changes
@@ -0,0 +1,54 @@
1
+ unless $LOAD_PATH.include?(File.expand_path('../../lib', __dir__))
2
+ $LOAD_PATH.unshift(File.expand_path('../../lib', __dir__))
3
+ end
4
+ require 'libv8/node/version'
5
+
6
+ module Libv8::Node
7
+ class BuilderError < StandardError; end
8
+
9
+ class Builder
10
+ def build_libv8!
11
+ version = Libv8::Node::NODE_VERSION
12
+ download_node(version) || raise(BuilderError, "failed to download node #{NODE_VERSION}")
13
+ extract_node(version) || raise(BuilderError, "failed to extract node #{NODE_VERSION}")
14
+ build_libv8(version) || raise(BuilderError, "failed to build libv8 #{NODE_VERSION}")
15
+ build_monolith(version) || raise(BuilderError, "failed to build monolith #{NODE_VERSION}")
16
+ inject_libv8(version) || raise(BuilderError, "failed to inject libv8 #{NODE_VERSION}")
17
+
18
+ 0
19
+ end
20
+
21
+ def remove_intermediates!
22
+ FileUtils.rm_rf(File.expand_path('../../src', __dir__))
23
+ end
24
+
25
+ private
26
+
27
+ def download_node(version)
28
+ system(script('download-node'), version)
29
+ end
30
+
31
+ def extract_node(version)
32
+ system(script('extract-node'), version)
33
+ end
34
+
35
+ def build_libv8(version)
36
+ system(script('build-libv8'), version)
37
+ end
38
+
39
+ def build_monolith(version)
40
+ system(script('build-monolith'), version)
41
+ end
42
+
43
+ def inject_libv8(version)
44
+ system(script('inject-libv8'), version)
45
+ end
46
+
47
+ def script(name)
48
+ File.expand_path("../../libexec/#{name}", __dir__).tap do |v|
49
+ puts "==== in #{Dir.pwd}"
50
+ puts "==== running #{v}"
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'mkmf'
4
+ create_makefile('libv8-node')
5
+
6
+ require File.expand_path('location', __dir__)
7
+ location = Libv8::Node::Location::Vendor.new
8
+
9
+ exit location.install!
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'yaml'
4
+ require 'pathname'
5
+ require File.expand_path('paths', __dir__)
6
+
7
+ module Libv8; end
8
+
9
+ module Libv8::Node
10
+ class Location
11
+ def install!
12
+ File.open(Pathname(__FILE__).dirname.join('.location.yml'), 'w') do |f|
13
+ f.write(to_yaml)
14
+ end
15
+
16
+ 0
17
+ end
18
+
19
+ def self.load!
20
+ File.open(Pathname(__FILE__).dirname.join('.location.yml')) do |f|
21
+ YAML.load(f) # rubocop:disable Security/YAMLLoad
22
+ end
23
+ end
24
+
25
+ class Vendor < Location
26
+ def install!
27
+ require File.expand_path('builder', __dir__)
28
+
29
+ builder = Libv8::Node::Builder.new
30
+ exit_status = builder.build_libv8!
31
+ builder.remove_intermediates!
32
+
33
+ super if exit_status == 0
34
+
35
+ verify_installation!
36
+
37
+ exit_status
38
+ end
39
+
40
+ def configure(context = MkmfContext.new)
41
+ context.incflags.insert(0, Libv8::Node::Paths.include_paths.map { |p| "-I#{p}" }.join(' ') << ' ')
42
+ context.ldflags.insert(0, Libv8::Node::Paths.object_paths.join(' ') << ' ')
43
+ end
44
+
45
+ def verify_installation!
46
+ include_paths = Libv8::Node::Paths.include_paths
47
+
48
+ unless include_paths.detect { |p| Pathname(p).join('v8.h').exist? }
49
+ raise(HeaderNotFound, "Unable to locate 'v8.h' in the libv8 header paths: #{include_paths.inspect}")
50
+ end
51
+
52
+ Libv8::Node::Paths.object_paths.each do |p|
53
+ raise(ArchiveNotFound, p) unless File.exist?(p)
54
+ end
55
+ end
56
+
57
+ class HeaderNotFound < StandardError; end
58
+
59
+ class ArchiveNotFound < StandardError
60
+ def initialize(filename)
61
+ super "libv8 did not install properly, expected binary v8 archive '#{filename}'to exist, but it was not found"
62
+ end
63
+ end
64
+ end
65
+
66
+ class MkmfContext
67
+ def incflags
68
+ $INCFLAGS # rubocop:disable Style/GlobalVars
69
+ end
70
+
71
+ def ldflags
72
+ $LDFLAGS # rubocop:disable Style/GlobalVars
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,30 @@
1
+ require 'rbconfig'
2
+ require 'shellwords'
3
+
4
+ module Libv8; end
5
+
6
+ module Libv8::Node
7
+ module Paths
8
+ module_function
9
+
10
+ def include_paths
11
+ [Shellwords.escape(File.join(vendored_source_path, 'include'))]
12
+ end
13
+
14
+ def object_paths
15
+ [Shellwords.escape(File.join(vendored_source_path,
16
+ 'out.gn',
17
+ 'libv8',
18
+ 'obj',
19
+ "libv8_monolith.#{config['LIBEXT']}"))]
20
+ end
21
+
22
+ def config
23
+ RbConfig::MAKEFILE_CONFIG
24
+ end
25
+
26
+ def vendored_source_path
27
+ File.expand_path('../../vendor/v8', __dir__)
28
+ end
29
+ end
30
+ end
data/lib/libv8-node.rb ADDED
@@ -0,0 +1 @@
1
+ require 'libv8/node'
data/lib/libv8/node.rb ADDED
@@ -0,0 +1,11 @@
1
+ require 'libv8/node/version'
2
+ require 'libv8-node/location'
3
+
4
+ module Libv8; end
5
+
6
+ module Libv8::Node
7
+ def self.configure_makefile
8
+ location = Location.load!
9
+ location.configure
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ module Libv8; end
2
+
3
+ module Libv8::Node
4
+ VERSION = '15.5.1.0.beta1'.freeze
5
+ NODE_VERSION = '15.5.1'.freeze
6
+ LIBV8_VERSION = '8.6.395.17'.freeze # from v8/include/v8-version.h
7
+ end
@@ -0,0 +1,53 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+ set -u
5
+
6
+ version="${1}"
7
+ libexec="$(cd "$(dirname "$0")"; pwd)"
8
+ top="${libexec}/.."
9
+ src="${2:-"${top}/src"}"
10
+
11
+ platform=$(uname)
12
+
13
+ NJOBS="${NJOBS:-$(getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null || true)}"
14
+ NJOBS="${NJOBS:-1}"
15
+
16
+ echo "parallel job count: ${NJOBS}"
17
+
18
+ cd "${src}/node-${version}"
19
+
20
+ if command -v python3 >/dev/null 2>&1; then
21
+ PYTHON="${PYTHON:-python3}"
22
+ else
23
+ PYTHON="${PYTHON:-python2}"
24
+ fi
25
+
26
+ case "${platform}" in
27
+ SunOS)
28
+ export CC="${CC:-/opt/local/gcc7/bin/gcc}"
29
+ export CXX="${CXX:-/opt/local/gcc7/bin/g++}"
30
+ ;;
31
+ *)
32
+ if cc --version | grep 4.9 >/dev/null; then
33
+ export CC="${CC:-clang}"
34
+ export CXX="${CXX:-clang++}"
35
+ fi
36
+ ;;
37
+ esac
38
+
39
+ case "$(uname -m)" in
40
+ armv7l)
41
+ enable_pointer_compression=""
42
+ ;;
43
+ *)
44
+ enable_pointer_compression="--experimental-enable-pointer-compression"
45
+ ;;
46
+ esac
47
+
48
+ "${PYTHON}" configure --openssl-no-asm --without-npm --shared --with-intl=small-icu ${enable_pointer_compression}
49
+ make BUILDTYPE=Release config.gypi
50
+ make BUILDTYPE=Release out/Makefile
51
+
52
+ export PATH="${PWD}/out/tools/bin:${PATH}"
53
+ make -j"${NJOBS}" -C out BUILDTYPE=Release V=0 libv8_monolith
@@ -0,0 +1,46 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+ set -u
5
+
6
+ version="${1}"
7
+ libexec="$(cd "$(dirname "$0")"; pwd)"
8
+ top="${libexec}/.."
9
+ src="${2:-"${top}/src"}"
10
+
11
+ cd "${src}/node-${version}"
12
+
13
+ BASEDIR="${PWD}"
14
+ BUILDTYPE="${BUILDTYPE:-Release}"
15
+ LIBV8_MONOLITH="libv8_monolith.a"
16
+
17
+ cd "out/${BUILDTYPE}/obj.target"
18
+
19
+ platform=$(uname)
20
+
21
+ rm -f "${LIBV8_MONOLITH}"
22
+ case "${platform}" in
23
+ "SunOS")
24
+ /usr/xpg4/bin/find . -path "./torque_*/**/*.o" -or -path "./v8*/**/*.o" -or -path "./icu*/**/*.o" | sort | uniq | while read -r obj; do
25
+ ar cqS "${LIBV8_MONOLITH}" "${obj}"
26
+ done
27
+ ranlib "${LIBV8_MONOLITH}"
28
+ ;;
29
+ "Darwin")
30
+ /usr/bin/find . -path "./torque_*/**/*.o" -or -path "./v8*/**/*.o" -or -path "./icu*/**/*.o" | sort | uniq | while read -r obj; do
31
+ /usr/bin/ar -cqS "${LIBV8_MONOLITH}" "${obj}"
32
+ done
33
+ /usr/bin/ranlib "${LIBV8_MONOLITH}"
34
+ ;;
35
+ "Linux")
36
+ find . -path "./torque_*/**/*.o" -or -path "./v8*/**/*.o" -or -path "./icu*/**/*.o" | sort | uniq | while read -r obj; do
37
+ ar -cq "${LIBV8_MONOLITH}" "${obj}"
38
+ done
39
+ ;;
40
+ *)
41
+ echo "Unsupported platform: ${platform}"
42
+ exit 1
43
+ ;;
44
+ esac
45
+
46
+ mv -f "${LIBV8_MONOLITH}" "${BASEDIR}/out/${BUILDTYPE}/${LIBV8_MONOLITH}"
@@ -0,0 +1,46 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+ set -u
5
+
6
+ version="${1}"
7
+ libexec="$(cd "$(dirname "$0")"; pwd)"
8
+ top="${libexec}/.."
9
+ src="${2:-"${top}/src"}"
10
+
11
+ sha256sum='e0410328602384357cb33e3fa3bbad8de59449cba12a7d9386fd630fe2d0a74c'
12
+ check_sum() {
13
+ filename="${1}"
14
+ expected="${2}"
15
+ if command -v shasum >/dev/null; then
16
+ echo "${expected} ${filename}" | shasum -c
17
+ elif command -v gsha256sum >/dev/null; then
18
+ echo "${expected} ${filename}" | gsha256sum -c
19
+ else
20
+ echo "${expected} ${filename}" | sha256sum -c
21
+ fi
22
+ }
23
+
24
+ if [ -f "${src}/node-${version}.tar.gz" ]; then
25
+ if check_sum "${src}/node-${version}.tar.gz" "${sha256sum}"; then
26
+ exit 0
27
+ fi
28
+ fi
29
+
30
+ platform=$(uname)
31
+
32
+ case "${platform}" in
33
+ SunOS)
34
+ CURLOPTS="${CURLOPTS:--k}"
35
+ ;;
36
+ *)
37
+ CURLOPTS="${CURLOPTS:-}"
38
+ ;;
39
+ esac
40
+
41
+ mkdir -p "${src}"
42
+
43
+ # shellcheck disable=SC2086
44
+ curl ${CURLOPTS} -L -o "${src}/node-${version}.tar.gz" "https://github.com/nodejs/node/archive/v${version}.tar.gz"
45
+
46
+ check_sum "${src}/node-${version}.tar.gz" "${sha256sum}" && exit 0
@@ -0,0 +1,39 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+ set -u
5
+
6
+ version="${1}"
7
+ libexec="$(cd "$(dirname "$0")"; pwd)"
8
+ top="${libexec}/.."
9
+ src="${2:-"${top}/src"}"
10
+
11
+ platform=$(uname)
12
+
13
+ case "${platform}" in
14
+ SunOS)
15
+ TAR="${TAR:-gtar}"
16
+ ;;
17
+ *)
18
+ TAR="${TAR:-tar}"
19
+ ;;
20
+ esac
21
+
22
+ "${TAR}" -C "${src}" -xz -f "${src}/node-${version}.tar.gz"
23
+
24
+ cd "${src}/node-${version}"
25
+
26
+ patch -p1 < "${top}"/patch/gyp-libv8_monolith.patch
27
+ patch -p1 < "${top}"/patch/py2-icutrim.patch
28
+ patch -p1 < "${top}"/patch/py2-genv8constants.patch
29
+
30
+ # TODO: the following still fails on py3 so the above one forcing py2 is needed
31
+ # patch -p1 < ../../py3-genv8constants.patch
32
+ #
33
+ # This is the error:
34
+ #
35
+ # Traceback (most recent call last):
36
+ # File "tools/genv8constants.py", line 99, in <module>
37
+ # curr_val += int('0x%s' % octetstr, 16) << (curr_octet * 8)
38
+ # ValueError: invalid literal for int() with base 16: "0xb'04 '"
39
+ # node_dtrace_ustack.target.mk:13: recipe for target '/usbkey/user_home/vagrant/ruby-libv8-node/src/node-14.14.0/out/Release/obj/gen/v8constants.h' failed
@@ -0,0 +1,48 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+ set -u
5
+
6
+ version="${1}"
7
+ libexec="$(cd "$(dirname "$0")"; pwd)"
8
+ top="${libexec}/.."
9
+ src="${2:-"${top}/src"}"
10
+
11
+ cd "${src}/node-${version}"
12
+
13
+ BASEDIR="${PWD}"
14
+ BUILDTYPE="${BUILDTYPE:-Release}"
15
+
16
+ platform=$(uname)
17
+
18
+ case "${platform}" in
19
+ SunOS)
20
+ STRIP="${STRIP:-gstrip}"
21
+ ;;
22
+ *)
23
+ STRIP="${STRIP:-strip}"
24
+ ;;
25
+ esac
26
+
27
+ cd "${BASEDIR}/deps/v8/include"
28
+
29
+ rm -rf "${top}/vendor/v8/include"
30
+ find . -name '*.h' | while read -r header; do
31
+ dir="${top}/vendor/v8/include/$(dirname "${header}")"
32
+ mkdir -p "${dir}"
33
+ cp "${header}" "${dir}"
34
+ done
35
+
36
+ cd "${BASEDIR}/out/${BUILDTYPE}"
37
+
38
+ rm -rf "${top}/vendor/v8/out.gn"
39
+ # shellcheck disable=SC2043
40
+ for lib in libv8_monolith.a; do
41
+ dir="${top}/vendor/v8/out.gn/libv8/obj/$(dirname "${lib}")"
42
+ mkdir -p "${dir}"
43
+ rm -f "${dir}/${lib}"
44
+
45
+ "${STRIP}" -S -x -o "${dir}/${lib}" "${lib}"
46
+ done
47
+
48
+ echo '--- !ruby/object:Libv8::Node::Location::Vendor {}' > "${top}/ext/libv8-node/.location.yml"
@@ -0,0 +1,44 @@
1
+ --- a/node.gyp 2020-11-04 15:55:48.000000000 +0100
2
+ +++ b/node.gyp 2020-11-04 15:55:51.000000000 +0100
3
+ @@ -1467,6 +1467,16 @@
4
+ }],
5
+ ],
6
+ }, # node_mksnapshot
7
+ + {
8
+ + 'target_name': 'libv8_monolith',
9
+ + 'type': 'none',
10
+ + 'includes': [
11
+ + 'node.gypi'
12
+ + ],
13
+ + #'dependencies': [
14
+ + # 'tools/v8_gypfiles/v8.gyp:v8_monolith',
15
+ + #],
16
+ + },
17
+ ], # end targets
18
+
19
+ 'conditions': [
20
+ --- a/tools/v8_gypfiles/v8.gyp 2020-11-04 16:34:06.000000000 +0100
21
+ +++ b/tools/v8_gypfiles/v8.gyp 2020-11-04 16:34:10.000000000 +0100
22
+ @@ -1726,5 +1726,21 @@
23
+ '<(V8_ROOT)/third_party/zlib/google/compression_utils_portable.h',
24
+ ],
25
+ }, # v8_zlib
26
+ + {
27
+ + 'target_name': 'v8_monolith',
28
+ + 'type': 'static_library',
29
+ + 'sources': [
30
+ + '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "\\"v8.*?sources = ")',
31
+ + '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "\\"v8_libbase.*?sources = ")',
32
+ + '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "\\"v8_libplatform.*?sources = ")',
33
+ + '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "\\"v8_libsampler.*?sources = ")',
34
+ + ],
35
+ + 'dependencies': [
36
+ + 'v8',
37
+ + 'v8_libbase',
38
+ + 'v8_libplatform',
39
+ + 'v8_libsampler',
40
+ + ],
41
+ + }
42
+ ],
43
+ }
44
+
@@ -0,0 +1,10 @@
1
+ --- a/tools/genv8constants.py 2020-11-04 09:49:14.000000000 +0100
2
+ +++ b/tools/genv8constants.py 2020-11-04 12:40:46.000000000 +0100
3
+ @@ -1,4 +1,4 @@
4
+ -#!/usr/bin/env python
5
+ +#!/usr/bin/env python2
6
+
7
+ #
8
+ # genv8constants.py output_file libv8_base.a
9
+
10
+
@@ -0,0 +1,14 @@
1
+ --- a/tools/icu/icutrim.py 2020-11-03 16:54:23.000000000 +0100
2
+ +++ b/tools/icu/icutrim.py 2020-11-03 16:54:27.000000000 +0100
3
+ @@ -316,7 +316,10 @@
4
+ erritems = fi.readlines()
5
+ fi.close()
6
+ #Item zone/zh_Hant_TW.res depends on missing item zone/zh_Hant.res
7
+ - pat = re.compile(bytes(r"^Item ([^ ]+) depends on missing item ([^ ]+).*", 'utf-8'))
8
+ + if str == bytes:
9
+ + pat = re.compile(bytes(r"^Item ([^ ]+) depends on missing item ([^ ]+).*"))
10
+ + else:
11
+ + pat = re.compile(bytes(r"^Item ([^ ]+) depends on missing item ([^ ]+).*", 'utf-8'))
12
+ for i in range(len(erritems)):
13
+ line = erritems[i].strip()
14
+ m = pat.match(line)
@@ -0,0 +1,20 @@
1
+ --- a/tools/genv8constants.py 2020-11-04 09:49:14.000000000 +0100
2
+ +++ b/tools/genv8constants.py 2020-11-04 09:49:25.000000000 +0100
3
+ @@ -33,9 +33,14 @@
4
+
5
+ sys.exit()
6
+
7
+ -pattern = re.compile(bytes('([0-9a-fA-F]{8}|[0-9a-fA-F]{16}) <(.*)>:'))
8
+ -v8dbg = re.compile(bytes('^v8dbg.*$'))
9
+ -numpattern = re.compile(bytes('^[0-9a-fA-F]{2} $'))
10
+ +if str == bytes:
11
+ + pattern = re.compile(bytes('([0-9a-fA-F]{8}|[0-9a-fA-F]{16}) <(.*)>:'))
12
+ + v8dbg = re.compile(bytes('^v8dbg.*$'))
13
+ + numpattern = re.compile(bytes('^[0-9a-fA-F]{2} $'))
14
+ +else:
15
+ + pattern = re.compile(bytes('([0-9a-fA-F]{8}|[0-9a-fA-F]{16}) <(.*)>:', 'utf-8'))
16
+ + v8dbg = re.compile(bytes('^v8dbg.*$', 'utf-8'))
17
+ + numpattern = re.compile(bytes('^[0-9a-fA-F]{2} $', 'utf-8'))
18
+ octets = 4
19
+
20
+ outfile.write("""
metadata ADDED
@@ -0,0 +1,92 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: libv8-node
3
+ version: !ruby/object:Gem::Version
4
+ version: 15.5.1.0.beta1
5
+ platform: ruby
6
+ authors:
7
+ - ''
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-02-23 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '12'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '12'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rubocop
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.50.0
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.50.0
41
+ description: Node.JS's V8 JavaScript engine for multiplatform goodness
42
+ email:
43
+ - ''
44
+ executables: []
45
+ extensions:
46
+ - ext/libv8-node/extconf.rb
47
+ extra_rdoc_files: []
48
+ files:
49
+ - CHANGELOG.md
50
+ - LICENSE
51
+ - README.md
52
+ - ext/libv8-node/builder.rb
53
+ - ext/libv8-node/extconf.rb
54
+ - ext/libv8-node/location.rb
55
+ - ext/libv8-node/paths.rb
56
+ - lib/libv8-node.rb
57
+ - lib/libv8/node.rb
58
+ - lib/libv8/node/version.rb
59
+ - libexec/build-libv8
60
+ - libexec/build-monolith
61
+ - libexec/download-node
62
+ - libexec/extract-node
63
+ - libexec/inject-libv8
64
+ - patch/gyp-libv8_monolith.patch
65
+ - patch/py2-genv8constants.patch
66
+ - patch/py2-icutrim.patch
67
+ - patch/py3-genv8constants.patch
68
+ homepage: https://github.com/sqreen/libv8-node
69
+ licenses:
70
+ - MIT
71
+ metadata: {}
72
+ post_install_message:
73
+ rdoc_options: []
74
+ require_paths:
75
+ - lib
76
+ - ext
77
+ required_ruby_version: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ required_rubygems_version: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ">"
85
+ - !ruby/object:Gem::Version
86
+ version: 1.3.1
87
+ requirements: []
88
+ rubygems_version: 3.2.3
89
+ signing_key:
90
+ specification_version: 4
91
+ summary: Node.JS's V8 JavaScript engine
92
+ test_files: []