# # spec file for package ibus # # Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %define with_automatic_config 1 Name: ibus Version: 1.5.7 Release: 0 Url: http://code.google.com/p/ibus/ Summary: Intelligent Input Bus for Linux OS License: LGPL-2.1+ Group: System/I18n/Chinese Source: https://github.com/ibus/ibus/releases/download/%{version}/%{name}-%{version}.tar.gz Source2: ibus-README.suse Source3: xim.ibus.suse.template Source4: xim.d-ibus-121 Source5: kde.tar.gz Source6: kde-12.2.tar.gz Source7: baselibs.conf # PATCH-FIX-OPENSUSE ibus-python-install-dir.patch ftake@geeko.jp Patch0: ibus-python-install-dir.patch %if %{with_automatic_config} # PATCH-FEATURE-UPSTREAM add-libgnomekbd-and-load-preload-engines.patch Issue 1641 ftake@geeko.jp Patch1: add-libgnomekbd-and-load-preload-engines.patch # PATCH-FEATURE-UPSTREAM reload-preload-engines-until-users-customize-the-list.patch Issue 1641 ftake@geeko.jp Patch2: reload-preload-engines-until-users-customize-the-list.patch %endif # PATCH-FIX-OPENSUSE reload-preload-engines-until-users-customize-the-list.patch ftake@geeko.jp Patch3: show-input-mode-icon.patch # PATFH-FIX-SUSE ibus-xim-fix-re-focus-after-lock.patch bnc#874869 tiwa@suse.de -- Fix lost XIM input after screenlock Patch4: ibus-xim-fix-re-focus-after-lock.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: /usr/bin/touch Provides: locale(ja;ko;zh) BuildRequires: dbus-1-glib-devel BuildRequires: dbus-1-python-devel >= 0.83.0 %if %{with_automatic_config} BuildRequires: dbus-1-x11 %endif BuildRequires: dconf-devel >= 0.7.5 BuildRequires: fdupes BuildRequires: gconf2-devel BuildRequires: gettext-devel BuildRequires: glib2-devel >= 2.26.0 BuildRequires: gobject-introspection-devel >= 0.9.6 BuildRequires: gtk-doc >= 1.9 BuildRequires: gtk2-devel BuildRequires: intltool BuildRequires: iso-codes-devel %if %{with_automatic_config} BuildRequires: libgnomekbd-devel %endif BuildRequires: libnotify-devel >= 0.7 BuildRequires: libtool # directory ownership { BuildRequires: oxygen-icon-theme BuildRequires: oxygen-icon-theme-scalable # } BuildRequires: pkg-config BuildRequires: python >= 2.5 BuildRequires: python-gobject2-devel BuildRequires: update-desktop-files BuildRequires: pkgconfig(vapigen) >= 0.20 BuildRequires: pkgconfig(wayland-client) >= 1.2.0 BuildRequires: pkgconfig(xkbcommon) Requires: dbus-1-python Requires: dconf Requires: iso-codes Requires: libibus-1_0-5 = %{version} Requires: python-gobject Obsoletes: ibus-gnome-shell Obsoletes: libibus-1_0-0 Recommends: %{name}-lang #Fix cursor following problem in KDE4 for libreoffice. Supplements: packageand(libreoffice:libreoffice-gnome) %define gtk_binary_version %(pkg-config --variable=gtk_binary_version gtk+-2.0) %description IBus means Intelligent Input Bus. It is a new input framework for Linux OS. It provides full featured and user friendly input method user interface. It also may help developers to develop input method easily. %package -n libibus-1_0-5 Summary: IBus libraries Group: System/I18n/Chinese %description -n libibus-1_0-5 This package contains the libraries for IBus %package -n typelib-1_0-IBus-1_0 Summary: IBus libraries -- Introspection bindings Group: System/I18n/Chinese %description -n typelib-1_0-IBus-1_0 This package contains the introspection bindings for the IBus library. %package gtk Summary: IBus im module for gtk2 Group: System/I18n/Chinese Requires: %{name} = %{version} %gtk2_immodule_requires Supplements: packageand(ibus:gtk2) %description gtk This package contains ibus im module for gtk2 %package gtk3 Summary: IBus im module for gtk3 Group: System/I18n/Chinese Requires: %{name} = %{version} BuildRequires: gtk3-devel %gtk3_immodule_requires Supplements: packageand(ibus:gtk3) %description gtk3 This package contains ibus im module for gtk3 %package -n python-ibus Summary: Python module for ibus Group: System/I18n/Chinese Requires: %{name} = %{version} %description -n python-ibus This package contains python module for ibus %package branding-openSUSE-KDE Summary: openSUSE branding for KDE Group: System/GUI/KDE Requires: ibus = %{version} Supplements: packageand(ibus:kdelibs4) Supplements: packageand(ibus:branding-openSUSE-KDE) Provides: ibus-branding = %{version} Conflicts: otherproviders(ibus-branding) %if 0%{?suse_version} >= 1140 BuildArch: noarch %endif %description branding-openSUSE-KDE openSUSE branding for KDE monochrome icons in systray. %package devel Summary: Development tools for ibus Group: Development/Libraries/Other Requires: dbus-1-devel Requires: glib2-devel Requires: gtk-doc Requires: ibus = %{version} Requires: libibus-1_0-5 = %{version} Requires: typelib-1_0-IBus-1_0 = %{version} %description devel The ibus-devel package contains the header files and developer docs for ibus. %lang_package %prep %setup -q %patch0 -p1 # hack to fix incompatibility of gtk-query-immodules-2.0 (bnc#845860) %if %suse_version < 1310 sed -i \ -e's@\(gtk-query-immodules-2.0-64\) --update-cache@\1 > %{_sysconfdir}/gtk-2.0/gtk64.immodules@g' \ -e's@\(gtk-query-immodules-2.0\) --update-cache@\1 > %{_sysconfdir}/gtk-2.0/gtk.immodules@g' \ $RPM_SOURCE_DIR/baselibs.conf %endif %if %{with_automatic_config} %patch1 -p1 %patch2 -p1 rm -f bindings/vala/ibus-1.0.vapi rm -f data/dconf/00-upstream-settings %endif %patch3 -p1 %patch4 -p1 %build autoreconf -fi intltoolize -f %configure --disable-static \ --enable-gtk3 \ --enable-vala \ --enable-python-library \ --enable-introspection \ --disable-gconf \ --enable-dconf \ --enable-gtk-doc \ --enable-wayland \ %if %{with_automatic_config} --enable-libgnomekbd \ %endif --enable-surrounding-text \ --libexecdir=%{_prefix}/%{_lib}/ibus %if %{with_automatic_config} make -C ui/gtk3 maintainer-clean-generic %endif make %{?jobs:-j %jobs} %install %makeinstall # autostart mkdir -p $RPM_BUILD_ROOT/etc/X11/xim.d/ install -m 644 $RPM_SOURCE_DIR/xim.d-ibus-121 $RPM_BUILD_ROOT/etc/X11/xim.d/ibus sed -i 1i"SYS_LIB=%{_lib}" $RPM_BUILD_ROOT/etc/X11/xim.d/ibus PRIORITY=40 pushd $RPM_BUILD_ROOT/etc/X11/xim.d/ for lang in am ar as bn el fa gu he hi hr ja ka kk kn ko lo ml my \ pa ru sk vi zh_TW zh_CN zh_HK zh_SG \ de fr it es nl cs pl da nn nb fi en sv do mkdir $lang pushd $lang ln -s ../ibus $PRIORITY-ibus popd done popd # remove static libs rm -f $RPM_BUILD_ROOT/%{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-ibus.*a rm -f $RPM_BUILD_ROOT/%{_libdir}/libibus-*.*a mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps ln -sf %{_datadir}/icons/hicolor/48x48/apps/ibus-keyboard.png \ $RPM_BUILD_ROOT%{_datadir}/pixmaps/ibus-keyboard.png # touch for %%ghost touch $RPM_BUILD_ROOT/%{_sysconfdir}/dconf/db/ibus # fix kde monochrome icons %if 0%{?suse_version} >= 1230 cp -r %{SOURCE5} ./ %else cp -r %{SOURCE6} ./ mv kde-12.2.tar.gz kde.tar.gz %endif tar -xzf kde.tar.gz pushd kde for i in 16 22 24 32 48 ; do mkdir -p %{buildroot}%{_datadir}/icons/oxygen/${i}x${i}/apps/ cp -r ibus-keyboard.${i}x${i}.png %{buildroot}%{_datadir}/icons/oxygen/${i}x${i}/apps/ibus-keyboard.png done mkdir -p %{buildroot}%{_datadir}/icons/oxygen/scalable/apps/ cp -r ibus-keyboard.svgz %{buildroot}%{_datadir}/icons/oxygen/scalable/apps/ popd %suse_update_desktop_file %name-setup System Utility settings %fdupes %buildroot/%_prefix %fdupes -s $RPM_BUILD_ROOT %find_lang ibus10 %{?no_lang_C} %post %glib2_gsettings_schema_post %posttrans dconf update %postun %glib2_gsettings_schema_postun dconf update %post gtk %gtk2_immodule_post %postun gtk %gtk2_immodule_postun %post -n libibus-1_0-5 -p /sbin/ldconfig %postun -n libibus-1_0-5 -p /sbin/ldconfig %post gtk3 %gtk3_immodule_post %postun gtk3 %gtk3_immodule_postun %files %defattr(-,root,root,-) %doc AUTHORS COPYING README %doc $RPM_SOURCE_DIR/xim.ibus.suse.template %doc $RPM_SOURCE_DIR/ibus-README.suse %dir /etc/X11/xim.d %config /etc/X11/xim.d/* %dir %{_datadir}/ibus/ %{_bindir}/ibus %{_bindir}/ibus-daemon %{_bindir}/ibus-setup %{_datadir}/ibus/* %{_datadir}/applications/* %dir %{_datadir}/GConf %dir %{_datadir}/GConf/gsettings %{_datadir}/GConf/gsettings/ibus.convert %{_datadir}/glib-2.0/schemas/org.freedesktop.ibus.gschema.xml %{_datadir}/icons/hicolor/*/apps/* %{_datadir}/pixmaps/* %{_prefix}/%{_lib}/ibus %{_datadir}/bash-completion %dir %config %{_sysconfdir}/dconf/db/ibus.d # These files are not config files. Users must not modify them. %ghost %{_sysconfdir}/dconf/db/ibus.d/00-upstream-settings %ghost %{_sysconfdir}/dconf/db/ibus %ghost %{_sysconfdir}/dconf/profile/ibus %{_mandir}/man1/ibus* %files lang -f ibus10.lang %files -n libibus-1_0-5 %defattr(-,root,root,-) %{_libdir}/lib*.so.* %files -n typelib-1_0-IBus-1_0 %defattr(-,root,root,-) %{_libdir}/girepository-1.0/IBus-1.0.typelib %files gtk %defattr(-,root,root,-) %{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-ibus.so %files gtk3 %defattr(-,root,root,-) %{_libdir}/gtk-3.0/3.0.0/immodules/* %files -n python-ibus %defattr(-,root,root,-) %{python_sitearch}/ibus %files devel %defattr(-,root,root,-) %{_libdir}/lib*.so %{_includedir}/* %{_datadir}/gtk-doc/html/* %{_libdir}/pkgconfig/* %{_datadir}/gir-1.0/IBus-1.0.gir %{_datadir}/vala/vapi/* %files branding-openSUSE-KDE %defattr(-,root,root,-) %dir %{_datadir}/icons/oxygen/24x24 %dir %{_datadir}/icons/oxygen/24x24/apps %{_datadir}/icons/oxygen/*/apps/ibus-keyboard.* %changelog