nodejs: update to 20.16.0.

This commit is contained in:
Mihail Ivanchev 2024-05-23 14:21:06 +02:00 committed by Leah Neukirchen
parent 6b85bd3e41
commit d7b0cb4e61
3 changed files with 56 additions and 65 deletions

View File

@ -1,43 +1,14 @@
From 6bdf9dc3ec7dbff00acef081f4e3dd3e061fd744 Mon Sep 17 00:00:00 2001
From: Ben Noordhuis <info@bnoordhuis.nl>
Date: Tue, 6 Dec 2022 11:27:49 +0100
Subject: [PATCH] build: fix arm64 cross-compilation
Commit 938212f added -msign-return-address=all to _all_ cflags but that
is wrong when cross-compiling, it should only be added to the target's
cflags.
Fixes: https://github.com/nodejs/node/issues/42888
---
configure.py | 2 --
node.gyp | 3 +++
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/configure.py b/configure.py
index 40e0395e..9de3148f 100755
--- a/configure.py
+++ b/configure.py
@@ -1294,9 +1294,7 @@ def configure_node(o):
o['variables']['want_separate_host_toolset'] = int(cross_compiling)
- # Enable branch protection for arm64
if target_arch == 'arm64':
- o['cflags']+=['-msign-return-address=all']
o['variables']['arm_fpu'] = options.arm_fpu or 'neon'
if options.node_snapshot_main is not None:
diff --git a/node.gyp b/node.gyp
index cf52281b..5218d941 100644
index 5abbad6c6f..460e4f1a86 100644
--- a/node.gyp
+++ b/node.gyp
@@ -112,6 +112,9 @@
},
'conditions': [
+ ['target_arch=="arm64"', {
+ 'cflags': ['-msign-return-address=all'], # Pointer authentication.
+ }],
['OS in "aix os400"', {
'ldflags': [
'-Wl,-bnoerrmsg',
@@ -417,6 +417,9 @@
[ 'node_shared=="true"', {
'node_target_type%': 'shared_library',
'conditions': [
+ ['target_arch=="arm64"', {
+ 'cflags': ['-msign-return-address=all'], # Pointer authentication.
+ }],
['OS in "aix os400"', {
# For AIX, always generate static library first,
# It needs an extra step to generate exp and

View File

@ -1,19 +0,0 @@
--- ./configure.orig 2023-10-11 07:49:24.971659089 -0400
+++ ./configure 2023-10-11 07:49:51.615780727 -0400
@@ -4,6 +4,7 @@
# Note that the mix of single and double quotes is intentional,
# as is the fact that the ] goes on a new line.
_=[ 'exec' '/bin/sh' '-c' '''
+command -v python3.12 >/dev/null && exec python3.12 "$0" "$@"
command -v python3.11 >/dev/null && exec python3.11 "$0" "$@"
command -v python3.10 >/dev/null && exec python3.10 "$0" "$@"
command -v python3.9 >/dev/null && exec python3.9 "$0" "$@"
@@ -23,7 +24,7 @@
from distutils.spawn import find_executable as which
print('Node.js configure: Found Python {}.{}.{}...'.format(*sys.version_info))
-acceptable_pythons = ((3, 11), (3, 10), (3, 9), (3, 8), (3, 7), (3, 6))
+acceptable_pythons = ((3, 12), (3, 11), (3, 10), (3, 9), (3, 8), (3, 7), (3, 6))
if sys.version_info[:2] in acceptable_pythons:
import configure
else:

View File

@ -1,11 +1,14 @@
# Template file for 'nodejs'
pkgname=nodejs
version=18.19.1
version=20.16.0
revision=1
hostmakedepends="which pkg-config python3-setuptools"
_make_depends="zlib-devel $(vopt_if icu icu-devel)
$(vopt_if ssl openssl-devel) $(vopt_if libuv libuv-devel)
$(vopt_if nghttp2 nghttp2-devel) $(vopt_if cares c-ares-devel)
_make_depends="zlib-devel \
$(vopt_if icu icu-devel) \
$(vopt_if ssl openssl-devel) \
$(vopt_if libuv libuv-devel) \
$(vopt_if nghttp2 nghttp2-devel) \
$(vopt_if cares c-ares-devel) \
$(vopt_if brotli brotli-devel)"
makedepends="${_make_depends}"
checkdepends="procps-ng iana-etc"
@ -15,7 +18,7 @@ license="MIT"
homepage="https://nodejs.org/"
changelog="https://raw.githubusercontent.com/nodejs/node/main/doc/changelogs/CHANGELOG_V${version%%.*}.md"
distfiles="https://nodejs.org/dist/v${version}/node-v${version}.tar.xz"
checksum=090f96a2ecde080b6b382c6d642bca5d0be4702a78cb555be7bf02b20bd16ded
checksum=cd6c8fc3ff2606aadbc7155db6f7e77247d2d0065ac18e2f7f049095584b8b46
python_version=3
build_options="ssl libuv icu nghttp2 cares brotli"
@ -96,7 +99,43 @@ do_build() {
}
do_check() {
local CI_SKIP_TESTS="test-child-process-uid-gid.js,test-process-euid-egid.js,test-process-uid-gid.js,test-tls-session-cache.js,test-tls-getprotocol.js,test-tls-alert.js,test-tls-cli-min-version-1.1.js,test-tls-cli-max-version-1.1.js,test-tls-cli-min-version-1.2.js,test-tls-cli-max-version-1.2.js,test-tls-cli-min-version-1.3.js,test-tls-cli-max-version-1.3.js,test-tls-min-max-version.js,test-process-versions.js,test-strace-openat-openssl.js,test-crypto-dh.js,test-dgram-send-cb-quelches-error.js,test-https-agent-session-eviction.js"
local CI_SKIP_TESTS="test-crypto-dh.js,\
test-child-process-uid-gid.js,\
test-cluster-primary-error.js,\
test-cluster-primary-kill.js,\
test-dns.js,\
test-http2-https-fallback.js,\
test-http2-server-unknown-protocol.js,\
test-https-client-checkServerIdentity.js,\
test-https-strict.js,\
test-process-euid-egid.js,\
test-process-initgroups.js,\
test-process-setgroups.js,\
test-process-uid-gid.js,\
test-tls-alert-handling.js,\
test-tls-alpn-server-client.js,\
test-tls-cert-regression.js,\
test-tls-client-auth.js,\
test-tls-client-getephemeralkeyinfo.js,\
test-tls-client-mindhsize.js,\
test-tls-client-renegotiation-13.js,\
test-tls-client-verify.js,\
test-tls-dhe.js,\
test-tls-empty-sni-context.js,\
test-tls-enable-trace-cli.js,\
test-tls-enable-trace.js,\
test-tls-getcipher.js,\
test-tls-junk-closes-server.js,\
test-tls-junk-server.js,\
test-tls-multi-key.js,\
test-tls-multiple-cas-as-string.js,\
test-tls-peer-certificate-encoding.js,\
test-tls-psk-circuit.js,\
test-tls-server-verify.js,\
test-tls-set-ciphers.js,\
test-tls-sni-option.js,\
test-tls-sni-server-client.js,\
"
# https://github.com/nodejs/node/issues/50741
CI_SKIP_TESTS+=",test-dns-resolveany.js,test-dns-resolveany-bad-ancount.js"