a81ceaf1d7243ada1040f742220a154097f29c1a
[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 AGL_RADIO_PRESETS_LOCALE ?= "CES"
16
17 SRC_URI     = "git://gerrit.automotivelinux.org/gerrit/AGL/DemoApps/CES2017;protocol=http \
18                file://presets-${AGL_RADIO_PRESETS_LOCALE}.conf \
19 "
20 SRCREV      = "${AUTOREV}"
21
22 RDEPENDS_${PN} += " \
23     qtmultimedia-qmlplugins \
24     qtmultimedia-rtlfm-radio-plugin \
25     qtquickcontrols-qmlplugins \
26     qtquickcontrols2-qmlplugins \
27     qtsvg-plugins \
28     "
29
30 do_install_prepend() {
31     echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \
32 <widget xmlns=\"http://www.w3.org/ns/widgets\" id=\"controls\" version=\"0.1\"> \
33   <name>Controls</name> \
34   <content src=\"controls\" type=\"application/x-executable\"/> \
35   <description>Controls app.</description> \
36   <author>Qt</author> \
37   <icon src=\"controls.png\"/> \
38   <license>Apache 2.0</license> \
39 </widget> \
40 " > ${B}/apps/Controls/config.xml
41
42     cd ${B}/apps/Controls/
43     zip controls.wgt config.xml controls
44
45
46
47     echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \
48 <widget xmlns=\"http://www.w3.org/ns/widgets\" id=\"dashboard\" version=\"0.1\"> \
49   <name>Dashboard</name> \
50   <content src=\"dashboard\" type=\"application/x-executable\"/> \
51   <description>Dashboard app.</description> \
52   <author>Qt</author> \
53   <icon src=\"dashboard.png\"/> \
54   <license>Apache 2.0</license> \
55 </widget> \
56 " > ${B}/apps/Dashboard/config.xml
57
58     cd ${B}/apps/Dashboard/
59     zip dashboard.wgt config.xml dashboard
60
61
62
63     echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \
64 <widget xmlns=\"http://www.w3.org/ns/widgets\" id=\"phone\" version=\"0.1\"> \
65   <name>Phone</name> \
66   <content src=\"phone\" type=\"application/x-executable\"/> \
67   <description>Phone app.</description> \
68   <author>Qt</author> \
69   <icon src=\"phone.png\"/> \
70   <license>Apache 2.0</license> \
71 </widget> \
72 " > ${B}/apps/Phone/config.xml
73
74     cd ${B}/apps/Phone/
75     zip phone.wgt config.xml phone
76
77
78
79     echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \
80 <widget xmlns=\"http://www.w3.org/ns/widgets\" id=\"radio\" version=\"0.1\"> \
81   <name>Radio</name> \
82   <content src=\"radio\" type=\"application/x-executable\"/> \
83   <description>Radio app.</description> \
84   <author>Qt</author> \
85   <icon src=\"radio.png\"/> \
86   <license>Apache 2.0</license> \
87 </widget> \
88 " > ${B}/apps/Radio/config.xml
89
90     cd ${B}/apps/Radio/
91     zip radio.wgt config.xml radio
92
93
94     cat > ${B}/apps/installAllApps.sh <<-EOF
95         #!/bin/sh
96         cd /usr/AGL/apps
97         for file in \`find . -maxdepth 1 -name '*.wgt'\`; do
98
99             /usr/bin/afm-util install \$file
100         done
101         sync
102         
103         #it's Workaround
104         cyad -s -k MANIFESTS -t allow -c User::App::navigation -u '*' -p 'http://tizen.org/privilege/internal/dbus'
105         cyad -s -k MANIFESTS -t allow -c User::App::poi -u '*' -p 'http://tizen.org/privilege/internal/dbus'
106         EOF
107 }
108
109 do_install() {
110     install -d ${D}/usr/AGL/${PN}
111     install -d ${D}/usr/AGL/apps
112     install -m 0644 ${B}/apps/Controls/controls.wgt ${D}/usr/AGL/apps/
113     install -m 0644 ${B}/apps/Dashboard/dashboard.wgt ${D}/usr/AGL/apps/
114     install -m 0644 ${B}/apps/Phone/phone.wgt ${D}/usr/AGL/apps/
115     install -m 0644 ${B}/apps/Radio/radio.wgt ${D}/usr/AGL/apps/
116     install -d ${D}/home/root/app-data/radio
117     install -m 0644 ${WORKDIR}/presets-${AGL_RADIO_PRESETS_LOCALE}.conf ${D}/home/root/app-data/radio/presets.conf
118
119     install -m 0755 ${B}/apps/installAllApps.sh ${D}/usr/AGL/apps/
120     ln -sf            ../apps/installAllApps.sh ${D}/usr/AGL/${PN}/installAllApps.sh
121
122     install -d ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
123     install -m 0644 ${S}/imports/AGL/Demo/Controls/qmldir ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
124     install -m 0644 ${S}/imports/AGL/Demo/Controls/ImageButton.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
125     install -m 0644 ${S}/imports/AGL/Demo/Controls/ToggleButton.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
126     install -m 0644 ${S}/imports/AGL/Demo/Controls/Key.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
127     install -m 0644 ${S}/imports/AGL/Demo/Controls/AbstractKeyboard.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
128     install -m 0644 ${S}/imports/AGL/Demo/Controls/Symbols.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
129     install -m 0644 ${S}/imports/AGL/Demo/Controls/Alphabet.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
130     install -m 0644 ${S}/imports/AGL/Demo/Controls/Keyboard.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
131     install -d ${D}${libdir}/qt5/qml/AGL/Demo/Controls/images/
132     install -m 0644 ${S}/imports/AGL/Demo/Controls/images/Keyboard_Back.svg ${D}${libdir}/qt5/qml/AGL/Demo/Controls/images/
133     install -m 0644 ${S}/imports/AGL/Demo/Controls/images/Keyboard_Shift.svg ${D}${libdir}/qt5/qml/AGL/Demo/Controls/images/
134     install -m 0644 ${S}/imports/AGL/Demo/Controls/images/Keyboard_Space.svg ${D}${libdir}/qt5/qml/AGL/Demo/Controls/images/
135     install -m 0644 ${S}/imports/AGL/Demo/Controls/images/Keyboard_Arrow.svg ${D}${libdir}/qt5/qml/AGL/Demo/Controls/images/
136
137     install -d ${D}${libdir}/qt5/qml/QtQuick/Controls.2/AGL
138     install -m 0644 ${S}/imports/qtquickcontrols2aglstyle/*.qml ${D}${libdir}/qt5/qml/QtQuick/Controls.2/AGL
139
140     install -d ${D}${libdir}/qt5/qml/QtQuick/Controls.2/AGL/images/
141     install -m 0644 ${S}/imports/qtquickcontrols2aglstyle/images/* ${D}${libdir}/qt5/qml/QtQuick/Controls.2/AGL/images/
142 }
143
144 # plain copy in own folder for now
145 #do_install() {
146 #    mkdir -p ${D}/usr/AGL/CES2017/
147 #    cp -rf ./* ${D}/usr/AGL/CES2017/
148 #}
149
150 FILES_${PN} += "/usr/AGL/ \
151         /usr/AGL/apps/* \
152         /usr/AGL/${PN}/* \
153         /home/root/app-data/radio/presets.conf \
154         /usr/lib/qt5/qml/AGL/Demo/Controls/qmldir \
155         /usr/lib/qt5/qml/AGL/Demo/Controls/ImageButton.qml \
156         /usr/lib/qt5/qml/AGL/Demo/Controls/ToggleButton.qml \
157         /usr/lib/qt5/qml/AGL/Demo/Controls/Key.qml \
158         /usr/lib/qt5/qml/AGL/Demo/Controls/AbstractKeyboard.qml \
159         /usr/lib/qt5/qml/AGL/Demo/Controls/Symbols.qml \
160         /usr/lib/qt5/qml/AGL/Demo/Controls/Alphabet.qml \
161         /usr/lib/qt5/qml/AGL/Demo/Controls/Keyboard.qml \
162         /usr/lib/qt5/qml/AGL/Demo/Controls/images/Keyboard_Back.svg \
163         /usr/lib/qt5/qml/AGL/Demo/Controls/images/Keyboard_Shift.svg \
164         /usr/lib/qt5/qml/AGL/Demo/Controls/images/Keyboard_Space.svg \
165         /usr/lib/qt5/qml/AGL/Demo/Controls/images/Keyboard_Arrow.svg \
166         /usr/lib/qt5/qml/QtQuick/Controls.2/AGL \
167         /usr/lib/qt5/qml/QtQuick/Controls.2/AGL/images \
168         "