1 Name: org.tizen.inputmethod-setting
2 Summary: Input Method Setting Application
5 Group: Graphics & UI Framework/Input
7 Source0: %{name}-%{version}.tar.gz
9 BuildRequires: gettext-tools
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 BuildRequires: pkgconfig(vconf)
20 Requires: %{name}-compat = %{version}-%{release}
21 # This if/endif is for GBM build optimization. This usage does not affect
22 # The unified build (profile is undefined) as it will return TRUE always.
23 %if "%{?profile}"!="mobile" && "%{?profile}"!="wearable"
24 Recommends: %{name}-profile_common = %{version}-%{release}
28 Setting Application for ISF.
29 This requires profile specific extensions. (e.g., %{name}-profile_common)
31 # This if/endif is for GBM build optimization. This usage does not affect
32 # The unified build (profile is undefined) as it will return TRUE always.
33 %if "%{?profile}"!="mobile" && "%{?profile}"!="wearable"
34 %package profile_common
35 Summary: Input Method Setting Application Vannila Binaries (common/ivi/tv)
36 Provides: %{name}-compat = %{version}-%{release}
37 Conflicts: %{name}-profile_wearable
38 Conflicts: %{name}-profile_mobile
39 %description profile_common
40 Setting Application for ISF, Vanilla Edition for common/ivi/tv profiles.
43 # This if/endif is for GBM build optimization. This usage does not affect
44 # The unified build (profile is undefined) as it will return TRUE always.
45 %if "%{?profile}"!="tv" && "%{?profile}"!="wearable"
46 %package profile_mobile
47 Summary: Input Method Setting Application Binaries for Mobile Profile
48 Provides: %{name}-compat = %{version}-%{release}
49 Conflicts: %{name}-profile_wearable
50 Conflicts: %{name}-profile_common
51 %description profile_mobile
52 Setting Application for ISF, Mobile Profile Edition.
53 Binaries in this package is compiled with "mobile" options.
56 # This if/endif is for GBM build optimization. This usage does not affect
57 # The unified build (profile is undefined) as it will return TRUE always.
58 %if "%{?profile}"!="tv" && "%{?profile}"!="mobile"
59 %package profile_wearable
60 Summary: Input Method Setting Application Metapackage for Wearable
61 Provides: %{name}-compat = %{version}-%{release}
62 Requires: %{name}-profile_wearable-extension = %{version}-%{release}
63 Recommends: %{name}-profile_wearable-extension-circle = %{version}-%{release}
64 Conflicts: %{name}-profile_common
65 Conflicts: %{name}-profile_mobile
66 %description profile_wearable
67 Meta package to anchor circle display version and rectangle display version of
68 Setting APplication for ISF, Wearable Profile Edition.
70 # Because circle breaks CAPI compatibility, it should be built for
71 # wearable and "unified (undefined)"
72 %if "%{?profile}"!="tv" && "%{?profile}"!="mobile" && "%{?profile}"!="ivi" && "%{?profile}"!="common"
73 %package profile_wearable-extension-circle
74 Summary: Input Method Setting Application for Wearable (Circle)
75 Provides: %{name}-profile_wearable-extension = %{version}-%{release}
76 Conflicts: %{name}-profile_wearable-extension-rectangle
77 %description profile_wearable-extension-circle
78 Setting Application for ISF, Wearable Profile Edition with Circle Display
79 Binaries in this package is compiled with "wearable" and "circle" options.
82 %package profile_wearable-extension-rectangle
83 Summary: Input Method Setting Application for Wearable (Rectangle)
84 Provides: %{name}-profile_wearable-extension = %{version}-%{release}
85 Conflicts: %{name}-profile_wearable-extension-circle
86 %description profile_wearable-extension-rectangle
87 Setting Application for ISF, Wearable Profile Edition with Rectangle Display
88 Binaries in this package is compiled with "wearable" and "rectangle" options.
92 %setup -q -n %{name}-%{version}
95 export CFLAGS="$CFLAGS -DTIZEN_ENGINEER_MODE -DTIZEN_DEBUG_ENABLE -fvisibility=hidden -Werror"
96 export CXXFLAGS="$CXXFLAGS -DTIZEN_ENGINEER_MODE -DTIZEN_DEBUG_ENABLE -fvisibility=hidden -fvisibility-inlines-hidden -Werror"
97 export FFLAGS="$FFLAGS -DTIZEN_ENGINEER_MODE -DTIZEN_DEBUG_ENABLE"
99 export CFLAGSBASE="$CFLAGS"
100 export CXXFLAGSBASE="$CXXFLAGS"
103 rm -rf CMakeCache.txt
105 # This if/endif is for GBM build optimization. This usage does not affect
106 # The unified build (profile is undefined) as it will return TRUE always.
107 %if "%{?profile}"!="tv" && "%{?profile}"!="wearable"
108 mkdir -p build_mobile
109 CFLAGS="$CFLAGSBASE -D_MOBILE"
110 CXXFLAGS="$CXXFLAGSBASE -D_MOBILE"
113 %cmake .. -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
114 -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES \
115 -DTZ_SYS_RO_ICONS=%TZ_SYS_RO_ICONS
116 make %{?jobs:-j%jobs}
120 # This if/endif is for GBM build optimization. This usage does not affect
121 # The unified build (profile is undefined) as it will return TRUE always.
122 %if "%{?profile}"!="tv" && "%{?profile}"!="mobile"
123 mkdir -p build_wearable_rectangle
125 CFLAGS="$CFLAGSBASE -D_WEARABLE"
126 CXXFLAGS="$CXXFLAGSBASE -D_WEARABLE"
127 pushd build_wearable_rectangle
128 %cmake .. -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
129 -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES \
130 -DTZ_SYS_RO_ICONS=%TZ_SYS_RO_ICONS
131 make %{?jobs:-j%jobs}
134 # Because circle breaks CAPI compatibility, it should be built for
135 # wearable and "unified (undefined)"
136 %if "%{?profile}"!="tv" && "%{?profile}"!="mobile" && "%{?profile}"!="ivi" && "%{?profile}"!="common"
137 mkdir -p build_wearable_circle
138 CFLAGS="$CFLAGSBASE -D_WEARABLE -D_CIRCLE"
139 CXXFLAGS="$CXXFLAGSBASE -D_WEARABLE -D_CIRCLE"
140 pushd build_wearable_circle
141 %cmake .. -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
142 -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES \
143 -DTZ_SYS_RO_ICONS=%TZ_SYS_RO_ICONS
144 make %{?jobs:-j%jobs}
149 # This if/endif is for GBM build optimization. This usage does not affect
150 # The unified build (profile is undefined) as it will return TRUE always.
151 %if "%{?profile}"!="mobile" && "%{?profile}"!="wearable"
153 CXXFLAGS="$CXXFLAGSBASE"
154 %cmake . -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
155 -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES \
156 -DTZ_SYS_RO_ICONS=%TZ_SYS_RO_ICONS
157 make %{?jobs:-j%jobs}
163 # This if/endif is for GBM build optimization. This usage does not affect
164 # The unified build (profile is undefined) as it will return TRUE always.
165 %if "%{?profile}"!="tv" && "%{?profile}"!="wearable"
169 mv %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-list \
170 %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-list.mobile
171 mv %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-selector \
172 %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-selector.mobile
175 # This if/endif is for GBM build optimization. This usage does not affect
176 # The unified build (profile is undefined) as it will return TRUE always.
177 %if "%{?profile}"!="tv" && "%{?profile}"!="mobile"
178 pushd build_wearable_rectangle
181 mv %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-list \
182 %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-list.wearable.rectangle
183 mv %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-selector \
184 %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-selector.wearable.rectangle
185 # Because circle breaks CAPI compatibility, it should be built for
186 # wearable and "unified (undefined)"
187 %if "%{?profile}"!="tv" && "%{?profile}"!="mobile" && "%{?profile}"!="ivi" && "%{?profile}"!="common"
188 pushd build_wearable_circle
191 mv %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-list \
192 %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-list.wearable.circle
193 mv %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-selector \
194 %{buildroot}%{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-selector.wearable.circle
198 # This if/endif is for GBM build optimization. This usage does not affect
199 # The unified build (profile is undefined) as it will return TRUE always.
200 %if "%{?profile}"!="mobile" && "%{?profile}"!="wearable"
203 %find_lang inputmethod-setting
205 %files -f inputmethod-setting.lang
206 %manifest %{name}.manifest
207 %defattr(-,root,root,-)
208 %{TZ_SYS_RO_ICONS}/default/small/*
209 %{TZ_SYS_RO_PACKAGES}/%{name}.xml
212 # This if/endif is for GBM build optimization. This usage does not affect
213 # The unified build (profile is undefined) as it will return TRUE always.
214 %if "%{?profile}"!="mobile" && "%{?profile}"!="wearable"
215 %files profile_common
216 %manifest %{name}.manifest
217 %exclude %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-*.mobile
218 %exclude %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-*.wearable.*
219 %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-*
222 # This if/endif is for GBM build optimization. This usage does not affect
223 # The unified build (profile is undefined) as it will return TRUE always.
224 %if "%{?profile}"!="tv" && "%{?profile}"!="wearable"
226 pushd %{TZ_SYS_RO_APP}/%{name}/bin/
227 for file in inputmethod-setting-*.mobile; do ln -sf "${file}" "${file%.mobile}"; done
229 %preun profile_mobile
230 rm %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-settings-list
231 rm %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-selector
232 %files profile_mobile
233 %manifest %{name}.manifest
234 %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-*.mobile
237 # This if/endif is for GBM build optimization. This usage does not affect
238 # The unified build (profile is undefined) as it will return TRUE always.
239 %if "%{?profile}"!="tv" && "%{?profile}"!="mobile"
240 %files profile_wearable
242 # Because circle breaks CAPI compatibility, it should be built for
243 # wearable and "unified (undefined)"
244 %if "%{?profile}"!="tv" && "%{?profile}"!="mobile" && "%{?profile}"!="ivi" && "%{?profile}"!="common"
245 %post profile_wearable-extension-circle
246 pushd %{TZ_SYS_RO_APP}/%{name}/bin/
247 for file in inputmethod-setting-*.wearable.circle; do ln -sf "${file}" "${file%.wearable.circle}"; done
249 %preun profile_wearable-extension-circle
250 rm %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-settings-list
251 rm %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-selector
252 %files profile_wearable-extension-circle
253 %manifest %{name}.manifest
254 %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-*.wearable.circle
257 %post profile_wearable-extension-rectangle
258 pushd %{TZ_SYS_RO_APP}/%{name}/bin/
259 for file in inputmethod-setting-*.wearable.rectangle; do ln -sf "${file}" "${file%.wearable.rectangle}"; done
261 %preun profile_wearable-extension-rectangle
262 rm %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-settings-list
263 rm %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-selector
264 %files profile_wearable-extension-rectangle
265 %manifest %{name}.manifest
266 %{TZ_SYS_RO_APP}/%{name}/bin/inputmethod-setting-*.wearable.rectangle