Blame ibus.spec.in

Packit Service 1d8f1c
%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
Packit Service 1d8f1c
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
Packit Service 1d8f1c
%{!?gtk2_binary_version: %define gtk2_binary_version %(pkg-config  --variable=gtk_binary_version gtk+-2.0)}
Packit Service 1d8f1c
%{!?gtk3_binary_version: %define gtk3_binary_version %(pkg-config  --variable=gtk_binary_version gtk+-3.0)}
Packit Service 1d8f1c
Packit Service 1d8f1c
# Build flags
Packit Service 1d8f1c
%define build_python_library 0
Packit Service 1d8f1c
%define build_emoji_dictionary 1
Packit Service 1d8f1c
Packit Service 1d8f1c
%define glib_ver %([ -a %{_libdir}/pkgconfig/glib-2.0.pc ] && pkg-config --modversion glib-2.0 | cut -d. -f 1,2 || echo -n "999")
Packit Service 1d8f1c
%define gconf2_version 2.12.0
Packit Service 1d8f1c
%define dbus_python_version 0.83.0
Packit Service 1d8f1c
%define im_chooser_version 1.2.5
Packit Service 1d8f1c
Packit Service 1d8f1c
Name:       ibus
Packit Service 1d8f1c
Version:    @IBUS_VERSION@
Packit Service 1d8f1c
Release:    1%{?dist}
Packit Service 1d8f1c
Summary:    Intelligent Input Bus for Linux OS
Packit Service 1d8f1c
License:    LGPLv2+
Packit Service 1d8f1c
Group:      System Environment/Libraries
Packit Service 1d8f1c
URL:        https://github.com/ibus/ibus/wiki
Packit Service 1d8f1c
Source0:    https://github.com/ibus/ibus/releases/download/%{version}/%{name}-%{version}.tar.gz
Packit Service 1d8f1c
Source1:    xinput-ibus
Packit Service 1d8f1c
# Patch0:     ibus-HEAD.patch
Packit Service 1d8f1c
Packit Service 1d8f1c
BuildRoot:  %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Packit Service 1d8f1c
Packit Service 1d8f1c
Packit Service 1d8f1c
BuildRequires:  cvs
Packit Service 1d8f1c
BuildRequires:  gettext-devel
Packit Service 1d8f1c
BuildRequires:  libtool
Packit Service 1d8f1c
BuildRequires:  python
Packit Service 1d8f1c
BuildRequires:  gtk2-devel
Packit Service 1d8f1c
BuildRequires:  gtk3-devel
Packit Service 1d8f1c
BuildRequires:  dbus-glib-devel
Packit Service 1d8f1c
BuildRequires:  dbus-python-devel >= %{dbus_python_version}
Packit Service 1d8f1c
BuildRequires:  desktop-file-utils
Packit Service 1d8f1c
BuildRequires:  gtk-doc
Packit Service 1d8f1c
BuildRequires:  GConf2-devel
Packit Service 1d8f1c
BuildRequires:  dconf-devel
Packit Service 1d8f1c
BuildRequires:  pygobject2-devel
Packit Service 1d8f1c
BuildRequires:  intltool
Packit Service 1d8f1c
BuildRequires:  iso-codes-devel
Packit Service 1d8f1c
%if %build_emoji_dictionary
Packit Service 1d8f1c
BuildRequires:  nodejs-emojione
Packit Service 1d8f1c
BuildRequires:  json-glib
Packit Service 1d8f1c
%endif
Packit Service 1d8f1c
Packit Service 1d8f1c
Requires:   %{name}-libs = %{version}-%{release}
Packit Service 1d8f1c
Requires:   %{name}-gtk2 = %{version}-%{release}
Packit Service 1d8f1c
Requires:   %{name}-gtk3 = %{version}-%{release}
Packit Service 1d8f1c
Requires:   %{name}-conf = %{version}-%{release}
Packit Service 1d8f1c
Packit Service 1d8f1c
Requires:   pygtk2
Packit Service 1d8f1c
Requires:   iso-codes
Packit Service 1d8f1c
Requires:   dbus-python >= %{dbus_python_version}
Packit Service 1d8f1c
Requires:   im-chooser >= %{im_chooser_version}
Packit Service 1d8f1c
Requires:   notify-python
Packit Service 1d8f1c
Requires:   librsvg2
Packit Service 1d8f1c
Packit Service 1d8f1c
Requires(post):  desktop-file-utils
Packit Service 1d8f1c
Requires(postun):  desktop-file-utils
Packit Service 1d8f1c
Packit Service 1d8f1c
Requires(post):  %{_sbindir}/alternatives
Packit Service 1d8f1c
Requires(postun):  %{_sbindir}/alternatives
Packit Service 1d8f1c
Packit Service 1d8f1c
Obsoletes:  ibus-qt < 1.1.0
Packit Service 1d8f1c
Packit Service 1d8f1c
%define _xinputconf %{_sysconfdir}/X11/xinit/xinput.d/ibus.conf
Packit Service 1d8f1c
Packit Service 1d8f1c
%description
Packit Service 1d8f1c
IBus means Intelligent Input Bus. It is an input framework for Linux OS.
Packit Service 1d8f1c
Packit Service 1d8f1c
%package libs
Packit Service 1d8f1c
Summary:    IBus libraries
Packit Service 1d8f1c
Group:      System Environment/Libraries
Packit Service 1d8f1c
Packit Service 1d8f1c
Requires:   glib2 >= %{glib_ver}
Packit Service 1d8f1c
Requires:   dbus >= 1.2.4
Packit Service 1d8f1c
Packit Service 1d8f1c
%description libs
Packit Service 1d8f1c
This package contains the libraries for IBus
Packit Service 1d8f1c
Packit Service 1d8f1c
%package gconf
Packit Service 1d8f1c
Summary:    IBus configuration module using GConf
Packit Service 1d8f1c
Group:      System Environment/Libraries
Packit Service 1d8f1c
Provides:   %{name}-conf = %{version}-%{release}
Packit Service 1d8f1c
Requires:   %{name} = %{version}-%{release}
Packit Service 1d8f1c
Requires:   GConf2 >= %{gconf2_version}
Packit Service 1d8f1c
Requires(pre): GConf2 >= %{gconf2_version}
Packit Service 1d8f1c
Requires(post): GConf2 >= %{gconf2_version}
Packit Service 1d8f1c
Requires(preun): GConf2 >= %{gconf2_version}
Packit Service 1d8f1c
Packit Service 1d8f1c
%description gconf
Packit Service 1d8f1c
This package contains ibus configuration module using GConf
Packit Service 1d8f1c
Packit Service 1d8f1c
%package dconf
Packit Service 1d8f1c
Summary:    IBus configuration module using DConf
Packit Service 1d8f1c
Group:      System Environment/Libraries
Packit Service 1d8f1c
Provides:   %{name}-conf = %{version}-%{release}
Packit Service 1d8f1c
Requires:   %{name} = %{version}-%{release}
Packit Service 1d8f1c
Requires(posttrans): dconf
Packit Service 1d8f1c
Packit Service 1d8f1c
%description dconf
Packit Service 1d8f1c
This package contains ibus configuration module using DConf
Packit Service 1d8f1c
Packit Service 1d8f1c
%package gtk2
Packit Service 1d8f1c
Summary:    IBus im module for gtk2
Packit Service 1d8f1c
Group:      System Environment/Libraries
Packit Service 1d8f1c
Requires:   %{name} = %{version}-%{release}
Packit Service 1d8f1c
Requires(post): glib2 >= %{glib_ver}
Packit Service 1d8f1c
Packit Service 1d8f1c
%description gtk2
Packit Service 1d8f1c
This package contains ibus im module for gtk2
Packit Service 1d8f1c
Packit Service 1d8f1c
%package gtk3
Packit Service 1d8f1c
Summary:    IBus im module for gtk3
Packit Service 1d8f1c
Group:      System Environment/Libraries
Packit Service 1d8f1c
Requires:   %{name} = %{version}-%{release}
Packit Service 1d8f1c
Requires(post): glib2 >= %{glib_ver}
Packit Service 1d8f1c
Packit Service 1d8f1c
%description gtk3
Packit Service 1d8f1c
This package contains ibus im module for gtk3
Packit Service 1d8f1c
Packit Service 1d8f1c
%package devel
Packit Service 1d8f1c
Summary:    Development tools for ibus
Packit Service 1d8f1c
Group:      Development/Libraries
Packit Service 1d8f1c
Requires:   %{name} = %{version}-%{release}
Packit Service 1d8f1c
Requires:   glib2-devel
Packit Service 1d8f1c
Requires:   dbus-devel
Packit Service 1d8f1c
Packit Service 1d8f1c
%description devel
Packit Service 1d8f1c
The ibus-devel package contains the header files and developer
Packit Service 1d8f1c
docs for ibus.
Packit Service 1d8f1c
Packit Service 1d8f1c
%package devel-docs
Packit Service 1d8f1c
Summary:    Developer documents for ibus
Packit Service 1d8f1c
Group:      Development/Libraries
Packit Service 1d8f1c
Requires:   %{name} = %{version}-%{release}
Packit Service 1d8f1c
Requires:   gtk-doc
Packit Service 1d8f1c
Packit Service 1d8f1c
%description devel-docs
Packit Service 1d8f1c
The ibus-devel-docs package contains developer documentation for ibus
Packit Service 1d8f1c
Packit Service 1d8f1c
Packit Service 1d8f1c
%prep
Packit Service 1d8f1c
%setup -q
Packit Service 1d8f1c
# %patch0 -p1
Packit Service 1d8f1c
Packit Service 1d8f1c
%build
Packit Service 1d8f1c
Packit Service 1d8f1c
OPTIONS="--disable-static --enable-gtk2 --enable-gtk3 --enable-xim --disable-gtk-doc --enable-introspection --enable-gconf"
Packit Service 1d8f1c
Packit Service 1d8f1c
%if %{build_python_library}
Packit Service 1d8f1c
OPTIONS="$OPTIONS --enable-python-library"
Packit Service 1d8f1c
%else
Packit Service 1d8f1c
OPTIONS="$OPTIONS --disable-python-library"
Packit Service 1d8f1c
%endif
Packit Service 1d8f1c
%if %build_emoji_dictionary
Packit Service 1d8f1c
OPTIONS="$OPTIONS --enable-emoji-dict"
Packit Service 1d8f1c
%else
Packit Service 1d8f1c
OPTIONS="$OPTIONS --disable-emoji-dict"
Packit Service 1d8f1c
%endif
Packit Service 1d8f1c
Packit Service 1d8f1c
Packit Service 1d8f1c
%configure $OPTIONS
Packit Service 1d8f1c
Packit Service 1d8f1c
# make -C po update-gmo
Packit Service 1d8f1c
make %{?_smp_mflags}
Packit Service 1d8f1c
Packit Service 1d8f1c
%install
Packit Service 1d8f1c
rm -rf $RPM_BUILD_ROOT
Packit Service 1d8f1c
make DESTDIR=$RPM_BUILD_ROOT install
Packit Service 1d8f1c
rm -f $RPM_BUILD_ROOT%{_libdir}/libibus-1.0.la
Packit Service 1d8f1c
rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/%{gtk2_binary_version}/immodules/im-ibus.la
Packit Service 1d8f1c
rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/%{gtk3_binary_version}/immodules/im-ibus.la
Packit Service 1d8f1c
Packit Service 1d8f1c
# install xinput config file
Packit Service 1d8f1c
install -pm 644 -D %{SOURCE1} $RPM_BUILD_ROOT%{_xinputconf}
Packit Service 1d8f1c
Packit Service 1d8f1c
# install .desktop files
Packit Service 1d8f1c
echo "NoDisplay=true" >> $RPM_BUILD_ROOT%{_datadir}/applications/ibus.desktop
Packit Service 1d8f1c
echo "NoDisplay=true" >> $RPM_BUILD_ROOT%{_datadir}/applications/ibus-setup.desktop
Packit Service 1d8f1c
desktop-file-install --delete-original          \
Packit Service 1d8f1c
  --dir $RPM_BUILD_ROOT%{_datadir}/applications \
Packit Service 1d8f1c
  $RPM_BUILD_ROOT%{_datadir}/applications/*
Packit Service 1d8f1c
Packit Service 1d8f1c
%find_lang %{name}10
Packit Service 1d8f1c
Packit Service 1d8f1c
%clean
Packit Service 1d8f1c
rm -rf $RPM_BUILD_ROOT
Packit Service 1d8f1c
Packit Service 1d8f1c
%post
Packit Service 1d8f1c
# recreate icon cache
Packit Service 1d8f1c
touch --no-create %{_datadir}/icons/hicolor || :
Packit Service 1d8f1c
[ -x %{_bindir}/gtk-update-icon-cache ] && \
Packit Service 1d8f1c
  %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
Packit Service 1d8f1c
Packit Service 1d8f1c
%{_sbindir}/alternatives --install %{_sysconfdir}/X11/xinit/xinputrc xinputrc %{_xinputconf} 83 || :
Packit Service 1d8f1c
Packit Service 1d8f1c
%post gconf
Packit Service 1d8f1c
export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
Packit Service 1d8f1c
gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/ibus.schemas >& /dev/null || :
Packit Service 1d8f1c
Packit Service 1d8f1c
%pre gconf
Packit Service 1d8f1c
if [ "$1" -gt 1 ]; then
Packit Service 1d8f1c
    export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
Packit Service 1d8f1c
    gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/ibus.schemas >& /dev/null || :
Packit Service 1d8f1c
fi
Packit Service 1d8f1c
Packit Service 1d8f1c
%preun gconf
Packit Service 1d8f1c
if [ "$1" -eq 0 ]; then
Packit Service 1d8f1c
    export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
Packit Service 1d8f1c
    gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/ibus.schemas >& /dev/null || :
Packit Service 1d8f1c
fi
Packit Service 1d8f1c
Packit Service 1d8f1c
%postun
Packit Service 1d8f1c
# recreate icon cache
Packit Service 1d8f1c
touch --no-create %{_datadir}/icons/hicolor || :
Packit Service 1d8f1c
[ -x %{_bindir}/gtk-update-icon-cache ] && \
Packit Service 1d8f1c
  %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
Packit Service 1d8f1c
Packit Service 1d8f1c
if [ "$1" = "0" ]; then
Packit Service 1d8f1c
  %{_sbindir}/alternatives --remove xinputrc %{_xinputconf} || :
Packit Service 1d8f1c
  # if alternative was set to manual, reset to auto
Packit Service 1d8f1c
  [ -L %{_sysconfdir}/alternatives/xinputrc -a "`readlink %{_sysconfdir}/alternatives/xinputrc`" = "%{_xinputconf}" ] && %{_sbindir}/alternatives --auto xinputrc || :
Packit Service 1d8f1c
fi
Packit Service 1d8f1c
Packit Service 1d8f1c
%postun dconf
Packit Service 1d8f1c
if [ "$1" -eq 0 ] ; then
Packit Service 1d8f1c
    /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
Packit Service 1d8f1c
    rm -f %{_sysconfdir}/dconf/db/ibus
Packit Service 1d8f1c
fi
Packit Service 1d8f1c
Packit Service 1d8f1c
%posttrans dconf
Packit Service 1d8f1c
/usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
Packit Service 1d8f1c
dconf update &> /dev/null || :
Packit Service 1d8f1c
Packit Service 1d8f1c
%post libs -p /sbin/ldconfig
Packit Service 1d8f1c
Packit Service 1d8f1c
%postun libs -p /sbin/ldconfig
Packit Service 1d8f1c
Packit Service 1d8f1c
%post gtk2
Packit Service 1d8f1c
%{_bindir}/update-gtk-immodules %{_host}
Packit Service 1d8f1c
Packit Service 1d8f1c
%postun gtk2
Packit Service 1d8f1c
%{_bindir}/update-gtk-immodules %{_host}
Packit Service 1d8f1c
Packit Service 1d8f1c
%post gtk3
Packit Service 1d8f1c
%{_bindir}/gtk-query-immodules-3.0-%{__isa_bits} --update-cache
Packit Service 1d8f1c
Packit Service 1d8f1c
%postun gtk3
Packit Service 1d8f1c
%{_bindir}/gtk-query-immodules-3.0-%{__isa_bits} --update-cache
Packit Service 1d8f1c
Packit Service 1d8f1c
%files -f %{name}10.lang
Packit Service 1d8f1c
%defattr(-,root,root,-)
Packit Service 1d8f1c
%doc AUTHORS COPYING README
Packit Service 1d8f1c
Packit Service 1d8f1c
%if %{build_python_library}
Packit Service 1d8f1c
    %dir %{python_sitelib}/ibus
Packit Service 1d8f1c
    %{python_sitelib}/ibus/*
Packit Service 1d8f1c
%endif
Packit Service 1d8f1c
Packit Service 1d8f1c
%{python_sitearch}/gi/overrides/IBus.py*
Packit Service 1d8f1c
Packit Service 1d8f1c
%dir %{_datadir}/ibus/
Packit Service 1d8f1c
%{_bindir}/ibus
Packit Service 1d8f1c
%{_bindir}/ibus-daemon
Packit Service 1d8f1c
%{_bindir}/ibus-setup
Packit Service 1d8f1c
%{_datadir}/ibus/component/gtkpanel.xml
Packit Service 1d8f1c
%{_datadir}/ibus/component/simple.xml
Packit Service 1d8f1c
%if %build_emoji_dictionary
Packit Service 1d8f1c
%{_datadir}/ibus/dicts
Packit Service 1d8f1c
%endif
Packit Service 1d8f1c
%{_datadir}/ibus/keymaps/*
Packit Service 1d8f1c
%{_datadir}/ibus/setup/*
Packit Service 1d8f1c
Packit Service 1d8f1c
Packit Service 1d8f1c
%{_datadir}/applications/*
Packit Service 1d8f1c
%{_datadir}/icons/hicolor/*/apps/*
Packit Service 1d8f1c
%if %{build_python_library}
Packit Service 1d8f1c
    %{_libexecdir}/ibus-ui-gtk
Packit Service 1d8f1c
%endif
Packit Service 1d8f1c
%{_libexecdir}/ibus-ui-gtk3
Packit Service 1d8f1c
%{_libexecdir}/ibus-x11
Packit Service 1d8f1c
%{_libexecdir}/ibus-engine-simple
Packit Service 1d8f1c
# %{_sysconfdir}/xdg/autostart/ibus.desktop
Packit Service 1d8f1c
%{_datadir}/bash-completion/completions/ibus.bash
Packit Service 1d8f1c
%config %{_xinputconf}
Packit Service 1d8f1c
Packit Service 1d8f1c
%files libs
Packit Service 1d8f1c
%defattr(-,root,root,-)
Packit Service 1d8f1c
%{_libdir}/libibus-1.0.so.*
Packit Service 1d8f1c
%{_libdir}/girepository-1.0/IBus-1.0.typelib
Packit Service 1d8f1c
Packit Service 1d8f1c
%files gconf
Packit Service 1d8f1c
%defattr(-,root,root,-)
Packit Service 1d8f1c
%{_datadir}/ibus/component/gconf.xml
Packit Service 1d8f1c
%{_libexecdir}/ibus-gconf
Packit Service 1d8f1c
%{_sysconfdir}/gconf/schemas/ibus.schemas
Packit Service 1d8f1c
Packit Service 1d8f1c
%files dconf
Packit Service 1d8f1c
%defattr(-,root,root,-)
Packit Service 1d8f1c
%{_datadir}/ibus/component/dconf.xml
Packit Service 1d8f1c
%{_libexecdir}/ibus-dconf
Packit Service 1d8f1c
%{_sysconfdir}/dconf/db/ibus.d
Packit Service 1d8f1c
%{_sysconfdir}/dconf/profile/ibus
Packit Service 1d8f1c
%{_datadir}/GConf/gsettings/ibus.convert
Packit Service 1d8f1c
%{_datadir}/glib-2.0/schemas/org.freedesktop.ibus.gschema.xml
Packit Service 1d8f1c
Packit Service 1d8f1c
%files gtk2
Packit Service 1d8f1c
%defattr(-,root,root,-)
Packit Service 1d8f1c
%{_libdir}/gtk-2.0/%{gtk2_binary_version}/immodules/im-ibus.so
Packit Service 1d8f1c
Packit Service 1d8f1c
%files gtk3
Packit Service 1d8f1c
%defattr(-,root,root,-)
Packit Service 1d8f1c
%{_libdir}/gtk-3.0/%{gtk3_binary_version}/immodules/im-ibus.so
Packit Service 1d8f1c
Packit Service 1d8f1c
%files devel
Packit Service 1d8f1c
%defattr(-,root,root,-)
Packit Service 1d8f1c
%{_libdir}/lib*.so
Packit Service 1d8f1c
%{_libdir}/pkgconfig/*
Packit Service 1d8f1c
%{_includedir}/*
Packit Service 1d8f1c
%{_datadir}/gir-1.0/IBus-1.0.gir
Packit Service 1d8f1c
%{_datadir}/vala/vapi/ibus-1.0.vapi
Packit Service 1d8f1c
%{_datadir}/vala/vapi/ibus-1.0.deps
Packit Service 1d8f1c
Packit Service 1d8f1c
%files devel-docs
Packit Service 1d8f1c
%defattr(-,root,root,-)
Packit Service 1d8f1c
%{_datadir}/gtk-doc/html/*
Packit Service 1d8f1c
Packit Service 1d8f1c
%changelog
Packit Service 1d8f1c
* @DATE_DISPLAY@ Peng Huang <shawn.p.huang@gmail.com> - @IBUS_VERSION@-1
Packit Service 1d8f1c
- Current version.