SUMMARY = "Recovery GUI application (Rust)" DESCRIPTION = "GUI for the recovery system, written in Rust. It works with LVGL \ and the framebuffer and talks to SWUpdate via libswupdate. It is a drop-in \ replacement for swupdate-gui." HOMEPAGE = "https://github.com/sbabic/SWUpdateGUI" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://LICENSE;md5=de4b1111cc7f3c8bc81546de6f9b24e4" SRC_URI = "git://github.com/sbabic/SWUpdateGUI.git;protocol=https;branch=rust-port \ file://swupdate-gui.service \ file://90-recovery-gui.rules \ " SRCREV = "de64c91ea54671f25c47029cfcd36fc8a7a05a41" PV = "1.0.0+git" include swupdategui-rs-crates.inc inherit cargo cargo-update-recipe-crates pkgconfig systemd # Bindings for LVGL and libswupdate are generated by bindgen, which needs libclang. # LVGL is found with pkg-config, libswupdate in the target sysroot. DEPENDS += "clang-native lvgl swupdate" export BINDGEN_EXTRA_CLANG_ARGS = "--sysroot=${STAGING_DIR_HOST} -I${STAGING_INCDIR}" export SWUPDATE_INCLUDE_DIR = "${STAGING_INCDIR}" export SWUPDATE_LIB_DIR = "${STAGING_LIBDIR}" SYSTEMD_SERVICE:${PN} = "swupdate-gui.service" do_install:append() { install -d ${D}${systemd_system_unitdir} install -m 0644 ${UNPACKDIR}/swupdate-gui.service ${D}${systemd_system_unitdir} install -d ${D}${sysconfdir}/recovery_gui install -m 0644 ${S}/config/config.txt ${D}${sysconfdir}/recovery_gui/ install -d ${D}${bindir} for script in ${S}/scripts/recovery-*.sh; do install -m 0755 ${script} ${D}${bindir} done # The GUI opens /dev/fb and /dev/input/{keyboard0,touchscreen0} install -d ${D}${sysconfdir}/udev/rules.d install -m 0644 ${UNPACKDIR}/90-recovery-gui.rules ${D}${sysconfdir}/udev/rules.d/ } FILES:${PN} += "${sysconfdir}/udev/rules.d/90-recovery-gui.rules" # Same files as the C implementation RPROVIDES:${PN} = "swupdate-gui" RREPLACES:${PN} = "swupdate-gui" RCONFLICTS:${PN} = "swupdate-gui" RDEPENDS:${PN} = "swupdate"