npm.bbclass: Add npm class to match fetcher

npm class supports the npm fetcher, helping doing the basic compile/install
stages of an npm package

(From OE-Core rev: 4d2ad3e39242c947612023f4429bc8fb430551b5)

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Brendan Le Foll 2016-02-25 15:06:57 +00:00 committed by Richard Purdie
parent bc5a1d1684
commit 28d17cf942
1 changed files with 25 additions and 0 deletions

25
meta/classes/npm.bbclass Normal file
View File

@ -0,0 +1,25 @@
DEPENDS_prepend = "nodejs-native "
S = "${WORKDIR}/npmpkg"
npm_do_compile() {
# changing the home directory to the working directory, the .npmrc will
# be created in this directory
export HOME=${WORKDIR}
npm config set dev false
npm set cache ${WORKDIR}/npm_cache
# 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_do_install() {
mkdir -p ${D}${libdir}/node_modules/${PN}/
cp -a ${S}/* ${D}${libdir}/node_modules/${PN}/ --no-preserve=ownership
}
FILES_${PN} += " \
${libdir}/node_modules/${PN} \
"
EXPORT_FUNCTIONS do_compile do_install