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