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 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}
27 Setting Application for ISF.
28 This requires profile specific extensions. (e.g., %{name}-profile_common)
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.
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.
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.
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.
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.
91 %setup -q -n %{name}-%{version}
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"
98 export CFLAGSBASE="$CFLAGS"
99 export CXXFLAGSBASE="$CXXFLAGS"
102 rm -rf CMakeCache.txt
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"
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}
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
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}
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}
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"
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}
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"
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
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
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
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
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"
202 %find_lang inputmethod-setting
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
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-*
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"
225 pushd %{TZ_SYS_RO_APP}/%{name}/bin/
226 for file in inputmethod-setting-*.mobile; do ln -sf "${file}" "${file%.mobile}"; done
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
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
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
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
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
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