Add property for entry in keyboard input
[platform/core/uifw/inputdelegator.git] / packaging / org.tizen.inputdelegator.spec
1 # For the backward compatibility, this is to be built for
2 # wearable profile or 4.0 unified building environment.
3 # This cannot be built for non-wearable in conventional 3.0 build environment.
4 # Note that it is not a good idea to limit building with ExcludeArch because there are new architectures being tested.
5 # Use ExclusiveArch istead.
6 %if "%{?profile}" == "mobile" || "%{?profile}" == "ivi" || "%{?profile}" == "common"
7 #ExclusiveArch:  none
8 %endif
9
10 Name: org.tizen.inputdelegator
11 Summary: Input Delegator Application
12 Version: 0.1.170419
13 Release: 1
14 Group: Applications
15 License: Apache-2.0
16 Source0: %{name}-%{version}.tar.gz
17
18 %define enable_log_manager 1
19
20 BuildRequires:  pkgconfig(ecore)
21 BuildRequires:  pkgconfig(evas)
22 BuildRequires:  pkgconfig(edje)
23
24 BuildRequires: cmake
25 BuildRequires: edje-bin
26 BuildRequires: gettext-tools
27
28 BuildRequires: pkgconfig(dlog)
29 BuildRequires: pkgconfig(capi-appfw-application)
30 BuildRequires: pkgconfig(capi-appfw-app-control)
31 BuildRequires: pkgconfig(capi-appfw-preference)
32 BuildRequires: pkgconfig(capi-media-wav-player)
33 BuildRequires: pkgconfig(capi-system-device)
34 BuildRequires: pkgconfig(eina)
35 BuildRequires: pkgconfig(elementary)
36 BuildRequires: pkgconfig(efl-extension)
37 BuildRequires: pkgconfig(feedback)
38 BuildRequires: pkgconfig(stt)
39 BuildRequires: pkgconfig(vconf)
40 BuildRequires: pkgconfig(db-util)
41 BuildRequires: pkgconfig(sqlite3)
42 BuildRequires: pkgconfig(capi-media-audio-io)
43 BuildRequires: pkgconfig(capi-system-info)
44
45 %if %{enable_log_manager}
46 BuildRequires:  pkgconfig(bundle)
47 %endif
48
49 Requires:       %{name}-compat = %{version}-%{release}
50 # This is for old profile-based OBS project optimizations.
51 # In 4.0 unified build env, this if statement is always true.
52 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi"
53 Recommends:     %{name}-profile_common = %{version}-%{release}
54 %endif
55
56 %description
57 Input Delegator Application for Wearable environment
58
59 # This is for old profile-based OBS project optimizations.
60 # In 4.0 unified build env, this if statement is always true.
61 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi"
62 %package profile_common
63 Summary:    Inputdelegator binaries and resources without flavors
64 Provides:   %{name}-compat = %{version}-%{release}
65 Conflicts:  %{name}-profile_mobile
66 Conflicts:  %{name}-profile_tv
67 Conflicts:  %{name}-profile_wearable
68 Conflicts:  %{name}-profile_ivi
69 %description profile_common
70 Inputdelegator binaries and resources without flavors, intended
71 to support common profiles, which does not supply any additional options
72 for the build.
73 %endif
74
75 # This is for old profile-based OBS project optimizations.
76 # In 4.0 unified build env, this if statement is always true.
77 %if "%{?profile}" != "tv" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi"
78 %package profile_mobile
79 Summary:    Inputdelegator binaries and resources with mobile profile
80 Provides:   %{name}-compat = %{version}-%{release}
81 Conflicts:  %{name}-profile_common
82 Conflicts:  %{name}-profile_tv
83 Conflicts:  %{name}-profile_wearable
84 Conflicts:  %{name}-profile_ivi
85 %description profile_mobile
86 Inputdelegator binaries and resources with mobile options.
87 This is intended to support mobile profiles.
88 %endif
89
90 # This is for old profile-based OBS project optimizations.
91 # In 4.0 unified build env, this if statement is always true.
92 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi"
93 %package profile_tv
94 Summary:    Inputdelegator binaries and resources with tv profile
95 Provides:   %{name}-compat = %{version}-%{release}
96 Conflicts:  %{name}-profile_common
97 Conflicts:  %{name}-profile_mobile
98 Conflicts:  %{name}-profile_wearable
99 Conflicts:  %{name}-profile_ivi
100 %description profile_tv
101 Inputdelegator binaries and resources with tv options.
102 This is intended to support tv profiles.
103 %endif
104
105
106 # This is for old profile-based OBS project optimizations.
107 # In 4.0 unified build env, this if statement is always true.
108 # Common is blocked because wearable has extra efl-ext entries, which will be
109 # removed for unified build env later.
110 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "ivi"
111 %package profile_wearable
112 Summary:    Meta package of Inputdelegator for wearable profiles.
113 Provides:   %{name}-compat = %{version}-%{release}
114 Conflicts:  %{name}-profile_common
115 Conflicts:  %{name}-profile_mobile
116 Conflicts:  %{name}-profile_tv
117 Conflicts:  %{name}-profile_ivi
118 %description profile_wearable
119 Meta package of Inputdelegator binaries and resources with
120 wearable options.
121 %endif
122
123 %prep
124 %setup -q
125
126 %build
127 export CFLAGS_BASE="${CFLGAS} -DTIZEN_DEBUG_ENABLE -fvisibility=hidden"
128 export CXXFLAGS_BASE="${CXXFLAGS} -DTIZEN_DEBUG_ENABLE -std=c++11 -fvisibility-inlines-hidden"
129 export FFLAGS+=" -DTIZEN_DEBUG_ENABLE"
130
131 rm -rf CMakeFiles
132 rm -rf CMakeCache.txt
133
134 # This is for old profile-based OBS project optimizations.
135 # In 4.0 unified build env, this if statement is always true.
136 # Common is blocked because wearable has extra efl-ext entries, which will be
137 # removed for unified build env later.
138 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "ivi"
139 mkdir -p build_wearable
140 pushd build_wearable
141 export CFLAGS="${CFLAGS_BASE} -D_WEARABLE -D_CIRCLE";
142 export CXXFLAGS="${CXXFLAGS_BASE} -D_WEARABLE -D_CIRCLE";
143 %cmake .. -DTARGET=wearable \
144          -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
145          -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES
146
147 make %{?jobs:-j%jobs}
148 popd
149 %endif
150
151
152 # This is for old profile-based OBS project optimizations.
153 # In 4.0 unified build env, this if statement is always true.
154 %if "%{?profile}" != "tv" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
155 mkdir -p build_mobile
156 pushd build_mobile
157 export CFLAGS="${CFLAGS_BASE} -D_MOBILE";
158 export CXXFLAGS="${CXXFLAGS_BASE} -D_MOBILE";
159 %cmake .. -DTARGET=mobile \
160          -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
161          -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES \
162          -Dwith_cbhm=TRUE
163
164 make %{?jobs:-j%jobs}
165 popd
166 %endif
167
168 # This is for old profile-based OBS project optimizations.
169 # In 4.0 unified build env, this if statement is always true.
170 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
171 mkdir -p build_tv
172 pushd build_tv
173 export CFLAGS="${CFLAGS_BASE} -D_TV";
174 export CXXFLAGS="${CXXFLAGS_BASE} -D_TV";
175 %cmake .. -DTARGET=tv \
176          -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
177          -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES
178
179 make %{?jobs:-j%jobs}
180 popd
181 %endif
182
183
184 # This is for old profile-based OBS project optimizations.
185 # In 4.0 unified build env, this if statement is always true.
186 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi"
187 export CFLAGS="${CFLAGS_BASE}";
188 export CXXFLAGS="${CXXFLAGS_BASE}";
189 %cmake . -DTARGET=common \
190         -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
191         -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES
192
193 make %{?jobs:-j%jobs}
194 %endif
195
196 %install
197 rm -rf %{buildroot}
198
199
200
201
202 # This is for old profile-based OBS project optimizations.
203 # In 4.0 unified build env, this if statement is always true.
204 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi"
205 %make_install
206 mkdir -p %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/common
207 pushd %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/
208 mv bin common/
209 mkdir -p common/res
210 pushd res
211 for FILE in *; do if [[ $FILE =~ ^locale$ ]]; then echo skip commonly used "${FILE}"; else mv "${FILE}" ../common/res/; fi; done
212 popd
213 popd
214 %endif
215
216 # This is for old profile-based OBS project optimizations.
217 # In 4.0 unified build env, this if statement is always true.
218 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
219 pushd build_mobile
220 %make_install
221 popd
222 mkdir -p %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/mobile
223 pushd %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/
224 mv bin mobile/
225 mkdir -p mobile/res
226 pushd res
227 for FILE in *; do if [[ $FILE =~ ^locale$ ]]; then echo skip commonly used "${FILE}"; else mv "${FILE}" ../mobile/res/; fi; done
228 popd
229 popd
230 %endif
231
232 # This is for old profile-based OBS project optimizations.
233 # In 4.0 unified build env, this if statement is always true.
234 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
235 pushd build_tv
236 %make_install
237 popd
238 mkdir -p %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/tv
239 pushd %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/
240 mv bin tv/
241 mkdir -p tv/res
242 pushd res
243 for FILE in *; do if [[ $FILE =~ ^locale$ ]]; then echo skip commonly used "${FILE}"; else mv "${FILE}" ../tv/res/; fi; done
244 popd
245 popd
246 %endif
247
248
249 # This is for old profile-based OBS project optimizations.
250 # In 4.0 unified build env, this if statement is always true.
251 # Common is blocked because wearable has extra efl-ext entries, which will be
252 # removed for unified build env later.
253 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "ivi"
254 pushd build_wearable
255 %make_install
256 popd
257 mkdir -p %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/wearable
258 pushd %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/
259 mv bin wearable/
260 mkdir -p wearable/res
261 pushd res
262 for FILE in *; do if [[ $FILE =~ ^locale$ ]]; then echo skip commonly used "${FILE}"; else mv "${FILE}" ../wearable/res/; fi; done
263 popd
264 popd
265 %endif
266
267 %find_lang inputdelegator
268
269 %files -f inputdelegator.lang
270 %manifest %{name}.manifest
271 %defattr(-,root,root,-)
272 %{TZ_SYS_RO_PACKAGES}/%{name}.xml
273 %license LICENSE
274
275 # This is for old profile-based OBS project optimizations.
276 # In 4.0 unified build env, this if statement is always true.
277 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi"
278 %post profile_common
279 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/common/
280 mkdir -p ../res
281 mkdir -p ../bin
282 # If we are upgrading this package, remove existing files before copying (1:install / 2:upgrade)
283 if [ "$1" = "2" ]; then
284     rm -Rf ../bin/*
285     pushd ../res
286     for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
287     popd
288 fi
289 for FILE in bin/*; do ln -sf "../common/${FILE}" ../bin; done
290 for FILE in res/*; do ln -sf "../common/${FILE}" ../res; done
291 popd
292 %preun profile_common
293 # Perform file removal only when uninstalling (0:uninstall / 1:upgrade)
294 if [ "$1" = "0" ]; then
295     pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator
296     rm -Rf bin
297     pushd res
298     for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
299     popd
300     popd
301 fi
302 %files profile_common
303 %manifest %{name}.manifest
304 %defattr(-,root,root,-)
305 %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/common/*
306 %endif
307
308
309 # This is for old profile-based OBS project optimizations.
310 # In 4.0 unified build env, this if statement is always true.
311 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
312 %post profile_mobile
313 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/mobile/
314 mkdir -p ../res
315 mkdir -p ../bin
316 # If we are upgrading this package, remove existing files before copying (1:install / 2:upgrade)
317 if [ "$1" = "2" ]; then
318     rm -Rf ../bin/*
319     pushd ../res
320     for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
321     popd
322 fi
323 for FILE in bin/*; do ln -sf "../mobile/${FILE}" ../bin; done
324 for FILE in res/*; do ln -sf "../mobile/${FILE}" ../res; done
325 popd
326 %preun profile_mobile
327 # Perform file removal only when uninstalling (0:uninstall / 1:upgrade)
328 if [ "$1" = "0" ]; then
329     pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator
330     rm -Rf bin
331     pushd res
332     for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
333     popd
334     popd
335 fi
336 %files profile_mobile
337 %manifest %{name}.manifest
338 %defattr(-,root,root,-)
339 %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/mobile/*
340 %endif
341
342
343 # This is for old profile-based OBS project optimizations.
344 # In 4.0 unified build env, this if statement is always true.
345 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
346 %post profile_tv
347 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/tv/
348 mkdir -p ../res
349 mkdir -p ../bin
350 # If we are upgrading this package, remove existing files before copying (1:install / 2:upgrade)
351 if [ "$1" = "2" ]; then
352     rm -Rf ../bin/*
353     pushd ../res
354     for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
355     popd
356 fi
357 for FILE in bin/*; do ln -sf "../tv/${FILE}" ../bin; done
358 for FILE in res/*; do ln -sf "../tv/${FILE}" ../res; done
359 popd
360 %preun profile_tv
361 # Perform file removal only when uninstalling (0:uninstall / 1:upgrade)
362 if [ "$1" = "0" ]; then
363     pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator
364     rm -Rf bin
365     pushd res
366     for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
367     popd
368     popd
369 fi
370 %files profile_tv
371 %manifest %{name}.manifest
372 %defattr(-,root,root,-)
373 %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/tv/*
374 %endif
375
376
377 # This is for old profile-based OBS project optimizations.
378 # In 4.0 unified build env, this if statement is always true.
379 # Common is blocked because wearable has extra efl-ext entries, which will be
380 # removed for unified build env later.
381 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "ivi"
382 %post profile_wearable
383 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/wearable/
384 mkdir -p ../res
385 mkdir -p ../bin
386 # If we are upgrading this package, remove existing files before copying (1:install / 2:upgrade)
387 if [ "$1" = "2" ]; then
388     rm -Rf ../bin/*
389     pushd ../res
390     for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
391     popd
392 fi
393 for FILE in bin/*; do ln -sf "../wearable/${FILE}" ../bin; done
394 for FILE in res/*; do ln -sf "../wearable/${FILE}" ../res; done
395 popd
396 %preun profile_wearable
397 # Perform file removal only when uninstalling (0:uninstall / 1:upgrade)
398 if [ "$1" = "0" ]; then
399     pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator
400     rm -Rf bin
401     pushd res
402     for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
403     popd
404     popd
405 fi
406 %files profile_wearable
407 %manifest %{name}.manifest
408 %defattr(-,root,root,-)
409 %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/wearable/*
410 %endif