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