libv8-node 18.8.0.0 → 18.13.0.1
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/lib/libv8/node/version.rb +3 -3
- data/libexec/build-libv8 +9 -7
- data/libexec/build-monolith +4 -3
- data/libexec/inject-libv8 +29 -2
- data/libexec/platform +21 -0
- data/sums/v18.13.0.sum +2 -0
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cb59feaa011e639270b24edf6d6df98ae2b485b8b63753429eba15b0dddc9033
|
4
|
+
data.tar.gz: dd79936cd88f9e81780dd0de11a2405ff9911c45bb14e48944524f21dcabe6b1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d03f54eaa07ee37af63c17d1162be8eb3bfac6e8c7ce34c3461f5bc479aaec9682fd46025575f9b24b9c540a17c184222d6d641f9d398d22704ba2faefbc7ca8
|
7
|
+
data.tar.gz: 63f4374a5f1e5ad8481e738e3a4e8cfe53f671a1349d7e13c757383867a976e27741c7808d39e4996b7682eb4227fff3da0d04e20a06e38fbf217dbb67f91794
|
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/lib/libv8/node/version.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module Libv8; end
|
2
2
|
|
3
3
|
module Libv8::Node
|
4
|
-
VERSION = '18.
|
5
|
-
NODE_VERSION = '18.
|
6
|
-
LIBV8_VERSION = '10.2.154.
|
4
|
+
VERSION = '18.13.0.1'.freeze
|
5
|
+
NODE_VERSION = '18.13.0'.freeze
|
6
|
+
LIBV8_VERSION = '10.2.154.23'.freeze # from v8/include/v8-version.h
|
7
7
|
end
|
data/libexec/build-libv8
CHANGED
@@ -17,12 +17,6 @@ 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
|
-
|
26
20
|
configure_flags='--openssl-no-asm --without-npm --shared --with-intl=full-icu'
|
27
21
|
eval "$("${libexec}/platform")"
|
28
22
|
|
@@ -33,10 +27,18 @@ ${CC} -v
|
|
33
27
|
${CXX} -v
|
34
28
|
|
35
29
|
# shellcheck disable=SC2086
|
36
|
-
|
30
|
+
./configure ${configure_flags}
|
37
31
|
|
38
32
|
make BUILDTYPE="${BUILDTYPE}" config.gypi
|
39
33
|
make BUILDTYPE="${BUILDTYPE}" "out/Makefile"
|
40
34
|
|
35
|
+
# workaround for node specifying `-msign-return-address=all` in ALL `CFLAGS` for aarch64 builds
|
36
|
+
# (if the host isn't also aarch64, this flag causes a compiler error)
|
37
|
+
|
38
|
+
# shellcheck disable=SC2154 # these variables are defined by `eval`ing the output of the platform script above
|
39
|
+
if [ "$host_platform" != "$target_platform" ] && [ "${target_platform%%-*}" = "aarch64" ]; then
|
40
|
+
find . -iname "*.host.mk" -exec sed -i '/-msign-return-address/d' {} ';'
|
41
|
+
fi
|
42
|
+
|
41
43
|
export PATH="${PWD}/out/tools/bin:${PATH}"
|
42
44
|
make -j"${NJOBS}" -C out BUILDTYPE="${BUILDTYPE}" V=0
|
data/libexec/build-monolith
CHANGED
@@ -21,13 +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 | xargs ar cq "${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}"
|
25
25
|
;;
|
26
26
|
"Darwin")
|
27
|
-
/usr/bin/find . -path "./torque_*/**/*.o" -or -path "./v8*/**/*.o" -or -path "./icu*/**/*.o" | sort | uniq | xargs /usr/bin/ar -cq "${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}"
|
28
28
|
;;
|
29
29
|
"Linux")
|
30
|
-
find . -path "./torque_*/**/*.o" -or -path "./v8*/**/*.o" -or -path "./icu*/**/*.o" | sort | uniq | xargs ar -
|
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}"
|
31
32
|
;;
|
32
33
|
*)
|
33
34
|
echo "Unsupported platform: ${platform}"
|
data/libexec/inject-libv8
CHANGED
@@ -39,8 +39,35 @@ for lib in libv8_monolith.a; do
|
|
39
39
|
mkdir -p "${dir}"
|
40
40
|
rm -f "${dir}/${lib}"
|
41
41
|
|
42
|
-
|
43
|
-
|
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
|
+
"$FIND" -type f -exec "$STRIP" -Sx {} +
|
60
|
+
|
61
|
+
# rebuild the archive
|
62
|
+
"$FIND" -type f -exec "$AR" "$ARCOLLECTFLAGS" "../$lib" {} +
|
63
|
+
$ARBUILDSYMBOLS "../$lib"
|
64
|
+
mv "../$lib" "$dir/$lib"
|
65
|
+
)
|
66
|
+
echo "${BASEDIR}/out/${BUILDTYPE}/${lib} -> ${dir}/${lib}"
|
67
|
+
else
|
68
|
+
echo "${BASEDIR}/out/${BUILDTYPE}/${lib} -> ${dir}/${lib}"
|
69
|
+
"${STRIP}" -S -x -o "${dir}/${lib}" "${lib}"
|
70
|
+
fi
|
44
71
|
done
|
45
72
|
|
46
73
|
mkdir -p "${top}/ext/libv8-node"
|
data/libexec/platform
CHANGED
@@ -15,6 +15,14 @@ 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
27
|
triple=$(${CC} -dumpmachine)
|
20
28
|
host_platform="${triple}"
|
@@ -63,6 +71,11 @@ case "${host_platform}" in
|
|
63
71
|
CXX="${CXX:-/opt/local/gcc7/bin/g++}"
|
64
72
|
STRIP="gstrip"
|
65
73
|
;;
|
74
|
+
*linux*)
|
75
|
+
STRIP_NEEDS_EXTRACT="y"
|
76
|
+
ARCOLLECTFLAGS="-cqSP"
|
77
|
+
ARBUILDSYMBOLS="${AR} -sP"
|
78
|
+
;;
|
66
79
|
esac
|
67
80
|
|
68
81
|
if [ "${host_platform}" != "${target_platform}" ]; then
|
@@ -146,6 +159,14 @@ export CC='${CC}'
|
|
146
159
|
export CXX='${CXX}'
|
147
160
|
host_platform='${host_platform}'
|
148
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'
|
149
170
|
EOF
|
150
171
|
|
151
172
|
if [ -n "${CC_host:-}" ]; then cat <<EOF; fi
|
data/sums/v18.13.0.sum
ADDED
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: 18.
|
4
|
+
version: 18.13.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ''
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-05-23 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
|
- ''
|
@@ -78,6 +78,7 @@ files:
|
|
78
78
|
- sums/v16.9.1.sum
|
79
79
|
- sums/v17.3.1.sum
|
80
80
|
- sums/v17.9.1.sum
|
81
|
+
- sums/v18.13.0.sum
|
81
82
|
- sums/v18.8.0.sum
|
82
83
|
homepage: https://github.com/rubyjs/libv8-node
|
83
84
|
licenses:
|
@@ -99,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
99
100
|
- !ruby/object:Gem::Version
|
100
101
|
version: '0'
|
101
102
|
requirements: []
|
102
|
-
rubygems_version: 3.
|
103
|
+
rubygems_version: 3.3.20
|
103
104
|
signing_key:
|
104
105
|
specification_version: 4
|
105
106
|
summary: Node.JS's V8 JavaScript engine
|