]> git.pld-linux.org Git - packages/ibus.git/blob - ibus.spec
26e1b7adb67f0d4c9100c8ece79888be6f4242e4
[packages/ibus.git] / ibus.spec
1 # TODO
2 # - clean .py in %{_datadir}/{setup,ui/gtk} if possible
3 #
4 # Conditional build:
5 %bcond_without  gjsfile         # https://bugzilla.redhat.com/show_bug.cgi?id=657165
6 %bcond_without  static_libs     # don't build static library
7 #
8 %define         ibus_gjs_version        3.4.1.20120815
9 Summary:        Intelligent Input Bus for Linux OS
10 Summary(pl.UTF-8):      IBus - inteligentna szyna wejściowa dla Linuksa
11 Name:           ibus
12 Version:        1.4.99.20121006
13 Release:        0.1
14 License:        LGPL v2+
15 Group:          Libraries
16 #Source0Download: http://code.google.com/p/ibus/downloads/list
17 Source0:        http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz
18 # Source0-md5:  28b26c84f021a0c15023d6326d4ad58e
19 Source1:        %{name}.xinputd
20 Source100:      http://fujiwara.fedorapeople.org/ibus/gnome-shell/%{name}-gjs-%{ibus_gjs_version}.tar.gz
21 # Source100-md5:        8acf4ac4d1a7dfb9a0af9e755a8e7dba
22 Patch0:         %{name}-HEAD.patch
23 Patch1:         %{name}-810211-no-switch-by-no-trigger.patch
24 Patch2:         %{name}-541492-xkb.patch
25 Patch3:         %{name}-530711-preload-sys.patch
26 Patch4:         %{name}-xx-setup-frequent-lang.patch
27 Patch5:         %{name}-xx-no-use.diff
28 URL:            http://code.google.com/p/ibus/
29 BuildRequires:  GConf2-devel >= 2.12
30 BuildRequires:  autoconf >= 2.62
31 BuildRequires:  automake >= 1:1.10
32 BuildRequires:  dconf-devel
33 BuildRequires:  dbus-glib-devel
34 BuildRequires:  desktop-file-utils
35 BuildRequires:  gettext-devel
36 BuildRequires:  gjs-devel
37 BuildRequires:  glib2-devel >= 1:2.26.0
38 BuildRequires:  gnome-shell
39 BuildRequires:  gobject-introspection-devel >= 0.6.8
40 BuildRequires:  gtk+2-devel >= 2.0
41 BuildRequires:  gtk+3-devel >= 3.0
42 BuildRequires:  gtk-doc >= 1.9
43 BuildRequires:  intltool >= 0.35.0
44 BuildRequires:  iso-codes
45 BuildRequires:  libtool
46 BuildRequires:  libgnomekbd-devel
47 BuildRequires:  python >= 1:2.5
48 BuildRequires:  python-dbus-devel >= 0.83.0
49 BuildRequires:  python-pygobject-devel
50 BuildRequires:  rpm-pythonprov
51 BuildRequires:  rpmbuild(macros) >= 1.596
52 BuildRequires:  vala
53 BuildRequires:  xorg-lib-libX11-devel
54 BuildRequires:  xorg-lib-libxkbfile-devel
55 Requires:       %{name}-libs = %{version}-%{release}
56 Requires:       GConf2 >= 2.12
57 Requires:       dbus >= 1.2.4
58 Requires:       gtk-update-icon-cache
59 Requires:       hicolor-icon-theme
60 Requires:       im-chooser
61 Requires:       iso-codes
62 Requires:       python-ibus = %{version}-%{release}
63 Requires:       python-pygtk-gtk
64 Requires:       python-pynotify
65 # input-keyboard-symbolic icon
66 Suggests:       gnome-icon-theme-symbolic
67 Requires(post,preun):   GConf2
68 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
69
70 %define         _libexecdir     %{_libdir}/ibus
71
72 %description
73 IBus means Intelligent Input Bus. It is an input framework for Linux
74 OS.
75
76 %description -l pl.UTF-8
77 IBus (Intelligent Input Bus) to inteligentna szyna wejściowa. Jest to
78 szkielet wprowadzania tekstu dla Linuksa.
79
80 %package libs
81 Summary:        IBus library
82 Summary(pl.UTF-8):      Biblioteka IBus
83 Group:          Libraries
84 Requires:       glib2 >= 1:2.26.0
85
86 %description libs
87 This package contains the IBus shared library.
88
89 %description libs -l pl.UTF-8
90 Ten pakiet zawiera bibliotekę współdzieloną IBus.
91
92 %package gtk2
93 Summary:        IBus im module for GTK+ 2.x
94 Summary(pl.UTF-8):      Moduł im IBus dla GTK+ 2.x
95 Group:          Libraries
96 Requires:       %{name} = %{version}-%{release}
97 Requires:       imsettings-gnome2
98 Requires(post): glib2 >= 1:2.26.0
99
100 %description gtk2
101 This package contains IBus im module for GTK+ 2.x.
102
103 %description gtk2 -l pl.UTF-8
104 Ten pakiet zawiera moduł im IBus dla GTK+ 2.x.
105
106 %package gtk3
107 Summary:        IBus im module for GTK+ 3.x
108 Summary(pl.UTF-8):      Moduł im IBus dla GTK+ 3.x
109 Group:          Libraries
110 Requires:       %{name} = %{version}-%{release}
111 Requires:       imsettings-gnome3
112 Requires(post): glib2 >= 1:2.26.0
113
114 %description gtk3
115 This package contains IBus im module for GTK+ 3.x.
116
117 %description gtk3 -l pl.UTF-8
118 Ten pakiet zawiera moduł im IBus dla GTK+ 3.x.
119
120 %package gnome3
121 Summary:        IBus gnome-shell-extension for GNOME3
122 Summary(pl.UTF-8):      Rozszerzenie gnome-shell IBus dla GNOME3
123 Group:          Libraries
124 Requires:       %{name} = %{version}-%{release}
125 Requires:       gnome-shell
126
127 %description gnome3
128 This is a transitional package which allows users to try out new IBus
129 GUI for GNOME3 in development. Note that this package will be marked
130 as obsolete once the integration has completed in the GNOME3 upstream.
131
132 %description gnome3 -l pl.UTF-8
133 Pakiet przejściowy pozwalający użytkownikom wypróbować nowe GUI IBus
134 dla GNOME3 w trakcie tworzenia. Uwaga: ten pakiet zostanie oznaczony
135 jako przestarzały po zakończeniu integracji w GNOME3.
136
137 %package devel
138 Summary:        Development files for IBus
139 Summary(pl.UTF-8):      Pliki programistyczne IBus
140 Group:          Development/Libraries
141 Requires:       %{name}-libs = %{version}-%{release}
142 Requires:       glib2-devel
143
144 %description devel
145 The ibus-devel package contains the header files for IBus.
146
147 %description devel -l pl.UTF-8
148 Ten pakiet zawiera pliki nagłówkowe dla szkieletu IBus.
149
150 %package static
151 Summary:        Static ibus library
152 Summary(pl.UTF-8):      Biblioteka statyczna ibus
153 Group:          Development/Libraries
154 Requires:       %{name}-devel = %{version}-%{release}
155
156 %description static
157 Static ibus library.
158
159 %description static -l pl.UTF-8
160 Biblioteka statyczna ibus.
161
162 %package apidocs
163 Summary:        Development documentation for IBus
164 Summary(pl.UTF-8):      Dokumentacja programisty dla szkieletu IBus
165 Group:          Development/Libraries
166 Requires:       gtk-doc-common
167 Conflicts:      ibus-devel < 1.4.2
168
169 %description apidocs
170 Development documentation for IBus.
171
172 %description apidocs -l pl.UTF-8
173 Dokumentacja programisty dla szkieletu IBus.
174
175 %package -n python-ibus
176 Summary:        Python interface to IBus framework
177 Summary(pl.UTF-8):      Pythonowy interfejs do szkieletu IBus
178 Group:          Development/Languages/Python
179 Requires:       python-dbus >= 0.83.0
180 Requires:       python-pygobject
181 Requires:       python-pygtk-pango
182 Requires:       python-pyxdg
183 Conflicts:      ibus < 1.4.2
184
185 %description -n python-ibus
186 Python interface to IBus framework.
187
188 %description -n python-ibus -l pl.UTF-8
189 Pythonowy interfejs do szkieletu IBus.
190
191 %package -n vala-ibus
192 Summary:        Vala API for ibus library
193 Summary(pl.UTF-8):      API języka Vala do biblioteki ibus
194 Group:          Development/Libraries
195 Requires:       %{name}-devel = %{version}-%{release}
196 Requires:       vala
197
198 %description -n vala-ibus
199 Vala API for ibus library.
200
201 %description -n vala-ibus -l pl.UTF-8
202 API języka Vala do biblioteki ibus.
203
204 %prep
205 %setup -q
206 %if %{with gjsfile}
207 zcat %{SOURCE100} | tar xf -
208 %endif
209 %patch0 -p1
210 %patch1 -p1
211 %{__rm} bindings/vala/ibus-1.0.vapi
212 %patch2 -p1
213 %patch3 -p1
214 %patch4 -p1
215 %patch5 -p1
216
217 %build
218 %if %{with gjsfile}
219 d=$(basename %{SOURCE100} .tar.gz)
220 cd $d
221 %configure
222 %{__make}
223 cd ..
224 %endif
225 %{__libtoolize}
226 %{__aclocal} -I m4
227 %{__autoconf}
228 %{__autoheader}
229 %{__automake}
230 %configure \
231         --disable-gtk-doc \
232         --disable-silent-rules \
233         --enable-bridge-hotkey \
234         --enable-gconf \
235         --enable-dconf \
236         --enable-gtk2 \
237         --enable-gtk3 \
238         --enable-introspection \
239         --enable-python \
240         --enable-python-library \
241         %{?with_static_libs:--enable-static} \
242         --enable-surrounding-text \
243         --enable-vala \
244         --enable-xim \
245         --enable-xkb \
246         --enable-libgnomekbd \
247         --with-html-dir=%{_gtkdocdir} \
248         --with-no-snooper-apps='gnome-do,Do.*,firefox.*,.*chrome.*,.*chromium.*'
249
250 %{__make} -C ui/gtk3 maintainer-clean-generic
251
252 %{__make}
253
254 %install
255 rm -rf $RPM_BUILD_ROOT
256 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{X11/xinit/xinput.d,xdg/autostart}
257
258 %{__make} install \
259         DESTDIR=$RPM_BUILD_ROOT
260
261 %{__sed} -e 's|@@LIB@@|%{_lib}|g' %{SOURCE1} >$RPM_BUILD_ROOT%{_sysconfdir}/X11/xinit/xinput.d/ibus.conf
262
263 # correct location in upstream.
264 mv $RPM_BUILD_ROOT{%{_desktopdir},%{_sysconfdir}/xdg/autostart}/ibus.desktop
265
266 %if %{with gjsfile}
267 d=$(basename %{SOURCE100} .tar.gz)
268 %{__make} -C $d install \
269         DESTDIR=$RPM_BUILD_ROOT
270 %{__rm} $RPM_BUILD_ROOT%{_localedir}/*/LC_MESSAGES/ibus-gjs.mo
271 %endif
272
273 %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
274 %{__rm} $RPM_BUILD_ROOT%{_libdir}/gtk*/*/immodules/*.la
275 %if %{with static_libs}
276 %{__rm} $RPM_BUILD_ROOT%{_libdir}/gtk*/*/immodules/*.a
277 %endif
278
279 %py_postclean
280
281 %find_lang %{name}10
282
283 # imsettings will start this daemon for us
284 %{__rm} $RPM_BUILD_ROOT/etc/xdg/autostart/ibus.desktop
285
286 %clean
287 rm -rf $RPM_BUILD_ROOT
288
289 %post
290 %update_icon_cache hicolor
291 %gconf_schema_install ibus.schemas
292
293 %preun
294 %gconf_schema_uninstall ibus.schemas
295
296 %postun
297 %update_icon_cache hicolor
298
299 %post   libs -p /sbin/ldconfig
300 %postun libs -p /sbin/ldconfig
301
302 %post gtk2
303 %if "%{_lib}" != "lib"
304 %{_bindir}/gtk-query-immodules-2.0-64 > %{_sysconfdir}/gtk64-2.0/gtk.immodules
305 %else
306 %{_bindir}/gtk-query-immodules-2.0 > %{_sysconfdir}/gtk-2.0/gtk.immodules
307 %endif
308
309 %postun gtk2
310 %if "%{_lib}" != "lib"
311 %{_bindir}/gtk-query-immodules-2.0-64 > %{_sysconfdir}/gtk64-2.0/gtk.immodules
312 %else
313 %{_bindir}/gtk-query-immodules-2.0 > %{_sysconfdir}/gtk-2.0/gtk.immodules
314 %endif
315
316 %post gtk3
317 %if "%{_lib}" != "lib"
318 %{_bindir}/gtk-query-immodules-3.0-64 --update-cache
319 %else
320 %{_bindir}/gtk-query-immodules-3.0 --update-cache
321 %endif
322
323 %postun gtk3
324 %if "%{_lib}" != "lib"
325 %{_bindir}/gtk-query-immodules-3.0-64 --update-cache
326 %else
327 %{_bindir}/gtk-query-immodules-3.0 --update-cache
328 %endif
329
330 %files -f %{name}10.lang
331 %defattr(644,root,root,755)
332 %doc AUTHORS README
333 %config(noreplace) %verify(not md5 mtime size) /etc/X11/xinit/xinput.d/ibus.conf
334 %dir %{_sysconfdir}/dconf/db/ibus.d
335 %{_sysconfdir}/dconf/db/ibus.d/00-upstream-settings
336 %{_sysconfdir}/dconf/profile/ibus
337 %{_sysconfdir}/gconf/schemas/ibus.schemas
338 %attr(755,root,root) %{_bindir}/ibus
339 %attr(755,root,root) %{_bindir}/ibus-daemon
340 %attr(755,root,root) %{_bindir}/ibus-setup
341 %dir %{_libexecdir}
342 %attr(755,root,root) %{_libexecdir}/ibus-dconf
343 %attr(755,root,root) %{_libexecdir}/ibus-engine-simple
344 %attr(755,root,root) %{_libexecdir}/ibus-gconf
345 %attr(755,root,root) %{_libexecdir}/ibus-ui-gtk3
346 %attr(755,root,root) %{_libexecdir}/ibus-x11
347 %attr(755,root,root) %{_libexecdir}/ibus-xkb
348 %{_datadir}/ibus
349 %{_datadir}/GConf/gsettings/ibus.convert
350 %{_datadir}/glib-2.0/schemas/org.freedesktop.ibus.gschema.xml
351 %{_desktopdir}/ibus-setup.desktop
352 %{_iconsdir}/hicolor/*/apps/ibus-*.png
353 %{_iconsdir}/hicolor/scalable/apps/ibus*.svg
354
355 %files libs
356 %defattr(644,root,root,755)
357 %attr(755,root,root) %{_libdir}/libibus-1.0.so.*.*.*
358 %attr(755,root,root) %ghost %{_libdir}/libibus-1.0.so.5
359 %{_libdir}/girepository-1.0/IBus-1.0.typelib
360
361 %files gtk2
362 %defattr(644,root,root,755)
363 %attr(755,root,root) %{_libdir}/gtk-2.0/*/immodules/im-ibus.so
364
365 %files gtk3
366 %defattr(644,root,root,755)
367 %attr(755,root,root) %{_libdir}/gtk-3.0/*/immodules/im-ibus.so
368
369 %files gnome3
370 %defattr(644,root,root,755)
371 %{_datadir}/gnome-shell/js/ui/status/ibus
372 %{_datadir}/gnome-shell/extensions/ibus-indicator@example.com
373
374 %files devel
375 %defattr(644,root,root,755)
376 %attr(755,root,root) %{_libdir}/libibus-1.0.so
377 %{_pkgconfigdir}/ibus-1.0.pc
378 %{_includedir}/ibus-1.0
379 %{_datadir}/gir-1.0/IBus-1.0.gir
380
381 %if %{with static_libs}
382 %files static
383 %defattr(644,root,root,755)
384 %{_libdir}/libibus-1.0.a
385 %endif
386
387 %files apidocs
388 %defattr(644,root,root,755)
389 %{_gtkdocdir}/ibus
390
391 %files -n python-ibus
392 %defattr(644,root,root,755)
393 %dir %{py_sitescriptdir}/ibus
394 %{py_sitescriptdir}/ibus/*.py[co]
395 %dir %{py_sitescriptdir}/ibus/interface
396 %{py_sitescriptdir}/ibus/interface/*.py[co]
397
398 %files -n vala-ibus
399 %defattr(644,root,root,755)
400 %{_datadir}/vala/vapi/ibus-1.0.vapi
401 %{_datadir}/vala/vapi/ibus-1.0.deps
This page took 0.064974 seconds and 2 git commands to generate.