]> git.pld-linux.org Git - packages/ibus.git/blobdiff - ibus.spec
- release 4 (by relup.sh)
[packages/ibus.git] / ibus.spec
index 0991cd3c26c71485812092354e81b1dcef66b7cc..89c729b7861bb04d46f0add5d289628338dd7130 100644 (file)
--- a/ibus.spec
+++ b/ibus.spec
@@ -1,61 +1,72 @@
+# TODO
+# - clean .py in %{_datadir}/{setup,ui/gtk} if possible
 #
 # Conditional build:
-%bcond_without gjsfile         # https://bugzilla.redhat.com/show_bug.cgi?id=657165
-#
+%bcond_without static_libs     # don't build static library
+%bcond_without vala            # Vala API
+%bcond_without wayland         # Wayland client
+
 Summary:       Intelligent Input Bus for Linux OS
+Summary(pl.UTF-8):     IBus - inteligentna szyna wejściowa dla Linuksa
 Name:          ibus
-Version:       1.3.99.20110419
-Release:       0.4
+Version:       1.5.9
+Release:       4
 License:       LGPL v2+
 Group:         Libraries
-URL:           http://code.google.com/p/ibus/
-Source0:       http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz
-# Source0-md5: d4f2729fecb92ae6b41f26c770b1a772
+#Source0Download: http://code.google.com/p/ibus/downloads/list
+Source0:       https://github.com/ibus/ibus/releases/download/%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: a6e820db4fe3d82c825398f1ed19c77e
 Source1:       %{name}.xinputd
-Source100:     http://fujiwara.fedorapeople.org/ibus/gnome-shell/%{name}-gjs-1.3.99.20110714.tar.gz
-# Source100-md5:       57df6a7d6a9ca0f4b30a8fe135fdcb89
-Patch0:                %{name}-HEAD.patch
-Patch1:                %{name}-530711-preload-sys.patch
-Patch2:                %{name}-xx-icon-symbol.patch
-Patch3:                %{name}-541492-xkb.patch
-Patch4:                %{name}-xx-bridge-hotkey.patch
-Patch5:                %{name}-xx-setup-frequent-lang.patch
-# Workaround for oxygen-gtk icon theme until bug 699103 is fixed.
-Patch91:       %{name}-711632-fedora-fallback-icon.patch
-BuildRequires: GConf2-devel
-BuildRequires: autoconf
-BuildRequires: automake
+Patch0:                %{name}-1136623-lost-by-another-focus.patch
+Patch1:                %{name}-HEAD.patch
+Patch2:                %{name}-xx-increase-timeout.patch
+Patch3:                python-path.patch
+URL:           http://code.google.com/p/ibus/
+BuildRequires: GConf2-devel >= 2.12
+BuildRequires: atk-devel
+BuildRequires: autoconf >= 2.62
+BuildRequires: automake >= 1:1.11.1
+BuildRequires: dbus-devel
 BuildRequires: dbus-glib-devel
+BuildRequires: dconf-devel >= 0.7.5
 BuildRequires: desktop-file-utils
-BuildRequires: gettext-devel
-BuildRequires: gtk+2-devel
-BuildRequires: gtk+3-devel
-BuildRequires: gtk-doc
-BuildRequires: intltool
+BuildRequires: gettext-tools
+BuildRequires: glib2-devel >= 1:2.32.0
+BuildRequires: gobject-introspection-devel >= 0.9.6
+BuildRequires: gtk+2-devel >= 2.0
+BuildRequires: gtk+3-devel >= 3.0
+BuildRequires: gtk-doc >= 1.9
+BuildRequires: intltool >= 0.35.0
 BuildRequires: iso-codes
+BuildRequires: libnotify-devel >= 0.7
 BuildRequires: libtool
-BuildRequires: python
-BuildRequires: rpmbuild(macros) >= 1.596
-BuildRequires: rpm-pythonprov
+BuildRequires: pkgconfig
+BuildRequires: python >= 1:2.5
 BuildRequires: python-dbus-devel >= 0.83.0
-BuildRequires: python-pygobject-devel
-BuildRequires: xorg-lib-libxkbfile-devel
-Requires:      %{name}-gtk2 = %{version}-%{release}
-Requires:      %{name}-gtk3 = %{version}-%{release}
+BuildRequires: python-pygobject3 >= 3.0.0
+BuildRequires: python-pygobject3-common-devel >= 3.0.0
+BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.596
+%{?with_vala:BuildRequires:    vala >= 2:0.16}
+# wayland-client
+%{?with_wayland:BuildRequires: wayland-devel >= 1.2.0}
+BuildRequires: xorg-lib-libX11-devel
+%{?with_wayland:BuildRequires: xorg-lib-libxkbcommon-devel}
+Requires:      %{name}-conf = %{version}-%{release}
 Requires:      %{name}-libs = %{version}-%{release}
-Requires:      GConf2
+Requires:      dbus >= 1.2.4
+Requires:      gtk-update-icon-cache
+Requires:      hicolor-icon-theme
 Requires:      im-chooser
 Requires:      iso-codes
-Requires:      python-dbus >= 0.83.0
+Requires:      libnotify >= 0.7
+Requires:      python-ibus = %{version}-%{release}
 Requires:      python-pygtk-gtk
 Requires:      python-pynotify
-Requires:      python-pyxdg
-Requires:      hicolor-icon-theme
-Requires:      gtk-update-icon-cache
+Requires:      xorg-app-setxkbmap
 # input-keyboard-symbolic icon
 Suggests:      gnome-icon-theme-symbolic
-Requires(post):        GConf2
-Requires(preun):       GConf2
+Obsoletes:     ibus-xkb
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _libexecdir     %{_libdir}/ibus
@@ -64,129 +75,231 @@ BuildRoot:        %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 IBus means Intelligent Input Bus. It is an input framework for Linux
 OS.
 
-%package libs
-Summary:       IBus libraries
+%description -l pl.UTF-8
+IBus (Intelligent Input Bus) to inteligentna szyna wejściowa. Jest to
+szkielet wprowadzania tekstu dla Linuksa.
+
+%package dconf
+Summary:       IBus configuration module using DConf
+Summary(pl.UTF-8):     Moduł konfiguracji IBus wykorzystujący mechanizm DConf
 Group:         Libraries
-Requires:      dbus >= 1.2.4
-Requires:      glib2 >= 1:2.26.0
+Requires(post,postun): glib2 >= 1:2.32
+Requires:      %{name} = %{version}-%{release}
+Requires:      dconf >= 0.7.5
+Provides:      %{name}-conf = %{version}-%{release}
 
-%description libs
-This package contains the libraries for IBus
+%description dconf
+IBus configuration module using DConf.
+
+%description dconf -l pl.UTF-8
+Moduł konfiguracji IBus wykorzystujący mechanizm DConf.
+
+%package gconf
+Summary:       IBus configuration module using GConf
+Summary(pl.UTF-8):     Moduł konfiguracji IBus wykorzystujący mechanizm GConf
+Group:         Libraries
+Requires(post,postun): GConf2 >= 2.12
+Requires:      %{name} = %{version}-%{release}
+Requires:      GConf2 >= 2.12
+Provides:      %{name}-conf = %{version}-%{release}
+
+%description gconf
+IBus configuration module using GConf.
+
+%description gconf -l pl.UTF-8
+Moduł konfiguracji IBus wykorzystujący mechanizm GConf.
 
 %package gtk2
-Summary:       IBus im module for gtk2
+Summary:       IBus im module for GTK+ 2.x
+Summary(pl.UTF-8):     Moduł im IBus dla GTK+ 2.x
 Group:         Libraries
 Requires:      %{name} = %{version}-%{release}
-Requires:      %{name}-libs = %{version}-%{release}
 Requires:      imsettings-gnome2
-Requires(post):        glib2 >= 1:2.26.0
+Requires(post):        glib2 >= 1:2.32.0
 
 %description gtk2
-This package contains ibus im module for gtk2
+This package contains IBus im module for GTK+ 2.x.
+
+%description gtk2 -l pl.UTF-8
+Ten pakiet zawiera moduł im IBus dla GTK+ 2.x.
 
 %package gtk3
-Summary:       IBus im module for gtk3
+Summary:       IBus im module for GTK+ 3.x
+Summary(pl.UTF-8):     Moduł im IBus dla GTK+ 3.x
 Group:         Libraries
 Requires:      %{name} = %{version}-%{release}
-Requires:      %{name}-libs = %{version}-%{release}
 Requires:      imsettings-gnome3
-Requires(post):        glib2 >= 1:2.26.0
+Requires(post):        glib2 >= 1:2.32.0
 
 %description gtk3
-This package contains ibus im module for gtk3
+This package contains IBus im module for GTK+ 3.x.
 
-%package gnome3
-Summary:       IBus gnome-shell-extension for GNOME3
+%description gtk3 -l pl.UTF-8
+Ten pakiet zawiera moduł im IBus dla GTK+ 3.x.
+
+%package wayland
+Summary:       Wayland im protocol support for IBus
+Summary(pl.UTF-8):     Obsługa protokołu im Waylanda dla systemu IBus
 Group:         Libraries
 Requires:      %{name} = %{version}-%{release}
-Requires:      %{name}-libs = %{version}-%{release}
-Requires:      gnome-shell
+Requires:      wayland >= 1.2.0
+
+%description wayland
+Wayland im protocol support for IBus.
+
+%description wayland -l pl.UTF-8
+Obsługa protokołu im Waylanda dla systemu IBus.
 
-%description gnome3
-This is a transitional package which allows users to try out new IBus
-GUI for GNOME3 in development. Note that this package will be marked
-as obsolete once the integration has completed in the GNOME3 upstream.
+%package libs
+Summary:       IBus library
+Summary(pl.UTF-8):     Biblioteka IBus
+Group:         Libraries
+Requires:      glib2 >= 1:2.32.0
+Obsoletes:     ibus-xkb-libs
+
+%description libs
+This package contains the IBus shared library.
+
+%description libs -l pl.UTF-8
+Ten pakiet zawiera bibliotekę współdzieloną IBus.
 
 %package devel
-Summary:       Development tools for ibus
+Summary:       Development files for IBus
+Summary(pl.UTF-8):     Pliki programistyczne IBus
 Group:         Development/Libraries
 Requires:      %{name}-libs = %{version}-%{release}
-Requires:      dbus-devel
-Requires:      glib2-devel
+Requires:      glib2-devel >= 1:2.32.0
+Obsoletes:     ibus-xkb-devel
 
 %description devel
-The ibus-devel package contains the header files and developer docs
-for ibus.
+The ibus-devel package contains the header files for IBus.
+
+%description devel -l pl.UTF-8
+Ten pakiet zawiera pliki nagłówkowe dla szkieletu IBus.
+
+%package static
+Summary:       Static ibus library
+Summary(pl.UTF-8):     Biblioteka statyczna ibus
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
+Obsoletes:     ibus-xkb-static
+
+%description static
+Static ibus library.
+
+%description static -l pl.UTF-8
+Biblioteka statyczna ibus.
+
+%package apidocs
+Summary:       Development documentation for IBus
+Summary(pl.UTF-8):     Dokumentacja programisty dla szkieletu IBus
+Group:         Development/Libraries
+Requires:      gtk-doc-common
+Conflicts:     ibus-devel < 1.4.2
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
+
+%description apidocs
+Development documentation for IBus.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja programisty dla szkieletu IBus.
+
+%package -n python-ibus
+Summary:       Python interface to IBus framework
+Summary(pl.UTF-8):     Pythonowy interfejs do szkieletu IBus
+Group:         Development/Languages/Python
+Requires:      python-dbus >= 0.83.0
+Requires:      python-pygobject3 >= 3.0.0
+Requires:      python-pygtk-pango
+Requires:      python-pyxdg
+Conflicts:     ibus < 1.4.2
+
+%description -n python-ibus
+Python interface to IBus framework.
+
+%description -n python-ibus -l pl.UTF-8
+Pythonowy interfejs do szkieletu IBus.
+
+%package -n vala-ibus
+Summary:       Vala API for ibus library
+Summary(pl.UTF-8):     API języka Vala do biblioteki ibus
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
+Requires:      vala >= 2:0.16
+
+%description -n vala-ibus
+Vala API for ibus library.
+
+%description -n vala-ibus -l pl.UTF-8
+API języka Vala do biblioteki ibus.
+
+%package -n bash-completion-ibus
+Summary:       Bash completion for ibus commands
+Summary(pl.UTF-8):     Bashowe dopełnianie parametrów dla poleceń ibus
+Group:         Applications/Shells
+Requires:      bash-completion >= 2
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
+
+%description -n bash-completion-ibus
+Bash completion for ibus commands.
+
+%description -n bash-completion-ibus -l pl.UTF-8
+Bashowe dopełnianie parametrów dla poleceń ibus.
 
 %prep
 %setup -q
-%if %{with gjsfile}
-zcat %SOURCE100 | tar xf -
-%endif
 %patch0 -p1
-cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
-mv data/ibus.schemas.in data/ibus.schemas.in.in
-%patch4 -p1
-%patch5 -p1
-
-%patch91 -p1
 
 %build
-%if %{with gjsfile}
-d=`basename %SOURCE100 .tar.gz`
-cd $d
-%configure
-%{__make}
-cd ..
-%endif
-
+%{__libtoolize}
 %{__aclocal} -I m4
-%{__autoheader}
 %{__autoconf}
+%{__autoheader}
 %{__automake}
 %configure \
+       --disable-gtk-doc \
+       --disable-silent-rules \
+       --enable-dconf \
+       --enable-gconf \
        --enable-gtk2 \
        --enable-gtk3 \
+       --enable-introspection \
+       --enable-python-library \
+       %{?with_static_libs:--enable-static} \
+       --enable-surrounding-text \
+       --enable-vala%{!?with_vala:=no} \
+       %{?with_wayland:--enable-wayland} \
        --enable-xim \
-       --enable-vala \
-       --enable-xkb \
-       --disable-gtk-doc \
-       --enable-gconf \
-       --enable-python \
        --with-html-dir=%{_gtkdocdir} \
-       --with-no-snooper-apps='gnome-do,Do.*,firefox.*,.*chrome.*,.*chromium.*' \
-       --enable-surrounding-text \
-       --enable-bridge-hotkey \
-       --enable-introspection
+       --with-no-snooper-apps='gnome-do,Do.*,firefox.*,.*chrome.*,.*chromium.*'
+
+%{__make} -C ui/gtk3 maintainer-clean-generic
 
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/{X11/xinit/xinput.d,xdg/autostart}
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/X11/xinit/xinput.d
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
 %{__sed} -e 's|@@LIB@@|%{_lib}|g' %{SOURCE1} >$RPM_BUILD_ROOT%{_sysconfdir}/X11/xinit/xinput.d/ibus.conf
 
-# correct location in upstream.
-mv $RPM_BUILD_ROOT{%{_desktopdir},%{_sysconfdir}/xdg/autostart}/ibus.desktop
-
-%if %{with gjsfile}
-d=`basename %SOURCE100 .tar.gz`
-cd $d
-%{__make} install \
-       DESTDIR=$RPM_BUILD_ROOT
-%{__rm} $RPM_BUILD_ROOT%{_datadir}/locale/*/LC_MESSAGES/ibus-gjs.mo
-cd ..
-%endif
-
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/gtk*/*/immodules/*.la
+%if %{with static_libs}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/gtk*/*/immodules/*.a
+%endif
+
+%py_postclean
 
 %find_lang %{name}10
 
@@ -195,16 +308,21 @@ rm -rf $RPM_BUILD_ROOT
 
 %post
 %update_icon_cache hicolor
-%gconf_schema_install ibus.schemas
-
-%preun
-%gconf_schema_uninstall ibus.schemas
 
 %postun
 %update_icon_cache hicolor
 
-%post libs -p /sbin/ldconfig
-%postun libs -p /sbin/ldconfig
+%post dconf
+%glib_compile_schemas
+
+%postun dconf
+%glib_compile_schemas
+
+%post gconf
+%gconf_schema_install ibus.schemas
+
+%preun gconf
+%gconf_schema_uninstall ibus.schemas
 
 %post gtk2
 %if "%{_lib}" != "lib"
@@ -234,31 +352,49 @@ rm -rf $RPM_BUILD_ROOT
 %{_bindir}/gtk-query-immodules-3.0 --update-cache
 %endif
 
+%post  libs -p /sbin/ldconfig
+%postun        libs -p /sbin/ldconfig
+
 %files -f %{name}10.lang
 %defattr(644,root,root,755)
 %doc AUTHORS README
-%config %{_sysconfdir}/X11/xinit/xinput.d/ibus.conf
-# imsettings will start this daemon for us
-#%{_sysconfdir}/xdg/autostart/ibus.desktop
-%{_sysconfdir}/gconf/schemas/ibus.schemas
+%config(noreplace) %verify(not md5 mtime size) /etc/X11/xinit/xinput.d/ibus.conf
+%attr(755,root,root) %{_bindir}/ibus
 %attr(755,root,root) %{_bindir}/ibus-daemon
 %attr(755,root,root) %{_bindir}/ibus-setup
-%attr(755,root,root) %{_libexecdir}/ibus-gconf
-%attr(755,root,root) %{_libexecdir}/ibus-ui-gtk
+%dir %{_libexecdir}
+%attr(755,root,root) %{_libexecdir}/ibus-engine-simple
+%attr(755,root,root) %{_libexecdir}/ibus-ui-gtk3
 %attr(755,root,root) %{_libexecdir}/ibus-x11
-%attr(755,root,root) %{_libexecdir}/ibus-engine-xkb
-%attr(755,root,root) %{_libexecdir}/ibus-xkb
-%dir %{py_sitescriptdir}/ibus
-%{py_sitescriptdir}/ibus/*
-%{_datadir}/ibus
-%{_desktopdir}/*
-%{_iconsdir}/hicolor/*/apps/*
-
-%files libs
+%dir %{_datadir}/ibus
+%dir %{_datadir}/ibus/component
+%{_datadir}/ibus/component/gtkpanel.xml
+%{_datadir}/ibus/component/simple.xml
+%{_datadir}/ibus/engine
+%{_datadir}/ibus/keymaps
+%{_datadir}/ibus/setup
+%{_desktopdir}/ibus-setup.desktop
+%{_iconsdir}/hicolor/*/apps/ibus-*.png
+%{_iconsdir}/hicolor/scalable/apps/ibus*.svg
+%{_mandir}/man1/ibus.1*
+%{_mandir}/man1/ibus-daemon.1*
+%{_mandir}/man1/ibus-setup.1*
+
+%files dconf
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libibus-1.0.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libibus-1.0.so.[0-9]
-%{_libdir}/girepository-1.0/IBus-1.0.typelib
+%attr(755,root,root) %{_libexecdir}/ibus-dconf
+%{_datadir}/ibus/component/dconf.xml
+%dir %{_sysconfdir}/dconf/db/ibus.d
+%{_sysconfdir}/dconf/db/ibus.d/00-upstream-settings
+%{_sysconfdir}/dconf/profile/ibus
+%{_datadir}/GConf/gsettings/ibus.convert
+%{_datadir}/glib-2.0/schemas/org.freedesktop.ibus.gschema.xml
+
+%files gconf
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libexecdir}/ibus-gconf
+%{_datadir}/ibus/component/gconf.xml
+%{_sysconfdir}/gconf/schemas/ibus.schemas
 
 %files gtk2
 %defattr(644,root,root,755)
@@ -268,17 +404,48 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/gtk-3.0/*/immodules/im-ibus.so
 
-%files gnome3
+%files wayland
 %defattr(644,root,root,755)
-%{_datadir}/gnome-shell/js/ui/status/ibus
-%{_datadir}/gnome-shell/extensions/ibus-indicator@example.com
+%attr(755,root,root) %{_libexecdir}/ibus-wayland
+
+%files libs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libibus-1.0.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libibus-1.0.so.5
+%{_libdir}/girepository-1.0/IBus-1.0.typelib
 
 %files devel
 %defattr(644,root,root,755)
-%doc %{_gtkdocdir}/ibus
-%attr(755,root,root) %{_libdir}/lib*.so
+%attr(755,root,root) %{_libdir}/libibus-1.0.so
 %{_pkgconfigdir}/ibus-1.0.pc
 %{_includedir}/ibus-1.0
 %{_datadir}/gir-1.0/IBus-1.0.gir
+
+%if %{with static_libs}
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libibus-1.0.a
+%endif
+
+%files apidocs
+%defattr(644,root,root,755)
+%{_gtkdocdir}/ibus
+
+%files -n python-ibus
+%defattr(644,root,root,755)
+%dir %{py_sitescriptdir}/ibus
+%{py_sitescriptdir}/ibus/*.py[co]
+%dir %{py_sitescriptdir}/ibus/interface
+%{py_sitescriptdir}/ibus/interface/*.py[co]
+%{py_sitedir}/gi/overrides/IBus.py[co]
+
+%if %{with vala}
+%files -n vala-ibus
+%defattr(644,root,root,755)
 %{_datadir}/vala/vapi/ibus-1.0.vapi
 %{_datadir}/vala/vapi/ibus-1.0.deps
+%endif
+
+%files -n bash-completion-ibus
+%defattr(644,root,root,755)
+%{_datadir}/bash-completion/completions/ibus.bash
This page took 0.067473 seconds and 4 git commands to generate.