gaim.spec.in

branch
cpw.khc.msnp14
changeset 20472
6a6d2ef151e6
parent 20464
131ead1b6880
--- a/gaim.spec.in	Wed Oct 18 16:28:51 2006 +0000
+++ b/gaim.spec.in	Sun Apr 15 02:10:37 2007 +0000
@@ -6,15 +6,15 @@
 # When not doing betas comment this out
 # NOTE: %defines in spec files are evaluated in comments so the correct
 #       way to comment it out is to replace the % with #
-%define beta 3
+#define beta 7
 
 %if 0%{?beta}
-%define gaimver %(echo "@VERSION@"|sed -e 's/svn//; s/beta.*//')
+%define gaimver %(echo "@VERSION@"|sed -e 's/dev//; s/beta.*//')
 %else
 %define gaimver @VERSION@
 %endif
 
-Summary:    A Gtk+ based multiprotocol instant messaging client
+Summary:    A GTK+ based multiprotocol instant messaging client
 Name:       @PACKAGE@
 Version:    %gaimver
 Release:    0%{?beta:.beta%{beta}}
@@ -27,33 +27,37 @@
 BuildRoot:  %{_tmppath}/%{name}-%{version}-root
 
 # Generic build requirements
-BuildRequires: libtool, pkgconfig, libao-devel, audiofile-devel, intltool, gettext
-%{?_with_avahi:BuildRequires: avahi-devel}
+BuildRequires: libtool, pkgconfig, intltool, gettext, libxml2-devel
+%{?_with_avahi:BuildRequires: avahi-compat-howl-devel}
+%{!?_without_gtkspell:BuildRequires: gtkspell-devel}
 %{?_with_howl:BuildRequires: howl-devel}
+%{?_with_meanwhile:BuildRequires: meanwhile-devel}
+%{?_with_mono:BuildRequires: mono-devel}
+%{?_with_sasl:BuildRequires: cyrus-sasl-devel >= 2}
 %{?_with_silc:BuildRequires: /usr/include/silc/silcclient.h}
-%{?_with_meanwhile:BuildRequires: meanwhile-devel}
-%{?_with_gadugadu:BuildRequires: libgadu-devel}
 %{?_with_tcl:BuildRequires: tcl, tk, /usr/include/tcl.h}
-%{?_with_mono:BuildRequires: mono-devel}
+%{!?_without_text:BuildRequires: ncurses-devel}
+
+%if "%{_vendor}" == "suse"
+# For SuSE:
+BuildRequires: gnutls-devel
+%{?_with_dbus:BuildRequires: dbus-1-devel >= 0.35}
+%{!?_without_gstreamer:BuildRequires: gstreamer010-devel >= 0.10}
+%else
 %{?_with_dbus:BuildRequires: dbus-devel >= 0.35}
-%{!?_without_gtkspell:BuildRequires: gtkspell-devel}
-%{?_with_sasl:BuildRequires: cyrus-sasl-devel >= 2}
-# For some reason perl isn't always automatically detected as a requirement :(
-Requires: perl
+%{!?_without_gstreamer:BuildRequires: gstreamer-devel >= 0.10}
+%endif
 
 # Mandrake 10.1 and lower || Mandrake 10.2 (and higher?)
 %if "%{_vendor}" == "MandrakeSoft" || "%{_vendor}" == "Mandrakesoft" || "%{_vendor}" == "Mandriva"
-# Mandrake/Mandriva requirements
+# For Mandrake/Mandriva:
 BuildRequires: libgtk+2.0_0-devel, libnss3-devel, perl-devel
 Obsoletes:  libgaim-remote0
 %else
-
-# SuSE & Red Hat / Fedora requirements
+# For SuSE, Red Hat, Fedora and others:
 BuildRequires: gtk2-devel
-
-%if "%{_vendor}" == "suse"
-BuildRequires: gnutls-devel
-%else
+%if "%{_vendor}" != "suse"
+# For Red Hat, Fedora and others:
 # let's assume RH & FC1 are the only brain-dead distros missing the
 # perl-XML-Parser dependency on intltool and that other RH/FC releases
 # don't care if we specify it here
@@ -62,6 +66,16 @@
 %endif
 %endif
 
+# For some reason perl isn't always automatically detected as a requirement :(
+Requires: perl
+# Gadu-Gadu support was split out temporarily
+Provides: gaim-gadugadu = %{epoch}:%{version}-%{release}
+
+%package devel
+Summary:    Development headers, documentation, and libraries for Gaim.
+Group:      Applications/Internet
+Requires:   pkgconfig, gaim = %{epoch}:%{version}
+
 %if 0%{?_with_howl:1} || 0%{?_with_avahi:1}
 %package bonjour
 Summary:    Bonjour plugin for Gaim
@@ -69,13 +83,6 @@
 Requires:   gaim = %{epoch}:%{version}
 %endif
 
-%if 0%{?_with_silc:1}
-%package silc
-Summary:    SILC (Secure Internet Live Conferencing) plugin for Gaim
-Group:      Applications/Internet
-Requires:   gaim = %{epoch}:%{version}
-%endif
-
 %if 0%{?_with_meanwhile:1}
 %package meanwhile
 Summary:    Lotus Sametime plugin for Gaim using the Meanwhile library
@@ -83,9 +90,16 @@
 Requires:   gaim = %{epoch}:%{version}
 %endif
 
-%if 0%{?_with_gadugadu:1}
-%package gadugadu
-Summary:    Gadu-Gadu plugin for Gaim using the libgadu library
+%if 0%{?_with_mono:1}
+%package mono
+Summary:    Mono .NET plugin support for Gaim
+Group:      Applications/Internet
+Requires:   gaim = %{epoch}:%{version}
+%endif
+
+%if 0%{?_with_silc:1}
+%package silc
+Summary:    SILC (Secure Internet Live Conferencing) plugin for Gaim
 Group:      Applications/Internet
 Requires:   gaim = %{epoch}:%{version}
 %endif
@@ -97,55 +111,40 @@
 Requires:   gaim = %{epoch}:%{version}
 %endif
 
-%if 0%{?_with_mono:1}
-%package mono
-Summary:    Mono .NET plugin support for Gaim
+%if 0%{!?_without_text:1}
+%package text
+Summary:    A text-based user interface for Gaim
 Group:      Applications/Internet
 Requires:   gaim = %{epoch}:%{version}
 %endif
 
-%package devel
-Summary:    Development headers, documentation, and libraries for Gaim.
-Group:      Applications/Internet
-Requires:   pkgconfig, gaim = %{epoch}:%{version}
-
 %description
 Gaim allows you to talk to anyone using a variety of messaging
-protocols, including AIM, ICQ, IRC, Yahoo!, Novell Groupwise, MSN
-Messenger, Jabber, Gadu-Gadu, Napster, Lotus Sametime and Zephyr.
-These protocols are implemented using a modular, easy to use design.
-To use a protocol, just add an account using the account editor.
+protocols including AIM, MSN, Yahoo!, Jabber, Bonjour, Gadu-Gadu,
+ICQ, IRC, Novell Groupwise, QQ, Lotus Sametime, SILC, Simple and
+Zephyr.  These protocols are implemented using a modular, easy to
+use design.  To use a protocol, just add an account using the
+account editor.
 
 Gaim supports many common features of other clients, as well as many
 unique features, such as perl scripting, TCL scripting and C plugins.
 
-Gaim is NOT affiliated with or endorsed by America Online, Inc.,
+Gaim is not affiliated with or endorsed by America Online, Inc.,
 Microsoft Corporation, Yahoo! Inc., or ICQ Inc.
 
+%description devel
+The gaim-devel package contains the header files, developer
+documentation, and libraries required for development of Gaim scripts
+and plugins.
+
 %if 0%{?_with_howl:1} || 0%{?_with_avahi:1}
 %description bonjour
-Bonjour plugin for Gaim
-%endif
-
-%if 0%{?_with_silc:1}
-%description silc
-SILC (Secure Internet Live Conferencing) plugin for Gaim
+Bonjour plugin for Gaim.
 %endif
 
 %if 0%{?_with_meanwhile:1}
 %description meanwhile
-Lotus Sametime plugin for Gaim using the Meanwhile library
-%endif
-
-%if 0%{?_with_gadugadu:1}
-%description gadugadu
-Gadu-Gadu plugin for Gaim using the libgadu library
-%endif
-
-%if 0%{?_with_tcl:1}
-%description tcl
-Tcl plugin loader for Gaim.  This package will allow you to write or
-use Gaim plugins written in the Tcl programming language.
+Lotus Sametime plugin for Gaim using the Meanwhile library.
 %endif
 
 %if 0%{?_with_mono:1}
@@ -154,10 +153,24 @@
 use Gaim plugins written in the .NET programming language.
 %endif
 
-%description devel
-The gaim-devel package contains the header files, developer
-documentation, and libraries required for development of gaim scripts
-and plugins.
+%if 0%{?_with_silc:1}
+%description silc
+SILC (Secure Internet Live Conferencing) plugin for Gaim.
+%endif
+
+%if 0%{!?without_text:1}
+%description text
+A text-based user interface for Gaim.  This can be run from a
+standard text console or from a terminal within X Windows.  It
+uses ncurses and our homegrown gnt library for drawing windows
+and text.
+%endif
+
+%if 0%{?_with_tcl:1}
+%description tcl
+Tcl plugin loader for Gaim.  This package will allow you to write or
+use Gaim plugins written in the Tcl programming language.
+%endif
 
 %prep
 %setup -q -n %{name}-@VERSION@
@@ -170,22 +183,24 @@
                                     --libdir=%{_libdir} \
                                     --mandir=%{_mandir} \
                                     --sysconfdir=%{_sysconfdir} \
-                                    --with-ao=%{_libdir} \
+                                    --disable-schemas-install \
+                                    %{!?_with_dbus:--disable-dbus} \
+                                    %{?_without_gstreamer:--disable-gstreamer} \
+                                    %{?_without_gtkspell:--disable-gtkspell} \
+                                    %{?_with_mono:--enable-mono} \
+                                    %{?_with_perlmakehack:--with-perl-lib=%{buildroot}%{_prefix}} \
                                     %{!?_with_perlmakehack:--with-perl-lib=%{_prefix}} \
-                                    %{?_with_perlmakehack:--with-perl-lib=%{buildroot}%{_prefix}} \
+                                    %{?_with_sasl:--enable-cyrus-sasl} \
                                     %{?_with_silc:--with-silc-includes=%{_includedir}/silc} \
                                     %{?_with_silc:--with-silc-libs=%{_libdir}/silc} \
-                                    %{?_with_mono:--enable-mono} \
                                     %{!?_with_tcl:--disable-tcl} \
-                                    %{!?_with_dbus:--disable-dbus} \
-                                    %{?_without_gtkspell:--disable-gtkspell} \
-                                    %{?_with_sasl:--enable-cyrus-sasl}
+                                    %{?_without_text:--disable-consoleui}
 
 make %{?_smp_mflags}
 
 %install
 rm -rf %{buildroot}
-%if 0%{?_with_perlmakehack}
+%if 0%{?_with_perlmakehack:1}
 make prefix=%{buildroot}%{_prefix} bindir=%{buildroot}%{_bindir} \
      datadir=%{buildroot}%{_datadir} includedir=%{buildroot}%{_includedir} \
      libdir=%{buildroot}%{_libdir} mandir=%{buildroot}%{_mandir} \
@@ -195,6 +210,7 @@
 make DESTDIR=$RPM_BUILD_ROOT install
 %endif
 
+# Delete files that we don't want to put in any of the RPMs
 rm -f $RPM_BUILD_ROOT%{_libdir}/gaim/*.la
 rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
 rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
@@ -205,64 +221,140 @@
 rm -f $RPM_BUILD_ROOT%{_libdir}/gaim/libbonjour.so
 %endif
 
-%if 0%{!?_with_silc:1}
-rm -f $RPM_BUILD_ROOT%{_libdir}/gaim/libsilcgaim.so
-%endif
-
 %if 0%{!?_with_meanwhile:1}
 rm -f $RPM_BUILD_ROOT%{_libdir}/gaim/libsametime.so
 %endif
 
-%if 0%{!?_with_gadugadu:1}
-rm -f $RPM_BUILD_ROOT%{_libdir}/gaim/libgg.so
-%endif
-
-%if 0%{!?_with_tcl:1}
-rm -f $RPM_BUILD_ROOT%{_libdir}/gaim/tcl.so
-%endif
-
 %if 0%{!?_with_mono:1}
 rm -f $RPM_BUILD_ROOT%{_libdir}/gaim/mono.so
 rm -f $RPM_BUILD_ROOT%{_libdir}/gaim/*.dll
 %endif
 
+%if 0%{!?_with_silc:1}
+rm -f $RPM_BUILD_ROOT%{_libdir}/gaim/libsilcgaim.so
+%endif
 
-find $RPM_BUILD_ROOT%{_libdir}/gaim -type f -print | \
+%if 0%{!?_with_tcl:1}
+rm -f $RPM_BUILD_ROOT%{_libdir}/gaim/tcl.so
+%endif
+
+%if 0%{?_without_text:1}
+rm -f $RPM_BUILD_ROOT%{_mandir}/man1/gaim-text.*
+rm -f $RPM_BUILD_ROOT%{_bindir}/gaim-text
+rm -f $RPM_BUILD_ROOT%{_libdir}/gaim/gntgf.so
+rm -f $RPM_BUILD_ROOT%{_libdir}/gaim/gnthistory.so
+rm -f $RPM_BUILD_ROOT%{_libdir}/gaim/s.so
+rm -f $RPM_BUILD_ROOT%{_libdir}/libgnt.so.*
+%endif
+
+%find_lang %{name}
+
+find $RPM_BUILD_ROOT%{_libdir}/gaim -xtype f -print | \
         sed "s@^$RPM_BUILD_ROOT@@g" | \
-        grep -v libbonjour.so | \
-        grep -v libsilcgaim.so | \
-        grep -v libsametime.so | \
-        grep -v libgg.so | \
-        grep -v tcl.so | \
-        grep -v mono.so | \
+        grep -v /gntgf.so | \
+        grep -v /gnthistory.so | \
+        grep -v /libbonjour.so | \
+        grep -v /libsilcgaim.so | \
+        grep -v /libsametime.so | \
+        grep -v /mono.so | \
+        grep -v /s.so | \
+        grep -v /tcl.so | \
         grep -v ".dll$" | \
         grep -v ".tcl$" > %{name}-%{version}-coreplugins
 
+# files -f file can only take one filename :(
+cat %{name}.lang >> %{name}-%{version}-coreplugins
+
 %clean
 rm -rf %{buildroot}
 
+%pre
+if [ "$1" -gt 1 -a -n "`which gconftool-2 2>/dev/null`" ]; then
+    export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
+    gconftool-2 --makefile-uninstall-rule \
+        %{_sysconfdir}/gconf/schemas/gaim.schemas >/dev/null || :
+    killall -HUP gconfd-2 || :
+fi
+
+%post
+if [ -n "`which gconftool-2 2>/dev/null`" ]; then
+    export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
+    gconftool-2 --makefile-install-rule \
+        %{_sysconfdir}/gconf/schemas/gaim.schemas > /dev/null || :
+    killall -HUP gconfd-2 || :
+fi
+/sbin/ldconfig
+
+%preun
+if [ "$1" -eq 0 -a -n "`which gconftool-2 2>/dev/null`" ]; then
+    export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
+    gconftool-2 --makefile-uninstall-rule \
+      %{_sysconfdir}/gconf/schemas/gaim.schemas > /dev/null || :
+    killall -HUP gconfd-2 || :
+fi
+
+%postun -p /sbin/ldconfig
+
 %files -f %{name}-%{version}-coreplugins
 %defattr(-, root, root)
 
-%doc doc/the_penguin.txt doc/CREDITS NEWS COPYING AUTHORS COPYRIGHT
-%doc README ChangeLog
-%doc %{_mandir}/man1/*
+%doc AUTHORS
+%doc COPYING
+%doc COPYRIGHT
+%doc ChangeLog
+%doc NEWS
+%doc README
+%doc README.SVN
+%doc doc/FAQ
+%doc doc/the_penguin.txt
+%doc %{_mandir}/man1/gaim.*
 %doc %{_mandir}/man3*/*
 
 %dir %{_libdir}/gaim
 %attr(755, root, root) %{perl_vendorarch}/Gaim*
 %attr(755, root, root) %{perl_vendorarch}/auto/Gaim
 
-%{_bindir}/*
-%{_datadir}/locale/*/*/*
+%{_bindir}/gaim
 %{_datadir}/pixmaps/*
 %dir %{_datadir}/sounds/gaim
 %{_datadir}/sounds/gaim/*
 %{_datadir}/applications/*
+%{_libdir}/libgaim.so.*
+%{_sysconfdir}/gconf/schemas/gaim.schemas
 
 %if 0%{?_with_dbus:1}
+%{_bindir}/gaim-client-example
+%{_bindir}/gaim-remote
+%{_bindir}/gaim-send
+%{_bindir}/gaim-send-async
+%{_bindir}/gaim-url-handler
 %{_libdir}/libgaim-client.so.*
 %{_datadir}/dbus-1/services/gaim.service
+%doc README.dbus
+%doc libgaim/gaim-notifications-example
+%endif
+
+%files devel
+%defattr(-, root, root)
+
+%doc ChangeLog.API
+%doc HACKING
+%doc PLUGIN_HOWTO
+%doc PROGRAMMING_NOTES
+
+%dir %{_includedir}/gaim
+%{_includedir}/gaim/*.h
+%dir %{_includedir}/gaim/gnt
+%{_includedir}/gaim/gnt/*.h
+%dir %{_includedir}/gnt
+%{_includedir}/gnt/*.h
+%{_libdir}/libgaim.so
+%{_libdir}/libgnt.so
+%{_libdir}/pkgconfig/gaim.pc
+%{_libdir}/pkgconfig/gnt.pc
+%{_datadir}/aclocal/gaim.m4
+%if 0%{?_with_dbus:1}
+%{_libdir}/libgaim-client.so
 %endif
 
 %if 0%{?_with_howl:1} || 0%{?_with_avahi:1}
@@ -272,13 +364,6 @@
 %{_libdir}/gaim/libbonjour.*
 %endif
 
-%if 0%{?_with_silc:1}
-%files silc
-%defattr(-, root, root)
-
-%{_libdir}/gaim/libsilcgaim.*
-%endif
-
 %if 0%{?_with_meanwhile:1}
 %files meanwhile
 %defattr(-, root, root)
@@ -286,20 +371,6 @@
 %{_libdir}/gaim/libsametime.*
 %endif
 
-%if 0%{?_with_gadugadu:1}
-%files gadugadu
-%defattr(-, root, root)
-
-%{_libdir}/gaim/libgg.*
-%endif
-
-%if 0%{?_with_tcl:1}
-%files tcl
-%defattr(-, root, root)
-
-%{_libdir}/gaim/tcl.so
-%endif
-
 %if 0%{?_with_mono:1}
 %files mono
 %defattr(-, root, root)
@@ -308,32 +379,57 @@
 %{_libdir}/gaim/*.dll
 %endif
 
-%files devel
+%if 0%{?_with_silc:1}
+%files silc
+%defattr(-, root, root)
+
+%{_libdir}/gaim/libsilcgaim.*
+%endif
+
+%if 0%{?_with_tcl:1}
+%files tcl
 %defattr(-, root, root)
 
-%doc plugins/HOWTO
-%doc HACKING PROGRAMMING_NOTES
+%{_libdir}/gaim/tcl.so
+%endif
+
+%if 0%{!?_without_text:1}
+%files text
+%defattr(-, root, root)
 
-%dir %{_includedir}/gaim
-%{_includedir}/gaim/*.h
-%{_libdir}/pkgconfig/gaim.pc
-%{_datadir}/aclocal/gaim.m4
-%if 0%{?_with_dbus:1}
-%{_libdir}/libgaim-client.so
+%doc %{_mandir}/man1/gaim-text.*
+%{_bindir}/gaim-text
+%{_libdir}/gaim/gntgf.so
+%{_libdir}/gaim/gnthistory.so
+%{_libdir}/gaim/s.so
+%{_libdir}/libgnt.so.*
 %endif
 
 %changelog
-* Mon May 8 2006 <thekingant@users.sourceforge.net>
+* Sun Oct  1 2006 Stu Tomlinson <stu@nosnilmot.com>
+- We can build with internal gadu gadu again, so bring it back into the
+  main package
+- Deal with gconf schame uninstallation on package upgrade and removal
+
+* Sun Aug 20 2006 Stu Tomlinson <stu@nosnilmot.com>
+- Make the gstreamer-devel dependency overridable with '--without-gstreamer'
+  to allow building on older distributions without suitable gstreamer
+
+* Tue Aug 15 2006 Mark Doliner <thekingant@users.sourceforge.net>
+- Add a BuildRequire for gstreamer-devel
+- Remove the BuildRequires for audiofile-devel and libao-devel
+
+* Mon May 8 2006 Mark Doliner <thekingant@users.sourceforge.net>
 - Add --with avahi option to compile the gaim-bonjour package against
-  Avahi's Howl compatibility layer.
+  Avahi's Howl compatibility layer
 
-* Wed Mar 29 2006 <stu@nosnilmot.com>
+* Wed Mar 29 2006 Stu Tomlinson <stu@nosnilmot.com>
 - Source RPM uses tar.bz2 now to save space
 - Update BuildRequires for new intltool dependencies
 - Add a --with perlmakehack option to allow builds to succeed on RH9
 - Add a --with gadugadu to build (separate) gaim-gadugadu package
 
-* Sat Dec 17 2005 <stu@nosnilmot.com>
+* Sat Dec 17 2005 Stu Tomlinson <stu@nosnilmot.com>
 - Add support for beta versions so the subsequent releases are seen as newer
   by RPM
 - Split of sametime support to gaim-meanwhile
@@ -341,19 +437,19 @@
 - Default build to include cyrus-sasl support in Jabber
 - Add --with dbus to build with DBUS support
 
-* Sun Dec 04 2005 <siege@preoccupied.net>
+* Sun Dec 04 2005 Christopher O'Brien <siege@preoccupied.net>
 - Added obsoletes gaim-meanwhile
 
-* Sun Oct 30 2005 <stu@nosnilmot.com>
+* Sun Oct 30 2005 Stu Tomlinson <stu@nosnilmot.com>
 - Add separate gaim-bonjour package if built with --with-howl
 - Add separate gaim-mono package if built with --with-mono
 - Exclude some unwanted perl files
 
-* Sat Aug 20 2005 <stu@nosnilmot.com>
+* Sat Aug 20 2005 Stu Tomlinson <stu@nosnilmot.com>
 - Include libgaimperl.so
 - Include gaim.m4 in gaim-devel
 
-* Thu Apr 28 2005 <stu@nosnilmot.com>
+* Thu Apr 28 2005 Stu Tomlinson <stu@nosnilmot.com>
 - Use perl_vendorlib & perl_archlib for better 64bit compat (Jeff Mahoney)
 - Clean up Requires, most should be auto-detected
 - Restore gtkspell-devel build requirement (and add --without gtkspell option)

mercurial