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