Skip to content

Update to node 22.9.0 #62

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Sep 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions lib/libv8/node/version.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ module Libv8
end

module Libv8::Node
VERSION = '22.7.0.4'
NODE_VERSION = '22.7.0'
VERSION = '22.9.0.0'
NODE_VERSION = '22.9.0'
LIBV8_VERSION = '12.4.254.21' # from src/node-.../deps/v8/include/v8-version.h
end
2 changes: 1 addition & 1 deletion libexec/build-libv8
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ cd "${src}/node-v${version}"

# Maglev is disabled because of a suspected x64 snapshot regression in
# DoComputeOutputFrames
configure_flags='--v8-disable-maglev --openssl-no-asm --without-npm --shared --with-intl=full-icu'
configure_flags='--openssl-no-asm --without-npm --shared --with-intl=full-icu'
eval "$("${libexec}/platform")"

echo "configure: ${configure_flags}"
Expand Down
17 changes: 1 addition & 16 deletions libexec/extract-node
Original file line number Diff line number Diff line change
Expand Up @@ -29,21 +29,6 @@ extract "${src}" "${src}/node-v${version}.tar.gz"

cd "${src}/node-v${version}"

#patch -p1 < "${top}"/patch/gyp-libv8_monolith.patch
#patch -p1 < "${top}"/patch/py2-icutrim.patch
#patch -p1 < "${top}"/patch/py2-genv8constants.patch
patch -p1 < "${top}"/patch/v8-no-assert-trivially-copyable.patch
patch -p1 < "${top}"/patch/v8-std-is-trivially-destructible.patch
patch -p1 < "${top}"/patch/v8-disable-madv-dontfork.patch
patch -p1 < "${top}"/patch/v8-disable-pkey.patch
patch -p1 < "${top}"/patch/v8-disable-marking.patch

# TODO: the following still fails on py3 so the above one forcing py2 is needed
# patch -p1 < ../../py3-genv8constants.patch
#
# This is the error:
#
# Traceback (most recent call last):
# File "tools/genv8constants.py", line 99, in <module>
# curr_val += int('0x%s' % octetstr, 16) << (curr_octet * 8)
# ValueError: invalid literal for int() with base 16: "0xb'04 '"
# 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
44 changes: 0 additions & 44 deletions patch/gyp-libv8_monolith.patch

This file was deleted.

10 changes: 0 additions & 10 deletions patch/py2-genv8constants.patch

This file was deleted.

14 changes: 0 additions & 14 deletions patch/py2-icutrim.patch

This file was deleted.

20 changes: 0 additions & 20 deletions patch/py3-genv8constants.patch

This file was deleted.

22 changes: 0 additions & 22 deletions patch/v8-disable-marking.patch

This file was deleted.

14 changes: 0 additions & 14 deletions patch/v8-no-assert-trivially-copyable.patch

This file was deleted.

22 changes: 22 additions & 0 deletions patch/v8-std-is-trivially-destructible.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
diff --git a/deps/v8/src/base/macros.h b/deps/v8/src/base/macros.h
index d404b6120a..053ac0e5ba 100644
--- a/deps/v8/src/base/macros.h
+++ b/deps/v8/src/base/macros.h
@@ -173,7 +173,7 @@ namespace base {
// base::is_trivially_copyable will differ for these cases.
template <typename T>
struct is_trivially_copyable {
-#if V8_CC_MSVC || (__GNUC__ == 12 && __GNUC_MINOR__ <= 2)
+#if V8_CC_MSVC || (__GNUC__ == 12 && __GNUC_MINOR__ <= 2) || defined(__clang__)
// Unfortunately, MSVC 2015 is broken in that std::is_trivially_copyable can
// be false even though it should be true according to the standard.
// (status at 2018-02-26, observed on the msvc waterfall bot).
@@ -186,6 +186,8 @@ struct is_trivially_copyable {
// distributions, so the same polyfill is also used.
// See
// https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=aeba3e009b0abfccaf01797556445dbf891cc8dc
+ //
+ // The same is observed with at least clang 14 and 15.
static constexpr bool value =
// Copy constructor is trivial or deleted.
(std::is_trivially_copy_constructible<T>::value ||
1 change: 1 addition & 0 deletions sums/v22.9.0.sum
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
296854aa1dca140b0462c2415637d0419e42af91114538a7e6fdf623971a6833
Loading