# # spec file for package ibus # # Copyright (c) 2018 SUSE LINUX 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/ # %if 0%{?is_opensuse} %define with_wayland 1 %define with_kde 1 %define with_emoji 1 %else %define with_wayland 0 %define with_kde 0 %define with_emoji 0 %endif Name: ibus Version: 1.5.18 Release: 0 Summary: The "Intelligent Input Bus" input method License: LGPL-2.1-or-later Group: System/I18n/Chinese Url: https://github.com/ibus/ Source: https://github.com/ibus/ibus/releases/download/%{version}/%{name}-%{version}.tar.gz Source2: README.SUSE Source3: xim.ibus.suse.template Source4: xim.d-ibus-121 Source7: macros.ibus Source10: ibus-autostart Source11: ibus-autostart.desktop Source99: baselibs.conf # PATCH-FIX-OPENSUSE ibus-python-install-dir.patch ftake@geeko.jp Patch0: ibus-python-install-dir.patch # PATFH-FIX-OPENSUSE ibus-xim-fix-re-focus-after-lock.patch bnc#874869 tiwai@suse.de -- Fix lost XIM input after screenlock Patch4: ibus-xim-fix-re-focus-after-lock.patch # PATCH-FIX-UPSTREAM marguerite@opensuse.org # Ibus will use python3 only when variable PYTHON2 is empty. # Thus ibus-setup and bindings are still bytecompiled with python2. # Then python3 support is useless, so we force python3 when python3 # is enabled, and fix syntax errors in python-config.py Patch5: ibus-force-python3.patch # PATCH-FIX-UPSTREAM marguerite@opensuse.org Patch7: ibus-python3-migration.patch # PATCH-FIX-UPSTREAM ftake@geeko.jp # Select an IM engine at the first login Patch8: im-engines-precede-xkb.patch # PATCH-FIX-UPSTREAM ftake@geeko.jp Patch9: ibus-fix-check-abs-icon-path-support.patch # PATCH-FIX-SLE hide-setup-menu.patch bnc#899259 qzhao@suse.com # ibus-setup should not launch from main menu. Patch10: hide-setup-menu.patch # PATCH-FIX-SLE setup-switch-im.patch bnc#899259 qzhao@suse.com # switch to ibus when ibus not running. Patch11: setup-switch-im.patch # PATCH-FIX-SLE ibus-disable-engines-preload-in-GNOME.patch bnc#1036729 qzhao@suse.com # Disable ibus engines preload in GNOME for These works are handled by gnome-shell. Patch12: ibus-disable-engines-preload-in-GNOME.patch BuildRequires: dbus-1-glib-devel BuildRequires: dconf-devel >= 0.7.5 BuildRequires: fdupes BuildRequires: gettext-devel BuildRequires: glib2-devel >= 2.34.0 BuildRequires: gobject-introspection-devel >= 0.9.6 BuildRequires: gtk-doc >= 1.9 BuildRequires: gtk2-devel BuildRequires: intltool BuildRequires: iso-codes-devel BuildRequires: libnotify-devel >= 0.7 BuildRequires: libtool BuildRequires: pkgconfig BuildRequires: python3-dbus-python-devel BuildRequires: python3-devel BuildRequires: python3-gobject-devel BuildRequires: unicode-ucd BuildRequires: update-desktop-files # copy_deep method is supported since 0.31.1 BuildRequires: vala >= 0.31.1 BuildRequires: x11-tools BuildRequires: pkgconfig(json-glib-1.0) BuildRequires: pkgconfig(libnotify) BuildRequires: pkgconfig(vapigen) BuildRequires: pkgconfig(xkbcommon) Requires: dconf Requires: iso-codes Requires: libibus-1_0-5 = %{version} Requires: python3-dbus-python Requires: python3-gobject Requires: python3-gobject-Gdk # ibus-setup will require typelib(Gdk) typelib(GdkX11), typelib(Gtk) # which are provided by two packages in openSUSE, so we limit their # versions to 3.0 only. Requires: typelib-1_0-Gtk-3_0 Recommends: %{name}-lang Supplements: packageand(libreoffice:libreoffice-gnome) Provides: locale(ja;ko;zh) Obsoletes: ibus-gnome-shell %if %{with_kde} BuildRequires: libqt5-qtbase-devel %endif %if %{with_wayland} BuildRequires: pkgconfig(wayland-client) >= 1.2.0 %endif %if %{with_emoji} BuildRequires: nodejs-emojione BuildRequires: unicode-emoji BuildRequires: pkgconfig(cldr-emoji-annotation) %endif # PATCH-FEATURE-SLE FATE#319095 qzhao@suse.com # Add conflict with fcitx to keep old IMF for people who update from SLE-12 SP0 to SP1. %if !0%{?is_opensuse} Conflicts: fcitx %endif %description IBus, short for Intelligent Input Bus, is an input framework. IBus plugins then provide the particular logic how to translate keypresses to input characters and possibly show disambiguation windows around the text cursor. %package -n libibus-1_0-5 Summary: IBus libraries Group: System/Libraries Obsoletes: libibus-1_0-0 %description -n libibus-1_0-5 This package contains the libraries for IBus %package -n typelib-1_0-IBus-1_0 Summary: Introspection bindings for IBus Group: System/Libraries %description -n typelib-1_0-IBus-1_0 This package contains the introspection bindings for the IBus library. %package gtk Summary: IBus input method support for gtk2 applications Group: System/I18n/Chinese Requires: %{name} = %{version} Supplements: packageand(ibus:gtk2) %{gtk2_immodule_requires} %description gtk This package contains ibus im module for use by gtk2. %package gtk3 Summary: IBus input method support for gtk3 applications Group: System/I18n/Chinese BuildRequires: gtk3-devel Requires: %{name} = %{version} Supplements: packageand(ibus:gtk3) %{gtk3_immodule_requires} %description gtk3 This package contains ibus im module for use by gtk3. %package -n python3-ibus Summary: Python3 module for ibus Group: Development/Languages/Python Requires: %{name} = %{version} %description -n python3-ibus This package contains the python3 module for ibus %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 %patch4 -p1 %patch5 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 cp -r %{SOURCE2} . cp -r %{SOURCE3} . cp -r %{SOURCE4} . sed -i 1i"SYS_LIB=%{_lib}" xim.d-ibus-121 cp -r %{SOURCE10} . cp -r %{SOURCE11} . %if !0%{?is_opensuse} %patch10 -p1 %patch11 -p1 %patch12 -p1 %endif %build autoreconf -fi intltoolize -f %configure --disable-static \ --enable-gtk3 \ --enable-vala \ %if %{with_emoji} --enable-emoji-dict \ %else --disable-emoji-dict \ %endif %if %{with_kde} --enable-appindicator \ %else --disable-appindicator \ %endif --with-python=python3 \ --enable-python-library \ --enable-introspection \ --disable-gconf \ --enable-dconf \ --enable-gtk-doc \ %if %{with_wayland} --enable-wayland \ %endif --enable-surrounding-text \ --enable-appindicator_engine_icon \ --libexecdir=%{_libdir}/ibus make %{?_smp_mflags} %install %make_install # autostart mkdir -p %{buildroot}%{_sysconfdir}/X11/xim.d/ install -m 644 xim.d-ibus-121 %{buildroot}%{_sysconfdir}/X11/xim.d/ibus mkdir -p %{buildroot}%{_bindir} install -c -m 0755 ibus-autostart %{buildroot}%{_bindir}/ibus-autostart mkdir -p %{buildroot}%{_sysconfdir}/xdg/autostart install -c -m 0644 ibus-autostart.desktop %{buildroot}%{_sysconfdir}/xdg/autostart/ibus-autostart.desktop PRIORITY=40 pushd %{buildroot}%{_sysconfdir}/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 find %{buildroot} -type f -name "*.la" -delete -print mkdir -p %{buildroot}%{_datadir}/pixmaps ln -sf %{_datadir}/icons/hicolor/48x48/apps/ibus-keyboard.png \ %{buildroot}%{_datadir}/pixmaps/ibus-keyboard.png # touch for %%ghost touch %{buildroot}/%{_sysconfdir}/dconf/db/ibus # install macros mkdir -p %{buildroot}%{_sysconfdir}/rpm install -m 644 %{SOURCE7} %{buildroot}%{_sysconfdir}/rpm %suse_update_desktop_file -r %{name}-setup Settings DesktopSettings X-SuSE-Core-System %fdupes %{buildroot} %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 %doc AUTHORS COPYING README README.SUSE xim.ibus.suse.template %config %{_sysconfdir}/rpm/macros.ibus %config %{_sysconfdir}/X11/xim.d/* %{_bindir}/ibus %{_bindir}/ibus-autostart %{_bindir}/ibus-daemon %{_bindir}/ibus-setup %{_datadir}/ibus/ %{_datadir}/applications/ibus-setup.desktop %{_datadir}/GConf/gsettings/ibus.convert %{_datadir}/glib-2.0/schemas/org.freedesktop.ibus.gschema.xml %{_datadir}/icons/hicolor/*/apps/ibus*.* %{_datadir}/pixmaps/ibus-keyboard.png %{_libdir}/ibus %{_datadir}/bash-completion/completions/ibus.bash %{_datadir}/dbus-1/services/*.service # This file is generated by dconf update %ghost %{_sysconfdir}/dconf/db/ibus %dir %{_sysconfdir}/dconf/db/ibus.d # This file is not a config file. Users may not modify it. %config %{_sysconfdir}/dconf/db/ibus.d/00-upstream-settings %config %{_sysconfdir}/dconf/profile/ibus %{_sysconfdir}/xdg/autostart/ibus-autostart.desktop %{_mandir}/man1/ibus.1%{ext_man} %{_mandir}/man1/ibus-daemon.1%{ext_man} %{_mandir}/man1/ibus-setup.1%{ext_man} %if %{with_emoji} %{_datadir}/applications/org.freedesktop.IBus.Panel.Emojier.desktop %{_datadir}/applications/org.freedesktop.IBus.Panel.Extension.Gtk3.desktop %{_mandir}/man7/ibus-emoji.7%{ext_man} %endif %{python3_sitearch}/gi/overrides/IBus.py %{python3_sitearch}/gi/overrides/__pycache__/IBus.cpython-*.opt-1.pyc %{python3_sitearch}/gi/overrides/__pycache__/IBus.cpython-*.pyc %files lang -f ibus10.lang %files -n libibus-1_0-5 %{_libdir}/libibus-1.0.so.* %files -n typelib-1_0-IBus-1_0 %{_libdir}/girepository-1.0/IBus-1.0.typelib %files gtk %{_libdir}/gtk-2.0/*/immodules/im-ibus.so %files gtk3 %{_libdir}/gtk-3.0/3.0.0/immodules/im-ibus.so %files -n python3-ibus %{python3_sitearch}/ibus %files devel %{_libdir}/libibus-1.0.so %{_includedir}/ibus-1.0 %{_datadir}/gtk-doc/html/ibus %{_libdir}/pkgconfig/ibus-1.0.pc %{_datadir}/gir-1.0/IBus-1.0.gir %{_datadir}/vala/vapi/ibus-1.0.deps %{_datadir}/vala/vapi/ibus-1.0.vapi %changelog