swupdategui-rs_git.bb 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. SUMMARY = "Recovery GUI application (Rust)"
  2. DESCRIPTION = "GUI for the recovery system, written in Rust. It works with LVGL \
  3. and the framebuffer and talks to SWUpdate via libswupdate. It is a drop-in \
  4. replacement for swupdate-gui."
  5. HOMEPAGE = "https://github.com/sbabic/SWUpdateGUI"
  6. LICENSE = "GPL-2.0-or-later"
  7. LIC_FILES_CHKSUM = "file://LICENSE;md5=de4b1111cc7f3c8bc81546de6f9b24e4"
  8. SRC_URI = "git://github.com/sbabic/SWUpdateGUI.git;protocol=https;branch=rust-port \
  9. file://swupdate-gui.service \
  10. file://90-recovery-gui.rules \
  11. "
  12. SRCREV = "de64c91ea54671f25c47029cfcd36fc8a7a05a41"
  13. PV = "1.0.0+git"
  14. include swupdategui-rs-crates.inc
  15. inherit cargo cargo-update-recipe-crates pkgconfig systemd
  16. # Bindings for LVGL and libswupdate are generated by bindgen, which needs libclang.
  17. # LVGL is found with pkg-config, libswupdate in the target sysroot.
  18. DEPENDS += "clang-native lvgl swupdate"
  19. export BINDGEN_EXTRA_CLANG_ARGS = "--sysroot=${STAGING_DIR_HOST} -I${STAGING_INCDIR}"
  20. export SWUPDATE_INCLUDE_DIR = "${STAGING_INCDIR}"
  21. export SWUPDATE_LIB_DIR = "${STAGING_LIBDIR}"
  22. SYSTEMD_SERVICE:${PN} = "swupdate-gui.service"
  23. do_install:append() {
  24. install -d ${D}${systemd_system_unitdir}
  25. install -m 0644 ${UNPACKDIR}/swupdate-gui.service ${D}${systemd_system_unitdir}
  26. install -d ${D}${sysconfdir}/recovery_gui
  27. install -m 0644 ${S}/config/config.txt ${D}${sysconfdir}/recovery_gui/
  28. install -d ${D}${bindir}
  29. for script in ${S}/scripts/recovery-*.sh; do
  30. install -m 0755 ${script} ${D}${bindir}
  31. done
  32. # The GUI opens /dev/fb and /dev/input/{keyboard0,touchscreen0}
  33. install -d ${D}${sysconfdir}/udev/rules.d
  34. install -m 0644 ${UNPACKDIR}/90-recovery-gui.rules ${D}${sysconfdir}/udev/rules.d/
  35. }
  36. FILES:${PN} += "${sysconfdir}/udev/rules.d/90-recovery-gui.rules"
  37. # Same files as the C implementation
  38. RPROVIDES:${PN} = "swupdate-gui"
  39. RREPLACES:${PN} = "swupdate-gui"
  40. RCONFLICTS:${PN} = "swupdate-gui"
  41. RDEPENDS:${PN} = "swupdate"