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.7 |
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: farstream-devel >= 0.1.1 |
130 |
Suggests: gstreamer0.10-farstream |
131 |
%endif |
132 |
Obsoletes: hackgaim <= 0.60 gaim |
133 |
Provides: hackgaim <= 0.60 gaim |
134 |
Requires: %{name}-i18n = %{version}-%{release} |
135 |
Requires: %{name}-plugins = %{version}-%{release} |
136 |
Requires: rootcerts |
137 |
Requires: xdg-utils |
138 |
# for notifications in gnome-shell |
139 |
Suggests: purple-libnotify-plus |
140 |
|
141 |
%description |
142 |
Pidgin allows you to talk to anyone using a variety of messaging |
143 |
protocols including AIM, MSN, Yahoo!, Jabber, Bonjour, Gadu-Gadu, |
144 |
ICQ, IRC, Novell Groupwise, QQ, Lotus Sametime, SILC, Simple and |
145 |
Zephyr. These protocols are implemented using a modular, easy to |
146 |
use design. To use a protocol, just add an account using the |
147 |
account editor. |
148 |
|
149 |
Pidgin supports many common features of other clients, as well as many |
150 |
unique features, such as perl scripting, TCL scripting and C plugins. |
151 |
|
152 |
Pidgin is not affiliated with or endorsed by America Online, Inc., |
153 |
Microsoft Corporation, Yahoo! Inc., or ICQ Inc. |
154 |
|
155 |
%package plugins |
156 |
Summary: Pidgin plugins shared by the Purple and Finch |
157 |
Group: Networking/Instant messaging |
158 |
Conflicts: %{name} < 2.4.1-3mdv |
159 |
|
160 |
%description plugins |
161 |
This contains the parts of Pidgin that are shared between the Purple and |
162 |
Finch Instant Messengers. |
163 |
|
164 |
%package perl |
165 |
Summary: Purple extension, to use perl scripting |
166 |
Group: Networking/Instant messaging |
167 |
Obsoletes: gaim-perl |
168 |
Provides: gaim-perl |
169 |
Requires: %{name} = %{version}-%{release} |
170 |
|
171 |
%description perl |
172 |
Purple can use perl script as plugin, this plugin enable them. |
173 |
|
174 |
%package tcl |
175 |
Summary: Purple extension, to use tcl scripting |
176 |
Group: Networking/Instant messaging |
177 |
Obsoletes: gaim-tcl |
178 |
Provides: gaim-tcl |
179 |
Requires: %{name} = %{version}-%{release} |
180 |
|
181 |
%description tcl |
182 |
Purple can use tcl script as plugin, this plugin enable them. |
183 |
|
184 |
%if %build_evolution |
185 |
%package gevolution |
186 |
Summary: Pidgin extension, for Evolution integration |
187 |
Group: Networking/Instant messaging |
188 |
Obsoletes: gaim-gevolution |
189 |
Provides: gaim-gevolution |
190 |
Requires: %{name} = %{version}-%{release} |
191 |
|
192 |
%description gevolution |
193 |
This pidgin plugin allows you to have pidgin working together with evolution. |
194 |
%endif |
195 |
|
196 |
%package silc |
197 |
Summary: Purple extension, to use SILC (Secure Internet Live Conferencing) |
198 |
Group: Networking/Instant messaging |
199 |
Obsoletes: gaim-silc |
200 |
Provides: gaim-silc |
201 |
Requires: %{name} = %{version}-%{release} |
202 |
|
203 |
%description silc |
204 |
This purple plugin allows you to use SILC (Secure Internet Live Conferencing) |
205 |
plugin for live video conference. |
206 |
|
207 |
%package -n %{develname} |
208 |
Summary: Development files for pidgin |
209 |
Group: Development/GNOME and GTK+ |
210 |
Requires: %{libname} = %{version}-%{release} |
211 |
Requires: %{lib_console_app} = %{version}-%{release} |
212 |
Requires: pidgin-client = %version-%release |
213 |
Provides: libpidgin-devel = %{version}-%{release} |
214 |
Provides: pidgin-devel = %{version}-%{release} |
215 |
Provides: purple-devel = %{version}-%{release} |
216 |
Obsoletes: gaim-devel |
217 |
|
218 |
%description -n %{develname} |
219 |
The pidgin-devel package contains the header files, developer |
220 |
documentation, and libraries required for development of Pidgin scripts |
221 |
and plugins. |
222 |
|
223 |
%package -n %{libname} |
224 |
Summary: The libpurple library for IM clients like Pidgin and Finch |
225 |
Group: System/Libraries |
226 |
|
227 |
%description -n %{libname} |
228 |
libpurple contains the core IM support for IM clients such as Pidgin |
229 |
and Finch. |
230 |
|
231 |
libpurple supports a variety of messaging protocols including AIM, MSN, |
232 |
Yahoo!, Jabber, Bonjour, Gadu-Gadu, ICQ, IRC, Novell Groupwise, QQ, |
233 |
Lotus Sametime, SILC, Simple and Zephyr. |
234 |
|
235 |
%package -n %{lib_console_app} |
236 |
Summary: The libgnt library for the Finch IM client |
237 |
Group: System/Libraries |
238 |
Conflicts: %mklibname gaim 0 |
239 |
|
240 |
%description -n %{lib_console_app} |
241 |
libgnt contains the core IM support for the Finch IM client. |
242 |
|
243 |
libgnt supports a variety of messaging protocols including AIM, MSN, |
244 |
Yahoo!, Jabber, Bonjour, Gadu-Gadu, ICQ, IRC, Novell Groupwise, QQ, |
245 |
Lotus Sametime, SILC, Simple and Zephyr. |
246 |
|
247 |
%package -n %{console_app} |
248 |
Summary: A text-based user interface for Pidgin |
249 |
Group: Networking/Instant messaging |
250 |
Requires: %{name} = %{version}-%{release} |
251 |
Requires: %{lib_console_app} >= %{version}-%{release} |
252 |
Requires: %{name}-i18n = %{version}-%{release} |
253 |
Requires: %{name}-plugins = %{version}-%{release} |
254 |
|
255 |
%description -n %{console_app} |
256 |
A text-based user interface for using libpurple. This can be run from a |
257 |
standard text console or from a terminal within X Windows. It |
258 |
uses ncurses and our homegrown gnt library for drawing windows |
259 |
and text. |
260 |
|
261 |
%package bonjour |
262 |
Summary: Bonjour plugin for Purple |
263 |
Group: Networking/Instant messaging |
264 |
Obsoletes: gaim-bonjour |
265 |
Provides: gaim-bonjour |
266 |
Requires: %{name} = %{version}-%{release} |
267 |
|
268 |
%description bonjour |
269 |
Bonjour plugin for purple. |
270 |
|
271 |
%package meanwhile |
272 |
Summary: Lotus Sametime Community Client plugin for Purple |
273 |
Group: Networking/Instant messaging |
274 |
Obsoletes: gaim-meanwhile |
275 |
Provides: gaim-meanwhile |
276 |
Requires: %{name} = %{version}-%{release} |
277 |
|
278 |
%description meanwhile |
279 |
Lotus Sametime Community Client plugin for purple. |
280 |
|
281 |
%package client |
282 |
Summary: Plugin and sample client to control purple clients |
283 |
Group: Networking/Instant messaging |
284 |
Requires: dbus-python |
285 |
Obsoletes: libgaim-remote0, gaim-client |
286 |
Provides: libgaim-remote0, gaim-client |
287 |
Requires: %{name} = %{version}-%{release} |
288 |
|
289 |
%description client |
290 |
Applications and library to control purple clients remotely. |
291 |
|
292 |
%if %build_mono |
293 |
%package mono |
294 |
Summary: Purple extension, to use Mono plugins |
295 |
Group: Networking/Instant messaging |
296 |
Obsoletes: gaim-mono |
297 |
Provides: gaim-mono |
298 |
Requires: %{name} = %{version}-%{release} |
299 |
|
300 |
%description mono |
301 |
Purple can use plugins developed with Mono. |
302 |
%endif |
303 |
|
304 |
%package i18n |
305 |
Summary: Translation files for Pidgin/Finch |
306 |
Group: Networking/Instant messaging |
307 |
BuildArch: noarch |
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 |
|
322 |
%build |
323 |
autoreconf -fi -Im4macros |
324 |
#gw 2.7.0, the yahoo plugin does not build otherwise |
325 |
%define _disable_ld_no_undefined 1 |
326 |
%configure2_5x \ |
327 |
--enable-gnutls=yes \ |
328 |
%if %build_mono |
329 |
--enable-mono \ |
330 |
%else |
331 |
--disable-mono \ |
332 |
%endif |
333 |
%if %build_networkmanager |
334 |
--enable-nm \ |
335 |
%else |
336 |
--disable-nm \ |
337 |
%endif |
338 |
%if %build_evolution |
339 |
--enable-gevolution \ |
340 |
%endif |
341 |
%if ! %build_vv |
342 |
--disable-vv \ |
343 |
%endif |
344 |
--without-krb4 \ |
345 |
--enable-cap \ |
346 |
--with-system-ssl-certs=%_sysconfdir/pki/tls/rootcerts/ \ |
347 |
--disable-static --disable-schemas-install |
348 |
%make |
349 |
|
350 |
# one_time_password plugin, to be merged upstream soon |
351 |
cp %{SOURCE2} libpurple/plugins/ |
352 |
pushd libpurple/plugins/ |
353 |
make one_time_password.so |
354 |
popd |
355 |
|
356 |
|
357 |
%install |
358 |
rm -rf %{buildroot} |
359 |
|
360 |
%makeinstall_std mkinstalldirs='mkdir -p' |
361 |
|
362 |
install -m 0755 libpurple/plugins/one_time_password.so %{buildroot}%{_libdir}/purple-2/ |
363 |
|
364 |
|
365 |
desktop-file-install \ |
366 |
--remove-category="Application" \ |
367 |
--add-category="GTK" \ |
368 |
--add-category="Network" \ |
369 |
--add-category="InstantMessaging" \ |
370 |
--dir %{buildroot}%{_datadir}/applications %{buildroot}%{_datadir}/applications/* |
371 |
|
372 |
# remove files not bundled |
373 |
rm -f %{buildroot}%{_libdir}/*/*.la |
374 |
rm -f %buildroot%_prefix/*/perl5/*/perllocal.pod \ |
375 |
%buildroot%_libdir/*/perl/auto/*/{.packlist,*.bs} |
376 |
|
377 |
%find_lang %{name} |
378 |
|
379 |
%preun |
380 |
%preun_uninstall_gconf_schemas purple |
381 |
|
382 |
%files |
383 |
%doc AUTHORS COPYRIGHT ChangeLog |
384 |
%doc NEWS README doc/the_penguin.txt |
385 |
%{_mandir}/man1/pidgin.* |
386 |
%{_sysconfdir}/gconf/schemas/purple.schemas |
387 |
%{_bindir}/%{name} |
388 |
%dir %{_libdir}/%{name} |
389 |
%{_datadir}/applications/%{name}.desktop |
390 |
%{_datadir}/pixmaps/* |
391 |
%{_datadir}/icons/* |
392 |
%{_datadir}/sounds/purple |
393 |
%{_libdir}/pidgin/cap.so |
394 |
%{_libdir}/pidgin/convcolors.so |
395 |
%{_libdir}/pidgin/extplacement.so |
396 |
%{_libdir}/pidgin/gestures.so |
397 |
%{_libdir}/pidgin/gtkbuddynote.so |
398 |
%{_libdir}/pidgin/history.so |
399 |
%{_libdir}/pidgin/iconaway.so |
400 |
%{_libdir}/pidgin/markerline.so |
401 |
%{_libdir}/pidgin/musicmessaging.so |
402 |
%{_libdir}/pidgin/notify.so |
403 |
%{_libdir}/pidgin/pidginrc.so |
404 |
%{_libdir}/pidgin/relnot.so |
405 |
%{_libdir}/pidgin/sendbutton.so |
406 |
%{_libdir}/pidgin/spellchk.so |
407 |
%{_libdir}/pidgin/themeedit.so |
408 |
%{_libdir}/pidgin/ticker.so |
409 |
%{_libdir}/pidgin/timestamp.so |
410 |
%{_libdir}/pidgin/timestamp_format.so |
411 |
%if %build_vv |
412 |
%{_libdir}/pidgin/vvconfig.so |
413 |
%endif |
414 |
%{_libdir}/pidgin/xmppconsole.so |
415 |
%{_libdir}/pidgin/xmppdisco.so |
416 |
|
417 |
%files -n %{develname} |
418 |
%doc ChangeLog.API HACKING PLUGIN_HOWTO |
419 |
%{_includedir}/* |
420 |
%{_datadir}/aclocal/purple.m4 |
421 |
%{_libdir}/pkgconfig/*.pc |
422 |
%{_libdir}/libpurple.so |
423 |
%{_libdir}/libgnt.so |
424 |
%{_libdir}/libpurple-client.so |
425 |
%{_libdir}/lib*.la |
426 |
|
427 |
%files -n %{libname} |
428 |
%{_libdir}/libpurple.so.%{major}* |
429 |
|
430 |
%files -n %{console_app} |
431 |
%doc %{_mandir}/man1/%{console_app}.* |
432 |
%{_bindir}/%{console_app} |
433 |
%{_libdir}/finch/ |
434 |
%{_libdir}/gnt/ |
435 |
|
436 |
%files -n %{lib_console_app} |
437 |
%{_libdir}/libgnt.so.%{major}* |
438 |
|
439 |
%files bonjour |
440 |
%{_libdir}/purple-2/libbonjour.so |
441 |
|
442 |
%files perl |
443 |
%doc doc/PERL-HOWTO.dox |
444 |
%dir %_libdir/%name/perl |
445 |
%_libdir/%name/perl/Pidgin.pm |
446 |
%dir %_libdir/%name/perl/auto |
447 |
%dir %_libdir/%name/perl/auto/Pidgin/ |
448 |
%_libdir/%name/perl/auto/Pidgin/Pidgin.so |
449 |
%dir %{_libdir}/purple-2/perl |
450 |
%{_libdir}/purple-2/perl/Purple.pm |
451 |
%dir %{_libdir}/purple-2/perl/auto |
452 |
%dir %{_libdir}/purple-2/perl/auto/Purple/ |
453 |
%{_libdir}/purple-2/perl/auto/Purple/Purple.so |
454 |
%{_libdir}/purple-2/perl/auto/Purple/autosplit.ix |
455 |
%{_libdir}/purple-2/perl.so |
456 |
%{_mandir}/man3*/* |
457 |
|
458 |
%files tcl |
459 |
%doc doc/TCL-HOWTO.dox |
460 |
%{_libdir}/purple-2/tcl.so |
461 |
|
462 |
%if %build_silc |
463 |
%files silc |
464 |
%doc libpurple/protocols/silc/README |
465 |
%{_libdir}/purple-2/libsilcpurple.so |
466 |
%endif |
467 |
|
468 |
%if %build_evolution |
469 |
%files gevolution |
470 |
%{_libdir}/%{name}/gevolution.so |
471 |
%endif |
472 |
|
473 |
%if %build_meanwhile |
474 |
%files meanwhile |
475 |
%{_libdir}/purple-2/libsametime.so |
476 |
%endif |
477 |
|
478 |
%files client |
479 |
%{_bindir}/purple-remote |
480 |
%{_bindir}/purple-send |
481 |
%{_bindir}/purple-send-async |
482 |
%{_bindir}/purple-client-example |
483 |
%{_bindir}/purple-url-handler |
484 |
%{_libdir}/libpurple-client.so.0* |
485 |
%{_libdir}/purple-2/dbus-example.so |
486 |
|
487 |
%if %build_mono |
488 |
%files mono |
489 |
%{_libdir}/purple-2/mono.so |
490 |
%{_libdir}/purple-2/*.dll |
491 |
%endif |
492 |
|
493 |
%files i18n -f %{name}.lang |
494 |
|
495 |
%files plugins |
496 |
%dir %{_libdir}/purple-2 |
497 |
%{_libdir}/purple-2/autoaccept.so |
498 |
%{_libdir}/purple-2/buddynote.so |
499 |
%{_libdir}/purple-2/idle.so |
500 |
%{_libdir}/purple-2/joinpart.so |
501 |
%{_libdir}/purple-2/libaim.so |
502 |
%{_libdir}/purple-2/libgg.so |
503 |
%{_libdir}/purple-2/libicq.so |
504 |
%{_libdir}/purple-2/libirc.so |
505 |
%{_libdir}/purple-2/libjabber.so |
506 |
%{_libdir}/purple-2/libmsn.so |
507 |
%{_libdir}/purple-2/libmxit.so |
508 |
%{_libdir}/purple-2/libmyspace.so |
509 |
%{_libdir}/purple-2/libnovell.so |
510 |
%{_libdir}/purple-2/liboscar.so |
511 |
%{_libdir}/purple-2/libsimple.so |
512 |
%{_libdir}/purple-2/libxmpp.so |
513 |
%{_libdir}/purple-2/libymsg.so* |
514 |
%{_libdir}/purple-2/libyahoo.so |
515 |
%{_libdir}/purple-2/libyahoojp.so |
516 |
%{_libdir}/purple-2/libzephyr.so |
517 |
%{_libdir}/purple-2/log_reader.so |
518 |
%{_libdir}/purple-2/newline.so |
519 |
%{_libdir}/purple-2/offlinemsg.so |
520 |
%{_libdir}/purple-2/one_time_password.so |
521 |
%{_libdir}/purple-2/psychic.so |
522 |
%{_libdir}/purple-2/ssl-gnutls.so |
523 |
%{_libdir}/purple-2/ssl-nss.so |
524 |
%{_libdir}/purple-2/ssl.so |
525 |
%{_libdir}/purple-2/statenotify.so |
526 |
%dir %_datadir/purple/ |
527 |
%dir %_datadir/purple/ca-certs |
528 |
%_datadir/purple/ca-certs/AOL* |
529 |
%_datadir/purple/ca-certs/Microsoft* |
530 |
%_datadir/purple/ca-certs/VeriSign* |
531 |
%_datadir/purple/ca-certs/DigiCert* |