]>
Commit | Line | Data |
---|---|---|
4fa02aee JR |
1 | # |
2 | # Conditional build: | |
3 | %bcond_without gjsfile # https://bugzilla.redhat.com/show_bug.cgi?id=657165 | |
4 | # | |
5 | Summary: Intelligent Input Bus for Linux OS | |
6 | Name: ibus | |
7 | Version: 1.3.99.20110419 | |
8 | Release: 0.1 | |
9 | License: LGPL v2+ | |
10 | Group: Libraries | |
11 | URL: http://code.google.com/p/ibus/ | |
12 | Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz | |
13 | # Source0-md5: d4f2729fecb92ae6b41f26c770b1a772 | |
14 | Source1: %{name}.xinputd | |
15 | Source100: http://fujiwara.fedorapeople.org/ibus/gnome-shell/%{name}-gjs-1.3.99.20110714.tar.gz | |
16 | # Source100-md5: 57df6a7d6a9ca0f4b30a8fe135fdcb89 | |
17 | Patch0: %{name}-HEAD.patch | |
18 | Patch1: %{name}-530711-preload-sys.patch | |
19 | Patch2: %{name}-xx-icon-symbol.patch | |
20 | Patch3: %{name}-541492-xkb.patch | |
21 | Patch4: %{name}-xx-bridge-hotkey.patch | |
22 | Patch5: %{name}-xx-setup-frequent-lang.patch | |
23 | # Workaround for oxygen-gtk icon theme until bug 699103 is fixed. | |
24 | Patch91: %{name}-711632-fedora-fallback-icon.patch | |
25 | BuildRequires: GConf2-devel | |
26 | BuildRequires: autoconf | |
27 | BuildRequires: automake | |
28 | BuildRequires: dbus-glib-devel | |
29 | BuildRequires: desktop-file-utils | |
30 | BuildRequires: gettext-devel | |
31 | BuildRequires: gtk+2-devel | |
32 | BuildRequires: gtk+3-devel | |
33 | BuildRequires: gtk-doc | |
34 | BuildRequires: intltool | |
35 | BuildRequires: iso-codes | |
36 | BuildRequires: libtool | |
37 | BuildRequires: python | |
38 | BuildRequires: rpmbuild(macros) >= 1.596 | |
39 | BuildRequires: rpm-pythonprov | |
40 | BuildRequires: python-dbus-devel >= 0.83.0 | |
41 | BuildRequires: python-pygobject-devel | |
42 | BuildRequires: xorg-lib-libxkbfile-devel | |
43 | Requires: %{name}-gtk2 = %{version}-%{release} | |
44 | Requires: %{name}-gtk3 = %{version}-%{release} | |
45 | Requires: %{name}-libs = %{version}-%{release} | |
46 | Requires: GConf2 | |
47 | Requires: im-chooser | |
48 | Requires: iso-codes | |
49 | Requires: python-dbus >= 0.83.0 | |
50 | Requires: python-pygtk-gtk | |
51 | Requires: python-pynotify | |
52 | Requires: python-pyxdg | |
53 | Requires: hicolor-icon-theme | |
54 | Requires: gtk-update-icon-cache | |
55 | Requires(post): GConf2 | |
56 | Requires(preun): GConf2 | |
57 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
58 | ||
59 | %description | |
60 | IBus means Intelligent Input Bus. It is an input framework for Linux | |
61 | OS. | |
62 | ||
63 | %package libs | |
64 | Summary: IBus libraries | |
65 | Group: Libraries | |
66 | Requires: dbus >= 1.2.4 | |
67 | Requires: glib2 >= 1:2.26.0 | |
68 | ||
69 | %description libs | |
70 | This package contains the libraries for IBus | |
71 | ||
72 | %package gtk2 | |
73 | Summary: IBus im module for gtk2 | |
74 | Group: Libraries | |
75 | Requires: %{name} = %{version}-%{release} | |
76 | Requires: %{name}-libs = %{version}-%{release} | |
77 | Requires: imsettings-gnome2 | |
78 | Requires(post): glib2 >= 1:2.26.0 | |
79 | ||
80 | %description gtk2 | |
81 | This package contains ibus im module for gtk2 | |
82 | ||
83 | %package gtk3 | |
84 | Summary: IBus im module for gtk3 | |
85 | Group: Libraries | |
86 | Requires: %{name} = %{version}-%{release} | |
87 | Requires: %{name}-libs = %{version}-%{release} | |
88 | Requires: imsettings-gnome3 | |
89 | Requires(post): glib2 >= 1:2.26.0 | |
90 | ||
91 | %description gtk3 | |
92 | This package contains ibus im module for gtk3 | |
93 | ||
94 | %package gnome3 | |
95 | Summary: IBus gnome-shell-extension for GNOME3 | |
96 | Group: Libraries | |
97 | Requires: %{name} = %{version}-%{release} | |
98 | Requires: %{name}-libs = %{version}-%{release} | |
99 | Requires: gnome-shell | |
100 | ||
101 | %description gnome3 | |
102 | This is a transitional package which allows users to try out new IBus | |
103 | GUI for GNOME3 in development. Note that this package will be marked | |
104 | as obsolete once the integration has completed in the GNOME3 upstream. | |
105 | ||
106 | %package devel | |
107 | Summary: Development tools for ibus | |
108 | Group: Development/Libraries | |
109 | Requires: %{name}-libs = %{version}-%{release} | |
110 | Requires: dbus-devel | |
111 | Requires: glib2-devel | |
112 | ||
113 | %description devel | |
114 | The ibus-devel package contains the header files and developer docs | |
115 | for ibus. | |
116 | ||
117 | %prep | |
118 | %setup -q | |
119 | %if %{with gjsfile} | |
120 | zcat %SOURCE100 | tar xf - | |
121 | %endif | |
122 | %patch0 -p1 | |
123 | cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c | |
124 | %patch1 -p1 | |
125 | %patch2 -p1 | |
126 | %patch3 -p1 | |
127 | mv data/ibus.schemas.in data/ibus.schemas.in.in | |
128 | %patch4 -p1 | |
129 | %patch5 -p1 | |
130 | ||
131 | %patch91 -p1 | |
132 | ||
133 | %build | |
134 | %if %{with gjsfile} | |
135 | d=`basename %SOURCE100 .tar.gz` | |
136 | cd $d | |
137 | %configure | |
138 | %{__make} | |
139 | cd .. | |
140 | %endif | |
141 | ||
142 | %{__aclocal} -I m4 | |
143 | %{__autoheader} | |
144 | %{__autoconf} | |
145 | %{__automake} | |
146 | %configure \ | |
147 | --enable-gtk2 \ | |
148 | --enable-gtk3 \ | |
149 | --enable-xim \ | |
150 | --enable-vala \ | |
151 | --enable-xkb \ | |
152 | --disable-gtk-doc \ | |
153 | --enable-gconf \ | |
154 | --enable-python \ | |
155 | --with-html-dir=%{_gtkdocdir} \ | |
156 | --with-no-snooper-apps='gnome-do,Do.*,firefox.*,.*chrome.*,.*chromium.*' \ | |
157 | --enable-surrounding-text \ | |
158 | --enable-bridge-hotkey \ | |
159 | --enable-introspection | |
160 | ||
161 | %{__make} | |
162 | ||
163 | %install | |
164 | rm -rf $RPM_BUILD_ROOT | |
165 | install -d $RPM_BUILD_ROOT%{_sysconfdir}/{X11/xinit/xinput.d,xdg/autostart} | |
166 | ||
167 | %{__make} install \ | |
168 | DESTDIR=$RPM_BUILD_ROOT | |
169 | ||
170 | %{__sed} -e 's|@@LIB@@|%{_lib}|g' %{SOURCE1} >$RPM_BUILD_ROOT%{_sysconfdir}/X11/xinit/xinput.d/ibus.conf | |
171 | ||
172 | # correct location in upstream. | |
173 | mv $RPM_BUILD_ROOT{%{_desktopdir},%{_sysconfdir}/xdg/autostart}/ibus.desktop | |
174 | ||
175 | %if %{with gjsfile} | |
176 | d=`basename %SOURCE100 .tar.gz` | |
177 | cd $d | |
178 | %{__make} install \ | |
179 | DESTDIR=$RPM_BUILD_ROOT | |
180 | %{__rm} $RPM_BUILD_ROOT%{_datadir}/locale/*/LC_MESSAGES/ibus-gjs.mo | |
181 | cd .. | |
182 | %endif | |
183 | ||
184 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la | |
185 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/gtk*/*/immodules/*.la | |
186 | ||
187 | %find_lang %{name}10 | |
188 | ||
189 | %clean | |
190 | rm -rf $RPM_BUILD_ROOT | |
191 | ||
192 | %post | |
193 | %update_icon_cache hicolor | |
194 | %gconf_schema_install ibus | |
195 | ||
196 | %preun | |
197 | %gconf_schema_uninstall ibus | |
198 | ||
199 | %postun | |
200 | %update_icon_cache hicolor | |
201 | ||
202 | %post libs -p /sbin/ldconfig | |
203 | %postun libs -p /sbin/ldconfig | |
204 | ||
205 | %post gtk2 | |
206 | %if "%{_lib}" != "lib" | |
207 | %{_bindir}/gtk-query-immodules-2.0-64 > %{_sysconfdir}/gtk64-2.0/gtk.immodules | |
208 | %else | |
209 | %{_bindir}/gtk-query-immodules-2.0 > %{_sysconfdir}/gtk-2.0/gtk.immodules | |
210 | %endif | |
211 | ||
212 | %postun gtk2 | |
213 | %if "%{_lib}" != "lib" | |
214 | %{_bindir}/gtk-query-immodules-2.0-64 > %{_sysconfdir}/gtk64-2.0/gtk.immodules | |
215 | %else | |
216 | %{_bindir}/gtk-query-immodules-2.0 > %{_sysconfdir}/gtk-2.0/gtk.immodules | |
217 | %endif | |
218 | ||
219 | %post gtk3 | |
220 | %if "%{_lib}" != "lib" | |
221 | %{_bindir}/gtk-query-immodules-3.0-64 --update-cache | |
222 | %else | |
223 | %{_bindir}/gtk-query-immodules-3.0 --update-cache | |
224 | %endif | |
225 | ||
226 | %postun gtk3 | |
227 | %if "%{_lib}" != "lib" | |
228 | %{_bindir}/gtk-query-immodules-3.0-64 --update-cache | |
229 | %else | |
230 | %{_bindir}/gtk-query-immodules-3.0 --update-cache | |
231 | %endif | |
232 | ||
233 | %files -f %{name}10.lang | |
234 | %defattr(644,root,root,755) | |
235 | %doc AUTHORS README | |
236 | %config %{_sysconfdir}/X11/xinit/xinput.d/ibus.conf | |
237 | # imsettings will start this daemon for us | |
238 | #%{_sysconfdir}/xdg/autostart/ibus.desktop | |
239 | %{_sysconfdir}/gconf/schemas/ibus.schemas | |
240 | %attr(755,root,root) %{_bindir}/ibus-daemon | |
241 | %attr(755,root,root) %{_bindir}/ibus-setup | |
242 | %attr(755,root,root) %{_libdir}/ibus-gconf | |
243 | %attr(755,root,root) %{_libdir}/ibus-ui-gtk | |
244 | %attr(755,root,root) %{_libdir}/ibus-x11 | |
245 | %attr(755,root,root) %{_libdir}/ibus-engine-xkb | |
246 | %attr(755,root,root) %{_libdir}/ibus-xkb | |
247 | %dir %{py_sitescriptdir}/ibus | |
248 | %{py_sitescriptdir}/ibus/* | |
249 | %{_datadir}/ibus | |
250 | %{_desktopdir}/* | |
251 | %{_iconsdir}/hicolor/*/apps/* | |
252 | ||
253 | %files libs | |
254 | %defattr(644,root,root,755) | |
255 | %attr(755,root,root) %{_libdir}/libibus-1.0.so.*.*.* | |
256 | %attr(755,root,root) %ghost %{_libdir}/libibus-1.0.so.[0-9] | |
257 | %{_libdir}/girepository-1.0/IBus-1.0.typelib | |
258 | ||
259 | %files gtk2 | |
260 | %defattr(644,root,root,755) | |
261 | %attr(755,root,root) %{_libdir}/gtk-2.0/*/immodules/im-ibus.so | |
262 | ||
263 | %files gtk3 | |
264 | %defattr(644,root,root,755) | |
265 | %attr(755,root,root) %{_libdir}/gtk-3.0/*/immodules/im-ibus.so | |
266 | ||
267 | %files gnome3 | |
268 | %defattr(644,root,root,755) | |
269 | %{_datadir}/gnome-shell/js/ui/status/ibus | |
270 | %{_datadir}/gnome-shell/extensions/ibus-indicator@example.com | |
271 | ||
272 | %files devel | |
273 | %defattr(644,root,root,755) | |
274 | %doc %{_gtkdocdir}/ibus | |
275 | %attr(755,root,root) %{_libdir}/lib*.so | |
276 | %{_pkgconfigdir}/ibus-1.0.pc | |
277 | %{_includedir}/ibus-1.0 | |
278 | %{_datadir}/gir-1.0/IBus-1.0.gir | |
279 | %{_datadir}/vala/vapi/ibus-1.0.vapi | |
280 | %{_datadir}/vala/vapi/ibus-1.0.deps |