514aea0be46ea64042e57aaee06e2b0f92491de9
[AGL/meta-agl-demo.git] / recipes-demo-hmi / CES2017-demo / CES2017-demo.bb
1 SUMMARY     = "App Launcher for the AGL Demonstrator @ CES2017"
2 DESCRIPTION = "App Lanucher app in QML format for the AGL Demonstrator @ CESS2017"
3 HOMEPAGE    = "https://git.automotivelinux.org/gerrit/#/admin/projects/AGL/DemoApps/CES2017"
4 LICENSE     = "MPL-2.0"
5 SECTION     = "apps"
6 PV          = "1.0+git${SRCPV}"
7 S           = "${WORKDIR}/git/"
8 PN          = "ces2017-demo"
9
10 inherit qmake5
11 DEPENDS = "homescreen zip-native qtmultimedia qtquickcontrols2"
12
13 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=815ca599c9df247a0c7f619bab123dad"
14
15 # ALS, CES, FOSDEM available
16 AGL_RADIO_PRESETS_LOCALE ?= "CES"
17
18 SRC_URI     = "git://gerrit.automotivelinux.org/gerrit/AGL/DemoApps/CES2017;protocol=http \
19                file://presets-ALS.conf \
20                file://presets-CES.conf \
21                file://presets-FOSDEM.conf \
22               "
23 SRCREV      = "${AUTOREV}"
24
25 # Pinned branch/SRCREV for Charming Chinook
26 SRC_URI_chinook = "git://gerrit.automotivelinux.org/gerrit/AGL/DemoApps/CES2017;protocol=http;branch=chinook \
27                    file://presets-ALS.conf \
28                    file://presets-CES.conf \
29                    file://presets-FOSDEM.conf \
30                   "
31 SRCREV_chinook = "354195c83841240ddd5f2c5daad97d66cc9e1d28"
32
33 RDEPENDS_${PN} += " \
34     qtmultimedia-qmlplugins \
35     qtmultimedia-rtlfm-radio-plugin \
36     qtquickcontrols-qmlplugins \
37     qtquickcontrols2-qmlplugins \
38     qtsvg-plugins \
39     "
40
41 do_install_prepend() {
42     echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \
43 <widget xmlns=\"http://www.w3.org/ns/widgets\" id=\"controls\" version=\"0.1\"> \
44   <name>Controls</name> \
45   <content src=\"controls\" type=\"application/x-executable\"/> \
46   <description>Controls app.</description> \
47   <author>Qt</author> \
48   <icon src=\"controls.png\"/> \
49   <license>Apache 2.0</license> \
50 </widget> \
51 " > ${B}/apps/Controls/config.xml
52
53     cd ${B}/apps/Controls/
54     zip controls.wgt config.xml controls
55
56
57
58     echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \
59 <widget xmlns=\"http://www.w3.org/ns/widgets\" id=\"dashboard\" version=\"0.1\"> \
60   <name>Dashboard</name> \
61   <content src=\"dashboard\" type=\"application/x-executable\"/> \
62   <description>Dashboard app.</description> \
63   <author>Qt</author> \
64   <icon src=\"dashboard.png\"/> \
65   <license>Apache 2.0</license> \
66 </widget> \
67 " > ${B}/apps/Dashboard/config.xml
68
69     cd ${B}/apps/Dashboard/
70     zip dashboard.wgt config.xml dashboard
71
72
73
74     echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \
75 <widget xmlns=\"http://www.w3.org/ns/widgets\" id=\"phone\" version=\"0.1\"> \
76   <name>Phone</name> \
77   <content src=\"phone\" type=\"application/x-executable\"/> \
78   <description>Phone app.</description> \
79   <author>Qt</author> \
80   <icon src=\"phone.png\"/> \
81   <license>Apache 2.0</license> \
82 </widget> \
83 " > ${B}/apps/Phone/config.xml
84
85     cd ${B}/apps/Phone/
86     zip phone.wgt config.xml phone
87
88
89
90     echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \
91 <widget xmlns=\"http://www.w3.org/ns/widgets\" id=\"radio\" version=\"0.1\"> \
92   <name>Radio</name> \
93   <content src=\"radio\" type=\"application/x-executable\"/> \
94   <description>Radio app.</description> \
95   <author>Qt</author> \
96   <icon src=\"radio.png\"/> \
97   <license>Apache 2.0</license> \
98 </widget> \
99 " > ${B}/apps/Radio/config.xml
100
101     cd ${B}/apps/Radio/
102     zip radio.wgt config.xml radio
103
104
105     cat > ${B}/apps/installAllApps.sh <<-EOF
106         #!/bin/sh
107         cd /usr/AGL/apps
108         for file in \`find . -maxdepth 1 -name '*.wgt'\`; do
109
110             /usr/bin/afm-util install \$file
111         done
112         sync
113         
114         #it's Workaround
115         cyad -s -k MANIFESTS -t allow -c User::App::navigation -u '*' -p 'http://tizen.org/privilege/internal/dbus'
116         cyad -s -k MANIFESTS -t allow -c User::App::poi -u '*' -p 'http://tizen.org/privilege/internal/dbus'
117         EOF
118 }
119
120 do_install() {
121     install -d ${D}/usr/AGL/${PN}
122     install -d ${D}/usr/AGL/apps
123     install -m 0644 ${B}/apps/Controls/controls.wgt ${D}/usr/AGL/apps/
124     install -m 0644 ${B}/apps/Dashboard/dashboard.wgt ${D}/usr/AGL/apps/
125     install -m 0644 ${B}/apps/Phone/phone.wgt ${D}/usr/AGL/apps/
126     install -m 0644 ${B}/apps/Radio/radio.wgt ${D}/usr/AGL/apps/
127     install -d ${D}/home/root/app-data/radio
128     install -m 0644 ${WORKDIR}/presets-CES.conf ${D}/home/root/app-data/radio/
129     install -m 0644 ${WORKDIR}/presets-ALS.conf ${D}/home/root/app-data/radio/
130     install -m 0644 ${WORKDIR}/presets-FOSDEM.conf ${D}/home/root/app-data/radio/
131     install -m 0644 ${WORKDIR}/presets-${AGL_RADIO_PRESETS_LOCALE}.conf ${D}/home/root/app-data/radio/presets.conf
132
133     install -m 0755 ${B}/apps/installAllApps.sh ${D}/usr/AGL/apps/
134     ln -sf            ../apps/installAllApps.sh ${D}/usr/AGL/${PN}/installAllApps.sh
135
136     install -d ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
137     install -m 0644 ${S}/imports/AGL/Demo/Controls/qmldir ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
138     install -m 0644 ${S}/imports/AGL/Demo/Controls/ImageButton.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
139     install -m 0644 ${S}/imports/AGL/Demo/Controls/ToggleButton.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
140     install -m 0644 ${S}/imports/AGL/Demo/Controls/Key.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
141     install -m 0644 ${S}/imports/AGL/Demo/Controls/AbstractKeyboard.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
142     install -m 0644 ${S}/imports/AGL/Demo/Controls/Symbols.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
143     install -m 0644 ${S}/imports/AGL/Demo/Controls/Alphabet.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
144     install -m 0644 ${S}/imports/AGL/Demo/Controls/Keyboard.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
145     install -d ${D}${libdir}/qt5/qml/AGL/Demo/Controls/images/
146     install -m 0644 ${S}/imports/AGL/Demo/Controls/images/Keyboard_Back.svg ${D}${libdir}/qt5/qml/AGL/Demo/Controls/images/
147     install -m 0644 ${S}/imports/AGL/Demo/Controls/images/Keyboard_Shift.svg ${D}${libdir}/qt5/qml/AGL/Demo/Controls/images/
148     install -m 0644 ${S}/imports/AGL/Demo/Controls/images/Keyboard_Space.svg ${D}${libdir}/qt5/qml/AGL/Demo/Controls/images/
149     install -m 0644 ${S}/imports/AGL/Demo/Controls/images/Keyboard_Arrow.svg ${D}${libdir}/qt5/qml/AGL/Demo/Controls/images/
150
151     install -d ${D}${libdir}/qt5/qml/QtQuick/Controls.2/AGL
152     install -m 0644 ${S}/imports/qtquickcontrols2aglstyle/*.qml ${D}${libdir}/qt5/qml/QtQuick/Controls.2/AGL
153
154     install -d ${D}${libdir}/qt5/qml/QtQuick/Controls.2/AGL/images/
155     install -m 0644 ${S}/imports/qtquickcontrols2aglstyle/images/* ${D}${libdir}/qt5/qml/QtQuick/Controls.2/AGL/images/
156 }
157
158 # plain copy in own folder for now
159 #do_install() {
160 #    mkdir -p ${D}/usr/AGL/CES2017/
161 #    cp -rf ./* ${D}/usr/AGL/CES2017/
162 #}
163
164 FILES_${PN} += "/usr/AGL/ \
165         /usr/AGL/apps/* \
166         /usr/AGL/${PN}/* \
167         /home/root/app-data/radio/presets-*.conf \
168         /home/root/app-data/radio/presets.conf \
169         /usr/lib/qt5/qml/AGL/Demo/Controls/qmldir \
170         /usr/lib/qt5/qml/AGL/Demo/Controls/ImageButton.qml \
171         /usr/lib/qt5/qml/AGL/Demo/Controls/ToggleButton.qml \
172         /usr/lib/qt5/qml/AGL/Demo/Controls/Key.qml \
173         /usr/lib/qt5/qml/AGL/Demo/Controls/AbstractKeyboard.qml \
174         /usr/lib/qt5/qml/AGL/Demo/Controls/Symbols.qml \
175         /usr/lib/qt5/qml/AGL/Demo/Controls/Alphabet.qml \
176         /usr/lib/qt5/qml/AGL/Demo/Controls/Keyboard.qml \
177         /usr/lib/qt5/qml/AGL/Demo/Controls/images/Keyboard_Back.svg \
178         /usr/lib/qt5/qml/AGL/Demo/Controls/images/Keyboard_Shift.svg \
179         /usr/lib/qt5/qml/AGL/Demo/Controls/images/Keyboard_Space.svg \
180         /usr/lib/qt5/qml/AGL/Demo/Controls/images/Keyboard_Arrow.svg \
181         /usr/lib/qt5/qml/QtQuick/Controls.2/AGL \
182         /usr/lib/qt5/qml/QtQuick/Controls.2/AGL/images \
183         "