From 974a3f3e954889b8de46f3b53f4c97b09a0d1513 Mon Sep 17 00:00:00 2001 From: Michal Vasilek Date: Thu, 22 Dec 2022 10:43:50 +0100 Subject: [PATCH 1/3] nodejs: update to 18.12.1. --- ...s-v8-src-trap-handler-trap-handler.h.patch | 31 -------- srcpkgs/nodejs/patches/python3.11.patch | 74 +++++++++++++++++++ srcpkgs/nodejs/template | 4 +- 3 files changed, 76 insertions(+), 33 deletions(-) delete mode 100644 srcpkgs/nodejs/patches/999-deps-v8-src-trap-handler-trap-handler.h.patch create mode 100644 srcpkgs/nodejs/patches/python3.11.patch diff --git a/srcpkgs/nodejs/patches/999-deps-v8-src-trap-handler-trap-handler.h.patch b/srcpkgs/nodejs/patches/999-deps-v8-src-trap-handler-trap-handler.h.patch deleted file mode 100644 index 56529af97223..000000000000 --- a/srcpkgs/nodejs/patches/999-deps-v8-src-trap-handler-trap-handler.h.patch +++ /dev/null @@ -1,31 +0,0 @@ -https://github.com/nxhack/openwrt-node-packages/blob/master/node/patches/v16.x/999-deps-v8-src-trap-handler-trap-handler.h.patch - ---- a/deps/v8/src/trap-handler/trap-handler.h -+++ b/deps/v8/src/trap-handler/trap-handler.h -@@ -17,19 +17,16 @@ namespace v8 { - namespace internal { - namespace trap_handler { - --// X64 on Linux, Windows, MacOS, FreeBSD. --#if V8_HOST_ARCH_X64 && V8_TARGET_ARCH_X64 && \ -- ((V8_OS_LINUX && !V8_OS_ANDROID) || V8_OS_WIN || V8_OS_MACOSX || \ -- V8_OS_FREEBSD) -+#if V8_TARGET_ARCH_X64 && V8_OS_LINUX && !V8_OS_ANDROID - #define V8_TRAP_HANDLER_SUPPORTED true --// Arm64 (non-simulator) on Mac. --#elif V8_TARGET_ARCH_ARM64 && V8_HOST_ARCH_ARM64 && V8_OS_MACOSX -+#elif V8_TARGET_ARCH_X64 && V8_OS_WIN - #define V8_TRAP_HANDLER_SUPPORTED true --// Arm64 simulator on x64 on Linux or Mac. --#elif V8_TARGET_ARCH_ARM64 && V8_HOST_ARCH_X64 && (V8_OS_LINUX || V8_OS_MACOSX) --#define V8_TRAP_HANDLER_VIA_SIMULATOR -+#elif V8_TARGET_ARCH_X64 && V8_OS_MACOSX -+#define V8_TRAP_HANDLER_SUPPORTED true -+#elif V8_TARGET_ARCH_X64 && V8_OS_FREEBSD -+#define V8_TRAP_HANDLER_SUPPORTED true -+#elif V8_HOST_ARCH_ARM64 && V8_TARGET_ARCH_ARM64 && V8_OS_MACOSX - #define V8_TRAP_HANDLER_SUPPORTED true --// Everything else is unsupported. - #else - #define V8_TRAP_HANDLER_SUPPORTED false - #endif diff --git a/srcpkgs/nodejs/patches/python3.11.patch b/srcpkgs/nodejs/patches/python3.11.patch new file mode 100644 index 000000000000..7b9dbcb99584 --- /dev/null +++ b/srcpkgs/nodejs/patches/python3.11.patch @@ -0,0 +1,74 @@ +From cf748ad2b7f760e2df1bc8a811f887161b892534 Mon Sep 17 00:00:00 2001 +From: Luigi Pinca +Date: Wed, 26 Oct 2022 15:01:59 +0200 +Subject: [PATCH] build: support Python 3.11 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +PR-URL: https://github.com/nodejs/node/pull/45191 +Reviewed-By: Rich Trott +Reviewed-By: Moshe Atlow +Reviewed-By: Richard Lau +Reviewed-By: Christian Clauss +Reviewed-By: Yagiz Nizipli +Reviewed-By: James M Snell +Reviewed-By: Jiawen Geng +Reviewed-By: Juan José Arboleda +--- + BUILDING.md | 6 +++--- + configure | 3 ++- + 2 files changed, 5 insertions(+), 4 deletions(-) + +diff --git a/BUILDING.md b/BUILDING.md +index 0dd954880131..e66aa314d329 100644 +--- a/BUILDING.md ++++ b/BUILDING.md +@@ -225,7 +225,7 @@ The Node.js project supports Python >= 3 for building and testing. + + * `gcc` and `g++` >= 8.3 or newer + * GNU Make 3.81 or newer +-* Python 3.6, 3.7, 3.8, 3.9, or 3.10 (see note above) ++* Python >=3.6 <=3.11 (see note above) + * For test coverage, your Python installation must include pip. + + Installation via Linux package manager can be achieved with: +@@ -241,7 +241,7 @@ FreeBSD and OpenBSD users may also need to install `libexecinfo`. + #### macOS prerequisites + + * Xcode Command Line Tools >= 11 for macOS +-* Python 3.6, 3.7, 3.8, 3.9, or 3.10 (see note above) ++* Python >=3.6 <=3.11 (see note above) + * For test coverage, your Python installation must include pip. + + macOS users can install the `Xcode Command Line Tools` by running +@@ -565,7 +565,7 @@ to run it again before invoking `make -j4`. + + ##### Option 1: Manual install + +-* [Python 3.10](https://www.microsoft.com/en-us/p/python-310/9pjpw5ldxlz5) ++* [Python 3.11](https://apps.microsoft.com/store/detail/python-311/9NRWMJP3717K) + * The "Desktop development with C++" workload from + [Visual Studio 2019](https://visualstudio.microsoft.com/vs/older-downloads/#visual-studio-2019-and-other-products) or + the "C++ build tools" workload from the +diff --git a/configure b/configure +index 6ef2da2e631e..fefb313c9cd1 100755 +--- a/configure ++++ b/configure +@@ -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.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" "$@" + command -v python3.8 >/dev/null && exec python3.8 "$0" "$@" +@@ -22,7 +23,7 @@ except ImportError: + from distutils.spawn import find_executable as which + + print('Node.js configure: Found Python {}.{}.{}...'.format(*sys.version_info)) +-acceptable_pythons = ((3, 10), (3, 9), (3, 8), (3, 7), (3, 6)) ++acceptable_pythons = ((3, 11), (3, 10), (3, 9), (3, 8), (3, 7), (3, 6)) + if sys.version_info[:2] in acceptable_pythons: + import configure + else: diff --git a/srcpkgs/nodejs/template b/srcpkgs/nodejs/template index 0fee0a8ec725..43d70f938ed3 100644 --- a/srcpkgs/nodejs/template +++ b/srcpkgs/nodejs/template @@ -1,6 +1,6 @@ # Template file for 'nodejs' pkgname=nodejs -version=16.19.0 +version=18.12.1 revision=1 # Need these for host v8 for torque, see https://github.com/nodejs/node/pull/21079 hostmakedepends="which pkg-config python3 libatomic-devel zlib-devel @@ -15,7 +15,7 @@ maintainer="Enno Boland " license="MIT" homepage="https://nodejs.org/" distfiles="https://nodejs.org/dist/v${version}/node-v${version}.tar.gz" -checksum=8b8a2939fa5f654ff61cae29b12118c24109273458ecbe6162ad8a8858309e0d +checksum=ba8174dda00d5b90943f37c6a180a1d37c861d91e04a4cb38dc1c0c74981c186 python_version=3 build_options="ssl libuv icu nghttp2 cares" From d1d290839dce0270da0dbdf5e0b6008151602dd5 Mon Sep 17 00:00:00 2001 From: Michal Vasilek Date: Wed, 8 Feb 2023 21:43:40 +0100 Subject: [PATCH 2/3] nodejs: update to 18.14.0. --- srcpkgs/nodejs/patches/cross-aarch64.patch | 29 --------- srcpkgs/nodejs/patches/nodejs18.patch | 11 ++++ srcpkgs/nodejs/patches/python3.11.patch | 74 ---------------------- srcpkgs/nodejs/template | 6 +- 4 files changed, 14 insertions(+), 106 deletions(-) delete mode 100644 srcpkgs/nodejs/patches/cross-aarch64.patch create mode 100644 srcpkgs/nodejs/patches/nodejs18.patch delete mode 100644 srcpkgs/nodejs/patches/python3.11.patch diff --git a/srcpkgs/nodejs/patches/cross-aarch64.patch b/srcpkgs/nodejs/patches/cross-aarch64.patch deleted file mode 100644 index 3b96c87f2fdb..000000000000 --- a/srcpkgs/nodejs/patches/cross-aarch64.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 4ac90c41065d338c4305cf6dc39e3084b21a7f79 Mon Sep 17 00:00:00 2001 -From: Michal Vasilek -Date: Sun, 20 Nov 2022 19:22:03 +0100 -Subject: [PATCH] Revert "build: enable pointer authentication for branch - protection on arm64" - -This reverts commit 938212f3e74a74d0b436941aa24e71425ff666c5. ---- - configure.py | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/configure.py b/configure.py -index d3192ca04c..2d049eb938 100755 ---- a/configure.py -+++ b/configure.py -@@ -1241,10 +1241,6 @@ 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'] -- - if options.node_snapshot_main is not None: - if options.shared: - # This should be possible to fix, but we will need to refactor the --- -2.38.1 - diff --git a/srcpkgs/nodejs/patches/nodejs18.patch b/srcpkgs/nodejs/patches/nodejs18.patch new file mode 100644 index 000000000000..a508017bb60f --- /dev/null +++ b/srcpkgs/nodejs/patches/nodejs18.patch @@ -0,0 +1,11 @@ +--- a/element-desktop/node_modules/node-gyp/gyp/pylib/gyp/input.py ++++ b/element-desktop/node_modules/node-gyp/gyp/pylib/gyp/input.py +@@ -234,7 +234,7 @@ + if check: + build_file_data = CheckedEval(build_file_contents) + else: +- build_file_data = eval(build_file_contents, {"__builtins__": {}}, None) ++ build_file_data = eval(build_file_contents, {"__builtins__": {"openssl_fips": ""}}, None) + except SyntaxError as e: + e.filename = build_file_path + raise diff --git a/srcpkgs/nodejs/patches/python3.11.patch b/srcpkgs/nodejs/patches/python3.11.patch deleted file mode 100644 index 7b9dbcb99584..000000000000 --- a/srcpkgs/nodejs/patches/python3.11.patch +++ /dev/null @@ -1,74 +0,0 @@ -From cf748ad2b7f760e2df1bc8a811f887161b892534 Mon Sep 17 00:00:00 2001 -From: Luigi Pinca -Date: Wed, 26 Oct 2022 15:01:59 +0200 -Subject: [PATCH] build: support Python 3.11 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -PR-URL: https://github.com/nodejs/node/pull/45191 -Reviewed-By: Rich Trott -Reviewed-By: Moshe Atlow -Reviewed-By: Richard Lau -Reviewed-By: Christian Clauss -Reviewed-By: Yagiz Nizipli -Reviewed-By: James M Snell -Reviewed-By: Jiawen Geng -Reviewed-By: Juan José Arboleda ---- - BUILDING.md | 6 +++--- - configure | 3 ++- - 2 files changed, 5 insertions(+), 4 deletions(-) - -diff --git a/BUILDING.md b/BUILDING.md -index 0dd954880131..e66aa314d329 100644 ---- a/BUILDING.md -+++ b/BUILDING.md -@@ -225,7 +225,7 @@ The Node.js project supports Python >= 3 for building and testing. - - * `gcc` and `g++` >= 8.3 or newer - * GNU Make 3.81 or newer --* Python 3.6, 3.7, 3.8, 3.9, or 3.10 (see note above) -+* Python >=3.6 <=3.11 (see note above) - * For test coverage, your Python installation must include pip. - - Installation via Linux package manager can be achieved with: -@@ -241,7 +241,7 @@ FreeBSD and OpenBSD users may also need to install `libexecinfo`. - #### macOS prerequisites - - * Xcode Command Line Tools >= 11 for macOS --* Python 3.6, 3.7, 3.8, 3.9, or 3.10 (see note above) -+* Python >=3.6 <=3.11 (see note above) - * For test coverage, your Python installation must include pip. - - macOS users can install the `Xcode Command Line Tools` by running -@@ -565,7 +565,7 @@ to run it again before invoking `make -j4`. - - ##### Option 1: Manual install - --* [Python 3.10](https://www.microsoft.com/en-us/p/python-310/9pjpw5ldxlz5) -+* [Python 3.11](https://apps.microsoft.com/store/detail/python-311/9NRWMJP3717K) - * The "Desktop development with C++" workload from - [Visual Studio 2019](https://visualstudio.microsoft.com/vs/older-downloads/#visual-studio-2019-and-other-products) or - the "C++ build tools" workload from the -diff --git a/configure b/configure -index 6ef2da2e631e..fefb313c9cd1 100755 ---- a/configure -+++ b/configure -@@ -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.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" "$@" - command -v python3.8 >/dev/null && exec python3.8 "$0" "$@" -@@ -22,7 +23,7 @@ except ImportError: - from distutils.spawn import find_executable as which - - print('Node.js configure: Found Python {}.{}.{}...'.format(*sys.version_info)) --acceptable_pythons = ((3, 10), (3, 9), (3, 8), (3, 7), (3, 6)) -+acceptable_pythons = ((3, 11), (3, 10), (3, 9), (3, 8), (3, 7), (3, 6)) - if sys.version_info[:2] in acceptable_pythons: - import configure - else: diff --git a/srcpkgs/nodejs/template b/srcpkgs/nodejs/template index 43d70f938ed3..4306aee17a1b 100644 --- a/srcpkgs/nodejs/template +++ b/srcpkgs/nodejs/template @@ -1,6 +1,6 @@ # Template file for 'nodejs' pkgname=nodejs -version=18.12.1 +version=18.14.0 revision=1 # Need these for host v8 for torque, see https://github.com/nodejs/node/pull/21079 hostmakedepends="which pkg-config python3 libatomic-devel zlib-devel @@ -15,7 +15,7 @@ maintainer="Enno Boland " license="MIT" homepage="https://nodejs.org/" distfiles="https://nodejs.org/dist/v${version}/node-v${version}.tar.gz" -checksum=ba8174dda00d5b90943f37c6a180a1d37c861d91e04a4cb38dc1c0c74981c186 +checksum=4a13d9561ecc8d3c998ef952ab173396f84357572bd6ff1100012e4a10604c6b python_version=3 build_options="ssl libuv icu nghttp2 cares" @@ -41,7 +41,7 @@ fi case "$XBPS_TARGET_MACHINE" in ppc64*) ;; - ppc*) broken="Node 16.x does not support 32-bit ppc" ;; + ppc*) broken="Node 18.x does not support 32-bit ppc" ;; esac CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" From b2f95e4b97d5c35e2b92f9c31b7a6aebe232b151 Mon Sep 17 00:00:00 2001 From: Michal Vasilek Date: Thu, 2 Mar 2023 21:44:54 +0100 Subject: [PATCH 3/3] nodejs: update to 18.14.2. --- srcpkgs/nodejs/patches/nodejs18.patch | 11 ----------- srcpkgs/nodejs/template | 4 ++-- 2 files changed, 2 insertions(+), 13 deletions(-) delete mode 100644 srcpkgs/nodejs/patches/nodejs18.patch diff --git a/srcpkgs/nodejs/patches/nodejs18.patch b/srcpkgs/nodejs/patches/nodejs18.patch deleted file mode 100644 index a508017bb60f..000000000000 --- a/srcpkgs/nodejs/patches/nodejs18.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/element-desktop/node_modules/node-gyp/gyp/pylib/gyp/input.py -+++ b/element-desktop/node_modules/node-gyp/gyp/pylib/gyp/input.py -@@ -234,7 +234,7 @@ - if check: - build_file_data = CheckedEval(build_file_contents) - else: -- build_file_data = eval(build_file_contents, {"__builtins__": {}}, None) -+ build_file_data = eval(build_file_contents, {"__builtins__": {"openssl_fips": ""}}, None) - except SyntaxError as e: - e.filename = build_file_path - raise diff --git a/srcpkgs/nodejs/template b/srcpkgs/nodejs/template index 4306aee17a1b..8484adfd5e7d 100644 --- a/srcpkgs/nodejs/template +++ b/srcpkgs/nodejs/template @@ -1,6 +1,6 @@ # Template file for 'nodejs' pkgname=nodejs -version=18.14.0 +version=18.14.2 revision=1 # Need these for host v8 for torque, see https://github.com/nodejs/node/pull/21079 hostmakedepends="which pkg-config python3 libatomic-devel zlib-devel @@ -15,7 +15,7 @@ maintainer="Enno Boland " license="MIT" homepage="https://nodejs.org/" distfiles="https://nodejs.org/dist/v${version}/node-v${version}.tar.gz" -checksum=4a13d9561ecc8d3c998ef952ab173396f84357572bd6ff1100012e4a10604c6b +checksum=850aebb879e3efd904ebfe65325caa97b013773bb94fafd2d0fb794324918252 python_version=3 build_options="ssl libuv icu nghttp2 cares"