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 +4 -4
- data/ext/libv8-node/builder.rb +1 -1
- data/ext/libv8-node/extconf.rb +6 -0
- data/ext/libv8-node/location.rb +1 -1
- data/ext/libv8-node/paths.rb +5 -1
- data/lib/libv8/node/version.rb +7 -4
- data/libexec/build-libv8 +14 -10
- data/libexec/build-monolith +4 -11
- data/libexec/extract-node +3 -14
- data/libexec/inject-libv8 +37 -2
- data/libexec/metadata +1 -1
- data/libexec/platform +64 -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/v17.3.1.sum +1 -0
- data/sums/v17.9.1.sum +1 -0
- data/sums/v18.13.0.sum +2 -0
- data/sums/v18.8.0.sum +1 -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 +26 -13
- 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
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/ext/libv8-node/builder.rb
CHANGED
@@ -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'
|
data/ext/libv8-node/extconf.rb
CHANGED
@@ -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__)
|
data/ext/libv8-node/location.rb
CHANGED
@@ -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
|
|
data/ext/libv8-node/paths.rb
CHANGED
@@ -13,12 +13,16 @@ module Libv8::Node
|
|
13
13
|
|
14
14
|
def object_paths
|
15
15
|
[Shellwords.escape(File.join(vendored_source_path,
|
16
|
-
|
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
|
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 = '9.
|
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
|
-
|
21
|
-
|
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
|
-
|
33
|
-
|
28
|
+
${CC} -v
|
29
|
+
${CXX} -v
|
34
30
|
|
35
31
|
# shellcheck disable=SC2086
|
36
|
-
|
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++
|
data/libexec/build-monolith
CHANGED
@@ -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 |
|
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 |
|
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 |
|
37
|
-
|
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
|
-
|
33
|
-
patch -p1 < "${top}"/patch/
|
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
@@ -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
|
-
|
37
|
-
|
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=$(
|
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=
|
53
|
+
RUBY_TARGET_PLATFORM='x86_64-darwin'
|
46
54
|
;;
|
47
55
|
arm64*-darwin*)
|
48
56
|
# not for cross compilation
|
49
|
-
RUBY_TARGET_PLATFORM=
|
57
|
+
RUBY_TARGET_PLATFORM='arm64-darwin'
|
50
58
|
;;
|
51
59
|
*)
|
52
|
-
|
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
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:
|
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:
|
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:
|
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:
|
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/
|
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
|
@@ -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
|
-
|
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.
|
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
|
-
|
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("""
|