diff options
Diffstat (limited to 'import-layers/yocto-poky/meta/classes/npm.bbclass')
-rw-r--r-- | import-layers/yocto-poky/meta/classes/npm.bbclass | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/import-layers/yocto-poky/meta/classes/npm.bbclass b/import-layers/yocto-poky/meta/classes/npm.bbclass index 9843e8735..fce4c1146 100644 --- a/import-layers/yocto-poky/meta/classes/npm.bbclass +++ b/import-layers/yocto-poky/meta/classes/npm.bbclass @@ -1,9 +1,25 @@ DEPENDS_prepend = "nodejs-native " +RDEPENDS_${PN}_prepend = "nodejs " S = "${WORKDIR}/npmpkg" NPM_INSTALLDIR = "${D}${libdir}/node_modules/${PN}" +# function maps arch names to npm arch names +def npm_oe_arch_map(target_arch, 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_oe_arch_map(d.getVar('TARGET_ARCH', True), d)}" + npm_do_compile() { + # Copy in any additionally fetched modules + if [ -d ${WORKDIR}/node_modules ] ; then + cp -a ${WORKDIR}/node_modules ${S}/ + fi # changing the home directory to the working directory, the .npmrc will # be created in this directory export HOME=${WORKDIR} @@ -12,7 +28,7 @@ npm_do_compile() { # clear cache before every build npm cache clear # Install pkg into ${S} without going to the registry - npm --arch=${TARGET_ARCH} --production --no-registry install + npm --arch=${NPM_ARCH} --target_arch=${NPM_ARCH} --production --no-registry install } npm_do_install() { @@ -35,10 +51,10 @@ python populate_packages_prepend () { if pdata: version = pdata.get('version', None) if version: - d.setVar('PKGV_%s' % expanded_pkgname, version.encode("utf8")) + d.setVar('PKGV_%s' % expanded_pkgname, version) description = pdata.get('description', None) if description: - d.setVar('SUMMARY_%s' % expanded_pkgname, description.replace(u"\u2018", "'").replace(u"\u2019", "'").encode("utf8")) + d.setVar('SUMMARY_%s' % expanded_pkgname, description.replace(u"\u2018", "'").replace(u"\u2019", "'")) d.appendVar('RDEPENDS_%s' % d.getVar('PN', True), ' %s' % ' '.join(pkgnames).replace('_', '-')) } |