Merge branch 'tizen_3.0' into tizen
[platform/core/uifw/ise-default.git] / packaging / ise-default.spec
1 Name:       ise-default
2 Summary:    Tizen keyboard
3 Version:    1.3.29
4 Release:    1
5 Group:      Graphics & UI Framework/Input
6 License:    Apache-2.0
7 Source0:    ise-default-%{version}.tar.gz
8 BuildRequires:  gettext-tools
9 BuildRequires:  edje-bin
10 BuildRequires:  cmake
11 BuildRequires:  pkgconfig(elementary)
12 BuildRequires:  pkgconfig(vconf)
13 BuildRequires:  pkgconfig(dlog)
14 BuildRequires:  pkgconfig(libscl-ui)
15 BuildRequires:  pkgconfig(ecore-imf)
16 BuildRequires:  pkgconfig(libxml-2.0)
17 BuildRequires:  pkgconfig(efl-extension)
18 BuildRequires:  pkgconfig(libtzplatform-config)
19 BuildRequires:  pkgconfig(stt)
20 BuildRequires:  pkgconfig(capi-appfw-application)
21 BuildRequires:  pkgconfig(capi-appfw-preference)
22 BuildRequires:  pkgconfig(capi-media-audio-io)
23 BuildRequires:  pkgconfig(capi-ui-inputmethod)
24 # This is for old profile-based OBS project optimizations.
25 # In 4.0 unified build env, this if statement is always true.
26 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
27 BuildRequires:  pkgconfig(cbhm)
28 %endif
29 Requires:       %{name}-compat = %{version}-%{release}
30 # This is for old profile-based OBS project optimizations.
31 # In 4.0 unified build env, this if statement is always true.
32 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi"
33 Recommends:     %{name}-profile_common = %{version}-%{release}
34 %endif
35
36 %description
37 Description: Tizen keyboard
38
39
40 # This is for old profile-based OBS project optimizations.
41 # In 4.0 unified build env, this if statement is always true.
42 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi"
43 %package profile_common
44 Summary:    ise-default binaries and resources without flavors
45 Provides:   %{name}-compat = %{version}-%{release}
46 Conflicts:  %{name}-profile_mobile
47 Conflicts:  %{name}-profile_tv
48 Conflicts:  %{name}-profile_wearable
49 Conflicts:  %{name}-profile_ivi
50 %description profile_common
51 Tizen keyboard (ise-default) binaries and resources without flavors, intended
52 to support common profiles, which does not supply any additional options
53 for the build.
54 %endif
55
56 # This is for old profile-based OBS project optimizations.
57 # In 4.0 unified build env, this if statement is always true.
58 %if "%{?profile}" != "tv" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi"
59 %package profile_mobile
60 Summary:    ise-default binaries and resources with mobile profile
61 Provides:   %{name}-compat = %{version}-%{release}
62 Conflicts:  %{name}-profile_common
63 Conflicts:  %{name}-profile_tv
64 Conflicts:  %{name}-profile_wearable
65 Conflicts:  %{name}-profile_ivi
66 %description profile_mobile
67 Tizen keyboard (ise-default) binaries and resources with mobile options.
68 This is intended to support mobile profiles.
69 %endif
70
71 # This is for old profile-based OBS project optimizations.
72 # In 4.0 unified build env, this if statement is always true.
73 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi"
74 %package profile_tv
75 Summary:    ise-default binaries and resources with tv profile
76 Provides:   %{name}-compat = %{version}-%{release}
77 Conflicts:  %{name}-profile_common
78 Conflicts:  %{name}-profile_mobile
79 Conflicts:  %{name}-profile_wearable
80 Conflicts:  %{name}-profile_ivi
81 %description profile_tv
82 Tizen keyboard (ise-default) binaries and resources with tv options.
83 This is intended to support tv profiles.
84 %endif
85
86 # This is for old profile-based OBS project optimizations.
87 # In 4.0 unified build env, this if statement is always true.
88 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "tv"
89 %package profile_ivi
90 Summary:    ise-default binaries and resources with ivi profile
91 Provides:   %{name}-compat = %{version}-%{release}
92 Conflicts:  %{name}-profile_common
93 Conflicts:  %{name}-profile_mobile
94 Conflicts:  %{name}-profile_wearable
95 Conflicts:  %{name}-profile_tv
96 %description profile_ivi
97 Tizen keyboard (ise-default) binaries and resources with ivi options.
98 This is intended to support ivi profiles.
99 %endif
100
101 # This is for old profile-based OBS project optimizations.
102 # In 4.0 unified build env, this if statement is always true.
103 # Common is blocked because wearable has extra efl-ext entries, which will be
104 # removed for unified build env later.
105 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "ivi"
106 %package profile_wearable
107 Summary:    Meta package of ise-default for wearable profiles. (circle/rectangle)
108 Provides:   %{name}-compat = %{version}-%{release}
109 Conflicts:  %{name}-profile_common
110 Conflicts:  %{name}-profile_mobile
111 Conflicts:  %{name}-profile_tv
112 Conflicts:  %{name}-profile_ivi
113 Requires:   %{name}-profile_wearable-extension = %{version}-%{release}
114 Recommends: %{name}-profile_wearable-extension-circle = %{version}-%{release}
115 %description profile_wearable
116 Meta package of Tizen keyboard (ise-default) binaries and resources with
117 wearable options.
118
119 %package profile_wearable-extension-circle
120 Summary:    ise-default binaries and resources with wearable profile (circle)
121 Provides:   %{name}-profile_wearable-extension = %{version}-%{release}
122 Conflicts:  %{name}-profile_wearable-extension-rectangle
123 %description profile_wearable-extension-circle
124 Tizen keyboard (ise-default) binaries and resources with wearable options.
125 This is intended to support wearable profiles with circle display.
126
127 %package profile_wearable-extension-rectangle
128 Summary:    ise-default binaries and resources with wearable profile (rectangle)
129 Provides:   %{name}-profile_wearable-extension = %{version}-%{release}
130 Conflicts:  %{name}-profile_wearable-extension-circle
131 %description profile_wearable-extension-rectangle
132 Tizen keyboard (ise-default) binaries and resources with wearable options.
133 This is intended to support wearable profiles with rectangle display.
134 %endif
135
136 %prep
137 %setup -q
138
139
140 %build
141 export CFLAGS_BASE="${CFLGAS} -DTIZEN_DEBUG_ENABLE -fvisibility=hidden"
142 export CXXFLAGS_BASE="${CXXFLAGS} -DTIZEN_DEBUG_ENABLE -std=c++11 -fvisibility-inlines-hidden"
143 export FFLAGS+=" -DTIZEN_DEBUG_ENABLE"
144
145 rm -rf CMakeFiles
146 rm -rf CMakeCache.txt
147
148 # This is for old profile-based OBS project optimizations.
149 # In 4.0 unified build env, this if statement is always true.
150 # Common is blocked because wearable has extra efl-ext entries, which will be
151 # removed for unified build env later.
152 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "ivi"
153 mkdir -p build_wearable_rec
154 pushd build_wearable_rec
155 export CFLAGS="${CFLAGS_BASE} -D_WEARABLE";
156 export CXXFLAGS="${CXXFLAGS_BASE} -D_WEARABLE";
157 cmake .. -DCMAKE_INSTALL_PREFIX=%{_prefix} \
158          -DTARGET=wearable \
159          -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
160          -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES
161
162 make %{?jobs:-j%jobs}
163 popd
164
165 mkdir -p build_wearable_cir
166 pushd build_wearable_cir
167 export CFLAGS="${CFLAGS_BASE} -D_WEARABLE -D_CIRCLE";
168 export CXXFLAGS="${CXXFLAGS_BASE} -D_WEARABLE -D_CIRCLE";
169 cmake .. -DCMAKE_INSTALL_PREFIX=%{_prefix} \
170          -DTARGET=wearable \
171          -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
172          -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES
173
174 make %{?jobs:-j%jobs}
175 popd
176 %endif
177
178
179 # This is for old profile-based OBS project optimizations.
180 # In 4.0 unified build env, this if statement is always true.
181 %if "%{?profile}" != "tv" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
182 mkdir -p build_mobile
183 pushd build_mobile
184 export CFLAGS="${CFLAGS_BASE} -D_MOBILE";
185 export CXXFLAGS="${CXXFLAGS_BASE} -D_MOBILE";
186 cmake .. -DCMAKE_INSTALL_PREFIX=%{_prefix} \
187          -DTARGET=mobile \
188          -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
189          -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES \
190          -Dwith_cbhm=TRUE
191
192 make %{?jobs:-j%jobs}
193 popd
194 %endif
195
196 # This is for old profile-based OBS project optimizations.
197 # In 4.0 unified build env, this if statement is always true.
198 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
199 mkdir -p build_tv
200 pushd build_tv
201 export CFLAGS="${CFLAGS_BASE} -D_TV";
202 export CXXFLAGS="${CXXFLAGS_BASE} -D_TV";
203 cmake .. -DCMAKE_INSTALL_PREFIX=%{_prefix} \
204          -DTARGET=tv \
205          -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
206          -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES
207
208 make %{?jobs:-j%jobs}
209 popd
210 %endif
211
212 # This is for old profile-based OBS project optimizations.
213 # In 4.0 unified build env, this if statement is always true.
214 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common"
215 mkdir -p build_ivi
216 pushd build_ivi
217 export CFLAGS="${CFLAGS_BASE} -D_IVI";
218 export CXXFLAGS="${CXXFLAGS_BASE} -D_IVI";
219 cmake .. -DCMAKE_INSTALL_PREFIX=%{_prefix} \
220          -DTARGET=ivi \
221          -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
222          -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES
223
224 make %{?jobs:-j%jobs}
225 popd
226 %endif
227
228 # This is for old profile-based OBS project optimizations.
229 # In 4.0 unified build env, this if statement is always true.
230 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi"
231 export CFLAGS="${CFLAGS_BASE}";
232 export CXXFLAGS="${CXXFLAGS_BASE}";
233 cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \
234         -DTARGET=common \
235         -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
236         -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES
237
238 make %{?jobs:-j%jobs}
239 %endif
240
241 %install
242 rm -rf %{buildroot}
243
244 # This is for old profile-based OBS project optimizations.
245 # In 4.0 unified build env, this if statement is always true.
246 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi"
247 %make_install
248 mkdir -p %{buildroot}%{TZ_SYS_RO_APP}/ise-default/common
249 pushd %{buildroot}%{TZ_SYS_RO_APP}/ise-default/
250 mv bin common/
251 mkdir -p common/res
252 pushd res
253 for FILE in *; do if [[ $FILE =~ ^locale$ ]]; then echo skip commonly used "${FILE}"; else mv "${FILE}" ../common/res/; fi; done
254 popd
255 popd
256 %endif
257
258 # This is for old profile-based OBS project optimizations.
259 # In 4.0 unified build env, this if statement is always true.
260 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
261 pushd build_mobile
262 %make_install
263 popd
264 mkdir -p %{buildroot}%{TZ_SYS_RO_APP}/ise-default/mobile
265 pushd %{buildroot}%{TZ_SYS_RO_APP}/ise-default/
266 mv bin mobile/
267 mkdir -p mobile/res
268 pushd res
269 for FILE in *; do if [[ $FILE =~ ^locale$ ]]; then echo skip commonly used "${FILE}"; else mv "${FILE}" ../mobile/res/; fi; done
270 popd
271 popd
272 %endif
273
274 # This is for old profile-based OBS project optimizations.
275 # In 4.0 unified build env, this if statement is always true.
276 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
277 pushd build_tv
278 %make_install
279 popd
280 mkdir -p %{buildroot}%{TZ_SYS_RO_APP}/ise-default/tv
281 pushd %{buildroot}%{TZ_SYS_RO_APP}/ise-default/
282 mv bin tv/
283 mkdir -p tv/res
284 pushd res
285 for FILE in *; do if [[ $FILE =~ ^locale$ ]]; then echo skip commonly used "${FILE}"; else mv "${FILE}" ../tv/res/; fi; done
286 popd
287 popd
288 %endif
289
290 # This is for old profile-based OBS project optimizations.
291 # In 4.0 unified build env, this if statement is always true.
292 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common"
293 pushd build_ivi
294 %make_install
295 popd
296 mkdir -p %{buildroot}%{TZ_SYS_RO_APP}/ise-default/ivi
297 pushd %{buildroot}%{TZ_SYS_RO_APP}/ise-default/
298 mv bin ivi/
299 mkdir -p ivi/res
300 pushd res
301 for FILE in *; do if [[ $FILE =~ ^locale$ ]]; then echo skip commonly used "${FILE}"; else mv "${FILE}" ../ivi/res/; fi; done
302 popd
303 popd
304 %endif
305
306 # This is for old profile-based OBS project optimizations.
307 # In 4.0 unified build env, this if statement is always true.
308 # Common is blocked because wearable has extra efl-ext entries, which will be
309 # removed for unified build env later.
310 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "ivi"
311 pushd build_wearable_cir
312 %make_install
313 popd
314 mkdir -p %{buildroot}%{TZ_SYS_RO_APP}/ise-default/wearable-circle
315 pushd %{buildroot}%{TZ_SYS_RO_APP}/ise-default/
316 mv bin wearable-circle/
317 mkdir -p wearable-circle/res
318 pushd res
319 for FILE in *; do if [[ $FILE =~ ^locale$ ]]; then echo skip commonly used "${FILE}"; else mv "${FILE}" ../wearable-circle/res/; fi; done
320 popd
321 popd
322
323 pushd build_wearable_rec
324 %make_install
325 popd
326 mkdir -p %{buildroot}%{TZ_SYS_RO_APP}/ise-default/wearable-rectangle
327 pushd %{buildroot}%{TZ_SYS_RO_APP}/ise-default/
328 mv bin wearable-rectangle/
329 mkdir -p wearable-rectangle/res
330 pushd res
331 for FILE in *; do if [[ $FILE =~ ^locale$ ]]; then echo skip commonly used "${FILE}"; else mv "${FILE}" ../wearable-rectangle/res/; fi; done
332 popd
333 popd
334 %endif
335
336 %find_lang %{name}
337
338 %files -f %{name}.lang
339 %manifest %{name}.manifest
340 %defattr(-,root,root,-)
341 %{TZ_SYS_RO_PACKAGES}/%{name}.xml
342 %license LICENSE
343
344 # This is for old profile-based OBS project optimizations.
345 # In 4.0 unified build env, this if statement is always true.
346 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi"
347 %post profile_common
348 pushd %{TZ_SYS_RO_APP}/ise-default/common/
349 mkdir -p ../res
350 mv bin ../
351 mv res/* ../res/
352 popd
353 %preun profile_common
354 pushd %{TZ_SYS_RO_APP}/ise-default
355 rm -Rf bin
356 pushd res
357 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
358 popd
359 popd
360 %files profile_common
361 %manifest %{name}.manifest
362 %defattr(-,root,root,-)
363 %{TZ_SYS_RO_APP}/ise-default/common/*
364 %endif
365
366
367 # This is for old profile-based OBS project optimizations.
368 # In 4.0 unified build env, this if statement is always true.
369 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
370 %post profile_mobile
371 pushd %{TZ_SYS_RO_APP}/ise-default/mobile/
372 mkdir -p ../res
373 mv bin ../
374 mv res/* ../res/
375 popd
376 %preun profile_mobile
377 pushd %{TZ_SYS_RO_APP}/ise-default
378 rm -Rf bin
379 pushd res
380 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
381 popd
382 popd
383 %files profile_mobile
384 %manifest %{name}.manifest
385 %defattr(-,root,root,-)
386 %{TZ_SYS_RO_APP}/ise-default/mobile/*
387 %endif
388
389
390 # This is for old profile-based OBS project optimizations.
391 # In 4.0 unified build env, this if statement is always true.
392 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
393 %post profile_tv
394 pushd %{TZ_SYS_RO_APP}/ise-default/tv/
395 mkdir -p ../res
396 mv bin ../
397 mv res/* ../res/
398 popd
399 %preun profile_tv
400 pushd %{TZ_SYS_RO_APP}/ise-default
401 rm -Rf bin
402 pushd res
403 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
404 popd
405 popd
406 %files profile_tv
407 %manifest %{name}.manifest
408 %defattr(-,root,root,-)
409 %{TZ_SYS_RO_APP}/ise-default/tv/*
410 %endif
411
412
413 # This is for old profile-based OBS project optimizations.
414 # In 4.0 unified build env, this if statement is always true.
415 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common"
416 %post profile_ivi
417 pushd %{TZ_SYS_RO_APP}/ise-default/ivi/
418 mkdir -p ../res
419 mv bin ../
420 mv res/* ../res/
421 popd
422 %preun profile_ivi
423 pushd %{TZ_SYS_RO_APP}/ise-default
424 rm -Rf bin
425 pushd res
426 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
427 popd
428 popd
429 %files profile_ivi
430 %manifest %{name}.manifest
431 %defattr(-,root,root,-)
432 %{TZ_SYS_RO_APP}/ise-default/ivi/*
433 %endif
434
435
436 # This is for old profile-based OBS project optimizations.
437 # In 4.0 unified build env, this if statement is always true.
438 # Common is blocked because wearable has extra efl-ext entries, which will be
439 # removed for unified build env later.
440 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "ivi"
441 %files profile_wearable
442
443 %post profile_wearable-extension-circle
444 pushd %{TZ_SYS_RO_APP}/ise-default/wearable-circle/
445 mkdir -p ../res
446 mv bin ../
447 mv res/* ../res/
448 popd
449 %preun profile_wearable-extension-circle
450 pushd %{TZ_SYS_RO_APP}/ise-default
451 rm -Rf bin
452 pushd res
453 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
454 popd
455 popd
456 %files profile_wearable-extension-circle
457 %manifest %{name}.manifest
458 %defattr(-,root,root,-)
459 %{TZ_SYS_RO_APP}/ise-default/wearable-circle/*
460
461
462 %post profile_wearable-extension-rectangle
463 pushd %{TZ_SYS_RO_APP}/ise-default/wearable-rectangle/
464 mkdir -p ../res
465 mv bin ../
466 mv res/* ../res/
467 popd
468 %preun profile_wearable-extension-rectangle
469 pushd %{TZ_SYS_RO_APP}/ise-default
470 rm -Rf bin
471 pushd res
472 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
473 popd
474 popd
475 %files profile_wearable-extension-rectangle
476 %manifest %{name}.manifest
477 %defattr(-,root,root,-)
478 %{TZ_SYS_RO_APP}/ise-default/wearable-rectangle/*
479 %endif