]> git.pld-linux.org Git - packages/ibus.git/blob - ibus.spec
noarch bash completions
[packages/ibus.git] / ibus.spec
1 # TODO
2 # - clean .py in %{_datadir}/{setup,ui/gtk} if possible
3 #
4 # Conditional build:
5 %bcond_without  static_libs     # don't build static library
6 %bcond_without  vala            # Vala API
7 %bcond_without  wayland         # Wayland client
8 %bcond_with     ibus_xkb        # XKB backend (available also in ibus-xkb module?) and Fedora patches
9 #
10 Summary:        Intelligent Input Bus for Linux OS
11 Summary(pl.UTF-8):      IBus - inteligentna szyna wejściowa dla Linuksa
12 Name:           ibus
13 Version:        1.5.5
14 Release:        1
15 License:        LGPL v2+
16 Group:          Libraries
17 #Source0Download: http://code.google.com/p/ibus/downloads/list
18 Source0:        http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz
19 # Source0-md5:  59b8d2fbed3ceb14edac130f882ccfd4
20 Source1:        %{name}.xinputd
21 Patch0:         %{name}-810211-no-switch-by-no-trigger.patch
22 Patch1:         %{name}-541492-xkb.patch
23 Patch2:         %{name}-530711-preload-sys.patch
24 Patch3:         %{name}-xx-setup-frequent-lang.patch
25 URL:            http://code.google.com/p/ibus/
26 BuildRequires:  GConf2-devel >= 2.12
27 BuildRequires:  atk-devel
28 BuildRequires:  autoconf >= 2.62
29 BuildRequires:  automake >= 1:1.11.1
30 BuildRequires:  dconf-devel >= 0.7.5
31 BuildRequires:  dbus-devel
32 BuildRequires:  dbus-glib-devel
33 BuildRequires:  desktop-file-utils
34 BuildRequires:  gettext-devel
35 BuildRequires:  glib2-devel >= 1:2.32.0
36 BuildRequires:  gobject-introspection-devel >= 0.9.6
37 BuildRequires:  gtk+2-devel >= 2.0
38 BuildRequires:  gtk+3-devel >= 3.0
39 BuildRequires:  gtk-doc >= 1.9
40 BuildRequires:  intltool >= 0.35.0
41 BuildRequires:  iso-codes
42 %{?with_ibus_xkb:BuildRequires: libgnomekbd-devel}
43 BuildRequires:  libnotify-devel >= 0.7
44 BuildRequires:  libtool
45 BuildRequires:  pkgconfig
46 BuildRequires:  python >= 1:2.5
47 BuildRequires:  python-dbus-devel >= 0.83.0
48 BuildRequires:  python-pygobject3 >= 3.0.0
49 BuildRequires:  python-pygobject3-common-devel >= 3.0.0
50 BuildRequires:  rpm-pythonprov
51 BuildRequires:  rpmbuild(macros) >= 1.596
52 %{?with_vala:BuildRequires:     vala >= 2:0.16}
53 # wayland-client
54 %{?with_wayland:BuildRequires:  wayland-devel >= 1.2.0}
55 BuildRequires:  xorg-lib-libX11-devel
56 %{?with_wayland:BuildRequires:  xorg-lib-libxkbcommon-devel}
57 %{?with_ibus_xkb:BuildRequires: xorg-lib-libxkbfile-devel}
58 Requires:       %{name}-conf = %{version}-%{release}
59 Requires:       %{name}-libs = %{version}-%{release}
60 Requires:       dbus >= 1.2.4
61 Requires:       gtk-update-icon-cache
62 Requires:       hicolor-icon-theme
63 Requires:       ibus-xkb
64 Requires:       im-chooser
65 Requires:       iso-codes
66 Requires:       libnotify >= 0.7
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 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
73
74 %define         _libexecdir     %{_libdir}/ibus
75
76 %description
77 IBus means Intelligent Input Bus. It is an input framework for Linux
78 OS.
79
80 %description -l pl.UTF-8
81 IBus (Intelligent Input Bus) to inteligentna szyna wejściowa. Jest to
82 szkielet wprowadzania tekstu dla Linuksa.
83
84 %package dconf
85 Summary:        IBus configuration module using DConf
86 Summary(pl.UTF-8):      Moduł konfiguracji IBus wykorzystujący mechanizm DConf
87 Group:          Libraries
88 Requires(post,postun):  glib2 >= 1:2.32
89 Requires:       dconf >= 0.7.5
90 Requires:       %{name} = %{version}-%{release}
91 Provides:       %{name}-conf = %{version}-%{release}
92
93 %description dconf
94 IBus configuration module using DConf.
95
96 %description dconf -l pl.UTF-8
97 Moduł konfiguracji IBus wykorzystujący mechanizm DConf.
98
99 %package gconf
100 Summary:        IBus configuration module using GConf
101 Summary(pl.UTF-8):      Moduł konfiguracji IBus wykorzystujący mechanizm GConf
102 Group:          Libraries
103 Requires(post,postun):  GConf2 >= 2.12
104 Requires:       %{name} = %{version}-%{release}
105 Requires:       GConf2 >= 2.12
106 Provides:       %{name}-conf = %{version}-%{release}
107
108 %description gconf
109 IBus configuration module using GConf.
110
111 %description gconf -l pl.UTF-8
112 Moduł konfiguracji IBus wykorzystujący mechanizm GConf.
113
114 %package gtk2
115 Summary:        IBus im module for GTK+ 2.x
116 Summary(pl.UTF-8):      Moduł im IBus dla GTK+ 2.x
117 Group:          Libraries
118 Requires:       %{name} = %{version}-%{release}
119 Requires:       imsettings-gnome2
120 Requires(post): glib2 >= 1:2.32.0
121
122 %description gtk2
123 This package contains IBus im module for GTK+ 2.x.
124
125 %description gtk2 -l pl.UTF-8
126 Ten pakiet zawiera moduł im IBus dla GTK+ 2.x.
127
128 %package gtk3
129 Summary:        IBus im module for GTK+ 3.x
130 Summary(pl.UTF-8):      Moduł im IBus dla GTK+ 3.x
131 Group:          Libraries
132 Requires:       %{name} = %{version}-%{release}
133 Requires:       imsettings-gnome3
134 Requires(post): glib2 >= 1:2.32.0
135
136 %description gtk3
137 This package contains IBus im module for GTK+ 3.x.
138
139 %description gtk3 -l pl.UTF-8
140 Ten pakiet zawiera moduł im IBus dla GTK+ 3.x.
141
142 %package wayland
143 Summary:        Wayland im protocol support for IBus
144 Summary(pl.UTF-8):      Obsługa protokołu im Waylanda dla systemu IBus
145 Group:          Libraries
146 Requires:       %{name} = %{version}-%{release}
147 Requires:       wayland >= 1.2.0
148
149 %description wayland
150 Wayland im protocol support for IBus.
151
152 %description wayland -l pl.UTF-8
153 Obsługa protokołu im Waylanda dla systemu IBus.
154
155 %package libs
156 Summary:        IBus library
157 Summary(pl.UTF-8):      Biblioteka IBus
158 Group:          Libraries
159 Requires:       glib2 >= 1:2.32.0
160
161 %description libs
162 This package contains the IBus shared library.
163
164 %description libs -l pl.UTF-8
165 Ten pakiet zawiera bibliotekę współdzieloną IBus.
166
167 %package devel
168 Summary:        Development files for IBus
169 Summary(pl.UTF-8):      Pliki programistyczne IBus
170 Group:          Development/Libraries
171 Requires:       %{name}-libs = %{version}-%{release}
172 Requires:       glib2-devel >= 1:2.32.0
173
174 %description devel
175 The ibus-devel package contains the header files for IBus.
176
177 %description devel -l pl.UTF-8
178 Ten pakiet zawiera pliki nagłówkowe dla szkieletu IBus.
179
180 %package static
181 Summary:        Static ibus library
182 Summary(pl.UTF-8):      Biblioteka statyczna ibus
183 Group:          Development/Libraries
184 Requires:       %{name}-devel = %{version}-%{release}
185
186 %description static
187 Static ibus library.
188
189 %description static -l pl.UTF-8
190 Biblioteka statyczna ibus.
191
192 %package apidocs
193 Summary:        Development documentation for IBus
194 Summary(pl.UTF-8):      Dokumentacja programisty dla szkieletu IBus
195 Group:          Development/Libraries
196 Requires:       gtk-doc-common
197 Conflicts:      ibus-devel < 1.4.2
198
199 %description apidocs
200 Development documentation for IBus.
201
202 %description apidocs -l pl.UTF-8
203 Dokumentacja programisty dla szkieletu IBus.
204
205 %package -n python-ibus
206 Summary:        Python interface to IBus framework
207 Summary(pl.UTF-8):      Pythonowy interfejs do szkieletu IBus
208 Group:          Development/Languages/Python
209 Requires:       python-dbus >= 0.83.0
210 Requires:       python-pygobject3 >= 3.0.0
211 Requires:       python-pygtk-pango
212 Requires:       python-pyxdg
213 Conflicts:      ibus < 1.4.2
214
215 %description -n python-ibus
216 Python interface to IBus framework.
217
218 %description -n python-ibus -l pl.UTF-8
219 Pythonowy interfejs do szkieletu IBus.
220
221 %package -n vala-ibus
222 Summary:        Vala API for ibus library
223 Summary(pl.UTF-8):      API języka Vala do biblioteki ibus
224 Group:          Development/Libraries
225 Requires:       %{name}-devel = %{version}-%{release}
226 Requires:       vala >= 2:0.16
227
228 %description -n vala-ibus
229 Vala API for ibus library.
230
231 %description -n vala-ibus -l pl.UTF-8
232 API języka Vala do biblioteki ibus.
233
234 %package -n bash-completion-ibus
235 Summary:        Bash completion for ibus commands
236 Summary(pl.UTF-8):      Bashowe dopełnianie parametrów dla poleceń ibus
237 Group:          Applications/Shells
238 Requires:       bash-completion >= 2
239 %if "%{_rpmversion}" >= "5"
240 BuildArch:      noarch
241 %endif
242
243 %description -n bash-completion-ibus
244 Bash completion for ibus commands.
245
246 %description -n bash-completion-ibus -l pl.UTF-8
247 Bashowe dopełnianie parametrów dla poleceń ibus.
248
249 %prep
250 %setup -q
251 %patch0 -p1
252 %if %{with ibus_xkb}
253 %patch1 -p1
254 %patch2 -p1
255 %patch3 -p1
256 %endif
257
258 %build
259 %{__libtoolize}
260 %{__aclocal} -I m4
261 %{__autoconf}
262 %{__autoheader}
263 %{__automake}
264 %configure \
265         --disable-gtk-doc \
266         --disable-silent-rules \
267         --enable-dconf \
268         --enable-gconf \
269         --enable-gtk2 \
270         --enable-gtk3 \
271         --enable-introspection \
272         %{?with_ibus_xkb:--enable-libgnomekbd} \
273         --enable-python-library \
274         %{?with_static_libs:--enable-static} \
275         --enable-surrounding-text \
276         --enable-vala%{!?with_vala:=no} \
277         %{?with_wayland:--enable-wayland} \
278         --enable-xim \
279         --with-html-dir=%{_gtkdocdir} \
280         --with-no-snooper-apps='gnome-do,Do.*,firefox.*,.*chrome.*,.*chromium.*' \
281         %{?with_ibus_xkb:--with-xkb-command=ibus-xkb}
282
283 %{__make} -C ui/gtk3 maintainer-clean-generic
284
285 %{__make}
286
287 %install
288 rm -rf $RPM_BUILD_ROOT
289 install -d $RPM_BUILD_ROOT%{_sysconfdir}/X11/xinit/xinput.d
290
291 %{__make} install \
292         DESTDIR=$RPM_BUILD_ROOT
293
294 %{__sed} -e 's|@@LIB@@|%{_lib}|g' %{SOURCE1} >$RPM_BUILD_ROOT%{_sysconfdir}/X11/xinit/xinput.d/ibus.conf
295
296 %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
297 %{__rm} $RPM_BUILD_ROOT%{_libdir}/gtk*/*/immodules/*.la
298 %if %{with static_libs}
299 %{__rm} $RPM_BUILD_ROOT%{_libdir}/gtk*/*/immodules/*.a
300 %endif
301
302 %py_postclean
303
304 %find_lang %{name}10
305
306 %clean
307 rm -rf $RPM_BUILD_ROOT
308
309 %post
310 %update_icon_cache hicolor
311
312 %postun
313 %update_icon_cache hicolor
314
315 %post dconf
316 %glib_compile_schemas
317
318 %postun dconf
319 %glib_compile_schemas
320
321 %post gconf
322 %gconf_schema_install ibus.schemas
323
324 %preun gconf
325 %gconf_schema_uninstall ibus.schemas
326
327 %post gtk2
328 %if "%{_lib}" != "lib"
329 %{_bindir}/gtk-query-immodules-2.0-64 > %{_sysconfdir}/gtk64-2.0/gtk.immodules
330 %else
331 %{_bindir}/gtk-query-immodules-2.0 > %{_sysconfdir}/gtk-2.0/gtk.immodules
332 %endif
333
334 %postun gtk2
335 %if "%{_lib}" != "lib"
336 %{_bindir}/gtk-query-immodules-2.0-64 > %{_sysconfdir}/gtk64-2.0/gtk.immodules
337 %else
338 %{_bindir}/gtk-query-immodules-2.0 > %{_sysconfdir}/gtk-2.0/gtk.immodules
339 %endif
340
341 %post gtk3
342 %if "%{_lib}" != "lib"
343 %{_bindir}/gtk-query-immodules-3.0-64 --update-cache
344 %else
345 %{_bindir}/gtk-query-immodules-3.0 --update-cache
346 %endif
347
348 %postun gtk3
349 %if "%{_lib}" != "lib"
350 %{_bindir}/gtk-query-immodules-3.0-64 --update-cache
351 %else
352 %{_bindir}/gtk-query-immodules-3.0 --update-cache
353 %endif
354
355 %post   libs -p /sbin/ldconfig
356 %postun libs -p /sbin/ldconfig
357
358 %files -f %{name}10.lang
359 %defattr(644,root,root,755)
360 %doc AUTHORS README
361 %config(noreplace) %verify(not md5 mtime size) /etc/X11/xinit/xinput.d/ibus.conf
362 %attr(755,root,root) %{_bindir}/ibus
363 %attr(755,root,root) %{_bindir}/ibus-daemon
364 %attr(755,root,root) %{_bindir}/ibus-setup
365 %dir %{_libexecdir}
366 %attr(755,root,root) %{_libexecdir}/ibus-engine-simple
367 %attr(755,root,root) %{_libexecdir}/ibus-ui-gtk3
368 %attr(755,root,root) %{_libexecdir}/ibus-x11
369 %if %{with ibus_xkb}
370 %attr(755,root,root) %{_libexecdir}/ibus-xkb
371 %endif
372 %dir %{_datadir}/ibus
373 %dir %{_datadir}/ibus/component
374 %{_datadir}/ibus/component/gtkpanel.xml
375 %{_datadir}/ibus/component/simple.xml
376 %{_datadir}/ibus/engine
377 %{_datadir}/ibus/keymaps
378 %{_datadir}/ibus/setup
379 %{_desktopdir}/ibus-setup.desktop
380 %{_iconsdir}/hicolor/*/apps/ibus-*.png
381 %{_iconsdir}/hicolor/scalable/apps/ibus*.svg
382 %{_mandir}/man1/ibus.1*
383 %{_mandir}/man1/ibus-daemon.1*
384 %{_mandir}/man1/ibus-setup.1*
385
386 %files dconf
387 %defattr(644,root,root,755)
388 %attr(755,root,root) %{_libexecdir}/ibus-dconf
389 %{_datadir}/ibus/component/dconf.xml
390 %dir %{_sysconfdir}/dconf/db/ibus.d
391 %{_sysconfdir}/dconf/db/ibus.d/00-upstream-settings
392 %{_sysconfdir}/dconf/profile/ibus
393 %{_datadir}/GConf/gsettings/ibus.convert
394 %{_datadir}/glib-2.0/schemas/org.freedesktop.ibus.gschema.xml
395
396 %files gconf
397 %defattr(644,root,root,755)
398 %attr(755,root,root) %{_libexecdir}/ibus-gconf
399 %{_datadir}/ibus/component/gconf.xml
400 %{_sysconfdir}/gconf/schemas/ibus.schemas
401
402 %files gtk2
403 %defattr(644,root,root,755)
404 %attr(755,root,root) %{_libdir}/gtk-2.0/*/immodules/im-ibus.so
405
406 %files gtk3
407 %defattr(644,root,root,755)
408 %attr(755,root,root) %{_libdir}/gtk-3.0/*/immodules/im-ibus.so
409
410 %files wayland
411 %defattr(644,root,root,755)
412 %attr(755,root,root) %{_libexecdir}/ibus-wayland
413
414 %files libs
415 %defattr(644,root,root,755)
416 %attr(755,root,root) %{_libdir}/libibus-1.0.so.*.*.*
417 %attr(755,root,root) %ghost %{_libdir}/libibus-1.0.so.5
418 %{_libdir}/girepository-1.0/IBus-1.0.typelib
419
420 %files devel
421 %defattr(644,root,root,755)
422 %attr(755,root,root) %{_libdir}/libibus-1.0.so
423 %{_pkgconfigdir}/ibus-1.0.pc
424 %{_includedir}/ibus-1.0
425 %{_datadir}/gir-1.0/IBus-1.0.gir
426
427 %if %{with static_libs}
428 %files static
429 %defattr(644,root,root,755)
430 %{_libdir}/libibus-1.0.a
431 %endif
432
433 %files apidocs
434 %defattr(644,root,root,755)
435 %{_gtkdocdir}/ibus
436
437 %files -n python-ibus
438 %defattr(644,root,root,755)
439 %dir %{py_sitescriptdir}/ibus
440 %{py_sitescriptdir}/ibus/*.py[co]
441 %dir %{py_sitescriptdir}/ibus/interface
442 %{py_sitescriptdir}/ibus/interface/*.py[co]
443 %{py_sitedir}/gi/overrides/IBus.py[co]
444
445 %if %{with vala}
446 %files -n vala-ibus
447 %defattr(644,root,root,755)
448 %{_datadir}/vala/vapi/ibus-1.0.vapi
449 %{_datadir}/vala/vapi/ibus-1.0.deps
450 %endif
451
452 %files -n bash-completion-ibus
453 %defattr(644,root,root,755)
454 %{_datadir}/bash-completion/completions/ibus.bash
This page took 0.134934 seconds and 4 git commands to generate.