2 # - clean .py in %{_datadir}/{setup,ui/gtk} if possible
5 %bcond_without gjsfile # https://bugzilla.redhat.com/show_bug.cgi?id=657165
6 %bcond_without static_libs # don't build static library
8 %define ibus_gjs_version 3.4.1.20120815
10 %define gs_version %(rpm -q --qf '%{VERSION}' gnome-shell)
11 %define gjs_version %(rpm -q --qf '%{VERSION}' gjs-devel)
13 Summary: Intelligent Input Bus for Linux OS
14 Summary(pl.UTF-8): IBus - inteligentna szyna wejściowa dla Linuksa
16 Version: 1.4.99.20121006
20 #Source0Download: http://code.google.com/p/ibus/downloads/list
21 Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz
22 # Source0-md5: 28b26c84f021a0c15023d6326d4ad58e
23 Source1: %{name}.xinputd
24 Source100: http://fujiwara.fedorapeople.org/ibus/gnome-shell/%{name}-gjs-%{ibus_gjs_version}.tar.gz
25 # Source100-md5: 8acf4ac4d1a7dfb9a0af9e755a8e7dba
26 Patch0: %{name}-HEAD.patch
27 Patch1: %{name}-810211-no-switch-by-no-trigger.patch
28 Patch2: %{name}-541492-xkb.patch
29 Patch3: %{name}-530711-preload-sys.patch
30 Patch4: %{name}-xx-setup-frequent-lang.patch
31 Patch5: %{name}-xx-no-use.diff
32 Patch6: %{name}-gjs-fixes.patch
33 URL: http://code.google.com/p/ibus/
34 BuildRequires: GConf2-devel >= 2.12
35 BuildRequires: autoconf >= 2.62
36 BuildRequires: automake >= 1:1.10
37 BuildRequires: dconf-devel
38 BuildRequires: dbus-glib-devel
39 BuildRequires: desktop-file-utils
40 BuildRequires: gettext-devel
41 BuildRequires: gjs-devel
42 BuildRequires: glib2-devel >= 1:2.26.0
43 BuildRequires: gnome-shell
44 BuildRequires: gobject-introspection-devel >= 0.6.8
45 BuildRequires: gtk+2-devel >= 2.0
46 BuildRequires: gtk+3-devel >= 3.0
47 BuildRequires: gtk-doc >= 1.9
48 BuildRequires: intltool >= 0.35.0
49 BuildRequires: iso-codes
50 BuildRequires: libtool
51 BuildRequires: libgnomekbd-devel
52 BuildRequires: python >= 1:2.5
53 BuildRequires: python-dbus-devel >= 0.83.0
54 BuildRequires: python-pygobject-devel
55 BuildRequires: rpm-pythonprov
56 BuildRequires: rpmbuild(macros) >= 1.596
58 BuildRequires: xorg-lib-libX11-devel
59 BuildRequires: xorg-lib-libxkbfile-devel
60 Requires: %{name}-libs = %{version}-%{release}
61 Requires: GConf2 >= 2.12
62 Requires: dbus >= 1.2.4
63 Requires: gtk-update-icon-cache
64 Requires: hicolor-icon-theme
67 Requires: python-ibus = %{version}-%{release}
68 Requires: python-pygtk-gtk
69 Requires: python-pynotify
70 # input-keyboard-symbolic icon
71 Suggests: gnome-icon-theme-symbolic
72 Requires(post,preun): GConf2
73 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
75 %define _libexecdir %{_libdir}/ibus
78 IBus means Intelligent Input Bus. It is an input framework for Linux
81 %description -l pl.UTF-8
82 IBus (Intelligent Input Bus) to inteligentna szyna wejściowa. Jest to
83 szkielet wprowadzania tekstu dla Linuksa.
87 Summary(pl.UTF-8): Biblioteka IBus
89 Requires: glib2 >= 1:2.26.0
92 This package contains the IBus shared library.
94 %description libs -l pl.UTF-8
95 Ten pakiet zawiera bibliotekę współdzieloną IBus.
98 Summary: IBus im module for GTK+ 2.x
99 Summary(pl.UTF-8): Moduł im IBus dla GTK+ 2.x
101 Requires: %{name} = %{version}-%{release}
102 Requires: imsettings-gnome2
103 Requires(post): glib2 >= 1:2.26.0
106 This package contains IBus im module for GTK+ 2.x.
108 %description gtk2 -l pl.UTF-8
109 Ten pakiet zawiera moduł im IBus dla GTK+ 2.x.
112 Summary: IBus im module for GTK+ 3.x
113 Summary(pl.UTF-8): Moduł im IBus dla GTK+ 3.x
115 Requires: %{name} = %{version}-%{release}
116 Requires: imsettings-gnome3
117 Requires(post): glib2 >= 1:2.26.0
120 This package contains IBus im module for GTK+ 3.x.
122 %description gtk3 -l pl.UTF-8
123 Ten pakiet zawiera moduł im IBus dla GTK+ 3.x.
126 Summary: IBus gnome-shell-extension for GNOME3
127 Summary(pl.UTF-8): Rozszerzenie gnome-shell IBus dla GNOME3
129 Requires: %{name} = %{version}-%{release}
130 Requires: gnome-shell
133 This is a transitional package which allows users to try out new IBus
134 GUI for GNOME3 in development. Note that this package will be marked
135 as obsolete once the integration has completed in the GNOME3 upstream.
137 %description gnome3 -l pl.UTF-8
138 Pakiet przejściowy pozwalający użytkownikom wypróbować nowe GUI IBus
139 dla GNOME3 w trakcie tworzenia. Uwaga: ten pakiet zostanie oznaczony
140 jako przestarzały po zakończeniu integracji w GNOME3.
143 Summary: Development files for IBus
144 Summary(pl.UTF-8): Pliki programistyczne IBus
145 Group: Development/Libraries
146 Requires: %{name}-libs = %{version}-%{release}
147 Requires: glib2-devel
150 The ibus-devel package contains the header files for IBus.
152 %description devel -l pl.UTF-8
153 Ten pakiet zawiera pliki nagłówkowe dla szkieletu IBus.
156 Summary: Static ibus library
157 Summary(pl.UTF-8): Biblioteka statyczna ibus
158 Group: Development/Libraries
159 Requires: %{name}-devel = %{version}-%{release}
164 %description static -l pl.UTF-8
165 Biblioteka statyczna ibus.
168 Summary: Development documentation for IBus
169 Summary(pl.UTF-8): Dokumentacja programisty dla szkieletu IBus
170 Group: Development/Libraries
171 Requires: gtk-doc-common
172 Conflicts: ibus-devel < 1.4.2
175 Development documentation for IBus.
177 %description apidocs -l pl.UTF-8
178 Dokumentacja programisty dla szkieletu IBus.
180 %package -n python-ibus
181 Summary: Python interface to IBus framework
182 Summary(pl.UTF-8): Pythonowy interfejs do szkieletu IBus
183 Group: Development/Languages/Python
184 Requires: python-dbus >= 0.83.0
185 Requires: python-pygobject
186 Requires: python-pygtk-pango
187 Requires: python-pyxdg
188 Conflicts: ibus < 1.4.2
190 %description -n python-ibus
191 Python interface to IBus framework.
193 %description -n python-ibus -l pl.UTF-8
194 Pythonowy interfejs do szkieletu IBus.
196 %package -n vala-ibus
197 Summary: Vala API for ibus library
198 Summary(pl.UTF-8): API języka Vala do biblioteki ibus
199 Group: Development/Libraries
200 Requires: %{name}-devel = %{version}-%{release}
203 %description -n vala-ibus
204 Vala API for ibus library.
206 %description -n vala-ibus -l pl.UTF-8
207 API języka Vala do biblioteki ibus.
213 %{__rm} bindings/vala/ibus-1.0.vapi
220 zcat %{SOURCE100} | tar xf -
221 d=$(basename %{SOURCE100} .tar.gz)
223 %{__rm} js/ui/status/ibus/xkbLayout.js
235 --disable-silent-rules \
240 --enable-introspection \
241 --enable-python-library \
242 %{?with_static_libs:--enable-static} \
243 --enable-surrounding-text \
247 --enable-libgnomekbd \
248 --with-html-dir=%{_gtkdocdir} \
249 --with-no-snooper-apps='gnome-do,Do.*,firefox.*,.*chrome.*,.*chromium.*'
251 %{__make} -C ui/gtk3 maintainer-clean-generic
256 d=$(basename %{SOURCE100} .tar.gz)
258 export PKG_CONFIG_PATH=..:%{_pkgconfigdir}
260 --with-gnome-shell-version="%{gs_version},3.6,3.4,3.2" \
261 --with-gjs-version="%{gjs_version},1.33.3,1.32,1.31.22,1.31.20,1.31.10,1.31.6,1.31.11,1.30"
268 rm -rf $RPM_BUILD_ROOT
269 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{X11/xinit/xinput.d,xdg/autostart}
272 DESTDIR=$RPM_BUILD_ROOT
274 %{__sed} -e 's|@@LIB@@|%{_lib}|g' %{SOURCE1} >$RPM_BUILD_ROOT%{_sysconfdir}/X11/xinit/xinput.d/ibus.conf
276 # correct location in upstream.
277 mv $RPM_BUILD_ROOT{%{_desktopdir},%{_sysconfdir}/xdg/autostart}/ibus.desktop
280 d=$(basename %{SOURCE100} .tar.gz)
281 %{__make} -C $d install \
282 DESTDIR=$RPM_BUILD_ROOT
283 %{__rm} $RPM_BUILD_ROOT%{_localedir}/*/LC_MESSAGES/ibus-gjs.mo
286 %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
287 %{__rm} $RPM_BUILD_ROOT%{_libdir}/gtk*/*/immodules/*.la
288 %if %{with static_libs}
289 %{__rm} $RPM_BUILD_ROOT%{_libdir}/gtk*/*/immodules/*.a
296 # imsettings will start this daemon for us
297 %{__rm} $RPM_BUILD_ROOT/etc/xdg/autostart/ibus.desktop
300 rm -rf $RPM_BUILD_ROOT
303 %update_icon_cache hicolor
304 %gconf_schema_install ibus.schemas
305 %glib_compile_schemas
308 %gconf_schema_uninstall ibus.schemas
309 %glib_compile_schemas
312 %update_icon_cache hicolor
314 %post libs -p /sbin/ldconfig
315 %postun libs -p /sbin/ldconfig
318 %if "%{_lib}" != "lib"
319 %{_bindir}/gtk-query-immodules-2.0-64 > %{_sysconfdir}/gtk64-2.0/gtk.immodules
321 %{_bindir}/gtk-query-immodules-2.0 > %{_sysconfdir}/gtk-2.0/gtk.immodules
325 %if "%{_lib}" != "lib"
326 %{_bindir}/gtk-query-immodules-2.0-64 > %{_sysconfdir}/gtk64-2.0/gtk.immodules
328 %{_bindir}/gtk-query-immodules-2.0 > %{_sysconfdir}/gtk-2.0/gtk.immodules
332 %if "%{_lib}" != "lib"
333 %{_bindir}/gtk-query-immodules-3.0-64 --update-cache
335 %{_bindir}/gtk-query-immodules-3.0 --update-cache
339 %if "%{_lib}" != "lib"
340 %{_bindir}/gtk-query-immodules-3.0-64 --update-cache
342 %{_bindir}/gtk-query-immodules-3.0 --update-cache
345 %files -f %{name}10.lang
346 %defattr(644,root,root,755)
348 %config(noreplace) %verify(not md5 mtime size) /etc/X11/xinit/xinput.d/ibus.conf
349 %dir %{_sysconfdir}/dconf/db/ibus.d
350 %{_sysconfdir}/dconf/db/ibus.d/00-upstream-settings
351 %{_sysconfdir}/dconf/profile/ibus
352 %{_sysconfdir}/gconf/schemas/ibus.schemas
353 %attr(755,root,root) %{_bindir}/ibus
354 %attr(755,root,root) %{_bindir}/ibus-daemon
355 %attr(755,root,root) %{_bindir}/ibus-setup
357 %attr(755,root,root) %{_libexecdir}/ibus-dconf
358 %attr(755,root,root) %{_libexecdir}/ibus-engine-simple
359 %attr(755,root,root) %{_libexecdir}/ibus-gconf
360 %attr(755,root,root) %{_libexecdir}/ibus-ui-gtk3
361 %attr(755,root,root) %{_libexecdir}/ibus-x11
362 %attr(755,root,root) %{_libexecdir}/ibus-xkb
364 %{_datadir}/GConf/gsettings/ibus.convert
365 %{_datadir}/glib-2.0/schemas/org.freedesktop.ibus.gschema.xml
366 %{_desktopdir}/ibus-setup.desktop
367 %{_iconsdir}/hicolor/*/apps/ibus-*.png
368 %{_iconsdir}/hicolor/scalable/apps/ibus*.svg
371 %defattr(644,root,root,755)
372 %attr(755,root,root) %{_libdir}/libibus-1.0.so.*.*.*
373 %attr(755,root,root) %ghost %{_libdir}/libibus-1.0.so.5
374 %{_libdir}/girepository-1.0/IBus-1.0.typelib
377 %defattr(644,root,root,755)
378 %attr(755,root,root) %{_libdir}/gtk-2.0/*/immodules/im-ibus.so
381 %defattr(644,root,root,755)
382 %attr(755,root,root) %{_libdir}/gtk-3.0/*/immodules/im-ibus.so
385 %defattr(644,root,root,755)
386 %{_datadir}/gnome-shell/js/ui/status/ibus
387 %{_datadir}/gnome-shell/extensions/ibus-indicator@example.com
390 %defattr(644,root,root,755)
391 %attr(755,root,root) %{_libdir}/libibus-1.0.so
392 %{_pkgconfigdir}/ibus-1.0.pc
393 %{_includedir}/ibus-1.0
394 %{_datadir}/gir-1.0/IBus-1.0.gir
396 %if %{with static_libs}
398 %defattr(644,root,root,755)
399 %{_libdir}/libibus-1.0.a
403 %defattr(644,root,root,755)
406 %files -n python-ibus
407 %defattr(644,root,root,755)
408 %dir %{py_sitescriptdir}/ibus
409 %{py_sitescriptdir}/ibus/*.py[co]
410 %dir %{py_sitescriptdir}/ibus/interface
411 %{py_sitescriptdir}/ibus/interface/*.py[co]
414 %defattr(644,root,root,755)
415 %{_datadir}/vala/vapi/ibus-1.0.vapi
416 %{_datadir}/vala/vapi/ibus-1.0.deps