libv8-node 22.7.0.4 → 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: b654ccd6686b278a5017ce5eb20136a1128fe84e3365debbd8c996fb17ae3e2d
4
- data.tar.gz: e702ca7850adbf4edb6f9cfd795394067d962796a9ae8303313ad9445573d2df
3
+ metadata.gz: 38468603a3a54757810d8053aa25d2467736691a7def9a983d279100e678c071
4
+ data.tar.gz: 4d1dad42c57ec900d65944a923fca313ca6f032992a86d7a2b4e07210d690f9c
5
5
  SHA512:
6
- metadata.gz: 18d41e8a22de24f599978f6bfc7160c438c6bf5d828a41e0dd2981baf6780bd4a27f4d70ca6a1e0d3bded734be2a4d33a69c9515be69a0aa90436223cf86cadd
7
- data.tar.gz: 6325c4c49b8aa517442df39514891fa26e96fe56a29bd07226fc77ecd6e13f897e25ede1b23d212554b541b792b4d18b9e67354265fb18f98504715de29b51a1
6
+ metadata.gz: eb945de4fde1b0ddbe3ac3bfe982859eae46882ec00c253c41ef9c353b150e42ce3551d40707993d93025ce0d5b945533214a7a5ece820c9f8f652403e0c1a82
7
+ data.tar.gz: 632d3d6e061ae78d10dafa995ff0f149a8bee3e720c53949d565f1cd80a430666bf8f601935276a9e4cfdffb4de511f5e22d50dadce087eed035beff8575592a
@@ -4,7 +4,7 @@ module Libv8
4
4
  end
5
5
 
6
6
  module Libv8::Node
7
- VERSION = '22.7.0.4'
8
- NODE_VERSION = '22.7.0'
9
- LIBV8_VERSION = '12.4.254.21' # from src/node-.../deps/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
10
10
  end
data/libexec/build-libv8 CHANGED
@@ -19,7 +19,7 @@ cd "${src}/node-v${version}"
19
19
 
20
20
  # Maglev is disabled because of a suspected x64 snapshot regression in
21
21
  # DoComputeOutputFrames
22
- configure_flags='--v8-disable-maglev --openssl-no-asm --without-npm --shared --with-intl=full-icu'
22
+ configure_flags='--openssl-no-asm --without-npm --shared --with-intl=full-icu'
23
23
  eval "$("${libexec}/platform")"
24
24
 
25
25
  echo "configure: ${configure_flags}"
data/libexec/extract-node CHANGED
@@ -29,21 +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
- patch -p1 < "${top}"/patch/v8-no-assert-trivially-copyable.patch
32
+ patch -p1 < "${top}"/patch/v8-std-is-trivially-destructible.patch
36
33
  patch -p1 < "${top}"/patch/v8-disable-madv-dontfork.patch
37
34
  patch -p1 < "${top}"/patch/v8-disable-pkey.patch
38
- patch -p1 < "${top}"/patch/v8-disable-marking.patch
39
-
40
- # TODO: the following still fails on py3 so the above one forcing py2 is needed
41
- # patch -p1 < ../../py3-genv8constants.patch
42
- #
43
- # This is the error:
44
- #
45
- # Traceback (most recent call last):
46
- # File "tools/genv8constants.py", line 99, in <module>
47
- # curr_val += int('0x%s' % octetstr, 16) << (curr_octet * 8)
48
- # ValueError: invalid literal for int() with base 16: "0xb'04 '"
49
- # 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
data/libexec/inject-libv8 CHANGED
@@ -56,7 +56,9 @@ for lib in libv8_monolith.a; do
56
56
  "$AR" "$AREXTRACTFLAGS" "$BASEDIR/out/${BUILDTYPE}/$lib"
57
57
 
58
58
  # strip all objects
59
- "$FIND" -type f -exec "$STRIP" -Sx {} +
59
+ if [ "$BUILDTYPE" = "Release" ]; then
60
+ "$FIND" -type f -exec "$STRIP" -Sx {} +
61
+ fi
60
62
 
61
63
  # rebuild the archive
62
64
  "$FIND" -type f -exec "$AR" "$ARCOLLECTFLAGS" "../$lib" {} +
@@ -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/v22.13.1.sum ADDED
@@ -0,0 +1 @@
1
+ e7d5b1e84e7f3c3cebda81e2b138469eef41ba4ecf16a87fd15fc3f7afa3f701
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: 22.7.0.4
4
+ version: 23.6.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ''
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-14 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
@@ -63,14 +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
70
66
  - patch/v8-disable-madv-dontfork.patch
71
- - patch/v8-disable-marking.patch
72
67
  - patch/v8-disable-pkey.patch
73
- - patch/v8-no-assert-trivially-copyable.patch
68
+ - patch/v8-std-is-trivially-destructible.patch
74
69
  - sums/v16.10.0.sum
75
70
  - sums/v16.11.1.sum
76
71
  - sums/v16.3.0.sum
@@ -88,9 +83,12 @@ files:
88
83
  - sums/v20.12.1.sum
89
84
  - sums/v20.2.0.sum
90
85
  - sums/v21.7.2.sum
86
+ - sums/v22.13.1.sum
91
87
  - sums/v22.5.1.sum
92
88
  - sums/v22.6.0.sum
93
89
  - sums/v22.7.0.sum
90
+ - sums/v22.9.0.sum
91
+ - sums/v23.6.1.sum
94
92
  homepage: https://github.com/rubyjs/libv8-node
95
93
  licenses:
96
94
  - MIT
@@ -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("""
@@ -1,22 +0,0 @@
1
- diff --git a/deps/v8/src/flags/flag-definitions.h b/deps/v8/src/flags/flag-definitions.h
2
- index 0d50ac1522..2854768562 100644
3
- --- a/deps/v8/src/flags/flag-definitions.h
4
- +++ b/deps/v8/src/flags/flag-definitions.h
5
- @@ -1764,7 +1764,7 @@ DEFINE_BOOL(minor_ms_trace_fragmentation, false,
6
- DEFINE_BOOL(trace_evacuation, false, "report evacuation statistics")
7
- DEFINE_BOOL(trace_mutator_utilization, false,
8
- "print mutator utilization, allocation speed, gc speed")
9
- -DEFINE_BOOL(incremental_marking, true, "use incremental marking")
10
- +DEFINE_BOOL(incremental_marking, false, "use incremental marking")
11
- DEFINE_BOOL(incremental_marking_bailout_when_ahead_of_schedule, true,
12
- "bails out of incremental marking when ahead of schedule")
13
- DEFINE_BOOL(incremental_marking_task, true, "use tasks for incremental marking")
14
- @@ -1794,7 +1794,7 @@ DEFINE_IMPLICATION(cppgc_young_generation, minor_ms)
15
- DEFINE_NEG_IMPLICATION(cppgc_young_generation, reclaim_unmodified_wrappers)
16
- DEFINE_BOOL(optimize_gc_for_battery, false, "optimize GC for battery")
17
- #if defined(V8_ATOMIC_OBJECT_FIELD_WRITES)
18
- -DEFINE_BOOL(concurrent_marking, true, "use concurrent marking")
19
- +DEFINE_BOOL(concurrent_marking, false, "use concurrent marking")
20
- #else
21
- // Concurrent marking cannot be used without atomic object field loads and
22
- // stores.
@@ -1,14 +0,0 @@
1
- diff --git a/deps/v8/src/base/small-vector.h b/deps/v8/src/base/small-vector.h
2
- index edaab3a7a6..533a536178 100644
3
- --- a/deps/v8/src/base/small-vector.h
4
- +++ b/deps/v8/src/base/small-vector.h
5
- @@ -20,9 +20,6 @@ namespace base {
6
- // dynamic storage when it overflows.
7
- template <typename T, size_t kSize, typename Allocator = std::allocator<T>>
8
- class SmallVector {
9
- - // Currently only support trivially copyable and trivially destructible data
10
- - // types, as it uses memcpy to copy elements and never calls destructors.
11
- - ASSERT_TRIVIALLY_COPYABLE(T);
12
- static_assert(std::is_trivially_destructible<T>::value);
13
-
14
- public: