libv8-node 24.1.0.0 → 24.12.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a2b8e967d1a38a0d8436f0f0d6019d04a37a1ff32089e4f7240dccaa4757124c
4
- data.tar.gz: f9a4f5dac6062d022367f5a66c251d09484e8d6924e3d6b7b50dd60c5ac5e109
3
+ metadata.gz: 1b236529e0b7a1bc84cf99a96962ada218873a6cd24c8093fda5c8c33c9a6f90
4
+ data.tar.gz: e558d5b144f431d251409a73c70e98e32be7c59747f560687f30c6d9129a3d27
5
5
  SHA512:
6
- metadata.gz: 9d62e6a23daf53112c214e2440ff189baeee278b903d1031067bcb2791fa207b7d529075f0fa07a922965d365aeb0b5f64467f94cadc91ea99e0728eccc93eed
7
- data.tar.gz: 840e1fbf57f570b491efab1696d7ecf3ffbf70d28f9364b3f69d559ad6bf59db4be7703d93fe56abb61ed20e2699d97086e0a7b8cca45ff5e2d5d958842ad181
6
+ metadata.gz: f8e856fdf8828f71750f0141409ec8c134b30d1ac5478407aad6048de333e6f84dcf58bc1a47b9a81fb1d4508eb1f2267b87efb14f999ffeb6fc8a916f3f9040
7
+ data.tar.gz: 8365e6536ee648018e00773b8a194c07b0df395056523f60a90de3e949b82e0c6db3deedd147f72ded6bbf9d73e5dae0127eda36cd165ef78cbd43a84f48103b
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  unless $LOAD_PATH.include?(File.expand_path('../../lib', __dir__)) # rubocop:disable Style/IfUnlessModifier
2
4
  $LOAD_PATH.unshift(File.expand_path('../../lib', __dir__))
3
5
  end
@@ -3,7 +3,7 @@
3
3
  require 'mkmf'
4
4
 
5
5
  if RUBY_ENGINE == 'truffleruby'
6
- File.write('Makefile', dummy_makefile($srcdir).join('')) # rubocop:disable Style/GlobalVars
6
+ File.write('Makefile', dummy_makefile($srcdir).join) # rubocop:disable Style/GlobalVars
7
7
  return
8
8
  end
9
9
 
@@ -9,16 +9,14 @@ module Libv8; end
9
9
  module Libv8::Node
10
10
  class Location
11
11
  def install!
12
- File.open(Pathname(__FILE__).dirname.join('.location.yml'), 'w') do |f|
13
- f.write(to_yaml)
14
- end
12
+ File.write(Pathname(__FILE__).dirname.join('.location.yml'), to_yaml)
15
13
 
16
14
  0
17
15
  end
18
16
 
19
17
  def self.load!
20
18
  File.open(Pathname(__FILE__).dirname.join('.location.yml')) do |f|
21
- YAML.respond_to?(:unsafe_load) ? YAML.unsafe_load(f) : YAML.load(f) # rubocop:disable Security/YAMLLoad
19
+ YAML.respond_to?(:unsafe_load) ? YAML.unsafe_load(f) : YAML.load(f)
22
20
  end
23
21
  end
24
22
 
@@ -58,7 +56,7 @@ module Libv8::Node
58
56
 
59
57
  class ArchiveNotFound < StandardError
60
58
  def initialize(filename)
61
- super "libv8 did not install properly, expected binary v8 archive '#{filename}'to exist, but it was not found"
59
+ super("libv8 did not install properly, expected binary v8 archive '#{filename}'to exist, but it was not found")
62
60
  end
63
61
  end
64
62
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rbconfig'
2
4
  require 'shellwords'
3
5
 
@@ -4,7 +4,7 @@ module Libv8
4
4
  end
5
5
 
6
6
  module Libv8::Node
7
- VERSION = '24.1.0.0'
8
- NODE_VERSION = '24.1.0'
9
- LIBV8_VERSION = '13.6.233.10' # from src/node-.../deps/v8/include/v8-version.h
7
+ VERSION = '24.12.0.0'
8
+ NODE_VERSION = '24.12.0'
9
+ LIBV8_VERSION = '13.6.233.17' # from src/node-.../deps/v8/include/v8-version.h
10
10
  end
data/lib/libv8/node.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'libv8/node/version'
2
4
  require 'libv8-node/location'
3
5
 
data/lib/libv8-node.rb CHANGED
@@ -1 +1,3 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'libv8/node'
@@ -0,0 +1,60 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+ set -u
5
+
6
+ BASEDIR="${PWD}"
7
+
8
+ export TARGET_PLATFORM=x86_64-darwin
9
+ export RUBY_TARGET_PLATFORM=x86_64-darwin
10
+
11
+ bundle install
12
+
13
+ # shellcheck disable=SC2034
14
+ RUBY_PLATFORM=$(./libexec/metadata ruby_platform)
15
+ GEM_PLATFORM=$(./libexec/metadata gem_platform)
16
+ GEM_VERSION=$(./libexec/metadata gem_version)
17
+ NODE_VERSION=$(./libexec/metadata node_version)
18
+ LIBV8_VERSION=$(./libexec/metadata libv8_version)
19
+
20
+ ./libexec/download-node "$NODE_VERSION"
21
+ ./libexec/extract-node "$NODE_VERSION"
22
+
23
+ # Validate that we have the correct V8 version.
24
+ libv8_version_h=$(./libexec/metadata libv8_version_h)
25
+ if [ "$libv8_version_h" != "$LIBV8_VERSION" ]; then
26
+ echo "LIBV8 version mismatch: expected $LIBV8_VERSION but found $libv8_version_h"
27
+ exit 1
28
+ fi
29
+
30
+ # Build the package.
31
+ ./libexec/build-libv8 "$NODE_VERSION"
32
+ ./libexec/build-monolith "$NODE_VERSION"
33
+ ./libexec/inject-libv8 "$NODE_VERSION"
34
+
35
+ # Run V8 tests.
36
+ cd test/gtest
37
+ cmake -S . -B build
38
+ cd build
39
+ cmake --build .
40
+ if ! ./c_v8_tests; then
41
+ echo "Tests failed."
42
+ exit 1
43
+ fi
44
+
45
+ # Build the gem.
46
+ cd "${BASEDIR}"
47
+ bundle exec rake binary
48
+
49
+ # Test that the gem can be installed and used.
50
+ gem install pkg/libv8-node-"$GEM_VERSION"-"$GEM_PLATFORM".gem
51
+
52
+ rm -rf test/mini_racer
53
+ git clone https://github.com/rubyjs/mini_racer.git test/mini_racer --depth 1
54
+ cd test/mini_racer
55
+ ruby -i -ne "\$_ =~ /^\s+LIBV8_NODE_VERSION/ ? print(\" LIBV8_NODE_VERSION = \\\"$GEM_VERSION\\\"\\n\") : print" lib/mini_racer/version.rb
56
+ # shellcheck disable=SC2016
57
+ ruby -i -ne '$_ =~ /spec.required_ruby_version/ ? "" : print' mini_racer.gemspec
58
+ bundle install
59
+ bundle exec rake compile
60
+ bundle exec rake test
@@ -6,11 +6,11 @@ index 6e21dac6d7..bcf022fb28 100644
6
6
  }, {
7
7
  'v8_enable_etw_stack_walking': 0,
8
8
  }],
9
- - ['OS=="linux"', {
9
+ - ['OS=="linux" or OS=="openharmony"', {
10
10
  + # Disable madvise(MADV_DONTFORK), it's a great optimization for programs
11
11
  + # that fork & exec but not for programs that fork and keep running.
12
12
  + # It makes mini_racer's test/test_forking.rb test segfault.
13
- + ['False and OS=="linux"', {
13
+ + ['False and (OS=="linux" or OS=="openharmony")', {
14
14
  # Sets -dV8_ENABLE_PRIVATE_MAPPING_FORK_OPTIMIZATION.
15
15
  #
16
- # This flag speeds up the performance of fork/execve on Linux systems for
16
+ # This flag speeds up the performance of fork/execve on Linux systems for
data/sums/v24.12.0.sum ADDED
@@ -0,0 +1 @@
1
+ ad24a1f29e55c9539228f2c51a032da279188b681c4dc019cced7f82a0fcdd8d
metadata CHANGED
@@ -1,15 +1,56 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libv8-node
3
3
  version: !ruby/object:Gem::Version
4
- version: 24.1.0.0
4
+ version: 24.12.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ''
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2025-06-12 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: base64
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '0'
19
+ type: :development
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: '0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: logger
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ - !ruby/object:Gem::Dependency
41
+ name: mutex_m
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
13
54
  - !ruby/object:Gem::Dependency
14
55
  name: rake
15
56
  requirement: !ruby/object:Gem::Requirement
@@ -28,16 +69,16 @@ dependencies:
28
69
  name: rubocop
29
70
  requirement: !ruby/object:Gem::Requirement
30
71
  requirements:
31
- - - "~>"
72
+ - - ">="
32
73
  - !ruby/object:Gem::Version
33
- version: 1.44.0
74
+ version: 1.8.0
34
75
  type: :development
35
76
  prerelease: false
36
77
  version_requirements: !ruby/object:Gem::Requirement
37
78
  requirements:
38
- - - "~>"
79
+ - - ">="
39
80
  - !ruby/object:Gem::Version
40
- version: 1.44.0
81
+ version: 1.8.0
41
82
  description: Node.JS's V8 JavaScript engine for multiplatform goodness
42
83
  email:
43
84
  - ''
@@ -57,6 +98,7 @@ files:
57
98
  - lib/libv8/node.rb
58
99
  - lib/libv8/node/version.rb
59
100
  - libexec/build-libv8
101
+ - libexec/build-macos-x86_64
60
102
  - libexec/build-monolith
61
103
  - libexec/download-node
62
104
  - libexec/extract-node
@@ -92,11 +134,12 @@ files:
92
134
  - sums/v23.6.1.sum
93
135
  - sums/v23.8.0.sum
94
136
  - sums/v24.1.0.sum
137
+ - sums/v24.12.0.sum
95
138
  homepage: https://github.com/rubyjs/libv8-node
96
139
  licenses:
97
140
  - MIT
98
- metadata: {}
99
- post_install_message:
141
+ metadata:
142
+ rubygems_mfa_required: 'true'
100
143
  rdoc_options: []
101
144
  require_paths:
102
145
  - lib
@@ -112,8 +155,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
155
  - !ruby/object:Gem::Version
113
156
  version: '0'
114
157
  requirements: []
115
- rubygems_version: 3.3.26
116
- signing_key:
158
+ rubygems_version: 4.0.3
117
159
  specification_version: 4
118
160
  summary: Node.JS's V8 JavaScript engine
119
161
  test_files: []