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