49f5c3e647c425977a53eaeb88e47c0e33fe76a0
[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         cd /usr/AGL/apps
95         /usr/bin/afm-util install controls.wgt
96         /usr/bin/afm-util install dashboard.wgt
97         /usr/bin/afm-util install phone.wgt
98         /usr/bin/afm-util install radio.wgt
99         /usr/bin/afm-util install settings.wgt
100         /usr/bin/afm-util install navigation.wgt
101         /usr/bin/afm-util install poi.wgt
102         /usr/bin/afm-util install mixer.wgt
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
118     install -m 0755 ${B}/apps/installAllApps.sh ${D}/usr/AGL/apps/
119     ln -sf            ../apps/installAllApps.sh ${D}/usr/AGL/${PN}/installAllApps.sh
120
121     install -d ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
122     install -m 0644 ${S}/imports/AGL/Demo/Controls/qmldir ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
123     install -m 0644 ${S}/imports/AGL/Demo/Controls/ImageButton.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
124     install -m 0644 ${S}/imports/AGL/Demo/Controls/ToggleButton.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
125     install -m 0644 ${S}/imports/AGL/Demo/Controls/Key.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
126     install -m 0644 ${S}/imports/AGL/Demo/Controls/AbstractKeyboard.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
127     install -m 0644 ${S}/imports/AGL/Demo/Controls/Symbols.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
128     install -m 0644 ${S}/imports/AGL/Demo/Controls/Alphabet.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
129     install -m 0644 ${S}/imports/AGL/Demo/Controls/Keyboard.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
130     install -d ${D}${libdir}/qt5/qml/AGL/Demo/Controls/images/
131     install -m 0644 ${S}/imports/AGL/Demo/Controls/images/Keyboard_Back.svg ${D}${libdir}/qt5/qml/AGL/Demo/Controls/images/
132     install -m 0644 ${S}/imports/AGL/Demo/Controls/images/Keyboard_Shift.svg ${D}${libdir}/qt5/qml/AGL/Demo/Controls/images/
133     install -m 0644 ${S}/imports/AGL/Demo/Controls/images/Keyboard_Space.svg ${D}${libdir}/qt5/qml/AGL/Demo/Controls/images/
134     install -m 0644 ${S}/imports/AGL/Demo/Controls/images/Keyboard_Arrow.svg ${D}${libdir}/qt5/qml/AGL/Demo/Controls/images/
135
136     install -d ${D}${libdir}/qt5/qml/QtQuick/Controls.2/AGL
137     install -m 0644 ${S}/imports/qtquickcontrols2aglstyle/*.qml ${D}${libdir}/qt5/qml/QtQuick/Controls.2/AGL
138
139     install -d ${D}${libdir}/qt5/qml/QtQuick/Controls.2/AGL/images/
140     install -m 0644 ${S}/imports/qtquickcontrols2aglstyle/images/* ${D}${libdir}/qt5/qml/QtQuick/Controls.2/AGL/images/
141 }
142
143 # plain copy in own folder for now
144 #do_install() {
145 #    mkdir -p ${D}/usr/AGL/CES2017/
146 #    cp -rf ./* ${D}/usr/AGL/CES2017/
147 #}
148
149 FILES_${PN} += "/usr/AGL/ \
150         /usr/AGL/apps/* \
151         /usr/AGL/${PN}/* \
152         /usr/lib/qt5/qml/AGL/Demo/Controls/qmldir \
153         /usr/lib/qt5/qml/AGL/Demo/Controls/ImageButton.qml \
154         /usr/lib/qt5/qml/AGL/Demo/Controls/ToggleButton.qml \
155         /usr/lib/qt5/qml/AGL/Demo/Controls/Key.qml \
156         /usr/lib/qt5/qml/AGL/Demo/Controls/AbstractKeyboard.qml \
157         /usr/lib/qt5/qml/AGL/Demo/Controls/Symbols.qml \
158         /usr/lib/qt5/qml/AGL/Demo/Controls/Alphabet.qml \
159         /usr/lib/qt5/qml/AGL/Demo/Controls/Keyboard.qml \
160         /usr/lib/qt5/qml/AGL/Demo/Controls/images/Keyboard_Back.svg \
161         /usr/lib/qt5/qml/AGL/Demo/Controls/images/Keyboard_Shift.svg \
162         /usr/lib/qt5/qml/AGL/Demo/Controls/images/Keyboard_Space.svg \
163         /usr/lib/qt5/qml/AGL/Demo/Controls/images/Keyboard_Arrow.svg \
164         /usr/lib/qt5/qml/QtQuick/Controls.2/AGL \
165         /usr/lib/qt5/qml/QtQuick/Controls.2/AGL/images \
166         "