blob: 36b790f8fae8477b5c6489d622a80f41613a5f3f [file] [log] [blame]
Ed Tanousf8ce1242017-11-02 12:58:57 -07001# This recipe requires online access to build, as it uses NPM for dependency
2# management and resolution.
Patrick Venturefd8d54a2018-10-03 13:22:12 -07003PR = "r1"
4PV = "1.0+git${SRCPV}"
Ed Tanousf8ce1242017-11-02 12:58:57 -07005LICENSE = "Apache-2.0"
Ed Tanousf8ce1242017-11-02 12:58:57 -07006LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
Patrick Venturefd8d54a2018-10-03 13:22:12 -07007
8SRC_URI = "git://github.com/openbmc/phosphor-webui.git"
Andrew Geissler43056152019-03-26 17:42:36 +00009SRCREV = "20f7715ac50ec4bee9fc7032f53654518f5b8569"
Ed Tanousf8ce1242017-11-02 12:58:57 -070010S = "${WORKDIR}/git"
11
12DEPENDS_prepend = "nodejs-native "
13
14# allarch is required because the files this recipe produces (html and
15# javascript) are valid for any target, regardless of architecture. The allarch
16# class removes your compiler definitions, as it assumes that anything that
17# requires a compiler is platform specific. Unfortunately, one of the build
18# tools uses libsass for compiling the css templates, and it needs a compiler to
19# build the library that it then uses to compress the scss into normal css.
20# Enabling allarch, then re-adding the compiler flags was the best of the bad
21# options
22
23inherit allarch
24
25export CXX = "${BUILD_CXX}"
26export CC = "${BUILD_CC}"
27export CFLAGS = "${BUILD_CFLAGS}"
28export CPPFLAGS = "${BUILD_CPPFLAGS}"
29export CXXFLAGS = "${BUILD_CXXFLAGS}"
30
31FILES_${PN} += "${datadir}/www/*"
32
33do_compile () {
34 cd ${S}
35 rm -rf node_modules
36 npm --loglevel info --proxy=${HTTP_PROXY} --https-proxy=${HTTPS_PROXY} install
37 npm run-script build
38}
39
40do_install () {
41 # create directory structure
42 install -d ${D}${datadir}/www
43 cp -r ${S}/dist/** ${D}${datadir}/www
44 find ${D}${datadir}/www -type f -exec chmod a=r,u+w '{}' +
45 find ${D}${datadir}/www -type d -exec chmod a=rx,u+w '{}' +
46}
47