libv8-node 16.19.0.0 → 16.19.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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 +1 -1
- data/libexec/build-libv8 +8 -0
- data/libexec/build-monolith +4 -5
- data/libexec/inject-libv8 +29 -2
- data/libexec/platform +21 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d6d0f0ae89b885ef1c2761e3cc942ef637cfa994a726987ae14815515a1995ee
|
4
|
+
data.tar.gz: dd5a6d96552a1eb7e42d6cd42a86629526ea481ff513483d70aae3cbe3e0d868
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 398094fffb007d3fb244bef0e0609feb7ee2d08102a8207a1a1b83313b33cf0e2110f9bd4bce428360ef414f97e56217720cad43a96bdace5815629476d8df93
|
7
|
+
data.tar.gz: 33295e04a118c72c5123c87780ace7e3c61d8958b01fa065c999cccec2588a7a207d50f78df5d07537bd6d830539ec4e3400291a7b89ed5331a7f7cbe0ca4653
|
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
data/libexec/build-libv8
CHANGED
@@ -38,5 +38,13 @@ ${CXX} -v
|
|
38
38
|
make BUILDTYPE="${BUILDTYPE}" config.gypi
|
39
39
|
make BUILDTYPE="${BUILDTYPE}" "out/Makefile"
|
40
40
|
|
41
|
+
# workaround for node specifying `-msign-return-address=all` in ALL `CFLAGS` for aarch64 builds
|
42
|
+
# (if the host isn't also aarch64, this flag causes a compiler error)
|
43
|
+
|
44
|
+
# shellcheck disable=SC2154 # these variables are defined by `eval`ing the output of the platform script above
|
45
|
+
if [ "$host_platform" != "$target_platform" ] && [ "${target_platform%%-*}" = "aarch64" ]; then
|
46
|
+
find . -iname "*.host.mk" -exec sed -i '/-msign-return-address/d' {} ';'
|
47
|
+
fi
|
48
|
+
|
41
49
|
export PATH="${PWD}/out/tools/bin:${PATH}"
|
42
50
|
make -j"${NJOBS}" -C out BUILDTYPE="${BUILDTYPE}" V=0
|
data/libexec/build-monolith
CHANGED
@@ -21,21 +21,20 @@ 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
|
24
|
+
/usr/xpg4/bin/find . '(' '!' -path './icutools/deps/icu-small/source/stubdata/stubdata.o' ')' -and '(' -path "./torque_*/**/*.o" -or -path "./v8*/**/*.o" -or -path "./icu*/**/*.o" ')' | sort | uniq | while read -r obj; do
|
25
25
|
ar cqS "${LIBV8_MONOLITH}" "${obj}"
|
26
26
|
done
|
27
27
|
ranlib "${LIBV8_MONOLITH}"
|
28
28
|
;;
|
29
29
|
"Darwin")
|
30
|
-
/usr/bin/find . -path "./torque_*/**/*.o" -or -path "./v8*/**/*.o" -or -path "./icu*/**/*.o" | sort | uniq | while read -r obj; do
|
30
|
+
/usr/bin/find . '(' '!' -path './icutools/deps/icu-small/source/stubdata/stubdata.o' ')' -and '(' -path "./torque_*/**/*.o" -or -path "./v8*/**/*.o" -or -path "./icu*/**/*.o" ')' | sort | uniq | while read -r obj; do
|
31
31
|
/usr/bin/ar -cqS "${LIBV8_MONOLITH}" "${obj}"
|
32
32
|
done
|
33
33
|
/usr/bin/ranlib "${LIBV8_MONOLITH}"
|
34
34
|
;;
|
35
35
|
"Linux")
|
36
|
-
find . -path "./torque_*/**/*.o" -or -path "./v8*/**/*.o" -or -path "./icu*/**/*.o" | sort | uniq |
|
37
|
-
|
38
|
-
done
|
36
|
+
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}"
|
37
|
+
ar -sP "${LIBV8_MONOLITH}"
|
39
38
|
;;
|
40
39
|
*)
|
41
40
|
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
|
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.19.0.
|
4
|
+
version: 16.19.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ''
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
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
|
- ''
|