1 |
%define release %mkrel 1 |
2 |
|
3 |
%define major 0 |
4 |
%define libname %mklibname purple %{major} |
5 |
%define develname %mklibname purple -d |
6 |
|
7 |
%define console_app finch |
8 |
%define lib_console_app %mklibname %{console_app} %{major} |
9 |
|
10 |
%define build_evolution 1 |
11 |
%define build_silc 1 |
12 |
%define build_meanwhile 1 |
13 |
%define build_networkmanager 0 |
14 |
#gw http://developer.pidgin.im/ticket/11936#comment:1 |
15 |
%define build_mono 0 |
16 |
%define build_vv 1 |
17 |
%define build_libgadu 0 |
18 |
|
19 |
%ifarch mips mipsel |
20 |
%define build_mono 0 |
21 |
%endif |
22 |
|
23 |
%define build_evolution 0 |
24 |
|
25 |
%{?_without_evolution: %{expand: %%global build_evolution 0}} |
26 |
%{?_with_evolution: %{expand: %%global build_evolution 1}} |
27 |
|
28 |
%{?_without_silc: %{expand: %%global build_silc 0}} |
29 |
%{?_with_silc: %{expand: %%global build_silc 1}} |
30 |
|
31 |
%{?_without_meanwhile: %{expand: %%global build_meanwhile 0}} |
32 |
%{?_with_meanwhile: %{expand: %%global build_meanwhile 1}} |
33 |
|
34 |
%{?_without_networkmanager: %{expand: %%global build_networkmanager 0}} |
35 |
%{?_with_networkmanager: %{expand: %%global build_networkmanager 1}} |
36 |
|
37 |
%{?_without_mono: %{expand: %%global build_mono 0}} |
38 |
%{?_with_mono: %{expand: %%global build_mono 1}} |
39 |
|
40 |
%{?_without_libgadu: %{expand: %%global build_libgadu 0}} |
41 |
%{?_with_libgadu: %{expand: %%global build_libgadu 1}} |
42 |
|
43 |
Summary: A GTK+ based multiprotocol instant messaging client |
44 |
Name: pidgin |
45 |
Version: 2.10.1 |
46 |
Release: %release |
47 |
Group: Networking/Instant messaging |
48 |
License: GPLv2+ |
49 |
URL: http://www.pidgin.im/ |
50 |
Source0: http://downloads.sourceforge.net/pidgin/%{name}-%{version}.tar.bz2 |
51 |
#gw from Fedora: generate one time passwords |
52 |
Source2: one_time_password.c |
53 |
Patch0: pidgin-2.7.0-smiley.patch |
54 |
Patch3: pidgin-2.4.2-set-jabber-as-module.patch |
55 |
#gw fix build with mono 2.6.4 which does not have the nessessary glib dep |
56 |
#in the pkgconfig file |
57 |
#also add missing include |
58 |
Patch6: pidgin-2.7.0-mono-build.patch |
59 |
#gw fix reading resolv.conf in NetworkManager integration |
60 |
Patch111: %{name}-2.8.0-reread-resolvconf.patch |
61 |
Patch115: %{name}-2.10.0-gg-search-by-uin.patch |
62 |
Patch116: %{name}-2.8.0-gg-disconnect.patch |
63 |
BuildRequires: automake |
64 |
BuildRequires: intltool |
65 |
BuildRequires: autoconf |
66 |
BuildRequires: libxext-devel |
67 |
BuildRequires: libsm-devel |
68 |
BuildRequires: libice-devel |
69 |
BuildRequires: libx11-devel |
70 |
BuildRequires: gtk+2-devel >= 2.10 |
71 |
BuildRequires: gtkspell-devel >= 2.0.2 |
72 |
BuildRequires: sqlite3-devel |
73 |
BuildRequires: libncursesw-devel |
74 |
#gw for finch: |
75 |
BuildRequires: python-devel |
76 |
# (tpg) libgadu is now in main, pidgin's one is really old |
77 |
# gw pidgin's internal libgadu was updated recently |
78 |
# build against external version if possible, keep in mind older distros |
79 |
# might have older libgadu |
80 |
%if %build_libgadu |
81 |
#gw configure check is used unless --with-* options are used: |
82 |
BuildRequires: libgadu-devel >= 1.11.0 |
83 |
%endif |
84 |
#gw we have networkmanager only in contribs: |
85 |
%if %build_networkmanager |
86 |
BuildRequires: networkmanager-devel |
87 |
%endif |
88 |
BuildRequires: libxscrnsaver-devel |
89 |
BuildRequires: libgstreamer-devel >= 0.10 |
90 |
BuildRequires: libgstreamer-plugins-base-devel |
91 |
BuildRequires: libidn-devel |
92 |
BuildRequires: perl-devel |
93 |
BuildRequires: tk-devel |
94 |
BuildRequires: tcl-devel |
95 |
BuildRequires: libnss-devel |
96 |
BuildRequires: libnspr-devel |
97 |
BuildRequires: krb5-devel |
98 |
BuildRequires: libjack-devel |
99 |
BuildRequires: libsamplerate-devel |
100 |
BuildRequires: gettext-devel |
101 |
BuildRequires: libexpat-devel |
102 |
BuildRequires: avahi-glib-devel |
103 |
BuildRequires: avahi-client-devel |
104 |
BuildRequires: doxygen |
105 |
BuildRequires: desktop-file-utils |
106 |
BuildRequires: gnutls-devel libgcrypt-devel |
107 |
BuildRequires: dbus-devel >= 0.50 |
108 |
BuildRequires: dbus-glib-devel |
109 |
BuildRequires: graphviz |
110 |
BuildRequires: libxslt-proc |
111 |
BuildRequires: GConf2 |
112 |
%if %build_meanwhile |
113 |
BuildRequires: meanwhile-devel >= 1.0.0 |
114 |
%else |
115 |
BuildConflicts: meanwhile-devel |
116 |
%endif |
117 |
%if %build_evolution |
118 |
BuildRequires: evolution-data-server-devel |
119 |
%endif |
120 |
%if %build_silc |
121 |
BuildRequires: silc-toolkit-devel >= 0.9.12 |
122 |
%else |
123 |
BuildConflicts: silc-toolkit-devel |
124 |
%endif |
125 |
%if %build_mono |
126 |
BuildRequires: mono-devel |
127 |
%endif |
128 |
%if %build_vv |
129 |
BuildRequires: farsight2-devel >= 0.0.9 |
130 |
Suggests: gstreamer0.10-farsight2 |
131 |
%endif |
132 |
Obsoletes: hackgaim <= 0.60 gaim |
133 |
Provides: hackgaim <= 0.60 gaim |
134 |
Requires: %{libname} >= %{version}-%{release} |
135 |
Requires: %{name}-i18n = %{version}-%{release} |
136 |
Requires: %{name}-plugins = %{version}-%{release} |
137 |
Requires: rootcerts |
138 |
Requires: xdg-utils |
139 |
|
140 |
%description |
141 |
Pidgin allows you to talk to anyone using a variety of messaging |
142 |
protocols including AIM, MSN, Yahoo!, Jabber, Bonjour, Gadu-Gadu, |
143 |
ICQ, IRC, Novell Groupwise, QQ, Lotus Sametime, SILC, Simple and |
144 |
Zephyr. These protocols are implemented using a modular, easy to |
145 |
use design. To use a protocol, just add an account using the |
146 |
account editor. |
147 |
|
148 |
Pidgin supports many common features of other clients, as well as many |
149 |
unique features, such as perl scripting, TCL scripting and C plugins. |
150 |
|
151 |
Pidgin is not affiliated with or endorsed by America Online, Inc., |
152 |
Microsoft Corporation, Yahoo! Inc., or ICQ Inc. |
153 |
|
154 |
%package plugins |
155 |
Summary: Pidgin plugins shared by the Purple and Finch |
156 |
Group: Networking/Instant messaging |
157 |
Conflicts: %{name} < 2.4.1-3mdv |
158 |
|
159 |
%description plugins |
160 |
This contains the parts of Pidgin that are shared between the Purple and |
161 |
Finch Instant Messengers. |
162 |
|
163 |
%package perl |
164 |
Summary: Purple extension, to use perl scripting |
165 |
Group: Networking/Instant messaging |
166 |
Obsoletes: gaim-perl |
167 |
Provides: gaim-perl |
168 |
Requires: %{name} = %{version}-%{release} |
169 |
|
170 |
%description perl |
171 |
Purple can use perl script as plugin, this plugin enable them. |
172 |
|
173 |
%package tcl |
174 |
Summary: Purple extension, to use tcl scripting |
175 |
Group: Networking/Instant messaging |
176 |
Obsoletes: gaim-tcl |
177 |
Provides: gaim-tcl |
178 |
Requires: %{name} = %{version}-%{release} |
179 |
|
180 |
%description tcl |
181 |
Purple can use tcl script as plugin, this plugin enable them. |
182 |
|
183 |
%if %build_evolution |
184 |
%package gevolution |
185 |
Summary: Pidgin extension, for Evolution integration |
186 |
Group: Networking/Instant messaging |
187 |
Obsoletes: gaim-gevolution |
188 |
Provides: gaim-gevolution |
189 |
Requires: %{name} = %{version}-%{release} |
190 |
|
191 |
%description gevolution |
192 |
This pidgin plugin allows you to have pidgin working together with evolution. |
193 |
%endif |
194 |
|
195 |
%package silc |
196 |
Summary: Purple extension, to use SILC (Secure Internet Live Conferencing) |
197 |
Group: Networking/Instant messaging |
198 |
Obsoletes: gaim-silc |
199 |
Provides: gaim-silc |
200 |
Requires: %{name} = %{version}-%{release} |
201 |
|
202 |
%description silc |
203 |
This purple plugin allows you to use SILC (Secure Internet Live Conferencing) |
204 |
plugin for live video conference. |
205 |
|
206 |
%package -n %{develname} |
207 |
Summary: Development files for pidgin |
208 |
Group: Development/GNOME and GTK+ |
209 |
Requires: %{libname} = %{version}-%{release} |
210 |
Requires: %{lib_console_app} = %{version}-%{release} |
211 |
Requires: pidgin-client = %version-%release |
212 |
Provides: libpidgin-devel = %{version}-%{release} |
213 |
Provides: pidgin-devel = %{version}-%{release} |
214 |
Obsoletes: gaim-devel |
215 |
|
216 |
%description -n %{develname} |
217 |
The pidgin-devel package contains the header files, developer |
218 |
documentation, and libraries required for development of Pidgin scripts |
219 |
and plugins. |
220 |
|
221 |
%package -n %{libname} |
222 |
Summary: The libpurple library for IM clients like Pidgin and Finch |
223 |
Group: System/Libraries |
224 |
|
225 |
%description -n %{libname} |
226 |
libpurple contains the core IM support for IM clients such as Pidgin |
227 |
and Finch. |
228 |
|
229 |
libpurple supports a variety of messaging protocols including AIM, MSN, |
230 |
Yahoo!, Jabber, Bonjour, Gadu-Gadu, ICQ, IRC, Novell Groupwise, QQ, |
231 |
Lotus Sametime, SILC, Simple and Zephyr. |
232 |
|
233 |
%package -n %{lib_console_app} |
234 |
Summary: The libgnt library for the Finch IM client |
235 |
Group: System/Libraries |
236 |
Conflicts: %mklibname gaim 0 |
237 |
|
238 |
%description -n %{lib_console_app} |
239 |
libgnt contains the core IM support for the Finch IM client. |
240 |
|
241 |
libgnt supports a variety of messaging protocols including AIM, MSN, |
242 |
Yahoo!, Jabber, Bonjour, Gadu-Gadu, ICQ, IRC, Novell Groupwise, QQ, |
243 |
Lotus Sametime, SILC, Simple and Zephyr. |
244 |
|
245 |
%package -n %{console_app} |
246 |
Summary: A text-based user interface for Pidgin |
247 |
Group: Networking/Instant messaging |
248 |
Requires: %{name} = %{version}-%{release} |
249 |
Requires: %{lib_console_app} >= %{version}-%{release} |
250 |
Requires: %{name}-i18n = %{version}-%{release} |
251 |
Requires: %{name}-plugins = %{version}-%{release} |
252 |
|
253 |
%description -n %{console_app} |
254 |
A text-based user interface for using libpurple. This can be run from a |
255 |
standard text console or from a terminal within X Windows. It |
256 |
uses ncurses and our homegrown gnt library for drawing windows |
257 |
and text. |
258 |
|
259 |
%package bonjour |
260 |
Summary: Bonjour plugin for Purple |
261 |
Group: Networking/Instant messaging |
262 |
Obsoletes: gaim-bonjour |
263 |
Provides: gaim-bonjour |
264 |
Requires: %{name} = %{version}-%{release} |
265 |
|
266 |
%description bonjour |
267 |
Bonjour plugin for purple. |
268 |
|
269 |
%package meanwhile |
270 |
Summary: Lotus Sametime Community Client plugin for Purple |
271 |
Group: Networking/Instant messaging |
272 |
Obsoletes: gaim-meanwhile |
273 |
Provides: gaim-meanwhile |
274 |
Requires: %{name} = %{version}-%{release} |
275 |
|
276 |
%description meanwhile |
277 |
Lotus Sametime Community Client plugin for purple. |
278 |
|
279 |
%package client |
280 |
Summary: Plugin and sample client to control purple clients |
281 |
Group: Networking/Instant messaging |
282 |
Requires: dbus-python |
283 |
Obsoletes: libgaim-remote0, gaim-client |
284 |
Provides: libgaim-remote0, gaim-client |
285 |
Requires: %{name} = %{version}-%{release} |
286 |
|
287 |
%description client |
288 |
Applications and library to control purple clients remotely. |
289 |
|
290 |
%if %build_mono |
291 |
%package mono |
292 |
Summary: Purple extension, to use Mono plugins |
293 |
Group: Networking/Instant messaging |
294 |
Obsoletes: gaim-mono |
295 |
Provides: gaim-mono |
296 |
Requires: %{name} = %{version}-%{release} |
297 |
|
298 |
%description mono |
299 |
Purple can use plugins developed with Mono. |
300 |
%endif |
301 |
|
302 |
%package i18n |
303 |
Summary: Translation files for Pidgin/Finch |
304 |
Group: Networking/Instant messaging |
305 |
Obsoletes: %{name} < 2.1.0 |
306 |
|
307 |
%description i18n |
308 |
This package contains translation files for Pidgin/Finch. |
309 |
|
310 |
%prep |
311 |
%setup -q -n %{name}-%{version} |
312 |
%patch0 -p1 -b .smiley |
313 |
%patch3 -p0 |
314 |
%patch6 -p1 |
315 |
%patch111 -p1 -b .reread-resolvconf |
316 |
%patch115 -p1 |
317 |
%patch116 -p1 |
318 |
|
319 |
%build |
320 |
autoreconf -fi -Im4macros |
321 |
#gw 2.7.0, the yahoo plugin does not build otherwise |
322 |
%define _disable_ld_no_undefined 1 |
323 |
%configure2_5x \ |
324 |
--enable-gnutls=yes \ |
325 |
%if %build_mono |
326 |
--enable-mono \ |
327 |
%else |
328 |
--disable-mono \ |
329 |
%endif |
330 |
%if %build_networkmanager |
331 |
--enable-nm \ |
332 |
%else |
333 |
--disable-nm \ |
334 |
%endif |
335 |
%if %build_evolution |
336 |
--enable-gevolution \ |
337 |
%endif |
338 |
%if ! %build_vv |
339 |
--disable-vv \ |
340 |
%endif |
341 |
--without-krb4 \ |
342 |
--enable-cap \ |
343 |
--with-system-ssl-certs=%_sysconfdir/pki/tls/rootcerts/ \ |
344 |
--disable-static --disable-schemas-install |
345 |
%make |
346 |
|
347 |
# one_time_password plugin, to be merged upstream soon |
348 |
cp %{SOURCE2} libpurple/plugins/ |
349 |
pushd libpurple/plugins/ |
350 |
make one_time_password.so |
351 |
popd |
352 |
|
353 |
|
354 |
%install |
355 |
rm -rf %{buildroot} |
356 |
|
357 |
%makeinstall_std mkinstalldirs='mkdir -p' |
358 |
|
359 |
install -m 0755 libpurple/plugins/one_time_password.so %{buildroot}%{_libdir}/purple-2/ |
360 |
|
361 |
|
362 |
desktop-file-install \ |
363 |
--remove-category="Application" \ |
364 |
--add-category="GTK" \ |
365 |
--add-category="Network" \ |
366 |
--add-category="InstantMessaging" \ |
367 |
--dir %{buildroot}%{_datadir}/applications %{buildroot}%{_datadir}/applications/* |
368 |
|
369 |
# remove files not bundled |
370 |
rm -f %{buildroot}%{_libdir}/*/*.la |
371 |
rm -f %buildroot%_prefix/*/perl5/*/perllocal.pod \ |
372 |
%buildroot%_libdir/*/perl/auto/*/{.packlist,*.bs} |
373 |
|
374 |
%find_lang %{name} |
375 |
|
376 |
%preun |
377 |
%preun_uninstall_gconf_schemas purple |
378 |
|
379 |
%files |
380 |
%doc AUTHORS COPYRIGHT ChangeLog |
381 |
%doc NEWS README README.MTN doc/the_penguin.txt |
382 |
%{_mandir}/man1/pidgin.* |
383 |
%{_sysconfdir}/gconf/schemas/purple.schemas |
384 |
%{_bindir}/%{name} |
385 |
%dir %{_libdir}/%{name} |
386 |
%{_datadir}/applications/%{name}.desktop |
387 |
%{_datadir}/pixmaps/* |
388 |
%{_datadir}/icons/* |
389 |
%{_datadir}/sounds/purple |
390 |
%{_libdir}/pidgin/cap.so |
391 |
%{_libdir}/pidgin/convcolors.so |
392 |
%{_libdir}/pidgin/extplacement.so |
393 |
%{_libdir}/pidgin/gestures.so |
394 |
%{_libdir}/pidgin/gtkbuddynote.so |
395 |
%{_libdir}/pidgin/history.so |
396 |
%{_libdir}/pidgin/iconaway.so |
397 |
%{_libdir}/pidgin/markerline.so |
398 |
%{_libdir}/pidgin/musicmessaging.so |
399 |
%{_libdir}/pidgin/notify.so |
400 |
%{_libdir}/pidgin/pidginrc.so |
401 |
%{_libdir}/pidgin/relnot.so |
402 |
%{_libdir}/pidgin/sendbutton.so |
403 |
%{_libdir}/pidgin/spellchk.so |
404 |
%{_libdir}/pidgin/themeedit.so |
405 |
%{_libdir}/pidgin/ticker.so |
406 |
%{_libdir}/pidgin/timestamp.so |
407 |
%{_libdir}/pidgin/timestamp_format.so |
408 |
%if %build_vv |
409 |
%{_libdir}/pidgin/vvconfig.so |
410 |
%endif |
411 |
%{_libdir}/pidgin/xmppconsole.so |
412 |
%{_libdir}/pidgin/xmppdisco.so |
413 |
|
414 |
%files -n %{develname} |
415 |
%doc ChangeLog.API HACKING PLUGIN_HOWTO |
416 |
%{_includedir}/* |
417 |
%{_datadir}/aclocal/purple.m4 |
418 |
%{_libdir}/pkgconfig/*.pc |
419 |
%{_libdir}/libpurple.so |
420 |
%{_libdir}/libgnt.so |
421 |
%{_libdir}/libpurple-client.so |
422 |
%{_libdir}/lib*.la |
423 |
|
424 |
%files -n %{libname} |
425 |
%{_libdir}/libpurple.so.%{major}* |
426 |
|
427 |
%files -n %{console_app} |
428 |
%doc %{_mandir}/man1/%{console_app}.* |
429 |
%{_bindir}/%{console_app} |
430 |
%{_libdir}/finch/ |
431 |
%{_libdir}/gnt/ |
432 |
|
433 |
%files -n %{lib_console_app} |
434 |
%{_libdir}/libgnt.so.%{major}* |
435 |
|
436 |
%files bonjour |
437 |
%{_libdir}/purple-2/libbonjour.so |
438 |
|
439 |
%files perl |
440 |
%doc doc/PERL-HOWTO.dox |
441 |
%dir %_libdir/%name/perl |
442 |
%_libdir/%name/perl/Pidgin.pm |
443 |
%dir %_libdir/%name/perl/auto |
444 |
%dir %_libdir/%name/perl/auto/Pidgin/ |
445 |
%_libdir/%name/perl/auto/Pidgin/Pidgin.so |
446 |
%dir %{_libdir}/purple-2/perl |
447 |
%{_libdir}/purple-2/perl/Purple.pm |
448 |
%dir %{_libdir}/purple-2/perl/auto |
449 |
%dir %{_libdir}/purple-2/perl/auto/Purple/ |
450 |
%{_libdir}/purple-2/perl/auto/Purple/Purple.so |
451 |
%{_libdir}/purple-2/perl/auto/Purple/autosplit.ix |
452 |
%{_libdir}/purple-2/perl.so |
453 |
%{_mandir}/man3*/* |
454 |
|
455 |
%files tcl |
456 |
%doc doc/TCL-HOWTO.dox |
457 |
%{_libdir}/purple-2/tcl.so |
458 |
|
459 |
%if %build_silc |
460 |
%files silc |
461 |
%doc libpurple/protocols/silc/README |
462 |
%{_libdir}/purple-2/libsilcpurple.so |
463 |
%endif |
464 |
|
465 |
%if %build_evolution |
466 |
%files gevolution |
467 |
%{_libdir}/%{name}/gevolution.so |
468 |
%endif |
469 |
|
470 |
%if %build_meanwhile |
471 |
%files meanwhile |
472 |
%{_libdir}/purple-2/libsametime.so |
473 |
%endif |
474 |
|
475 |
%files client |
476 |
%{_bindir}/purple-remote |
477 |
%{_bindir}/purple-send |
478 |
%{_bindir}/purple-send-async |
479 |
%{_bindir}/purple-client-example |
480 |
%{_bindir}/purple-url-handler |
481 |
%{_libdir}/libpurple-client.so.0* |
482 |
%{_libdir}/purple-2/dbus-example.so |
483 |
|
484 |
%if %build_mono |
485 |
%files mono |
486 |
%{_libdir}/purple-2/mono.so |
487 |
%{_libdir}/purple-2/*.dll |
488 |
%endif |
489 |
|
490 |
%files i18n -f %{name}.lang |
491 |
|
492 |
%files plugins |
493 |
%dir %{_libdir}/purple-2 |
494 |
%{_libdir}/purple-2/autoaccept.so |
495 |
%{_libdir}/purple-2/buddynote.so |
496 |
%{_libdir}/purple-2/idle.so |
497 |
%{_libdir}/purple-2/joinpart.so |
498 |
%{_libdir}/purple-2/libaim.so |
499 |
%{_libdir}/purple-2/libgg.so |
500 |
%{_libdir}/purple-2/libicq.so |
501 |
%{_libdir}/purple-2/libirc.so |
502 |
%{_libdir}/purple-2/libjabber.so |
503 |
%{_libdir}/purple-2/libmsn.so |
504 |
%{_libdir}/purple-2/libmxit.so |
505 |
%{_libdir}/purple-2/libmyspace.so |
506 |
%{_libdir}/purple-2/libnovell.so |
507 |
%{_libdir}/purple-2/liboscar.so |
508 |
%{_libdir}/purple-2/libsimple.so |
509 |
%{_libdir}/purple-2/libxmpp.so |
510 |
%{_libdir}/purple-2/libymsg.so* |
511 |
%{_libdir}/purple-2/libyahoo.so |
512 |
%{_libdir}/purple-2/libyahoojp.so |
513 |
%{_libdir}/purple-2/libzephyr.so |
514 |
%{_libdir}/purple-2/log_reader.so |
515 |
%{_libdir}/purple-2/newline.so |
516 |
%{_libdir}/purple-2/offlinemsg.so |
517 |
%{_libdir}/purple-2/one_time_password.so |
518 |
%{_libdir}/purple-2/psychic.so |
519 |
%{_libdir}/purple-2/ssl-gnutls.so |
520 |
%{_libdir}/purple-2/ssl-nss.so |
521 |
%{_libdir}/purple-2/ssl.so |
522 |
%{_libdir}/purple-2/statenotify.so |
523 |
%dir %_datadir/purple/ |
524 |
%dir %_datadir/purple/ca-certs |
525 |
%_datadir/purple/ca-certs/AOL* |
526 |
%_datadir/purple/ca-certs/Microsoft* |
527 |
%_datadir/purple/ca-certs/VeriSign* |
528 |
%_datadir/purple/ca-certs/DigiCert* |