ibus/ibus.spec
2021-07-21 14:01:49 +09:00

231 lines
6 KiB
RPMSpec

%define api 1.0
%define major 5
%define libname %mklibname %{name} %{api} %{major}
%define girname %mklibname %{name}-gir %{api}
%define devname %mklibname %{name} -d
Summary: A next generation input framework
Name: ibus
Version: 1.5.24
Release: 1
License: GPLv2+
Group: System/Internationalization
Url: https://github.com/ibus/ibus
Source0: https://github.com/ibus/ibus/releases/download/%{version}/%{name}-%{version}.tar.gz
Source1: ibus.macros
Patch0: ibus-1.5.7-desktop.patch
BuildRequires: dconf
BuildRequires: gtk-doc
BuildRequires: intltool
BuildRequires: vala
BuildRequires: vala-devel
BuildRequires: vala-tools
BuildRequires: gettext-devel
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(dbus-glib-1)
BuildRequires: pkgconfig(dbus-python)
BuildRequires: pkgconfig(dconf)
BuildRequires: pkgconfig(gdk-2.0)
BuildRequires: pkgconfig(gdk-3.0)
BuildRequires: pkgconfig(gio-2.0) >= 2.32.0
BuildRequires: pkgconfig(glib-2.0) >= 2.32.0
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(iso-codes)
BuildRequires: pkgconfig(libnotify)
BuildRequires: pkgconfig(pygobject-3.0) >= 3.0.0
BuildRequires: pkgconfig(vapigen)
BuildRequires: pkgconfig(python3)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(Qt5Concurrent)
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: wayland-devel
BuildRequires: cldr-emoji-annotation
BuildRequires: unicode-emoji
BuildRequires: unicode-ucd
Requires: iso-codes
Requires: librsvg
Requires: python3-gobject
Requires: python3-dbus
Requires: python3-notify
Requires: python3-pyxdg
Recommends: %{name}-gtk = %{EVRD}
%description
IBus is a next generation input framework.
%files -f %{name}10.lang
%doc AUTHORS ChangeLog NEWS README
%{_sysconfdir}/dconf/profile/ibus
%{_sysconfdir}/dconf/db/ibus.d
%{_bindir}/*
%{_libexecdir}/ibus-dconf
%{_libexecdir}/ibus-extension-gtk3
%{_libexecdir}/ibus-x11
%{_libexecdir}/ibus-ui-emojier
%{_libexecdir}/ibus-wayland
%{_libexecdir}/ibus-portal
# %{_libexecdir}/ibus-ui-gtk*
%{_libexecdir}/ibus-engine-simple
%exclude %{_datadir}/ibus/component/gtkpanel.xml
%{_datadir}/applications/*.desktop
%{_datadir}/bash-completion/completions/ibus.bash
%{_datadir}/GConf/gsettings/ibus.convert
%{_datadir}/glib-2.0/schemas/org.freedesktop.ibus.gschema.xml
%{_datadir}/dbus-1/services/org.freedesktop.IBus.service
%{_datadir}/dbus-1/services/org.freedesktop.portal.IBus.service
%{_datadir}/ibus/*
%{_datadir}/gettext/its/*
%{_iconsdir}/*/*/*/*
%{_mandir}/man1/*
%{_mandir}/man5/*
%{_mandir}/man7/*
%preun
%preun_uninstall_gconf_schemas ibus
#----------------------------------------------------------------------------
%package -n %{libname}
Summary: Shared libraries for %{name}
Group: System/Internationalization
Obsoletes: %{_lib}ibus5 < 1.5.2-1
Conflicts: %{_lib}ibus5 < 1.5.2-1
%description -n %{libname}
IBus shared libraries.
%files -n %{libname}
%{_libdir}/libibus-%{api}.so.%{major}*
#----------------------------------------------------------------------------
%package -n %{girname}
Summary: GObject Introspection interface description for %{name}
Group: System/Libraries
Conflicts: %{_lib}ibus5 < 1.5.2-1
%description -n %{girname}
GObject Introspection interface description for %{name}.
%files -n %{girname}
%{_libdir}/girepository-1.0/IBus-%{api}.typelib
#----------------------------------------------------------------------------
%package -n %{devname}
Summary: Headers of %{name} for development
Group: Development/C
Requires: %{libname} = %{EVRD}
Requires: %{girname} = %{EVRD}
Provides: %{name}-devel = %{EVRD}
Conflicts: ibus-devel < 1.5.2-1
Obsoletes: ibus-devel < 1.5.2-1
%description -n %{devname}
IBus development package: development libraries, header files, and the like.
%files -n %{devname}
%{_includedir}/ibus-1.0
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%{_datadir}/gtk-doc/html/ibus
%{_datadir}/gir-1.0/*.gir
%{_datadir}/vala/vapi/*.vapi
%{_datadir}/vala/vapi/ibus-1.0.deps
%{_sysconfdir}/rpm/macros.d/%{name}.macros
#----------------------------------------------------------------------------
%package gtk
Summary: IBus gtk module
Group: System/Internationalization
Requires: %{name} = %{EVRD}
Requires(post): gtk+2.0
Requires(postun): gtk+2.0
%description gtk
IBus gtk module.
%files gtk
%{_libdir}/gtk-2.0/*/immodules/*.so
#----------------------------------------------------------------------------
%package gtk3
Summary: IBus gtk3 module
Group: System/Internationalization
Requires: %{name} = %{EVRD}
Requires(post): gtk+3.0
Requires(postun): gtk+3.0
%description gtk3
IBus gtk module.
%files gtk3
%{_libdir}/gtk-3.0/*/immodules/*.so
#----------------------------------------------------------------------------
%package ui-gtk3
Summary: GTK+ 3.0 UI for IBus
Group: System/Internationalization
Provides: ibus-ui
Requires: %{name} = %{version}
Recommends: %{name}-gtk3 = %{version}
Conflicts: ibus < 1.4.99.20121006-2
%description ui-gtk3
GTK+ 3.0 UI for IBus.
%files ui-gtk3
%{_libexecdir}/ibus-ui-gtk3
%{_datadir}/ibus/component/gtkpanel.xml
#----------------------------------------------------------------------------
%package -n python3-ibus
Summary: Python bindings to ibus
Group: System/Libraries
%description -n python3-ibus
Python bindings to ibus
%files -n python3-ibus
%{py3_platsitedir}/gi/overrides/IBus.*
%{py3_platsitedir}/gi/overrides/__pycache__
#----------------------------------------------------------------------------
%prep
%setup -q
%autopatch -p1
%build
%configure \
--enable-vala=yes \
--enable-gtk3 \
--enable-dconf \
--disable-gconf \
--with-python=python3 \
--enable-python-library \
--disable-python2 \
--disable-dbus-python-check \
--enable-wayland
%make
%install
%makeinstall_std
# install rpm macro
mkdir -p %{buildroot}%{_sysconfdir}/rpm/macros.d/
install -m0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/rpm/macros.d/%{name}.macros
rm -f %{buildroot}%{_sysconfdir}/xdg/autostart/ibus.desktop
%find_lang %{name}10