1# allarch is required because the files this recipe produces (html and 2# javascript) are valid for any target, regardless of architecture. The allarch 3# class removes your compiler definitions, as it assumes that anything that 4# requires a compiler is platform specific. Unfortunately, one of the build 5# tools uses libsass for compiling the css templates, and it needs a compiler to 6# build the library that it then uses to compress the scss into normal css. 7# Enabling allarch, then re-adding the compiler flags was the best of the bad 8# options 9LICENSE = "Apache-2.0" 10LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" 11DEPENDS:prepend = "nodejs-native " 12SRCREV = "7c1cfe7e25957fc915fc9790bdf78887295b1fee" 13PV = "1.0+git${SRCPV}" 14# This recipe requires online access to build, as it uses NPM for dependency 15# management and resolution. 16PR = "r1" 17 18SRC_URI = "git://github.com/openbmc/webui-vue.git;branch=master;protocol=https" 19 20S = "${WORKDIR}/git" 21 22inherit allarch 23 24EXTRA_OENPM ?= "" 25 26export CXX = "${BUILD_CXX}" 27export CC = "${BUILD_CC}" 28export CFLAGS = "${BUILD_CFLAGS}" 29export CPPFLAGS = "${BUILD_CPPFLAGS}" 30export CXXFLAGS = "${BUILD_CXXFLAGS}" 31 32# Workaround 33# Network access from task are disabled by default on Yocto 3.5 34# https://git.yoctoproject.org/poky/tree/documentation/migration-guides/migration-3.5.rst#n25 35do_compile[network] = "1" 36do_compile () { 37 cd ${S} 38 rm -rf node_modules 39 npm --loglevel info --proxy=${http_proxy} --https-proxy=${https_proxy} install 40 npm run build ${EXTRA_OENPM} 41} 42do_install () { 43 # create directory structure 44 install -d ${D}${datadir}/www 45 cp -r ${S}/dist/** ${D}${datadir}/www 46 find ${D}${datadir}/www -type f -exec chmod a=r,u+w '{}' + 47 find ${D}${datadir}/www -type d -exec chmod a=rx,u+w '{}' + 48} 49 50FILES:${PN} += "${datadir}/www/*" 51