Release version 1.20.0
[platform/core/appfw/app-core.git] / packaging / app-core.spec
1 Name:           app-core
2 Summary:        Application basic
3 Version:        1.20.0
4 Release:        0
5 Group:          Application Framework/Libraries
6 License:        Apache-2.0
7 Source0:        app-core-%{version}.tar.gz
8 BuildRequires:  pkgconfig(ecore-wl2)
9 BuildRequires:  pkgconfig(wayland-client)
10 BuildRequires:  pkgconfig(tizen-extension-client)
11 BuildRequires:  pkgconfig(wayland-tbm-client)
12 Source1001:     app-core.manifest
13 BuildRequires:  pkgconfig(gio-2.0)
14 BuildRequires:  pkgconfig(sensor)
15 BuildRequires:  pkgconfig(vconf)
16 BuildRequires:  pkgconfig(aul)
17 BuildRequires:  pkgconfig(bundle)
18 BuildRequires:  pkgconfig(dlog)
19 BuildRequires:  pkgconfig(elementary)
20 BuildRequires:  pkgconfig(ecore)
21 BuildRequires:  pkgconfig(gobject-2.0)
22 BuildRequires:  pkgconfig(glib-2.0)
23 BuildRequires:  pkgconfig(pkgmgr-info)
24 BuildRequires:  pkgconfig(ttrace)
25 BuildRequires:  pkgconfig(gmock)
26 BuildRequires:  cmake
27 BuildRequires:  pkgconfig(capi-system-info)
28
29 %if 0%{?gcov:1}
30 BuildRequires:  lcov
31 BuildRequires:  zip
32 %endif
33
34 %description
35 SLP common application basic
36
37
38 %package efl
39 Summary:    App basic EFL
40 Group:      Development/Libraries
41 Requires(post): /sbin/ldconfig
42 Requires(postun): /sbin/ldconfig
43
44 %description efl
45 Application basic EFL
46
47
48 %package efl-devel
49 Summary:    App basic EFL (devel)
50 Group:      Development/Libraries
51 Requires:   %{name}-efl = %{version}-%{release}
52 Requires:   %{name}-ui-devel = %{version}-%{release}
53
54 %description efl-devel
55 Application basic EFL (devel)
56
57 %package multiwindow
58 Summary:    Application core for multiwindow
59 Group:      Development/Libraries
60 Requires(post): /sbin/ldconfig
61 Requires(postun): /sbin/ldconfig
62
63 %description multiwindow
64 Application core for multiwindow
65
66 %package multiwindow-devel
67 Summary:    Application core for multiwindow (devel)
68 Group:      Development/Libraries
69 Requires:   %{name}-multiwindow = %{version}-%{release}
70 Requires:   %{name}-common-devel = %{version}-%{release}
71
72 %description multiwindow-devel
73 Application core for multiwindow (devel)
74
75 %package common
76 Summary:    App basics common
77 Group:      Development/Libraries
78 Requires(post): /sbin/ldconfig
79 Requires(postun): /sbin/ldconfig
80
81 %description common
82 Application basics common
83
84
85 %package common-devel
86 Summary:    App basics common (devel)
87 Group:      Development/Libraries
88 Requires:   %{name}-common = %{version}-%{release}
89 Requires:   pkgconfig(sensor)
90 Requires:   pkgconfig(vconf)
91 Requires:   pkgconfig(elementary)
92 Requires:   pkgconfig(aul)
93
94 %description common-devel
95 Application basics common (devel)
96
97 %package ui
98 Summary:    App basic UI
99 Group:      Development/Libraries
100 Requires(post): /sbin/ldconfig
101 Requires(postun): /sbin/ldconfig
102
103 %description ui
104 Application basic UI
105
106 %package ui-devel
107 Summary:    App basic UI (devel)
108 Group:      Development/Libraries
109 Requires:   %{name}-ui = %{version}-%{release}
110 Requires:   %{name}-common-devel = %{version}-%{release}
111
112 %description ui-devel
113 Application basic EFL (devel)
114
115
116 %package template
117 Summary:    App basics template
118 Group:      Development/Libraries
119
120 %description template
121 Application basics template
122
123
124 %if 0%{?gcov:1}
125 %package gcov
126 Summary:  Application Core API(gcov)
127 Group:    Application Framework/Libraries
128
129 %description gcov
130 gcov objects of a widget application library
131 %endif
132
133 %package unittests
134 Summary:    %{name} unittests binary
135
136 %description unittests
137 unittests binary
138
139 %prep
140 %setup -q
141 cp %{SOURCE1001} .
142
143 %build
144 %if 0%{?gcov:1}
145 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
146 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
147 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
148 export LDFLAGS+=" -lgcov"
149 %endif
150 export CFLAGS+=" -DEFL_BETA_API_SUPPORT "
151 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
152 %cmake . \
153         -DENABLE_GTK=OFF \
154         -DFULLVER=%{version} \
155         -DMAJORVER=${MAJORVER}
156
157 make %{?_smp_mflags}
158
159 %install
160 rm -rf %{buildroot}
161 %make_install
162
163 %if 0%{?gcov:1}
164 builddir=$(basename $PWD)
165 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
166 mkdir -p "$gcno_obj_dir"
167 find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
168 %endif
169
170 cat << EOF > run-unittest.sh
171 #!/bin/sh
172 setup() {
173     echo "setup start"
174 }
175
176 test_main() {
177     echo "test_main start"
178     /usr/bin/app-core_unittests
179 }
180
181 teardown() {
182     echo "teardown start"
183 }
184
185 main() {
186     setup
187     test_main
188     teardown
189 }
190
191 main "\$*"
192 EOF
193
194 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
195 install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}/
196
197 %check
198 ctest -V
199 %if 0%{?gcov:1}
200 lcov -c --ignore-errors graph --no-external -b . -d . -o %{name}.info
201 genhtml %{name}.info -o %{name}.out --legend --show-details
202 zip -r %{name}.zip %{name}.out
203 install -m 0644 %{name}.zip %{buildroot}%{_datadir}/gcov/
204 %endif
205
206
207 %post -n app-core-efl -p /sbin/ldconfig
208
209 %postun -n app-core-efl -p /sbin/ldconfig
210
211 %post -n app-core-multiwindow -p /sbin/ldconfig
212
213 %postun -n app-core-multiwindow -p /sbin/ldconfig
214
215 %post -n app-core-common -p /sbin/ldconfig
216
217 %postun -n app-core-common -p /sbin/ldconfig
218
219 %post -n app-core-ui -p /sbin/ldconfig
220
221 %postun -n app-core-ui -p /sbin/ldconfig
222
223 %files efl
224 %manifest %{name}.manifest
225 %{_libdir}/libappcore-efl.so.*
226
227 %{_libdir}/libapp-core-efl-cpp.so.*
228 %license LICENSE
229
230 %files efl-devel
231 %manifest %{name}.manifest
232 %{_includedir}/appcore/appcore-efl.h
233 %{_includedir}/appcore/appcore_efl_base.h
234 %{_libdir}/libappcore-efl.so
235 %{_libdir}/pkgconfig/appcore-efl.pc
236
237 %{_includedir}/appcore_cpp/app_core_efl_base.hh
238 %{_libdir}/libapp-core-efl-cpp.so
239 %{_libdir}/pkgconfig/app-core-efl-cpp.pc
240
241 %files multiwindow
242 %manifest %{name}.manifest
243 %{_libdir}/libappcore-multiwindow.so.*
244
245 %{_libdir}/libapp-core-multi-window-cpp.so.*
246 %license LICENSE
247
248 %files multiwindow-devel
249 %manifest %{name}.manifest
250 %{_includedir}/appcore/appcore_multiwindow_base.h
251 %{_libdir}/libappcore-multiwindow.so
252 %{_libdir}/pkgconfig/appcore-multiwindow.pc
253
254 %{_includedir}/appcore_cpp/app_core_multi_window_base.hh
255 %{_libdir}/libapp-core-multi-window-cpp.so
256 %{_libdir}/pkgconfig/app-core-multi-window-cpp.pc
257
258 %files common
259 %manifest %{name}.manifest
260 %{_libdir}/libappcore-common.so.*
261
262 %{_libdir}/libapp-core-cpp.so.*
263 %license LICENSE
264
265 %files common-devel
266 %manifest %{name}.manifest
267 %{_libdir}/libappcore-common.so
268 %{_libdir}/pkgconfig/appcore-common.pc
269 %{_includedir}/appcore/appcore-common.h
270 %{_includedir}/appcore/appcore_base.h
271 %{_includedir}/appcore/appcore_watchdog.h
272 %{_includedir}/appcore/appcore_base_control.h
273
274 %{_includedir}/appcore_cpp/app_core_base.hh
275 %{_includedir}/appcore_cpp/interface_app_core.hh
276 %{_includedir}/appcore_cpp/interface_app_core_ui.hh
277 %{_includedir}/appcore_cpp/interface_app_core_ui_event.hh
278 %{_includedir}/appcore_cpp/interface_main_loop.hh
279 %{_includedir}/appcore_cpp/interface_window.hh
280 %{_libdir}/libapp-core-cpp.so
281 %{_libdir}/pkgconfig/app-core-cpp.pc
282
283 %files ui
284 %manifest %{name}.manifest
285 %{_libdir}/libappcore-ui.so.*
286
287 %{_libdir}/libapp-core-ui-cpp.so.*
288 %license LICENSE
289
290 %files ui-devel
291 %manifest %{name}.manifest
292 %{_includedir}/appcore/appcore_ui_base.h
293 %{_libdir}/libappcore-ui.so
294 %{_libdir}/pkgconfig/appcore-ui.pc
295
296 %{_includedir}/appcore_cpp/app_core_task_base.hh
297 %{_includedir}/appcore_cpp/app_core_ui_base.hh
298 %{_includedir}/appcore_cpp/api/app_core_ui_base.h
299 %{_libdir}/libapp-core-ui-cpp.so
300 %{_libdir}/pkgconfig/app-core-ui-cpp.pc
301
302 %if 0%{?gcov:1}
303 %files gcov
304 %{_datadir}/gcov/*
305 %endif
306
307 %files unittests
308 %attr(0755,root,root) %{_bindir}/app-core_unittests
309 %attr(0755,root,root) %{_bindir}/tizen-unittests/%{name}/run-unittest.sh