libv8-node 16.10.0.0 → 23.6.1.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: ba145591a1a337f0e998b92bf0b623e103e53b1b68e367c920eccd87d317144d
4
- data.tar.gz: 9bfd12ef63fe1c54ee66004b0f36ab239f6ff34feb24bc88704abdbcc6d6f750
3
+ metadata.gz: 38468603a3a54757810d8053aa25d2467736691a7def9a983d279100e678c071
4
+ data.tar.gz: 4d1dad42c57ec900d65944a923fca313ca6f032992a86d7a2b4e07210d690f9c
5
5
  SHA512:
6
- metadata.gz: 6674253a43f01a089b224a07c0c0d93db9c38b8e443cbef5c6020cd694b49618b7b2c408cb13d4c5000cb276539b517ab9082e0ad335c96a8f246e152b516d8c
7
- data.tar.gz: 31db2d25ea502073ed5e36987320b50a7e22ce86f22e523bb8b6f5fcdae57d0378342348067ce815897b6731dc5f01fb917f2ed8224330981911ce88c8593457
6
+ metadata.gz: eb945de4fde1b0ddbe3ac3bfe982859eae46882ec00c253c41ef9c353b150e42ce3551d40707993d93025ce0d5b945533214a7a5ece820c9f8f652403e0c1a82
7
+ data.tar.gz: 632d3d6e061ae78d10dafa995ff0f149a8bee3e720c53949d565f1cd80a430666bf8f601935276a9e4cfdffb4de511f5e22d50dadce087eed035beff8575592a
@@ -1,4 +1,4 @@
1
- unless $LOAD_PATH.include?(File.expand_path('../../lib', __dir__))
1
+ unless $LOAD_PATH.include?(File.expand_path('../../lib', __dir__)) # rubocop:disable Style/IfUnlessModifier
2
2
  $LOAD_PATH.unshift(File.expand_path('../../lib', __dir__))
3
3
  end
4
4
  require 'libv8/node/version'
@@ -1,6 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'mkmf'
4
+
5
+ if RUBY_ENGINE == 'truffleruby'
6
+ File.write('Makefile', dummy_makefile($srcdir).join('')) # rubocop:disable Style/GlobalVars
7
+ return
8
+ end
9
+
4
10
  create_makefile('libv8-node')
5
11
 
6
12
  require File.expand_path('location', __dir__)
@@ -45,7 +45,7 @@ module Libv8::Node
45
45
  def verify_installation!
46
46
  include_paths = Libv8::Node::Paths.include_paths
47
47
 
48
- unless include_paths.detect { |p| Pathname(p).join('v8.h').exist? }
48
+ unless include_paths.detect { |p| Pathname(p).join('v8.h').exist? } # rubocop:disable Style/IfUnlessModifier
49
49
  raise(HeaderNotFound, "Unable to locate 'v8.h' in the libv8 header paths: #{include_paths.inspect}")
50
50
  end
51
51
 
@@ -13,12 +13,16 @@ module Libv8::Node
13
13
 
14
14
  def object_paths
15
15
  [Shellwords.escape(File.join(vendored_source_path,
16
- Gem::Platform.local.to_s,
16
+ platform,
17
17
  'libv8',
18
18
  'obj',
19
19
  "libv8_monolith.#{config['LIBEXT']}"))]
20
20
  end
21
21
 
22
+ def platform
23
+ Gem::Platform.local.tap { |p| RUBY_PLATFORM =~ /musl/ && p.version.nil? && p.instance_eval { @version = 'musl' } }.to_s.gsub(/-darwin-?\d+/, '-darwin')
24
+ end
25
+
22
26
  def config
23
27
  RbConfig::MAKEFILE_CONFIG
24
28
  end
@@ -1,7 +1,10 @@
1
- module Libv8; end
1
+ # frozen_string_literal: true
2
+
3
+ module Libv8
4
+ end
2
5
 
3
6
  module Libv8::Node
4
- VERSION = '16.10.0.0'.freeze
5
- NODE_VERSION = '16.10.0'.freeze
6
- LIBV8_VERSION = '9.3.345.19'.freeze # from v8/include/v8-version.h
7
+ VERSION = '23.6.1.0'
8
+ NODE_VERSION = '23.6.1'
9
+ LIBV8_VERSION = '12.9.202.28' # from src/node-.../deps/v8/include/v8-version.h
7
10
  end
data/libexec/build-libv8 CHANGED
@@ -17,26 +17,30 @@ BUILDTYPE="${BUILDTYPE:-Release}"
17
17
 
18
18
  cd "${src}/node-v${version}"
19
19
 
20
- if command -v python3 >/dev/null 2>&1; then
21
- PYTHON="${PYTHON:-python3}"
22
- else
23
- PYTHON="${PYTHON:-python2}"
24
- fi
25
-
20
+ # Maglev is disabled because of a suspected x64 snapshot regression in
21
+ # DoComputeOutputFrames
26
22
  configure_flags='--openssl-no-asm --without-npm --shared --with-intl=full-icu'
27
23
  eval "$("${libexec}/platform")"
28
24
 
29
25
  echo "configure: ${configure_flags}"
30
26
  echo "compilers: CC='${CC}' CXX='${CXX}' CC_host='${CC_host:-}' CXX_host='${CXX_host:-}'"
31
27
 
32
- "${CC}" -v
33
- "${CXX}" -v
28
+ ${CC} -v
29
+ ${CXX} -v
34
30
 
35
31
  # shellcheck disable=SC2086
36
- "${PYTHON}" configure ${configure_flags}
32
+ ./configure ${configure_flags}
37
33
 
38
34
  make BUILDTYPE="${BUILDTYPE}" config.gypi
39
35
  make BUILDTYPE="${BUILDTYPE}" "out/Makefile"
40
36
 
37
+ # workaround for node specifying `-msign-return-address=all` in ALL `CFLAGS` for aarch64 builds
38
+ # (if the host isn't also aarch64, this flag causes a compiler error)
39
+
40
+ # shellcheck disable=SC2154 # these variables are defined by `eval`ing the output of the platform script above
41
+ if [ "$host_platform" != "$target_platform" ] && [ "${target_platform%%-*}" = "aarch64" ]; then
42
+ find . -iname "*.host.mk" -exec sed -i '/-msign-return-address/d' {} ';'
43
+ fi
44
+
41
45
  export PATH="${PWD}/out/tools/bin:${PATH}"
42
- make -j"${NJOBS}" -C out BUILDTYPE="${BUILDTYPE}" V=0
46
+ make -j"${NJOBS}" -C out BUILDTYPE="${BUILDTYPE}" V=0 CC=clang CC.host=clang CXX=clang++ CXX.host=clang++
@@ -21,21 +21,14 @@ platform=$(uname)
21
21
  rm -f "${LIBV8_MONOLITH}"
22
22
  case "${platform}" in
23
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}"
24
+ /usr/xpg4/bin/find . '(' '!' -path './icutools/deps/icu-small/source/stubdata/stubdata.o' ')' -path "./torque_*/**/*.o" -or -path "./v8*/**/*.o" -or -path "./icu*/**/*.o" | sort | uniq | xargs ar cq "${LIBV8_MONOLITH}"
28
25
  ;;
29
26
  "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}"
27
+ /usr/bin/find . '(' '!' -path './icutools/deps/icu-small/source/stubdata/stubdata.o' ')' -path "./torque_*/**/*.o" -or -path "./v8*/**/*.o" -or -path "./icu*/**/*.o" | sort | uniq | xargs /usr/bin/ar -cq "${LIBV8_MONOLITH}"
34
28
  ;;
35
29
  "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
30
+ find . '(' '!' -path './icutools/deps/icu-small/source/stubdata/stubdata.o' ')' -and '(' -path "./torque_*/**/*.o" -or -path "./v8*/**/*.o" -or -path "./icu*/**/*.o" ')' | sort | uniq | xargs ar -cqSP "${LIBV8_MONOLITH}"
31
+ ar -sP "${LIBV8_MONOLITH}"
39
32
  ;;
40
33
  *)
41
34
  echo "Unsupported platform: ${platform}"
data/libexec/extract-node CHANGED
@@ -29,17 +29,6 @@ extract "${src}" "${src}/node-v${version}.tar.gz"
29
29
 
30
30
  cd "${src}/node-v${version}"
31
31
 
32
- #patch -p1 < "${top}"/patch/gyp-libv8_monolith.patch
33
- patch -p1 < "${top}"/patch/py2-icutrim.patch
34
- patch -p1 < "${top}"/patch/py2-genv8constants.patch
35
-
36
- # TODO: the following still fails on py3 so the above one forcing py2 is needed
37
- # patch -p1 < ../../py3-genv8constants.patch
38
- #
39
- # This is the error:
40
- #
41
- # Traceback (most recent call last):
42
- # File "tools/genv8constants.py", line 99, in <module>
43
- # curr_val += int('0x%s' % octetstr, 16) << (curr_octet * 8)
44
- # ValueError: invalid literal for int() with base 16: "0xb'04 '"
45
- # 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
32
+ patch -p1 < "${top}"/patch/v8-std-is-trivially-destructible.patch
33
+ patch -p1 < "${top}"/patch/v8-disable-madv-dontfork.patch
34
+ patch -p1 < "${top}"/patch/v8-disable-pkey.patch
data/libexec/inject-libv8 CHANGED
@@ -26,6 +26,12 @@ done
26
26
 
27
27
  cd "${BASEDIR}/out/${BUILDTYPE}"
28
28
 
29
+ case "${RUBY_TARGET_PLATFORM}" in
30
+ *-darwin*)
31
+ RUBY_TARGET_PLATFORM="$(echo "${RUBY_TARGET_PLATFORM}" | sed -e 's/-darwin[0-9]*/-darwin/')"
32
+ ;;
33
+ esac
34
+
29
35
  rm -rf "${top}/vendor/v8/${RUBY_TARGET_PLATFORM}"
30
36
  # shellcheck disable=SC2043
31
37
  for lib in libv8_monolith.a; do
@@ -33,8 +39,37 @@ for lib in libv8_monolith.a; do
33
39
  mkdir -p "${dir}"
34
40
  rm -f "${dir}/${lib}"
35
41
 
36
- echo "${BASEDIR}/out/${BUILDTYPE}/${lib} -> ${dir}/${lib}"
37
- "${STRIP}" -S -x -o "${dir}/${lib}" "${lib}"
42
+ if [ "$STRIP_NEEDS_EXTRACT" = "y" ]; then
43
+ # manual extract/strip objects/build archive sequence
44
+ # because `strip` can't deal with these
45
+ # (presumably due to that folder issue mentioned below)
46
+ (
47
+ tmpdir="$(mktemp -d)"
48
+ trap 'rm -r "$tmpdir"' EXIT
49
+ mkdir "$tmpdir/stage"
50
+ cd "$tmpdir/stage"
51
+
52
+ # create folders named in `ar` archive (`ar -x` fails to create these)
53
+ "$AR" "$ARLISTFLAGS" "$BASEDIR/out/$BUILDTYPE/$lib" | while read -r path; do
54
+ dirname "$path"
55
+ done | uniq | xargs mkdir -p
56
+ "$AR" "$AREXTRACTFLAGS" "$BASEDIR/out/${BUILDTYPE}/$lib"
57
+
58
+ # strip all objects
59
+ if [ "$BUILDTYPE" = "Release" ]; then
60
+ "$FIND" -type f -exec "$STRIP" -Sx {} +
61
+ fi
62
+
63
+ # rebuild the archive
64
+ "$FIND" -type f -exec "$AR" "$ARCOLLECTFLAGS" "../$lib" {} +
65
+ $ARBUILDSYMBOLS "../$lib"
66
+ mv "../$lib" "$dir/$lib"
67
+ )
68
+ echo "${BASEDIR}/out/${BUILDTYPE}/${lib} -> ${dir}/${lib}"
69
+ else
70
+ echo "${BASEDIR}/out/${BUILDTYPE}/${lib} -> ${dir}/${lib}"
71
+ "${STRIP}" -S -x -o "${dir}/${lib}" "${lib}"
72
+ fi
38
73
  done
39
74
 
40
75
  mkdir -p "${top}/ext/libv8-node"
data/libexec/metadata CHANGED
@@ -5,7 +5,7 @@ case "$1" in
5
5
  ruby -e 'puts RUBY_PLATFORM'
6
6
  ;;
7
7
  gem_platform)
8
- ruby -e 'puts Gem::Platform.local.tap { |p| RUBY_PLATFORM =~ /musl/ && p.version.nil? and p.instance_eval { @version = "musl" } }'
8
+ ruby -e 'puts Gem::Platform.local.tap { |p| RUBY_PLATFORM =~ /musl/ && p.version.nil? and p.instance_eval { @version = "musl" } }.to_s.gsub(/-darwin-?\d+/, "-darwin")'
9
9
  ;;
10
10
  gem_version|version)
11
11
  ruby -I'lib' -r'libv8/node/version' -e 'puts Libv8::Node::VERSION'
data/libexec/platform CHANGED
@@ -15,8 +15,16 @@ elif command -v cc >/dev/null 2>&1; then
15
15
  fi
16
16
 
17
17
  STRIP="${STRIP:-strip}"
18
+ AR="${AR:-ar}"
19
+ AREXTRACTFLAGS="${AREXTRACTFLAGS:--x}"
20
+ ARLISTFLAGS="${ARLISTFLAGS:--t}"
21
+ ARCOLLECTFLAGS="${ARCOLLECTFLAGS:-cqS}"
22
+ # this is the command to build the symbol table in an ar archive.
23
+ ARBUILDSYMBOLS="${ARBUILDSYMBOLS:-ranlib}"
24
+ FIND="${FIND:-find}"
25
+ STRIP_NEEDS_EXTRACT="${STRIP_NEEDS_EXTRACT:-n}"
18
26
 
19
- triple=$("${CC}" -dumpmachine)
27
+ triple=$(${CC} -dumpmachine)
20
28
  host_platform="${triple}"
21
29
  target_platform="${TARGET_PLATFORM:-${1:-}}"
22
30
  target_platform="${target_platform:-${host_platform}}"
@@ -42,14 +50,17 @@ case "${target_platform}" in
42
50
  ;;
43
51
  x86_64*-darwin*)
44
52
  # not for cross compilation
45
- RUBY_TARGET_PLATFORM="$(ruby -e 'puts Gem::Platform.local.to_s')"
53
+ RUBY_TARGET_PLATFORM='x86_64-darwin'
46
54
  ;;
47
55
  arm64*-darwin*)
48
56
  # not for cross compilation
49
- RUBY_TARGET_PLATFORM="$(ruby -e 'puts Gem::Platform.local.to_s')"
57
+ RUBY_TARGET_PLATFORM='arm64-darwin'
50
58
  ;;
51
59
  *)
52
- # not for cross compilation
60
+ if [ "${host_platform}" != "${target_platform}" ]; then
61
+ echo 'cross compilation not supported'
62
+ exit 1
63
+ fi
53
64
  RUBY_TARGET_PLATFORM="$(ruby -e 'puts Gem::Platform.local.to_s')"
54
65
  ;;
55
66
  esac
@@ -60,6 +71,11 @@ case "${host_platform}" in
60
71
  CXX="${CXX:-/opt/local/gcc7/bin/g++}"
61
72
  STRIP="gstrip"
62
73
  ;;
74
+ *linux*)
75
+ STRIP_NEEDS_EXTRACT="y"
76
+ ARCOLLECTFLAGS="-cqSP"
77
+ ARBUILDSYMBOLS="${AR} -sP"
78
+ ;;
63
79
  esac
64
80
 
65
81
  if [ "${host_platform}" != "${target_platform}" ]; then
@@ -81,6 +97,30 @@ if [ "${host_platform}" != "${target_platform}" ]; then
81
97
  STRIP='arm-linux-gnueabihf-strip'
82
98
  configure_flags='--dest-cpu=arm --cross-compiling --dest-os=linux --with-arm-float-abi=hard --with-arm-fpu=neon'
83
99
  ;;
100
+ x86_64-*linux*)
101
+ CC='clang -arch x86_64'
102
+ CXX='clang++ -arch x86_64'
103
+ CC_host='clang'
104
+ CXX_host='clang++'
105
+ STRIP='x86_64-linux-gnu-strip'
106
+ configure_flags='--dest-cpu=x86_64 --cross-compiling --dest-os=linux'
107
+ ;;
108
+ x86_64*-darwin*)
109
+ CC='clang -arch x86_64'
110
+ CXX='clang++ -arch x86_64'
111
+ CC_host='clang'
112
+ CXX_host='clang++'
113
+ STRIP='strip'
114
+ configure_flags='--dest-cpu=x86_64 --cross-compiling --dest-os=mac'
115
+ ;;
116
+ arm64*-darwin*)
117
+ CC='clang -arch arm64'
118
+ CXX='clang++ -arch arm64'
119
+ CC_host='clang'
120
+ CXX_host='clang++'
121
+ STRIP='strip'
122
+ configure_flags='--dest-cpu=arm64 --cross-compiling --dest-os=mac'
123
+ ;;
84
124
  *)
85
125
  configure_flags=''
86
126
  ;;
@@ -102,11 +142,31 @@ fi
102
142
  # ;;
103
143
  # esac
104
144
 
145
+ if command -v ccache >/dev/null 2>&1; then
146
+ if [ -n "${CC:-}" ] && [ "${CC}" = "${CC#ccache}" ]; then
147
+ CC="ccache ${CC}"
148
+ CXX="ccache ${CXX}"
149
+ fi
150
+
151
+ if [ -n "${CC_host:-}" ] && [ "${CC_host}" = "${CC_host#ccache}" ]; then
152
+ CC_host="ccache ${CC_host}"
153
+ CXX_host="ccache ${CXX_host}"
154
+ fi
155
+ fi
156
+
105
157
  cat <<EOF
106
158
  export CC='${CC}'
107
159
  export CXX='${CXX}'
108
160
  host_platform='${host_platform}'
109
161
  target_platform='${target_platform}'
162
+ STRIP='$STRIP'
163
+ AR='$AR'
164
+ AREXTRACTFLAGS='$AREXTRACTFLAGS'
165
+ ARLISTFLAGS='$ARLISTFLAGS'
166
+ ARCOLLECTFLAGS='$ARCOLLECTFLAGS'
167
+ ARBUILDSYMBOLS='$ARBUILDSYMBOLS'
168
+ FIND='$FIND'
169
+ STRIP_NEEDS_EXTRACT='$STRIP_NEEDS_EXTRACT'
110
170
  EOF
111
171
 
112
172
  if [ -n "${CC_host:-}" ]; then cat <<EOF; fi
@@ -0,0 +1,16 @@
1
+ diff --git a/tools/v8_gypfiles/features.gypi b/tools/v8_gypfiles/features.gypi
2
+ index 6e21dac6d7..bcf022fb28 100644
3
+ --- a/tools/v8_gypfiles/features.gypi
4
+ +++ b/tools/v8_gypfiles/features.gypi
5
+ @@ -73,7 +73,10 @@
6
+ }, {
7
+ 'v8_enable_etw_stack_walking': 0,
8
+ }],
9
+ - ['OS=="linux"', {
10
+ + # Disable madvise(MADV_DONTFORK), it's a great optimization for programs
11
+ + # that fork & exec but not for programs that fork and keep running.
12
+ + # It makes mini_racer's test/test_forking.rb test segfault.
13
+ + ['False and OS=="linux"', {
14
+ # Sets -dV8_ENABLE_PRIVATE_MAPPING_FORK_OPTIMIZATION.
15
+ #
16
+ # This flag speeds up the performance of fork/execve on Linux systems for
@@ -0,0 +1,17 @@
1
+ diff --git a/deps/v8/src/base/build_config.h b/deps/v8/src/base/build_config.h
2
+ index 9ed4c8f102..dfca698506 100644
3
+ --- a/deps/v8/src/base/build_config.h
4
+ +++ b/deps/v8/src/base/build_config.h
5
+ @@ -35,11 +35,8 @@
6
+ #define V8_HAS_PTHREAD_JIT_WRITE_PROTECT 0
7
+ #endif
8
+
9
+ -#if defined(V8_OS_LINUX) && defined(V8_HOST_ARCH_X64)
10
+ -#define V8_HAS_PKU_JIT_WRITE_PROTECT 1
11
+ -#else
12
+ +// disabled, see https://issues.chromium.org/issues/360909072
13
+ #define V8_HAS_PKU_JIT_WRITE_PROTECT 0
14
+ -#endif
15
+
16
+ #if defined(V8_TARGET_ARCH_IA32) || defined(V8_TARGET_ARCH_X64)
17
+ #define V8_TARGET_ARCH_STORES_RETURN_ADDRESS_ON_STACK true
@@ -0,0 +1,22 @@
1
+ diff --git a/deps/v8/src/base/macros.h b/deps/v8/src/base/macros.h
2
+ index d404b6120a..053ac0e5ba 100644
3
+ --- a/deps/v8/src/base/macros.h
4
+ +++ b/deps/v8/src/base/macros.h
5
+ @@ -173,7 +173,7 @@ namespace base {
6
+ // base::is_trivially_copyable will differ for these cases.
7
+ template <typename T>
8
+ struct is_trivially_copyable {
9
+ -#if V8_CC_MSVC || (__GNUC__ == 12 && __GNUC_MINOR__ <= 2)
10
+ +#if V8_CC_MSVC || (__GNUC__ == 12 && __GNUC_MINOR__ <= 2) || defined(__clang__)
11
+ // Unfortunately, MSVC 2015 is broken in that std::is_trivially_copyable can
12
+ // be false even though it should be true according to the standard.
13
+ // (status at 2018-02-26, observed on the msvc waterfall bot).
14
+ @@ -186,6 +186,8 @@ struct is_trivially_copyable {
15
+ // distributions, so the same polyfill is also used.
16
+ // See
17
+ // https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=aeba3e009b0abfccaf01797556445dbf891cc8dc
18
+ + //
19
+ + // The same is observed with at least clang 14 and 15.
20
+ static constexpr bool value =
21
+ // Copy constructor is trivial or deleted.
22
+ (std::is_trivially_copy_constructible<T>::value ||
data/sums/v17.3.1.sum ADDED
@@ -0,0 +1 @@
1
+ 34ed7eeb1fd088c59e2719c229dc9587c9f106b45329798ca3945c386ac824ed
data/sums/v17.9.1.sum ADDED
@@ -0,0 +1 @@
1
+ 1102f5e0aafaab8014d19c6c57142caf2ba3ef69d88d7a7f0f82798051796027
data/sums/v18.13.0.sum ADDED
@@ -0,0 +1,2 @@
1
+ 61ae68446438c2479e466d551b6e8c898097d56722957b1a8466ec8476a590d2
2
+
data/sums/v18.8.0.sum ADDED
@@ -0,0 +1 @@
1
+ 676a3ca9bdbe7381e49652f2f78705f83175f3844a7450893d562faa35537ba2
data/sums/v19.9.0.sum ADDED
@@ -0,0 +1 @@
1
+ c9293eb40dff8e5f55ef8da7cf1b9fd71b4a6a513620d02bbd158936e85216f2
data/sums/v20.12.1.sum ADDED
@@ -0,0 +1 @@
1
+ b9bef0314e12773ef004368ee56a2db509a948d4170b9efb07441bac1f1407a0
data/sums/v20.2.0.sum ADDED
@@ -0,0 +1 @@
1
+ cd1b0eb67fffe83112034fbdc64b363287e017f835251702f041982633e4b6aa
data/sums/v21.7.2.sum ADDED
@@ -0,0 +1 @@
1
+ dc1b18771e7ed3da051fc2242806bfde5ae02b63fe7205e80156e92de8f8fa3d
data/sums/v22.13.1.sum ADDED
@@ -0,0 +1 @@
1
+ e7d5b1e84e7f3c3cebda81e2b138469eef41ba4ecf16a87fd15fc3f7afa3f701
data/sums/v22.5.1.sum ADDED
@@ -0,0 +1 @@
1
+ 4a1b383f6036def4bb183f18e71a10b58784db269f9953618418bbaf47692972
data/sums/v22.6.0.sum ADDED
@@ -0,0 +1 @@
1
+ af4a8747651385515163db5da0d2e217da15cf7c832672b234128ed5118f086d
data/sums/v22.7.0.sum ADDED
@@ -0,0 +1 @@
1
+ 7a7c99282d59866d971b2da12c99596cb15782b9c3efe2e2146390c14f4d490e
data/sums/v22.9.0.sum ADDED
@@ -0,0 +1 @@
1
+ 296854aa1dca140b0462c2415637d0419e42af91114538a7e6fdf623971a6833
data/sums/v23.6.1.sum ADDED
@@ -0,0 +1 @@
1
+ 35c0f7957085083071fcf01c7eaea953fba98f17afc4d7c189e3ef56925b453c
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libv8-node
3
3
  version: !ruby/object:Gem::Version
4
- version: 16.10.0.0
4
+ version: 23.6.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ''
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-17 00:00:00.000000000 Z
11
+ date: 2025-02-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.50.0
33
+ version: 1.44.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
- version: 0.50.0
40
+ version: 1.44.0
41
41
  description: Node.JS's V8 JavaScript engine for multiplatform goodness
42
42
  email:
43
43
  - ''
@@ -63,10 +63,9 @@ files:
63
63
  - libexec/inject-libv8
64
64
  - libexec/metadata
65
65
  - libexec/platform
66
- - patch/gyp-libv8_monolith.patch
67
- - patch/py2-genv8constants.patch
68
- - patch/py2-icutrim.patch
69
- - patch/py3-genv8constants.patch
66
+ - patch/v8-disable-madv-dontfork.patch
67
+ - patch/v8-disable-pkey.patch
68
+ - patch/v8-std-is-trivially-destructible.patch
70
69
  - sums/v16.10.0.sum
71
70
  - sums/v16.11.1.sum
72
71
  - sums/v16.3.0.sum
@@ -76,11 +75,25 @@ files:
76
75
  - sums/v16.7.0.sum
77
76
  - sums/v16.8.0.sum
78
77
  - sums/v16.9.1.sum
79
- homepage: https://github.com/sqreen/ruby-libv8-node
78
+ - sums/v17.3.1.sum
79
+ - sums/v17.9.1.sum
80
+ - sums/v18.13.0.sum
81
+ - sums/v18.8.0.sum
82
+ - sums/v19.9.0.sum
83
+ - sums/v20.12.1.sum
84
+ - sums/v20.2.0.sum
85
+ - sums/v21.7.2.sum
86
+ - sums/v22.13.1.sum
87
+ - sums/v22.5.1.sum
88
+ - sums/v22.6.0.sum
89
+ - sums/v22.7.0.sum
90
+ - sums/v22.9.0.sum
91
+ - sums/v23.6.1.sum
92
+ homepage: https://github.com/rubyjs/libv8-node
80
93
  licenses:
81
94
  - MIT
82
95
  metadata: {}
83
- post_install_message:
96
+ post_install_message:
84
97
  rdoc_options: []
85
98
  require_paths:
86
99
  - lib
@@ -96,8 +109,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
96
109
  - !ruby/object:Gem::Version
97
110
  version: '0'
98
111
  requirements: []
99
- rubygems_version: 3.0.3.1
100
- signing_key:
112
+ rubygems_version: 3.3.26
113
+ signing_key:
101
114
  specification_version: 4
102
115
  summary: Node.JS's V8 JavaScript engine
103
116
  test_files: []
@@ -1,44 +0,0 @@
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
-
@@ -1,10 +0,0 @@
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
-
@@ -1,14 +0,0 @@
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)
@@ -1,20 +0,0 @@
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("""