libv8-node 16.19.0.0 → 16.19.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 +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
|
- ''
|