npm.bbclass: fix architecture mapping

Use the same code as the 'nodejs_16.4.bb recipe' for mapping the OE
arch to the NPM arch.

A noticeable change (and fix for exiting problems) is the move from
'arm' to 'arm64' for 'aarch64'.

(From OE-Core rev: cd773722cb66eea487c6004a006e1b88f0b07a5a)

Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Enrico Scholz
2022-08-22 13:13:37 +02:00
committed by Richard Purdie
parent b6caff521a
commit cf6648d437

View File

@@ -28,20 +28,18 @@ NPM_INSTALL_DEV ?= "0"
NPM_NODEDIR ?= "${RECIPE_SYSROOT_NATIVE}${prefix_native}"
def npm_target_arch_map(target_arch):
"""Maps arch names to npm arch names"""
## must match mapping in nodejs.bb (openembedded-meta)
def map_nodejs_arch(a, d):
import re
if re.match("p(pc|owerpc)(|64)", target_arch):
return "ppc"
elif re.match("i.86$", target_arch):
return "ia32"
elif re.match("x86_64$", target_arch):
return "x64"
elif re.match("arm64$", target_arch):
return "arm"
return target_arch
NPM_ARCH ?= "${@npm_target_arch_map(d.getVar("TARGET_ARCH"))}"
if re.match('i.86$', a): return 'ia32'
elif re.match('x86_64$', a): return 'x64'
elif re.match('aarch64$', a): return 'arm64'
elif re.match('(powerpc64|powerpc64le|ppc64le)$', a): return 'ppc64'
elif re.match('powerpc$', a): return 'ppc'
return a
NPM_ARCH ?= "${@map_nodejs_arch(d.getVar("TARGET_ARCH"), d)}"
NPM_PACKAGE = "${WORKDIR}/npm-package"
NPM_CACHE = "${WORKDIR}/npm-cache"