1# This recipe requires online access to build, as it uses NPM for dependency 2# management and resolution. 3PR = "r1" 4PV = "1.0+git${SRCPV}" 5LICENSE = "Apache-2.0" 6LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" 7 8SRC_URI = "git://github.com/openbmc/phosphor-webui.git" 9SRCREV = "1c43b312769fcf9fe4e41bf6d7336402d06bed6e" 10S = "${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 48