45d75b7c7ca5d39b8b37229e95c4315d4f9e8448
[AGL/meta-agl-demo.git] / recipes-demo / flutter-ics-homescreen / flutter-ics-homescreen_git.bb
1 SUMMARY = "AGL ICS Flutter Homescreen"
2 DESCRIPTION = "Demo Flutter homescreen for Automotive Grade Linux by ICS."
3 HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/apps/flutter-ics-homescreen"
4 SECTION = "graphics"
5
6 LICENSE = "Apache-2.0"
7 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
8
9 SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/flutter-ics-homescreen;protocol=https;branch=${AGL_BRANCH} \
10   file://flutter-ics-homescreen.json \
11   file://flutter-ics-homescreen.service \
12   file://ics-homescreen.yaml \
13   file://ics-homescreen.yaml.gateway-demo \
14   file://ics-homescreen.yaml.kvm-demo \
15   file://ics-homescreen.yaml.kvm-gateway-demo \
16   file://ics-homescreen.token \
17   file://radio-presets.yaml \
18   file://kvm.conf \
19 "
20 SRCREV = "5587c6ae79b482fbff26442bb239d7d7eb55a337"
21
22 S = "${WORKDIR}/git"
23
24 PUBSPEC_APPNAME = "flutter_ics_homescreen"
25 FLUTTER_BUILD_ARGS = "bundle -v"
26
27 inherit flutter-app systemd update-alternatives
28
29 APP_CONFIG = "${BPN}.json"
30
31 SYSTEMD_SERVICE:${PN} = "flutter-ics-homescreen.service"
32
33 # Disable the background animation on all platforms except the Renesas M3/H3 for now
34 DISABLE_BG_ANIMATION = "-DDISABLE_BKG_ANIMATION=true"
35 DISABLE_BG_ANIMATION:rcar-gen3 = ""
36 APP_AOT_EXTRA:append = " ${DISABLE_BG_ANIMATION}"
37
38 do_install:append() {
39     install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service
40
41     install -D -m 0644 ${WORKDIR}/kvm.conf ${D}${systemd_system_unitdir}/${BPN}.service.d/kvm.conf
42
43     install -D -m 0644 ${WORKDIR}/${APP_CONFIG} ${D}${datadir}/flutter/${BPN}.json
44
45     # VIS authorization token file for KUKSA.val should ideally not
46     # be readable by other users, but currently that's not doable
47     # until a packaging/sandboxing/MAC scheme is (re)implemented or
48     # something like OAuth is plumbed in as an alternative.
49     install -d ${D}${sysconfdir}/xdg/AGL/ics-homescreen
50     install -m 0644 ${WORKDIR}/ics-homescreen.yaml ${D}${sysconfdir}/xdg/AGL/ics-homescreen.yaml.default
51     install -m 0644 ${WORKDIR}/ics-homescreen.yaml.gateway-demo ${D}${sysconfdir}/xdg/AGL/
52     install -m 0644 ${WORKDIR}/ics-homescreen.yaml.kvm-demo ${D}${sysconfdir}/xdg/AGL/
53     install -m 0644 ${WORKDIR}/ics-homescreen.yaml.kvm-gateway-demo ${D}${sysconfdir}/xdg/AGL/
54     install -m 0644 ${WORKDIR}/ics-homescreen.token ${D}${sysconfdir}/xdg/AGL/ics-homescreen/
55     install -m 0644 ${WORKDIR}/radio-presets.yaml ${D}${sysconfdir}/xdg/AGL/ics-homescreen/
56 }
57
58 ALTERNATIVE_LINK_NAME[ics-homescreen.yaml] = "${sysconfdir}/xdg/AGL/ics-homescreen.yaml"
59
60 FILES:${PN} += "${datadir} ${sysconfdir}/xdg/AGL"
61
62 RDEPENDS:${PN} += " \
63     flutter-auto \
64     agl-flutter-env \
65     applaunchd \
66 "
67
68 PACKAGE_BEFORE_PN += "${PN}-conf"
69 FILES:${PN}-conf += "${sysconfdir}/xdg/AGL/ics-homescreen.yaml.default"
70 RDEPENDS:${PN}-conf = "${PN}"
71 RPROVIDES:${PN}-conf = "ics-homescreen.yaml"
72 ALTERNATIVE:${PN}-conf = "ics-homescreen.yaml"
73 ALTERNATIVE_TARGET_${PN}-conf = "${sysconfdir}/xdg/AGL/ics-homescreen.yaml.default"
74
75 PACKAGE_BEFORE_PN += "${PN}-conf-gateway-demo"
76 FILES:${PN}-conf-gateway-demo += "${sysconfdir}/xdg/AGL/ics-homescreen.yaml.gateway-demo"
77 RDEPENDS:${PN}-conf-gateway-demo = "${PN}"
78 RPROVIDES:${PN}-conf-gateway-demo = "ics-homescreen.yaml"
79 ALTERNATIVE:${PN}-conf-gateway-demo = "ics-homescreen.yaml"
80 ALTERNATIVE_TARGET_${PN}-conf-gateway-demo = "${sysconfdir}/xdg/AGL/ics-homescreen.yaml.gateway-demo"
81 ALTERNATIVE_PRIORITY_${PN}-conf-gateway-demo = "20"
82
83 # systemd override to add network-online.target dependency for KVM setups
84 PACKAGE_BEFORE_PN += "${PN}-conf-kvm"
85 FILES:${PN}-conf-kvm += "${systemd_system_unitdir}/flutter-ics-homescreen.service.d/kvm.conf"
86 RDEPENDS:${PN}-conf-kvm = "${PN}"
87
88 PACKAGE_BEFORE_PN += "${PN}-conf-kvm-demo"
89 FILES:${PN}-conf-kvm-demo += "${sysconfdir}/xdg/AGL/ics-homescreen.yaml.kvm-demo"
90 RDEPENDS:${PN}-conf-kvm-demo = "${PN} ${PN}-conf-kvm"
91 RPROVIDES:${PN}-conf-kvm-demo = "ics-homescreen.yaml"
92 ALTERNATIVE:${PN}-conf-kvm-demo = "ics-homescreen.yaml"
93 ALTERNATIVE_TARGET_${PN}-conf-kvm-demo = "${sysconfdir}/xdg/AGL/ics-homescreen.yaml.kvm-demo"
94 ALTERNATIVE_PRIORITY_${PN}-conf-kvm-demo = "30"
95
96 PACKAGE_BEFORE_PN += "${PN}-conf-kvm-gateway-demo"
97 FILES:${PN}-conf-kvm-gateway-demo += "${sysconfdir}/xdg/AGL/ics-homescreen.yaml.kvm-gateway-demo"
98 RDEPENDS:${PN}-conf-kvm-gateway-demo = "${PN} ${PN}-conf-kvm"
99 RPROVIDES:${PN}-conf-kvm-gateway-demo = "ics-homescreen.yaml"
100 ALTERNATIVE:${PN}-conf-kvm-gateway-demo = "ics-homescreen.yaml"
101 ALTERNATIVE_TARGET_${PN}-conf-kvm-gateway-demo = "${sysconfdir}/xdg/AGL/ics-homescreen.yaml.kvm-gateway-demo"
102 ALTERNATIVE_PRIORITY_${PN}-conf-kvm-gateway-demo = "31"