libv8-node 18.16.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 +4 -4
- data/lib/libv8/node/version.rb +7 -4
- data/libexec/build-libv8 +3 -1
- data/libexec/extract-node +3 -14
- data/libexec/inject-libv8 +3 -1
- data/libexec/platform +4 -4
- data/patch/v8-disable-madv-dontfork.patch +16 -0
- data/patch/v8-disable-pkey.patch +17 -0
- data/patch/v8-std-is-trivially-destructible.patch +22 -0
- data/sums/v19.9.0.sum +1 -0
- data/sums/v20.12.1.sum +1 -0
- data/sums/v20.2.0.sum +1 -0
- data/sums/v21.7.2.sum +1 -0
- data/sums/v22.13.1.sum +1 -0
- data/sums/v22.5.1.sum +1 -0
- data/sums/v22.6.0.sum +1 -0
- data/sums/v22.7.0.sum +1 -0
- data/sums/v22.9.0.sum +1 -0
- data/sums/v23.6.1.sum +1 -0
- metadata +16 -8
- data/patch/gyp-libv8_monolith.patch +0 -44
- data/patch/py2-genv8constants.patch +0 -10
- data/patch/py2-icutrim.patch +0 -14
- data/patch/py3-genv8constants.patch +0 -20
- data/sums/v18.16.0.sum +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 38468603a3a54757810d8053aa25d2467736691a7def9a983d279100e678c071
|
4
|
+
data.tar.gz: 4d1dad42c57ec900d65944a923fca313ca6f032992a86d7a2b4e07210d690f9c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb945de4fde1b0ddbe3ac3bfe982859eae46882ec00c253c41ef9c353b150e42ce3551d40707993d93025ce0d5b945533214a7a5ece820c9f8f652403e0c1a82
|
7
|
+
data.tar.gz: 632d3d6e061ae78d10dafa995ff0f149a8bee3e720c53949d565f1cd80a430666bf8f601935276a9e4cfdffb4de511f5e22d50dadce087eed035beff8575592a
|
data/lib/libv8/node/version.rb
CHANGED
@@ -1,7 +1,10 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Libv8
|
4
|
+
end
|
2
5
|
|
3
6
|
module Libv8::Node
|
4
|
-
VERSION = '
|
5
|
-
NODE_VERSION = '
|
6
|
-
LIBV8_VERSION = '
|
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,6 +17,8 @@ BUILDTYPE="${BUILDTYPE:-Release}"
|
|
17
17
|
|
18
18
|
cd "${src}/node-v${version}"
|
19
19
|
|
20
|
+
# Maglev is disabled because of a suspected x64 snapshot regression in
|
21
|
+
# DoComputeOutputFrames
|
20
22
|
configure_flags='--openssl-no-asm --without-npm --shared --with-intl=full-icu'
|
21
23
|
eval "$("${libexec}/platform")"
|
22
24
|
|
@@ -41,4 +43,4 @@ if [ "$host_platform" != "$target_platform" ] && [ "${target_platform%%-*}" = "a
|
|
41
43
|
fi
|
42
44
|
|
43
45
|
export PATH="${PWD}/out/tools/bin:${PATH}"
|
44
|
-
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++
|
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
|
-
|
33
|
-
|
34
|
-
patch -p1 < "${top}"/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
@@ -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
|
-
"$
|
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" {} +
|
data/libexec/platform
CHANGED
@@ -98,10 +98,10 @@ if [ "${host_platform}" != "${target_platform}" ]; then
|
|
98
98
|
configure_flags='--dest-cpu=arm --cross-compiling --dest-os=linux --with-arm-float-abi=hard --with-arm-fpu=neon'
|
99
99
|
;;
|
100
100
|
x86_64-*linux*)
|
101
|
-
CC='x86_64
|
102
|
-
CXX='x86_64
|
103
|
-
CC_host='
|
104
|
-
CXX_host='
|
101
|
+
CC='clang -arch x86_64'
|
102
|
+
CXX='clang++ -arch x86_64'
|
103
|
+
CC_host='clang'
|
104
|
+
CXX_host='clang++'
|
105
105
|
STRIP='x86_64-linux-gnu-strip'
|
106
106
|
configure_flags='--dest-cpu=x86_64 --cross-compiling --dest-os=linux'
|
107
107
|
;;
|
@@ -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/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:
|
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:
|
11
|
+
date: 2025-02-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -63,10 +63,9 @@ files:
|
|
63
63
|
- libexec/inject-libv8
|
64
64
|
- libexec/metadata
|
65
65
|
- libexec/platform
|
66
|
-
- patch/
|
67
|
-
- patch/
|
68
|
-
- 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
|
@@ -79,8 +78,17 @@ files:
|
|
79
78
|
- sums/v17.3.1.sum
|
80
79
|
- sums/v17.9.1.sum
|
81
80
|
- sums/v18.13.0.sum
|
82
|
-
- sums/v18.16.0.sum
|
83
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
|
84
92
|
homepage: https://github.com/rubyjs/libv8-node
|
85
93
|
licenses:
|
86
94
|
- MIT
|
@@ -101,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
101
109
|
- !ruby/object:Gem::Version
|
102
110
|
version: '0'
|
103
111
|
requirements: []
|
104
|
-
rubygems_version: 3.3.
|
112
|
+
rubygems_version: 3.3.26
|
105
113
|
signing_key:
|
106
114
|
specification_version: 4
|
107
115
|
summary: Node.JS's V8 JavaScript engine
|
@@ -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
|
-
|
data/patch/py2-icutrim.patch
DELETED
@@ -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("""
|
data/sums/v18.16.0.sum
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
6a4f5c5d76e5c50cef673099e56f19bc3266ae363f56ca0ab77dd2f3c5088c6d
|