Update package version to 0.5.31
[platform/core/uifw/inputmethod-setting.git] / packaging / org.tizen.inputmethod-setting.spec
1 Name:       org.tizen.inputmethod-setting
2 Summary:    Input Method Setting Application
3 Version:    0.5.31
4 Release:    1
5 Group:      Graphics & UI Framework/Input
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8
9 BuildRequires:  gettext-tools
10 BuildRequires:  cmake
11 BuildRequires:  pkgconfig(capi-appfw-application)
12 BuildRequires:  pkgconfig(isf)
13 BuildRequires:  pkgconfig(elementary)
14 BuildRequires:  pkgconfig(dlog)
15 BuildRequires:  pkgconfig(efl-extension)
16 BuildRequires:  pkgconfig(libtzplatform-config)
17 BuildRequires:  pkgconfig(capi-ui-inputmethod-manager)
18 BuildRequires:  pkgconfig(capi-appfw-package-manager)
19 Requires:       %{name}-compat = %{version}-%{release}
20 # This if/endif is for GBM build optimization. This usage does not affect
21 # The unified build (profile is undefined) as it will return TRUE always.
22 %if "%{?profile}"!="mobile" && "%{?profile}"!="wearable"
23 Recommends:     %{name}-profile_common = %{version}-%{release}
24 %endif
25
26 %description
27 Setting Application for ISF.
28 This requires profile specific extensions. (e.g., %{name}-profile_common)
29
30 # This if/endif is for GBM build optimization. This usage does not affect
31 # The unified build (profile is undefined) as it will return TRUE always.
32 %if "%{?profile}"!="mobile" && "%{?profile}"!="wearable"
33 %package profile_common
34 Summary:    Input Method Setting Application Vannila Binaries (common/ivi/tv)
35 Provides:   %{name}-compat = %{version}-%{release}
36 Conflicts:  %{name}-profile_wearable
37 Conflicts:  %{name}-profile_mobile
38 %description profile_common
39 Setting Application for ISF, Vanilla Edition for common/ivi/tv profiles.
40 %endif
41
42 # This if/endif is for GBM build optimization. This usage does not affect
43 # The unified build (profile is undefined) as it will return TRUE always.
44 %if "%{?profile}"!="tv" && "%{?profile}"!="wearable"
45 %package profile_mobile
46 Summary:    Input Method Setting Application Binaries for Mobile Profile
47 Provides:   %{name}-compat = %{version}-%{release}
48 Conflicts:  %{name}-profile_wearable
49 Conflicts:  %{name}-profile_common
50 %description profile_mobile
51 Setting Application for ISF, Mobile Profile Edition.
52 Binaries in this package is compiled with "mobile" options.
53 %endif
54
55 # This if/endif is for GBM build optimization. This usage does not affect
56 # The unified build (profile is undefined) as it will return TRUE always.
57 %if "%{?profile}"!="tv" && "%{?profile}"!="mobile"
58 %package profile_wearable
59 Summary:    Input Method Setting Application Metapackage for Wearable
60 Provides:   %{name}-compat = %{version}-%{release}
61 Requires:   %{name}-profile_wearable-extension = %{version}-%{release}
62 Recommends: %{name}-profile_wearable-extension-circle = %{version}-%{release}
63 Conflicts:  %{name}-profile_common
64 Conflicts:  %{name}-profile_mobile
65 %description profile_wearable
66 Meta package to anchor circle display version and rectangle display version of
67 Setting APplication for ISF, Wearable Profile Edition.
68
69 # Because circle breaks CAPI compatibility, it should be built for
70 # wearable and "unified (undefined)"
71 %if "%{?profile}"!="tv" && "%{?profile}"!="mobile" && "%{?profile}"!="ivi" && "%{?profile}"!="common"
72 %package profile_wearable-extension-circle
73 Summary:    Input Method Setting Application for Wearable (Circle)
74 Provides:   %{name}-profile_wearable-extension = %{version}-%{release}
75 Conflicts:  %{name}-profile_wearable-extension-rectangle
76 %description profile_wearable-extension-circle
77 Setting Application for ISF, Wearable Profile Edition with Circle Display
78 Binaries in this package is compiled with "wearable" and "circle" options.
79 %endif
80
81 %package profile_wearable-extension-rectangle
82 Summary:    Input Method Setting Application for Wearable (Rectangle)
83 Provides:   %{name}-profile_wearable-extension = %{version}-%{release}
84 Conflicts:  %{name}-profile_wearable-extension-circle
85 %description profile_wearable-extension-rectangle
86 Setting Application for ISF, Wearable Profile Edition with Rectangle Display
87 Binaries in this package is compiled with "wearable" and "rectangle" options.
88 %endif
89
90 %prep
91 %setup -q -n %{name}-%{version}
92
93 %build
94 export CFLAGS="$CFLAGS -DTIZEN_ENGINEER_MODE -DTIZEN_DEBUG_ENABLE -fvisibility=hidden"
95 export CXXFLAGS="$CXXFLAGS -DTIZEN_ENGINEER_MODE -DTIZEN_DEBUG_ENABLE -fvisibility=hidden -fvisibility-inlines-hidden"
96 export FFLAGS="$FFLAGS -DTIZEN_ENGINEER_MODE -DTIZEN_DEBUG_ENABLE"
97
98 export CFLAGSBASE="$CFLAGS"
99 export CXXFLAGSBASE="$CXXFLAGS"
100
101 rm -rf CMakeFiles
102 rm -rf CMakeCache.txt
103
104 # This if/endif is for GBM build optimization. This usage does not affect
105 # The unified build (profile is undefined) as it will return TRUE always.
106 %if "%{?profile}"!="tv" && "%{?profile}"!="wearable"
107 mkdir -p build_mobile
108 CFLAGS="$CFLAGSBASE -D_MOBILE"
109 CXXFLAGS="$CXXFLAGSBASE -D_MOBILE"
110
111 pushd build_mobile
112 %cmake .. -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
113          -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES \
114          -DTZ_SYS_RO_ICONS=%TZ_SYS_RO_ICONS
115 make %{?jobs:-j%jobs}
116 popd
117 %endif
118
119 # This if/endif is for GBM build optimization. This usage does not affect
120 # The unified build (profile is undefined) as it will return TRUE always.
121 %if "%{?profile}"!="tv" && "%{?profile}"!="mobile"
122 mkdir -p build_wearable_rectangle
123
124 CFLAGS="$CFLAGSBASE -D_WEARABLE"
125 CXXFLAGS="$CXXFLAGSBASE -D_WEARABLE"
126 pushd build_wearable_rectangle
127 %cmake .. -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
128          -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES \
129          -DTZ_SYS_RO_ICONS=%TZ_SYS_RO_ICONS
130 make %{?jobs:-j%jobs}
131 popd
132
133 # Because circle breaks CAPI compatibility, it should be built for
134 # wearable and "unified (undefined)"
135 %if "%{?profile}"!="tv" && "%{?profile}"!="mobile" && "%{?profile}"!="ivi" && "%{?profile}"!="common"
136 mkdir -p build_wearable_circle
137 CFLAGS="$CFLAGSBASE -D_WEARABLE -D_CIRCLE"
138 CXXFLAGS="$CXXFLAGSBASE -D_WEARABLE -D_CIRCLE"
139 pushd build_wearable_circle
140 %cmake .. -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
141          -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES \
142          -DTZ_SYS_RO_ICONS=%TZ_SYS_RO_ICONS
143 make %{?jobs:-j%jobs}
144 popd
145 %endif
146 %endif
147
148 # This if/endif is for GBM build optimization. This usage does not affect
149 # The unified build (profile is undefined) as it will return TRUE always.
150 %if "%{?profile}"!="mobile" && "%{?profile}"!="wearable"
151 CFLAGS="$CFLAGSBASE"
152 CXXFLAGS="$CXXFLAGSBASE"
153 %cmake . -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
154         -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES \
155         -DTZ_SYS_RO_ICONS=%TZ_SYS_RO_ICONS
156 make %{?jobs:-j%jobs}
157 %endif
158
159 %install
160 rm -rf %{buildroot}
161
162 # This if/endif is for GBM build optimization. This usage does not affect
163 # The unified build (profile is undefined) as it will return TRUE always.
164 %if "%{?profile}"!="tv" && "%{?profile}"!="wearable"
165 pushd build_mobile
166 %make_install
167 popd
168 mv %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-list \
169    %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-list.mobile
170 mv %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-selector \
171    %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-selector.mobile
172 %endif
173
174 # This if/endif is for GBM build optimization. This usage does not affect
175 # The unified build (profile is undefined) as it will return TRUE always.
176 %if "%{?profile}"!="tv" && "%{?profile}"!="mobile"
177 pushd build_wearable_rectangle
178 %make_install
179 popd
180 mv %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-list \
181    %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-list.wearable.rectangle
182 mv %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-selector \
183    %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-selector.wearable.rectangle
184 # Because circle breaks CAPI compatibility, it should be built for
185 # wearable and "unified (undefined)"
186 %if "%{?profile}"!="tv" && "%{?profile}"!="mobile" && "%{?profile}"!="ivi" && "%{?profile}"!="common"
187 pushd build_wearable_circle
188 %make_install
189 popd
190 mv %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-list \
191    %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-list.wearable.circle
192 mv %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-selector \
193    %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-selector.wearable.circle
194 %endif
195 %endif
196
197 # This if/endif is for GBM build optimization. This usage does not affect
198 # The unified build (profile is undefined) as it will return TRUE always.
199 %if "%{?profile}"!="mobile" && "%{?profile}"!="wearable"
200 %make_install
201 %endif
202 %find_lang inputmethod-setting
203
204 %files -f inputmethod-setting.lang
205 %manifest %{name}.manifest
206 %defattr(-,root,root,-)
207 %{TZ_SYS_RO_ICONS}/default/small/*
208 %{TZ_SYS_RO_PACKAGES}/%{name}.xml
209 %license LICENSE
210
211 # This if/endif is for GBM build optimization. This usage does not affect
212 # The unified build (profile is undefined) as it will return TRUE always.
213 %if "%{?profile}"!="mobile" && "%{?profile}"!="wearable"
214 %files profile_common
215 %manifest %{name}.manifest
216 %exclude %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-*.mobile
217 %exclude %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-*.wearable.*
218 %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-*
219 %endif
220
221 # This if/endif is for GBM build optimization. This usage does not affect
222 # The unified build (profile is undefined) as it will return TRUE always.
223 %if "%{?profile}"!="tv" && "%{?profile}"!="wearable"
224 %post profile_mobile
225 pushd %{TZ_SYS_RO_APP}/%{name}/bin/
226 for file in inputmethod-setting-*.mobile; do ln -sf "${file}" "${file%.mobile}"; done
227 popd
228 %preun profile_mobile
229 rm %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-settings-list
230 rm %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-selector
231 %files profile_mobile
232 %manifest %{name}.manifest
233 %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-*.mobile
234 %endif
235
236 # This if/endif is for GBM build optimization. This usage does not affect
237 # The unified build (profile is undefined) as it will return TRUE always.
238 %if "%{?profile}"!="tv" && "%{?profile}"!="mobile"
239 %files profile_wearable
240
241 # Because circle breaks CAPI compatibility, it should be built for
242 # wearable and "unified (undefined)"
243 %if "%{?profile}"!="tv" && "%{?profile}"!="mobile" && "%{?profile}"!="ivi" && "%{?profile}"!="common"
244 %post profile_wearable-extension-circle
245 pushd %{TZ_SYS_RO_APP}/%{name}/bin/
246 for file in inputmethod-setting-*.wearable.circle; do ln -sf "${file}" "${file%.wearable.circle}"; done
247 popd
248 %preun profile_wearable-extension-circle
249 rm %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-settings-list
250 rm %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-selector
251 %files profile_wearable-extension-circle
252 %manifest %{name}.manifest
253 %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-*.wearable.circle
254 %endif
255
256 %post profile_wearable-extension-rectangle
257 pushd %{TZ_SYS_RO_APP}/%{name}/bin/
258 for file in inputmethod-setting-*.wearable.rectangle; do ln -sf "${file}" "${file%.wearable.rectangle}"; done
259 popd
260 %preun profile_wearable-extension-rectangle
261 rm %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-settings-list
262 rm %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-selector
263 %files profile_wearable-extension-rectangle
264 %manifest %{name}.manifest
265 %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-*.wearable.rectangle
266 %endif