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