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