1 %{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
2 %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
3 %{!?gtk2_binary_version: %define gtk2_binary_version %(pkg-config --variable=gtk_binary_version gtk+-2.0)}
4 %{!?gtk3_binary_version: %define gtk3_binary_version %(pkg-config --variable=gtk_binary_version gtk+-3.0)}
7 %define build_python_library 0
9 %define glib_ver %([ -a %{_libdir}/pkgconfig/glib-2.0.pc ] && pkg-config --modversion glib-2.0 | cut -d. -f 1,2 || echo -n "999")
10 %define gconf2_version 2.12.0
11 %define dbus_python_version 0.83.0
12 %define im_chooser_version 1.2.5
15 Version: @IBUS_VERSION@
17 Summary: Intelligent Input Bus for Linux OS
19 Group: System Environment/Libraries
20 URL: http://code.google.com/p/ibus/
21 Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz
23 # Patch0: ibus-HEAD.patch
25 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
29 BuildRequires: gettext-devel
30 BuildRequires: libtool
32 BuildRequires: gtk2-devel
33 BuildRequires: gtk3-devel
34 BuildRequires: dbus-glib-devel
35 BuildRequires: dbus-python-devel >= %{dbus_python_version}
36 BuildRequires: desktop-file-utils
37 BuildRequires: gtk-doc
38 BuildRequires: GConf2-devel
39 BuildRequires: dconf-devel
40 BuildRequires: pygobject2-devel
41 BuildRequires: intltool
42 BuildRequires: iso-codes-devel
44 Requires: %{name}-libs = %{version}-%{release}
45 Requires: %{name}-gtk2 = %{version}-%{release}
46 Requires: %{name}-gtk3 = %{version}-%{release}
47 Requires: %{name}-conf = %{version}-%{release}
52 Requires: dbus-python >= %{dbus_python_version}
53 Requires: im-chooser >= %{im_chooser_version}
54 Requires: notify-python
57 Requires(post): desktop-file-utils
58 Requires(postun): desktop-file-utils
60 Requires(post): %{_sbindir}/alternatives
61 Requires(postun): %{_sbindir}/alternatives
63 Obsoletes: ibus-qt < 1.1.0
65 %define _xinputconf %{_sysconfdir}/X11/xinit/xinput.d/ibus.conf
68 IBus means Intelligent Input Bus. It is an input framework for Linux OS.
71 Summary: IBus libraries
72 Group: System Environment/Libraries
74 Requires: glib2 >= %{glib_ver}
75 Requires: dbus >= 1.2.4
78 This package contains the libraries for IBus
81 Summary: IBus configuration module using GConf
82 Group: System Environment/Libraries
83 Provides: %{name}-conf = %{version}-%{release}
84 Requires: %{name} = %{version}-%{release}
85 Requires: GConf2 >= %{gconf2_version}
86 Requires(pre): GConf2 >= %{gconf2_version}
87 Requires(post): GConf2 >= %{gconf2_version}
88 Requires(preun): GConf2 >= %{gconf2_version}
91 This package contains ibus configuration module using GConf
94 Summary: IBus configuration module using DConf
95 Group: System Environment/Libraries
96 Provides: %{name}-conf = %{version}-%{release}
97 Requires: %{name} = %{version}-%{release}
98 Requires(posttrans): dconf
101 This package contains ibus configuration module using DConf
104 Summary: IBus im module for gtk2
105 Group: System Environment/Libraries
106 Requires: %{name} = %{version}-%{release}
107 Requires(post): glib2 >= %{glib_ver}
110 This package contains ibus im module for gtk2
113 Summary: IBus im module for gtk3
114 Group: System Environment/Libraries
115 Requires: %{name} = %{version}-%{release}
116 Requires(post): glib2 >= %{glib_ver}
119 This package contains ibus im module for gtk3
122 Summary: Development tools for ibus
123 Group: Development/Libraries
124 Requires: %{name} = %{version}-%{release}
125 Requires: glib2-devel
129 The ibus-devel package contains the header files and developer
133 Summary: Developer documents for ibus
134 Group: Development/Libraries
135 Requires: %{name} = %{version}-%{release}
138 %description devel-docs
139 The ibus-devel-docs package contains developer documentation for ibus
148 OPTIONS="--disable-static --enable-gtk2 --enable-gtk3 --enable-xim --disable-gtk-doc --enable-introspection --enable-gconf"
150 %if %{build_python_library}
151 OPTIONS="$OPTIONS --enable-python-library"
153 OPTIONS="$OPTIONS --disable-python-library"
158 # make -C po update-gmo
162 rm -rf $RPM_BUILD_ROOT
163 make DESTDIR=$RPM_BUILD_ROOT install
164 rm -f $RPM_BUILD_ROOT%{_libdir}/libibus-1.0.la
165 rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/%{gtk2_binary_version}/immodules/im-ibus.la
166 rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/%{gtk3_binary_version}/immodules/im-ibus.la
168 # install xinput config file
169 install -pm 644 -D %{SOURCE1} $RPM_BUILD_ROOT%{_xinputconf}
171 # install .desktop files
172 echo "NoDisplay=true" >> $RPM_BUILD_ROOT%{_datadir}/applications/ibus.desktop
173 echo "NoDisplay=true" >> $RPM_BUILD_ROOT%{_datadir}/applications/ibus-setup.desktop
174 desktop-file-install --delete-original \
175 --dir $RPM_BUILD_ROOT%{_datadir}/applications \
176 $RPM_BUILD_ROOT%{_datadir}/applications/*
181 rm -rf $RPM_BUILD_ROOT
184 # recreate icon cache
185 touch --no-create %{_datadir}/icons/hicolor || :
186 [ -x %{_bindir}/gtk-update-icon-cache ] && \
187 %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
189 %{_sbindir}/alternatives --install %{_sysconfdir}/X11/xinit/xinputrc xinputrc %{_xinputconf} 83 || :
192 export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
193 gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/ibus.schemas >& /dev/null || :
196 if [ "$1" -gt 1 ]; then
197 export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
198 gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/ibus.schemas >& /dev/null || :
202 if [ "$1" -eq 0 ]; then
203 export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
204 gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/ibus.schemas >& /dev/null || :
208 # recreate icon cache
209 touch --no-create %{_datadir}/icons/hicolor || :
210 [ -x %{_bindir}/gtk-update-icon-cache ] && \
211 %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
213 if [ "$1" = "0" ]; then
214 %{_sbindir}/alternatives --remove xinputrc %{_xinputconf} || :
215 # if alternative was set to manual, reset to auto
216 [ -L %{_sysconfdir}/alternatives/xinputrc -a "`readlink %{_sysconfdir}/alternatives/xinputrc`" = "%{_xinputconf}" ] && %{_sbindir}/alternatives --auto xinputrc || :
220 if [ "$1" -eq 0 ] ; then
221 /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
222 rm -f %{_sysconfdir}/dconf/db/ibus
226 /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
227 dconf update &> /dev/null || :
229 %post libs -p /sbin/ldconfig
231 %postun libs -p /sbin/ldconfig
234 %{_bindir}/update-gtk-immodules %{_host}
237 %{_bindir}/update-gtk-immodules %{_host}
240 %{_bindir}/gtk-query-immodules-3.0-%{__isa_bits} --update-cache
243 %{_bindir}/gtk-query-immodules-3.0-%{__isa_bits} --update-cache
245 %files -f %{name}10.lang
246 %defattr(-,root,root,-)
247 %doc AUTHORS COPYING README
249 %if %{build_python_library}
250 %dir %{python_sitelib}/ibus
251 %{python_sitelib}/ibus/*
254 %{python_sitearch}/gi/overrides/IBus.py*
256 %dir %{_datadir}/ibus/
258 %{_bindir}/ibus-daemon
259 %{_bindir}/ibus-setup
260 %{_datadir}/ibus/component/gtkpanel.xml
261 %{_datadir}/ibus/component/simple.xml
262 %{_datadir}/ibus/keymaps/*
263 %{_datadir}/ibus/setup/*
266 %{_datadir}/applications/*
267 %{_datadir}/icons/hicolor/*/apps/*
268 %if %{build_python_library}
269 %{_libexecdir}/ibus-ui-gtk
271 %{_libexecdir}/ibus-ui-gtk3
272 %{_libexecdir}/ibus-x11
273 %{_libexecdir}/ibus-engine-simple
274 # %{_sysconfdir}/xdg/autostart/ibus.desktop
275 %{_datadir}/bash-completion/completions/ibus.bash
276 %config %{_xinputconf}
279 %defattr(-,root,root,-)
280 %{_libdir}/libibus-1.0.so.*
281 %{_libdir}/girepository-1.0/IBus-1.0.typelib
284 %defattr(-,root,root,-)
285 %{_datadir}/ibus/component/gconf.xml
286 %{_libexecdir}/ibus-gconf
287 %{_sysconfdir}/gconf/schemas/ibus.schemas
290 %defattr(-,root,root,-)
291 %{_datadir}/ibus/component/dconf.xml
292 %{_libexecdir}/ibus-dconf
293 %{_sysconfdir}/dconf/db/ibus.d
294 %{_sysconfdir}/dconf/profile/ibus
295 %{_datadir}/GConf/gsettings/ibus.convert
296 %{_datadir}/glib-2.0/schemas/org.freedesktop.ibus.gschema.xml
299 %defattr(-,root,root,-)
300 %{_libdir}/gtk-2.0/%{gtk2_binary_version}/immodules/im-ibus.so
303 %defattr(-,root,root,-)
304 %{_libdir}/gtk-3.0/%{gtk3_binary_version}/immodules/im-ibus.so
307 %defattr(-,root,root,-)
309 %{_libdir}/pkgconfig/*
311 %{_datadir}/gir-1.0/IBus-1.0.gir
312 %{_datadir}/vala/vapi/ibus-1.0.vapi
313 %{_datadir}/vala/vapi/ibus-1.0.deps
316 %defattr(-,root,root,-)
317 %{_datadir}/gtk-doc/html/*
320 * @DATE_DISPLAY@ Peng Huang <shawn.p.huang@gmail.com> - @IBUS_VERSION@-1