mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-04 02:31:27 +00:00
nodejs: backport (partially) python 3.12 support
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
committed by
Khem Raj
parent
1872badd73
commit
6ce73e925d
@@ -0,0 +1,55 @@
|
|||||||
|
From 656f6c91f1da7f1e1ffb01e2de7d9026a84958b5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Luigi Pinca <luigipinca@gmail.com>
|
||||||
|
Date: Wed, 8 Nov 2023 21:20:53 +0100
|
||||||
|
Subject: [PATCH] build: fix build with Python 3.12
|
||||||
|
|
||||||
|
Replace `distutils.version.StrictVersion` with
|
||||||
|
`packaging.version.Version`.
|
||||||
|
|
||||||
|
Refs: https://github.com/nodejs/node/pull/50209#issuecomment-1795852539
|
||||||
|
PR-URL: https://github.com/nodejs/node/pull/50582
|
||||||
|
Reviewed-By: Richard Lau <rlau@redhat.com>
|
||||||
|
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
|
||||||
|
|
||||||
|
Upstream-Status: Backport [https://github.com/nodejs/node/commit/95534ad82f4e33f53fd50efe633d43f8da70cba6]
|
||||||
|
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
|
||||||
|
---
|
||||||
|
configure.py | 11 +++++------
|
||||||
|
1 file changed, 5 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure.py b/configure.py
|
||||||
|
index 62f041ce..18fe7c14 100755
|
||||||
|
--- a/configure.py
|
||||||
|
+++ b/configure.py
|
||||||
|
@@ -14,8 +14,6 @@ import bz2
|
||||||
|
import io
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
-from distutils.version import StrictVersion
|
||||||
|
-
|
||||||
|
# If not run from node/, cd to node/.
|
||||||
|
os.chdir(Path(__file__).parent)
|
||||||
|
|
||||||
|
@@ -30,6 +28,7 @@ tools_path = Path('tools')
|
||||||
|
|
||||||
|
sys.path.insert(0, str(tools_path / 'gyp' / 'pylib'))
|
||||||
|
from gyp.common import GetFlavor
|
||||||
|
+from packaging.version import Version
|
||||||
|
|
||||||
|
# imports in tools/configure.d
|
||||||
|
sys.path.insert(0, str(tools_path / 'configure.d'))
|
||||||
|
@@ -1565,10 +1564,10 @@ def configure_openssl(o):
|
||||||
|
# supported asm compiler for AVX2. See https://github.com/openssl/openssl/
|
||||||
|
# blob/OpenSSL_1_1_0-stable/crypto/modes/asm/aesni-gcm-x86_64.pl#L52-L69
|
||||||
|
openssl110_asm_supported = \
|
||||||
|
- ('gas_version' in variables and StrictVersion(variables['gas_version']) >= StrictVersion('2.23')) or \
|
||||||
|
- ('xcode_version' in variables and StrictVersion(variables['xcode_version']) >= StrictVersion('5.0')) or \
|
||||||
|
- ('llvm_version' in variables and StrictVersion(variables['llvm_version']) >= StrictVersion('3.3')) or \
|
||||||
|
- ('nasm_version' in variables and StrictVersion(variables['nasm_version']) >= StrictVersion('2.10'))
|
||||||
|
+ ('gas_version' in variables and Version(variables['gas_version']) >= Version('2.23')) or \
|
||||||
|
+ ('xcode_version' in variables and Version(variables['xcode_version']) >= Version('5.0')) or \
|
||||||
|
+ ('llvm_version' in variables and Version(variables['llvm_version']) >= Version('3.3')) or \
|
||||||
|
+ ('nasm_version' in variables and Version(variables['nasm_version']) >= Version('2.10'))
|
||||||
|
|
||||||
|
if is_x86 and not openssl110_asm_supported:
|
||||||
|
error('''Did not find a new enough assembler, install one or build with
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
From bf8c96ba6936050ed4a0de5bc8aeeaf2b3c50dc1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Alexander Kanavin <alex@linutronix.de>
|
||||||
|
Date: Thu, 7 Dec 2023 12:54:30 +0100
|
||||||
|
Subject: [PATCH] gyp: resolve python 3.12 issues
|
||||||
|
|
||||||
|
Upstream has updated gyp wholesale in the main branch, so
|
||||||
|
this patch can be dropped in due time.
|
||||||
|
|
||||||
|
Upstream-Status: Inappropriate [issue will be fixed upstream with the next nodejs LTS update]
|
||||||
|
|
||||||
|
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
|
||||||
|
---
|
||||||
|
deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py | 4 ++--
|
||||||
|
tools/gyp/pylib/gyp/input.py | 4 ++--
|
||||||
|
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py
|
||||||
|
index d9699a0a..173e9465 100644
|
||||||
|
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py
|
||||||
|
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py
|
||||||
|
@@ -16,7 +16,7 @@ import subprocess
|
||||||
|
import sys
|
||||||
|
import threading
|
||||||
|
import traceback
|
||||||
|
-from distutils.version import StrictVersion
|
||||||
|
+from packaging.version import Version
|
||||||
|
from gyp.common import GypError
|
||||||
|
from gyp.common import OrderedSet
|
||||||
|
|
||||||
|
@@ -1183,7 +1183,7 @@ def EvalSingleCondition(cond_expr, true_dict, false_dict, phase, variables, buil
|
||||||
|
else:
|
||||||
|
ast_code = compile(cond_expr_expanded, "<string>", "eval")
|
||||||
|
cached_conditions_asts[cond_expr_expanded] = ast_code
|
||||||
|
- env = {"__builtins__": {}, "v": StrictVersion}
|
||||||
|
+ env = {"__builtins__": {}, "v": Version}
|
||||||
|
if eval(ast_code, env, variables):
|
||||||
|
return true_dict
|
||||||
|
return false_dict
|
||||||
|
diff --git a/tools/gyp/pylib/gyp/input.py b/tools/gyp/pylib/gyp/input.py
|
||||||
|
index 354958bf..ab6112e5 100644
|
||||||
|
--- a/tools/gyp/pylib/gyp/input.py
|
||||||
|
+++ b/tools/gyp/pylib/gyp/input.py
|
||||||
|
@@ -16,7 +16,7 @@ import subprocess
|
||||||
|
import sys
|
||||||
|
import threading
|
||||||
|
import traceback
|
||||||
|
-from distutils.version import StrictVersion
|
||||||
|
+from packaging.version import Version
|
||||||
|
from gyp.common import GypError
|
||||||
|
from gyp.common import OrderedSet
|
||||||
|
|
||||||
|
@@ -1190,7 +1190,7 @@ def EvalSingleCondition(cond_expr, true_dict, false_dict, phase, variables, buil
|
||||||
|
else:
|
||||||
|
ast_code = compile(cond_expr_expanded, "<string>", "eval")
|
||||||
|
cached_conditions_asts[cond_expr_expanded] = ast_code
|
||||||
|
- env = {"__builtins__": {}, "v": StrictVersion}
|
||||||
|
+ env = {"__builtins__": {}, "v": Version}
|
||||||
|
if eval(ast_code, env, variables):
|
||||||
|
return true_dict
|
||||||
|
return false_dict
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
||||||
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=162595a4a2f3453a0534e60b0afe4e7b"
|
|||||||
|
|
||||||
CVE_PRODUCT = "nodejs node.js"
|
CVE_PRODUCT = "nodejs node.js"
|
||||||
|
|
||||||
DEPENDS = "openssl file-replacement-native"
|
DEPENDS = "openssl file-replacement-native python3-packaging-native"
|
||||||
DEPENDS:append:class-target = " qemu-native"
|
DEPENDS:append:class-target = " qemu-native"
|
||||||
DEPENDS:append:class-native = " c-ares-native"
|
DEPENDS:append:class-native = " c-ares-native"
|
||||||
|
|
||||||
@@ -27,6 +27,8 @@ SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
|
|||||||
file://0001-Revert-io_uring-changes-from-libuv-1.46.0.patch \
|
file://0001-Revert-io_uring-changes-from-libuv-1.46.0.patch \
|
||||||
file://0002-Revert-io_uring-changes-from-libuv-1.45.0.patch \
|
file://0002-Revert-io_uring-changes-from-libuv-1.45.0.patch \
|
||||||
file://run-ptest \
|
file://run-ptest \
|
||||||
|
file://0001-build-fix-build-with-Python-3.12.patch \
|
||||||
|
file://0001-gyp-resolve-python-3.12-issues.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
SRC_URI:append:class-target = " \
|
SRC_URI:append:class-target = " \
|
||||||
|
|||||||
Reference in New Issue
Block a user