Enable IM gtk4 module

- Fix to rename xkb🇩🇪:ger to sync xkeyboard-config
- Enhance ibus-setup search engine
This commit is contained in:
Takao Fujiwara 2021-01-22 09:41:31 +09:00
parent 3c4f0e0d26
commit 823ed8c386
2 changed files with 1516 additions and 8 deletions

File diff suppressed because it is too large Load Diff

View File

@ -12,13 +12,25 @@
# for bytecompile in %%{_datadir}/ibus/setup # for bytecompile in %%{_datadir}/ibus/setup
%global __python %{__python3} %global __python %{__python3}
%if (0%{?fedora} > 33 || 0%{?rhel} > 8)
%bcond_without gtk4
%else
%bcond_with gtk4
%endif
%if %with_pkg_config %if %with_pkg_config
%{!?gtk2_binary_version: %global gtk2_binary_version %(pkg-config --variable=gtk_binary_version gtk+-2.0)} %{!?gtk2_binary_version: %global gtk2_binary_version %(pkg-config --variable=gtk_binary_version gtk+-2.0)}
%{!?gtk3_binary_version: %global gtk3_binary_version %(pkg-config --variable=gtk_binary_version gtk+-3.0)} %{!?gtk3_binary_version: %global gtk3_binary_version %(pkg-config --variable=gtk_binary_version gtk+-3.0)}
%if %{with gtk4}
%{!?gtk4_binary_version: %global gtk4_binary_version %(pkg-config --variable=gtk_binary_version gtk4)}
%else
%{!?gtk4_binary_version: %global gtk4_binary_version ?.?.?}
%endif
%global glib_ver %([ -a %{_libdir}/pkgconfig/glib-2.0.pc ] && pkg-config --modversion glib-2.0 | cut -d. -f 1,2 || echo -n "999") %global glib_ver %([ -a %{_libdir}/pkgconfig/glib-2.0.pc ] && pkg-config --modversion glib-2.0 | cut -d. -f 1,2 || echo -n "999")
%else %else
%{!?gtk2_binary_version: %global gtk2_binary_version ?.?.?} %{!?gtk2_binary_version: %global gtk2_binary_version ?.?.?}
%{!?gtk3_binary_version: %global gtk3_binary_version ?.?.?} %{!?gtk3_binary_version: %global gtk3_binary_version ?.?.?}
%{!?gtk4_binary_version: %global gtk4_binary_version ?.?.?}
%global glib_ver 0 %global glib_ver 0
%endif %endif
@ -26,7 +38,7 @@
Name: ibus Name: ibus
Version: 1.5.23 Version: 1.5.23
Release: 2%{?dist} Release: 3%{?dist}
Summary: Intelligent Input Bus for Linux OS Summary: Intelligent Input Bus for Linux OS
License: LGPLv2+ License: LGPLv2+
URL: https://github.com/ibus/%name/wiki URL: https://github.com/ibus/%name/wiki
@ -44,6 +56,9 @@ BuildRequires: libtool
BuildRequires: glib2-doc BuildRequires: glib2-doc
BuildRequires: gtk2-devel BuildRequires: gtk2-devel
BuildRequires: gtk3-devel BuildRequires: gtk3-devel
%if %{with gtk4}
BuildRequires: gtk4-devel
%endif
BuildRequires: dbus-glib-devel BuildRequires: dbus-glib-devel
BuildRequires: dbus-python-devel >= %{dbus_python_version} BuildRequires: dbus-python-devel >= %{dbus_python_version}
BuildRequires: desktop-file-utils BuildRequires: desktop-file-utils
@ -103,12 +118,6 @@ Requires: %{_sbindir}/alternatives
Requires(post): %{_sbindir}/alternatives Requires(post): %{_sbindir}/alternatives
Requires(postun): %{_sbindir}/alternatives Requires(postun): %{_sbindir}/alternatives
%if (0%{?fedora} > 29 || 0%{?rhel} > 8)
# Obsoletes ibus-xkbc by ibus xkb engine
Provides: ibus-xkbc = 1.3.4
Obsoletes: ibus-xkbc < 1.3.4
%endif
%global _xinputconf %{_sysconfdir}/X11/xinit/xinput.d/ibus.conf %global _xinputconf %{_sysconfdir}/X11/xinit/xinput.d/ibus.conf
%description %description
@ -150,6 +159,17 @@ Requires(post): glib2 >= %{glib_ver}
%description gtk3 %description gtk3
This package contains IBus IM module for GTK3 This package contains IBus IM module for GTK3
%if %{with gtk4}
%package gtk4
Summary: IBus IM module for GTK4
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: glib2 >= %{glib_ver}
Requires(post): glib2 >= %{glib_ver}
%description gtk4
This package contains IBus IM module for GTK4
%endif
%package setup %package setup
Summary: IBus setup utility Summary: IBus setup utility
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
@ -157,7 +177,7 @@ Requires: %{name} = %{version}-%{release}
Requires: python3-gobject Requires: python3-gobject
BuildRequires: gobject-introspection-devel BuildRequires: gobject-introspection-devel
BuildRequires: pygobject3-devel BuildRequires: pygobject3-devel
BuildRequires: make BuildRequires: make
BuildArch: noarch BuildArch: noarch
%description setup %description setup
@ -245,6 +265,8 @@ the functionality of the installed %{name} package.
%autosetup -S git %autosetup -S git
# cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c || : # cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c || :
# cp client/gtk2/ibusim.c client/gtk3/ibusim.c || : # cp client/gtk2/ibusim.c client/gtk3/ibusim.c || :
# cp client/gtk2/ibusimcontext.c client/gtk4/ibusimcontext.c || :
cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c || :
# prep test # prep test
@ -256,6 +278,11 @@ do
abort abort
fi fi
done done
diff client/gtk2/ibusimcontext.c client/gtk4/ibusimcontext.c
if test $? -ne 0 ; then
echo "Have to copy ibusimcontext.c into client/gtk4"
abort
fi
%build %build
#autoreconf -f -i -v #autoreconf -f -i -v
@ -266,6 +293,9 @@ autoreconf -f -i -v
--disable-static \ --disable-static \
--enable-gtk2 \ --enable-gtk2 \
--enable-gtk3 \ --enable-gtk3 \
%if %{with gtk4}
--enable-gtk4 \
%endif
--enable-xim \ --enable-xim \
--enable-gtk-doc \ --enable-gtk-doc \
--enable-surrounding-text \ --enable-surrounding-text \
@ -288,6 +318,9 @@ make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p'
rm -f $RPM_BUILD_ROOT%{_libdir}/libibus-*%{ibus_api_version}.la rm -f $RPM_BUILD_ROOT%{_libdir}/libibus-*%{ibus_api_version}.la
rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/%{gtk2_binary_version}/immodules/im-ibus.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 rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/%{gtk3_binary_version}/immodules/im-ibus.la
%if %{with gtk4}
rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-4.0/%{gtk4_binary_version}/immodules/libim-ibus.la
%endif
# install man page # install man page
for S in %{SOURCE2} for S in %{SOURCE2}
@ -398,6 +431,11 @@ dconf update || :
%files gtk3 %files gtk3
%{_libdir}/gtk-3.0/%{gtk3_binary_version}/immodules/im-ibus.so %{_libdir}/gtk-3.0/%{gtk3_binary_version}/immodules/im-ibus.so
%if %{with gtk4}
%files gtk4
%{_libdir}/gtk-4.0/%{gtk4_binary_version}/immodules/libim-ibus.so
%endif
# The setup package won't include icon files so that # The setup package won't include icon files so that
# gtk-update-icon-cache is executed in the main package only one time. # gtk-update-icon-cache is executed in the main package only one time.
%files setup %files setup
@ -452,6 +490,11 @@ dconf update || :
%{_datadir}/installed-tests/ibus %{_datadir}/installed-tests/ibus
%changelog %changelog
* Wed Jan 20 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.23-3
- Enable IM gtk4 module
- Fix to rename xkb:de::ger to sync xkeyboard-config
- Enhance ibus-setup search engine
* Fri Nov 20 2020 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.23-2 * Fri Nov 20 2020 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.23-2
- Bug 1898065 - Fix build failure of emoji-*.dict with CLDR 38 - Bug 1898065 - Fix build failure of emoji-*.dict with CLDR 38
- Fix build failure with Vala 0.50 - Fix build failure with Vala 0.50