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