blob: 225fdb5ebad2edc18ec3a6df4ad2d38026c11f73 [file] [log] [blame]
Gunnar Mills584fe712020-01-24 13:35:33 -06001# 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
Ed Tanous9936f862022-09-19 09:13:20 -07009LICENSE = "Apache-2.0"
10LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
11DEPENDS:prepend = "nodejs-native "
Andrew Geisslerc2d3e1c2023-11-28 15:30:22 -060012SRCREV = "1b417cd406ce65401dcb8d695fe5424287092cb1"
Ed Tanous9936f862022-09-19 09:13:20 -070013PV = "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"
Gunnar Mills584fe712020-01-24 13:35:33 -060021
22inherit allarch
23
Andrew Geissler2d866462023-09-25 10:58:58 -050024RDEPENDS:${PN}:append = " bmcweb"
25
Ed Tanous9936f862022-09-19 09:13:20 -070026EXTRA_OENPM ?= ""
27
Gunnar Mills584fe712020-01-24 13:35:33 -060028export CXX = "${BUILD_CXX}"
29export CC = "${BUILD_CC}"
30export CFLAGS = "${BUILD_CFLAGS}"
31export CPPFLAGS = "${BUILD_CPPFLAGS}"
32export CXXFLAGS = "${BUILD_CXXFLAGS}"
33
Ed Tanous9936f862022-09-19 09:13:20 -070034# Workaround
Jorge Cisneros14cef4e2022-02-15 21:01:20 +000035# Network access from task are disabled by default on Yocto 3.5
36# https://git.yoctoproject.org/poky/tree/documentation/migration-guides/migration-3.5.rst#n25
37do_compile[network] = "1"
Gunnar Mills584fe712020-01-24 13:35:33 -060038do_compile () {
39 cd ${S}
40 rm -rf node_modules
41 npm --loglevel info --proxy=${http_proxy} --https-proxy=${https_proxy} install
Abhishek Patel0b4f5492021-07-19 08:24:26 -050042 npm run build ${EXTRA_OENPM}
Gunnar Mills584fe712020-01-24 13:35:33 -060043}
Gunnar Mills584fe712020-01-24 13:35:33 -060044do_install () {
45 # create directory structure
46 install -d ${D}${datadir}/www
47 cp -r ${S}/dist/** ${D}${datadir}/www
48 find ${D}${datadir}/www -type f -exec chmod a=r,u+w '{}' +
49 find ${D}${datadir}/www -type d -exec chmod a=rx,u+w '{}' +
50}
51
Ed Tanous9936f862022-09-19 09:13:20 -070052FILES:${PN} += "${datadir}/www/*"