%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
+%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%{!?gtk2_binary_version: %define gtk2_binary_version %(pkg-config --variable=gtk_binary_version gtk+-2.0)}
%{!?gtk3_binary_version: %define gtk3_binary_version %(pkg-config --variable=gtk_binary_version gtk+-3.0)}
+# Build flags
+%define build_python_library 0
+
%define glib_ver %([ -a %{_libdir}/pkgconfig/glib-2.0.pc ] && pkg-config --modversion glib-2.0 | cut -d. -f 1,2 || echo -n "999")
%define gconf2_version 2.12.0
%define dbus_python_version 0.83.0
%define im_chooser_version 1.2.5
Name: ibus
-Version: @PACKAGE_VERSION@
+Version: @IBUS_VERSION@
Release: 1%{?dist}
Summary: Intelligent Input Bus for Linux OS
License: LGPLv2+
BuildRequires: desktop-file-utils
BuildRequires: gtk-doc
BuildRequires: GConf2-devel
+BuildRequires: dconf-devel
BuildRequires: pygobject2-devel
BuildRequires: intltool
BuildRequires: iso-codes-devel
Requires: %{name}-libs = %{version}-%{release}
Requires: %{name}-gtk2 = %{version}-%{release}
Requires: %{name}-gtk3 = %{version}-%{release}
+Requires: %{name}-conf = %{version}-%{release}
Requires: pygtk2
-Requires: pyxdg
Requires: iso-codes
Requires: dbus-python >= %{dbus_python_version}
Requires: im-chooser >= %{im_chooser_version}
-Requires: GConf2 >= %{gconf2_version}
Requires: notify-python
Requires: librsvg2
Requires(post): desktop-file-utils
Requires(postun): desktop-file-utils
-Requires(pre): GConf2 >= %{gconf2_version}
-Requires(post): GConf2 >= %{gconf2_version}
-Requires(preun): GConf2 >= %{gconf2_version}
-
Requires(post): %{_sbindir}/alternatives
Requires(postun): %{_sbindir}/alternatives
%description libs
This package contains the libraries for IBus
+%package gconf
+Summary: IBus configuration module using GConf
+Group: System Environment/Libraries
+Provides: %{name}-conf = %{version}-%{release}
+Requires: %{name} = %{version}-%{release}
+Requires: GConf2 >= %{gconf2_version}
+Requires(pre): GConf2 >= %{gconf2_version}
+Requires(post): GConf2 >= %{gconf2_version}
+Requires(preun): GConf2 >= %{gconf2_version}
+
+%description gconf
+This package contains ibus configuration module using GConf
+
+%package dconf
+Summary: IBus configuration module using DConf
+Group: System Environment/Libraries
+Provides: %{name}-conf = %{version}-%{release}
+Requires: %{name} = %{version}-%{release}
+Requires(posttrans): dconf
+
+%description dconf
+This package contains ibus configuration module using DConf
+
%package gtk2
Summary: IBus im module for gtk2
Group: System Environment/Libraries
# %patch0 -p1
%build
-%configure \
- --disable-static \
- --enable-gtk2 \
- --enable-gtk3 \
- --enable-xim \
- --enable-gtk-doc
+
+OPTIONS="--disable-static --enable-gtk2 --enable-gtk3 --enable-xim --disable-gtk-doc --enable-introspection --enable-gconf"
+
+%if %{build_python_library}
+OPTIONS="$OPTIONS --enable-python-library"
+%else
+OPTIONS="$OPTIONS --disable-python-library"
+%endif
+
+%configure $OPTIONS
+
# make -C po update-gmo
make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install
-rm -f $RPM_BUILD_ROOT%{_libdir}/libibus.la
+rm -f $RPM_BUILD_ROOT%{_libdir}/libibus-1.0.la
rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/%{gtk2_binary_version}/immodules/im-ibus.la
rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/%{gtk3_binary_version}/immodules/im-ibus.la
# install .desktop files
echo "NoDisplay=true" >> $RPM_BUILD_ROOT%{_datadir}/applications/ibus.desktop
echo "NoDisplay=true" >> $RPM_BUILD_ROOT%{_datadir}/applications/ibus-setup.desktop
-echo "X-GNOME-Autostart-enabled=false" >> $RPM_BUILD_ROOT%{_sysconfdir}/xdg/autostart/ibus.desktop
-rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/xdg/autostart/ibus.desktop
desktop-file-install --delete-original \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
$RPM_BUILD_ROOT%{_datadir}/applications/*
-%find_lang %{name}
+%find_lang %{name}10
%clean
rm -rf $RPM_BUILD_ROOT
%{_sbindir}/alternatives --install %{_sysconfdir}/X11/xinit/xinputrc xinputrc %{_xinputconf} 83 || :
+%post gconf
export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/ibus.schemas >& /dev/null || :
-%pre
+%pre gconf
if [ "$1" -gt 1 ]; then
export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/ibus.schemas >& /dev/null || :
fi
-%preun
+%preun gconf
if [ "$1" -eq 0 ]; then
export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/ibus.schemas >& /dev/null || :
[ -L %{_sysconfdir}/alternatives/xinputrc -a "`readlink %{_sysconfdir}/alternatives/xinputrc`" = "%{_xinputconf}" ] && %{_sbindir}/alternatives --auto xinputrc || :
fi
+%postun dconf
+if [ "$1" -eq 0 ] ; then
+ /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
+ rm -f %{_sysconfdir}/dconf/db/ibus
+fi
+
+%posttrans dconf
+/usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
+dconf update &> /dev/null || :
+
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%post gtk2
-%{_bindir}/update-gtk-immodules %{_host} || :
+%{_bindir}/update-gtk-immodules %{_host}
%postun gtk2
-%{_bindir}/update-gtk-immodules %{_host} || :
+%{_bindir}/update-gtk-immodules %{_host}
%post gtk3
-# %{_bindir}/update-gtk-immodules %{_host} || :
+%{_bindir}/gtk-query-immodules-3.0-%{__isa_bits} --update-cache
%postun gtk3
-# %{_bindir}/update-gtk-immodules %{_host} || :
+%{_bindir}/gtk-query-immodules-3.0-%{__isa_bits} --update-cache
-%files -f %{name}.lang
+%files -f %{name}10.lang
%defattr(-,root,root,-)
%doc AUTHORS COPYING README
-%dir %{python_sitelib}/ibus
-%{python_sitelib}/ibus/*
+
+%if %{build_python_library}
+ %dir %{python_sitelib}/ibus
+ %{python_sitelib}/ibus/*
+%endif
+
+%{python_sitearch}/gi/overrides/IBus.py*
+
%dir %{_datadir}/ibus/
+%{_bindir}/ibus
%{_bindir}/ibus-daemon
%{_bindir}/ibus-setup
-%{_datadir}/ibus/*
+%{_datadir}/ibus/component/gtkpanel.xml
+%{_datadir}/ibus/component/simple.xml
+%{_datadir}/ibus/keymaps/*
+%{_datadir}/ibus/setup/*
+
+
%{_datadir}/applications/*
%{_datadir}/icons/hicolor/*/apps/*
-%{_libexecdir}/ibus-gconf
-%{_libexecdir}/ibus-ui-gtk
+%if %{build_python_library}
+ %{_libexecdir}/ibus-ui-gtk
+%endif
+%{_libexecdir}/ibus-ui-gtk3
%{_libexecdir}/ibus-x11
+%{_libexecdir}/ibus-engine-simple
# %{_sysconfdir}/xdg/autostart/ibus.desktop
-%{_sysconfdir}/gconf/schemas/ibus.schemas
+%{_datadir}/bash-completion/completions/ibus.bash
%config %{_xinputconf}
%files libs
%defattr(-,root,root,-)
-%{_libdir}/libibus.so.*
-%{_libdir}/girepository-1.0/IBus-*.typelib
+%{_libdir}/libibus-1.0.so.*
+%{_libdir}/girepository-1.0/IBus-1.0.typelib
+
+%files gconf
+%defattr(-,root,root,-)
+%{_datadir}/ibus/component/gconf.xml
+%{_libexecdir}/ibus-gconf
+%{_sysconfdir}/gconf/schemas/ibus.schemas
+
+%files dconf
+%defattr(-,root,root,-)
+%{_datadir}/ibus/component/dconf.xml
+%{_libexecdir}/ibus-dconf
+%{_sysconfdir}/dconf/db/ibus.d
+%{_sysconfdir}/dconf/profile/ibus
+%{_datadir}/GConf/gsettings/ibus.convert
+%{_datadir}/glib-2.0/schemas/org.freedesktop.ibus.gschema.xml
%files gtk2
%defattr(-,root,root,-)
%{_libdir}/lib*.so
%{_libdir}/pkgconfig/*
%{_includedir}/*
-%{_datadir}/gir-1.0/IBus-*.gir
+%{_datadir}/gir-1.0/IBus-1.0.gir
+%{_datadir}/vala/vapi/ibus-1.0.vapi
+%{_datadir}/vala/vapi/ibus-1.0.deps
%files devel-docs
%defattr(-,root,root,-)
%{_datadir}/gtk-doc/html/*
%changelog
-* @DATE_DISPLAY@ Peng Huang <shawn.p.huang@gmail.com> - @VERSION@-1
+* @DATE_DISPLAY@ Peng Huang <shawn.p.huang@gmail.com> - @IBUS_VERSION@-1
- Current version.