comparison pidgin.spec.in @ 15884:c6e563dfaa7a

More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
author Stu Tomlinson <stu@nosnilmot.com>
date Sat, 24 Mar 2007 17:51:05 +0000
parents
children 402236ee7981
comparison
equal deleted inserted replaced
15883:bfa907029bfc 15884:c6e563dfaa7a
1 # Older RPM doesn't define these by default
2 %{!?perl_vendorlib: %define perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib)}
3 %{!?perl_vendorarch: %define perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch)}
4 %{!?perl_archlib: %define perl_archlib %(eval "`%{__perl} -V:installarchlib`"; echo $installarchlib)}
5
6 # When not doing betas comment this out
7 # NOTE: %defines in spec files are evaluated in comments so the correct
8 # way to comment it out is to replace the % with #
9 #define beta 7
10
11 %if 0%{?beta}
12 %define pidginver %(echo "@VERSION@"|sed -e 's/dev//; s/beta.*//')
13 %else
14 %define pidginver @VERSION@
15 %endif
16
17 Summary: A GTK+ based multiprotocol instant messaging client
18 Name: @PACKAGE@
19 Version: %pidginver
20 Release: 0%{?beta:.beta%{beta}}
21 Epoch: 0
22 License: GPL
23 Group: Applications/Internet
24 URL: http://pidgin.im/
25 Packager: %{packager}
26 Source: %{name}-@VERSION@.tar.bz2
27 BuildRoot: %{_tmppath}/%{name}-%{version}-root
28
29 # Generic build requirements
30 BuildRequires: libtool, pkgconfig, intltool, gettext, libxml2-devel
31 %{?_with_avahi:BuildRequires: avahi-compat-howl-devel}
32 %{!?_without_gtkspell:BuildRequires: gtkspell-devel}
33 %{?_with_howl:BuildRequires: howl-devel}
34 %{?_with_meanwhile:BuildRequires: meanwhile-devel}
35 %{?_with_mono:BuildRequires: mono-devel}
36 %{?_with_sasl:BuildRequires: cyrus-sasl-devel >= 2}
37 %{?_with_silc:BuildRequires: /usr/include/silc/silcclient.h}
38 %{?_with_tcl:BuildRequires: tcl, tk, /usr/include/tcl.h}
39 %{!?_without_text:BuildRequires: ncurses-devel}
40
41 %if "%{_vendor}" == "suse"
42 # For SuSE:
43 BuildRequires: gnutls-devel
44 %{?_with_dbus:BuildRequires: dbus-1-devel >= 0.35}
45 %{!?_without_gstreamer:BuildRequires: gstreamer010-devel >= 0.10}
46 %else
47 %{?_with_dbus:BuildRequires: dbus-devel >= 0.35}
48 %{!?_without_gstreamer:BuildRequires: gstreamer-devel >= 0.10}
49 %endif
50
51 # Mandrake 10.1 and lower || Mandrake 10.2 (and higher?)
52 %if "%{_vendor}" == "MandrakeSoft" || "%{_vendor}" == "Mandrakesoft" || "%{_vendor}" == "Mandriva"
53 # For Mandrake/Mandriva:
54 BuildRequires: libgtk+2.0_0-devel, libnss3-devel, perl-devel
55 Obsoletes: libgaim-remote0
56 %else
57 # For SuSE, Red Hat, Fedora and others:
58 BuildRequires: gtk2-devel
59 %if "%{_vendor}" != "suse"
60 # For Red Hat, Fedora and others:
61 # let's assume RH & FC1 are the only brain-dead distros missing the
62 # perl-XML-Parser dependency on intltool and that other RH/FC releases
63 # don't care if we specify it here
64 BuildRequires: perl-XML-Parser
65 BuildRequires: mozilla-nss-devel
66 %endif
67 %endif
68
69 # For some reason perl isn't always automatically detected as a requirement :(
70 Requires: perl
71 # Gadu-Gadu support was split out temporarily (only as gaim)
72 Provides: gaim-gadugadu = %{epoch}:%{version}-%{release}
73
74 %package devel
75 Summary: Development headers, documentation, and libraries for Pidgin
76 Group: Applications/Internet
77 Requires: pkgconfig, pidgin = %{epoch}:%{version}
78
79 %if 0%{?_with_howl:1} || 0%{?_with_avahi:1}
80 %package bonjour
81 Summary: Bonjour plugin for Pidgin
82 Group: Applications/Internet
83 Requires: pidgin = %{epoch}:%{version}
84 %endif
85
86 %if 0%{?_with_meanwhile:1}
87 %package meanwhile
88 Summary: Lotus Sametime plugin for Pidgin using the Meanwhile library
89 Group: Applications/Internet
90 Requires: pidgin = %{epoch}:%{version}
91 %endif
92
93 %if 0%{?_with_mono:1}
94 %package mono
95 Summary: Mono .NET plugin support for Pidgin
96 Group: Applications/Internet
97 Requires: pidgin = %{epoch}:%{version}
98 %endif
99
100 %if 0%{?_with_silc:1}
101 %package silc
102 Summary: SILC (Secure Internet Live Conferencing) plugin for Pidgin
103 Group: Applications/Internet
104 Requires: pidgin = %{epoch}:%{version}
105 %endif
106
107 %if 0%{?_with_tcl:1}
108 %package tcl
109 Summary: Tcl scripting support for Pidgin
110 Group: Applications/Internet
111 Requires: pidgin = %{epoch}:%{version}
112 %endif
113
114 %if 0%{!?_without_text:1}
115 %package -n finch
116 Summary: A text-based user interface for Pidgin
117 Group: Applications/Internet
118 Requires: pidgin = %{epoch}:%{version}
119 %endif
120
121 %description
122 Pidgin allows you to talk to anyone using a variety of messaging
123 protocols including AIM, MSN, Yahoo!, Jabber, Bonjour, Gadu-Gadu,
124 ICQ, IRC, Novell Groupwise, QQ, Lotus Sametime, SILC, Simple and
125 Zephyr. These protocols are implemented using a modular, easy to
126 use design. To use a protocol, just add an account using the
127 account editor.
128
129 Pidgin supports many common features of other clients, as well as many
130 unique features, such as perl scripting, TCL scripting and C plugins.
131
132 Pidgin is not affiliated with or endorsed by America Online, Inc.,
133 Microsoft Corporation, Yahoo! Inc., or ICQ Inc.
134
135 %description devel
136 The pidgin-devel package contains the header files, developer
137 documentation, and libraries required for development of Pidgin scripts
138 and plugins.
139
140 %if 0%{?_with_howl:1} || 0%{?_with_avahi:1}
141 %description bonjour
142 Bonjour plugin for Pidgin.
143 %endif
144
145 %if 0%{?_with_meanwhile:1}
146 %description meanwhile
147 Lotus Sametime plugin for Pidgin using the Meanwhile library.
148 %endif
149
150 %if 0%{?_with_mono:1}
151 %description mono
152 Mono plugin loader for Pidgin. This package will allow you to write or
153 use Pidgin plugins written in the .NET programming language.
154 %endif
155
156 %if 0%{?_with_silc:1}
157 %description silc
158 SILC (Secure Internet Live Conferencing) plugin for Pidgin.
159 %endif
160
161 %if 0%{!?without_text:1}
162 %description -n finch
163 A text-based user interface for Pidgin. This can be run from a
164 standard text console or from a terminal within X Windows. It
165 uses ncurses and our homegrown gnt library for drawing windows
166 and text.
167 %endif
168
169 %if 0%{?_with_tcl:1}
170 %description tcl
171 Tcl plugin loader for Pidgin. This package will allow you to write or
172 use Pidgin plugins written in the Tcl programming language.
173 %endif
174
175 %prep
176 %setup -q -n %{name}-@VERSION@
177
178 %build
179 CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{_prefix} \
180 --bindir=%{_bindir} \
181 --datadir=%{_datadir} \
182 --includedir=%{_includedir} \
183 --libdir=%{_libdir} \
184 --mandir=%{_mandir} \
185 --sysconfdir=%{_sysconfdir} \
186 --disable-schemas-install \
187 %{!?_with_dbus:--disable-dbus} \
188 %{?_without_gstreamer:--disable-gstreamer} \
189 %{?_without_gtkspell:--disable-gtkspell} \
190 %{?_with_mono:--enable-mono} \
191 %{?_with_perlmakehack:--with-perl-lib=%{buildroot}%{_prefix}} \
192 %{!?_with_perlmakehack:--with-perl-lib=%{_prefix}} \
193 %{?_with_sasl:--enable-cyrus-sasl} \
194 %{?_with_silc:--with-silc-includes=%{_includedir}/silc} \
195 %{?_with_silc:--with-silc-libs=%{_libdir}/silc} \
196 %{!?_with_tcl:--disable-tcl} \
197 %{?_without_text:--disable-consoleui}
198
199 make %{?_smp_mflags}
200
201 %install
202 rm -rf %{buildroot}
203 %if 0%{?_with_perlmakehack:1}
204 make prefix=%{buildroot}%{_prefix} bindir=%{buildroot}%{_bindir} \
205 datadir=%{buildroot}%{_datadir} includedir=%{buildroot}%{_includedir} \
206 libdir=%{buildroot}%{_libdir} mandir=%{buildroot}%{_mandir} \
207 sysconfdir=%{buildroot}%{_sysconfdir} \
208 install
209 %else
210 make DESTDIR=$RPM_BUILD_ROOT install
211 %endif
212
213 # Delete files that we don't want to put in any of the RPMs
214 rm -f $RPM_BUILD_ROOT%{_libdir}/finch/*.la
215 rm -f $RPM_BUILD_ROOT%{_libdir}/pidgin/*.la
216 rm -f $RPM_BUILD_ROOT%{_libdir}/libpurple/*.la
217 rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
218 rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
219 find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';'
220 find $RPM_BUILD_ROOT -type f -name '*.bs' -empty -exec rm -f {} ';'
221 # do we want to ship the nullclient ?
222 rm -f $RPM_BUILD_ROOT%{_bindir}/nullclient
223
224 %if 0%{!?_with_howl:1} && 0%{!?_with_avahi:1}
225 rm -f $RPM_BUILD_ROOT%{_libdir}/libpurple/libbonjour.so
226 %endif
227
228 %if 0%{!?_with_meanwhile:1}
229 rm -f $RPM_BUILD_ROOT%{_libdir}/libpurple/libsametime.so
230 %endif
231
232 %if 0%{!?_with_mono:1}
233 rm -f $RPM_BUILD_ROOT%{_libdir}/libpurple/mono.so
234 rm -f $RPM_BUILD_ROOT%{_libdir}/libpurple/*.dll
235 %endif
236
237 %if 0%{!?_with_silc:1}
238 rm -f $RPM_BUILD_ROOT%{_libdir}/libpurple/libsilcpurple.so
239 %endif
240
241 %if 0%{!?_with_tcl:1}
242 rm -f $RPM_BUILD_ROOT%{_libdir}/libpurple/tcl.so
243 %endif
244
245 %if 0%{?_without_text:1}
246 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/finch.*
247 rm -rf $RPM_BUILD_ROOT%{_bindir}/finch
248 rm -f $RPM_BUILD_ROOT%{_libdir}/libgnt.so.*
249 %endif
250
251 %find_lang %{name}
252
253 find $RPM_BUILD_ROOT%{_libdir}/pidgin $RPM_BUILD_ROOT%{_libdir}/libpurple -xtype f -print | \
254 sed "s@^$RPM_BUILD_ROOT@@g" | \
255 grep -v /libbonjour.so | \
256 grep -v /libsilcpurple.so | \
257 grep -v /libsametime.so | \
258 grep -v /mono.so | \
259 grep -v /tcl.so | \
260 grep -v ".dll$" | \
261 grep -v ".tcl$" > %{name}-%{version}-coreplugins
262
263 # files -f file can only take one filename :(
264 cat %{name}.lang >> %{name}-%{version}-coreplugins
265
266 %clean
267 rm -rf %{buildroot}
268
269 %pre
270 if [ "$1" -gt 1 -a -n "`which gconftool-2 2>/dev/null`" ]; then
271 export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
272 gconftool-2 --makefile-uninstall-rule \
273 %{_sysconfdir}/gconf/schemas/gaim.schemas >/dev/null || :
274 killall -HUP gconfd-2 || :
275 fi
276
277 %post
278 if [ -n "`which gconftool-2 2>/dev/null`" ]; then
279 export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
280 gconftool-2 --makefile-install-rule \
281 %{_sysconfdir}/gconf/schemas/gaim.schemas > /dev/null || :
282 killall -HUP gconfd-2 || :
283 fi
284 /sbin/ldconfig
285
286 %preun
287 if [ "$1" -eq 0 -a -n "`which gconftool-2 2>/dev/null`" ]; then
288 export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
289 gconftool-2 --makefile-uninstall-rule \
290 %{_sysconfdir}/gconf/schemas/gaim.schemas > /dev/null || :
291 killall -HUP gconfd-2 || :
292 fi
293
294 %postun -p /sbin/ldconfig
295
296 %files -f %{name}-%{version}-coreplugins
297 %defattr(-, root, root)
298
299 %doc AUTHORS
300 %doc COPYING
301 %doc COPYRIGHT
302 %doc ChangeLog
303 %doc NEWS
304 %doc README
305 %doc README.SVN
306 %doc doc/FAQ
307 %doc doc/the_penguin.txt
308 %doc %{_mandir}/man1/pidgin.*
309 %doc %{_mandir}/man3*/*
310
311 %dir %{_libdir}/pidgin
312 %dir %{_libdir}/libpurple
313 %attr(755, root, root) %{perl_vendorarch}/Purple*
314 %attr(755, root, root) %{perl_vendorarch}/auto/Purple
315
316 %{_bindir}/pidgin
317 %{_datadir}/pixmaps/*
318 %dir %{_datadir}/sounds/pidgin
319 %{_datadir}/sounds/pidgin/*
320 %{_datadir}/applications/*
321 %{_libdir}/libpurple.so.*
322 %{_sysconfdir}/gconf/schemas/gaim.schemas
323
324 %if 0%{?_with_dbus:1}
325 %{_bindir}/purple-client-example
326 %{_bindir}/purple-remote
327 %{_bindir}/purple-send
328 %{_bindir}/purple-send-async
329 %{_bindir}/purple-url-handler
330 %{_libdir}/libpurple-client.so.*
331 %{_datadir}/dbus-1/services/gaim.service
332 %doc README.dbus
333 %doc libpurple/purple-notifications-example
334 %endif
335
336 %files devel
337 %defattr(-, root, root)
338
339 %doc ChangeLog.API
340 %doc HACKING
341 %doc PLUGIN_HOWTO
342 %doc PROGRAMMING_NOTES
343
344 %dir %{_includedir}/finch
345 %dir %{_includedir}/gnt
346 %dir %{_includedir}/libpurple
347 %dir %{_includedir}/pidgin
348 %{_includedir}/finch/*.h
349 %{_includedir}/gnt/*.h
350 %{_includedir}/libpurple/*.h
351 %{_includedir}/pidgin/*.h
352 %{_libdir}/libpurple.so
353 %{_libdir}/libgnt.so
354 %{_libdir}/pkgconfig/purple.pc
355 %{_libdir}/pkgconfig/pidgin.pc
356 %{_libdir}/pkgconfig/gnt.pc
357 %{_datadir}/aclocal/gaim.m4
358 %if 0%{?_with_dbus:1}
359 %{_libdir}/libpurple-client.so
360 %endif
361
362 %if 0%{?_with_howl:1} || 0%{?_with_avahi:1}
363 %files bonjour
364 %defattr(-, root, root)
365
366 %{_libdir}/libpurple/libbonjour.*
367 %endif
368
369 %if 0%{?_with_meanwhile:1}
370 %files meanwhile
371 %defattr(-, root, root)
372
373 %{_libdir}/libpurple/libsametime.*
374 %endif
375
376 %if 0%{?_with_mono:1}
377 %files mono
378 %defattr(-, root, root)
379
380 %{_libdir}/libpurple/mono.so
381 %{_libdir}/libpurple/*.dll
382 %endif
383
384 %if 0%{?_with_silc:1}
385 %files silc
386 %defattr(-, root, root)
387
388 %{_libdir}/libpurple/libsilcpurple.*
389 %endif
390
391 %if 0%{?_with_tcl:1}
392 %files tcl
393 %defattr(-, root, root)
394
395 %{_libdir}/libpurple/tcl.so
396 %endif
397
398 %if 0%{!?_without_text:1}
399 %files -n finch
400 %defattr(-, root, root)
401
402 %doc %{_mandir}/man1/finch.*
403 %{_bindir}/finch
404 %{_libdir}/finch/*.so
405 %{_libdir}/libgnt.so.*
406 %endif
407
408 %changelog
409 * Sat Mar 24 2007 Stu Tomlinson <stu@nosnilmot.com>
410 - Update to reflect renaming to pidgin/libpurple
411
412 * Sun Oct 1 2006 Stu Tomlinson <stu@nosnilmot.com>
413 - We can build with internal gadu gadu again, so bring it back into the
414 main package
415 - Deal with gconf schame uninstallation on package upgrade and removal
416
417 * Sun Aug 20 2006 Stu Tomlinson <stu@nosnilmot.com>
418 - Make the gstreamer-devel dependency overridable with '--without-gstreamer'
419 to allow building on older distributions without suitable gstreamer
420
421 * Tue Aug 15 2006 Mark Doliner <thekingant@users.sourceforge.net>
422 - Add a BuildRequire for gstreamer-devel
423 - Remove the BuildRequires for audiofile-devel and libao-devel
424
425 * Mon May 8 2006 Mark Doliner <thekingant@users.sourceforge.net>
426 - Add --with avahi option to compile the gaim-bonjour package against
427 Avahi's Howl compatibility layer
428
429 * Wed Mar 29 2006 Stu Tomlinson <stu@nosnilmot.com>
430 - Source RPM uses tar.bz2 now to save space
431 - Update BuildRequires for new intltool dependencies
432 - Add a --with perlmakehack option to allow builds to succeed on RH9
433 - Add a --with gadugadu to build (separate) gaim-gadugadu package
434
435 * Sat Dec 17 2005 Stu Tomlinson <stu@nosnilmot.com>
436 - Add support for beta versions so the subsequent releases are seen as newer
437 by RPM
438 - Split of sametime support to gaim-meanwhile
439 - Use make DESTDIR=... instead of overloading prefix etc. when installing
440 - Default build to include cyrus-sasl support in Jabber
441 - Add --with dbus to build with DBUS support
442
443 * Sun Dec 04 2005 Christopher O'Brien <siege@preoccupied.net>
444 - Added obsoletes gaim-meanwhile
445
446 * Sun Oct 30 2005 Stu Tomlinson <stu@nosnilmot.com>
447 - Add separate gaim-bonjour package if built with --with-howl
448 - Add separate gaim-mono package if built with --with-mono
449 - Exclude some unwanted perl files
450
451 * Sat Aug 20 2005 Stu Tomlinson <stu@nosnilmot.com>
452 - Include libgaimperl.so
453 - Include gaim.m4 in gaim-devel
454
455 * Thu Apr 28 2005 Stu Tomlinson <stu@nosnilmot.com>
456 - Use perl_vendorlib & perl_archlib for better 64bit compat (Jeff Mahoney)
457 - Clean up Requires, most should be auto-detected
458 - Restore gtkspell-devel build requirement (and add --without gtkspell option)
459 - Fix Tcl build requirements to work across more distros
460 - Fix SILC build requirements to work across more distros
461
462 * Mon Oct 11 2004 John Jolly <john.jolly@gmail.com>
463 - Added if "%{_vendor}" == "suse" to handle GnuTLS libraries for SuSE
464
465 * Sat Oct 2 2004 Stu Tomlinson <stu@nosnilmot.com>
466 - If --with tcl or silc are not specified, make sure the plugins don't
467 exist to prevent RPM complaining about unpackaged files
468
469 * Tue Jun 29 2004 Ethan Blanton <eblanton@cs.ohiou.edu>
470 - Change Tcl to use --with tcl, the same as SILC, and build a gaim-tcl
471 package if specified.
472
473 * Thu Jun 24 2004 Mark Doliner <thekingant@users.sourceforge.net>
474 - Add --with silc rebuild option for compiling a separate gaim-silc
475 RPM containing the silc protocol plugin (Stu Tomlinson).
476
477 * Wed Jun 23 2004 Ethan Blanton <eblanton@cs.ohiou.edu>
478 - Moved gaim headers and a pkgconfig configuration file into the
479 gaim-devel RPM (Stu Tomlinson).
480
481 * Thu Jan 15 2004 Ethan Blanton <eblanton@cs.ohiou.edu>
482 - Removed the manual strip command, as it seems to be unwarranted if
483 the necessary programs are properly installed. (For me, this was
484 elfutils.)
485
486 * Sun Jul 20 2003 Bjoern Voigt <bjoern@cs.tu-berlin.de>
487 - Added pkgconfig build dependency.
488 - if "%{_vendor}" != "MandrakeSoft" now also works with rpm 3.x.
489 - Added Gaim-specific directories to list of Gaim's files.
490
491 * Wed Jul 16 2003 Ethan Blanton <eblanton@cs.ohiou.edu>
492 - Complete spec file rewrite to take advantage of "new" RPM features
493 and make things prettier.
494 - Use system-supplied %%{_prefix}, %%{_datadir}, etc. rather than
495 attempt to define our own.