Blob Blame History Raw
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}

## Minimum required versions of GLib, GTK+, libtelepathy, and Mission-Control,
## respectively.
%global	gtk2_min_version	2.12
%global	glib2_min_version	2.14
%global	tp_mc_min_version	4.33
%global	libtp_min_version	0.0.57		

Name:		empathy
Version:	0.14
Release:	4%{?dist}
Summary:	GNOME Instant Messaging Client

Group:		Applications/Communications
License:	GPLv2+
URL:		http://live.gnome.org/Empathy
Source0:	http://ftp.gnome.org/pub/GNOME/sources/%{name}/%{version}/%{name}-%{version}.tar.bz2
Source1:	%{name}-README.ConnectionManagers
Patch0: 	%{name}-svn380-fix-contact-DnD.patch
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:	aspell-devel
BuildRequires:	evolution-data-server-devel
BuildRequires:	GConf2-devel 
BuildRequires:	gettext
BuildRequires:	glib2-devel >= %{glib2_min_version}
BuildRequires:	gnome-panel-devel
BuildRequires:	gnome-vfs2-devel
BuildRequires:	gtk2-devel >= %{gtk2_min_version}
BuildRequires:	libglade2-devel
BuildRequires:	libtelepathy-devel >= %{libtp_min_version}
BuildRequires:	libtool
BuildRequires:	libxml2-devel
BuildRequires:	perl(XML::Parser)
BuildRequires:	pygtk2-devel	
BuildRequires:	telepathy-mission-control-devel >= %{tp_mc_min_version}

Requires:	%{name}-libs = %{version}-%{release}
Requires:	telepathy-filesystem
## Empathy is useless without a proper Telepathy connection manager installed.
## We hardcode dependencies on Salut and Gabble to support XMPP on a default
## install, in both the link-local and Jabber/GoogleTalk incarnations. 
## (RHBZ: 308871 and 334221)
## TODO: Perhaps we can configure these to be installed "on demand" with
##       PackageKit and friends?
Requires:	telepathy-gabble
Requires:	telepathy-salut
	
Requires(pre):	GConf2

Requires(post):	GConf2
Requires(post):	scrollkeeper

Requires(preun):	GConf2

Requires(postun):	scrollkeeper

%description
Empathy provides a powerful multiple protocol instant messaging
client using the Telepathy framework.


%package	devel
Summary:	Development files for %{name}
Group:		Development/Libraries
Requires:	%{name}-libs = %{version}-%{release}
Requires:	pkgconfig
## Needs these for the various #include directives in its headers, as well
## as pkgconfig dependencies...
Requires:	glib2-devel >= %{glib2_min_version}
Requires:	telepathy-mission-control-devel >= %{tp_mc_min_version}
Requires:	libxml2-devel

%description	devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.


%package	libs
Summary:	Shared libraries for %{name}
Group:		Development/Libraries
Requires:	glib2 >= %{glib2_min_version}
Requires:	gtk2 >= %{gtk2_min_version}
Requires:	libtelepathy >= %{libtp_min_version}
Requires:	telepathy-mission-control >= %{tp_mc_min_version}

%description	libs
The %{name}-libs package contains shared libraries used by Empathy.


%package	python
Summary:	Python bindings for libempathy and libempathy-gtk
Group:		Development/Languages
Requires:	%{name}-libs = %{version}-%{release}	

%description	python
This package contains the empathy and empathygtk Python modules, which provide
bindings to the libempathy and libempathy-gtk libraries, respectively.

%prep
%setup -q
%patch0 -p0 -b .fix-contact-DnD


%build
%configure --disable-voip
make %{?_smp_mflags} LIBTOOL=%{_bindir}/libtool
install -m 0644 %{SOURCE1} ./README.ConnectionManagers


%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
%find_lang %{name}
## Remove --no-connect from the .desktop file; without this empathy won't
## launch from the menu.
sed -i 's/--no-connect//' %{buildroot}%{_datadir}/gnome/autostart/%{name}.desktop
desktop-file-install --vendor fedora --delete-original	\
	--dir %{buildroot}%{_datadir}/applications	\
	%{buildroot}%{_datadir}/gnome/autostart/%{name}.desktop


%clean
rm -rf %{buildroot}


%pre
if [ "$1" -gt 1 ]; then
	export GCONF_CONFIG_SOURCE=$(gconftool-2 --get-default-source)
	gconftool-2 --makefile-uninstall-rule	\
		%{_sysconfdir}/gconf/schemas/GNOME_Megaphone_Applet.schemas	\
		%{_sysconfdir}/gconf/schemas/%{name}.schemas > /dev/null ||:
fi


%post
export GCONF_CONFIG_SOURCE=$(gconftool-2 --get-default-source)
gconftool-2 --makefile-install-rule	\
	%{_sysconfdir}/gconf/schemas/GNOME_Megaphone_Applet.schemas	\
	%{_sysconfdir}/gconf/schemas/%{name}.schemas > /dev/null ||:
scrollkeeper-update -q -o %{_datadir}/omf/%{name} ||:
touch --no-create %{_datadir}/icons/hicolor ||:
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor ||:

%post libs -p /sbin/ldconfig


%preun
if [ "$1" -eq 0 ]; then
	export GCONF_CONFIG_SOURCE=$(gconftool-2 --get-default-source)
	gconftool-2 --makefile-uninstall-rule	\
		%{_sysconfdir}/gconf/schemas/GNOME_Megaphone_Applet.schemas	\
		%{_sysconfdir}/gconf/schemas/%{name}.schemas > /dev/null ||:
fi


%postun
scrollkeeper-update -q || :
touch --no-create %{_datadir}/icons/hicolor || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
	%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
fi

%postun libs -p /sbin/ldconfig


%files -f %{name}.lang
%defattr(-,root,root,-)
%doc AUTHORS COPYING README README.ConnectionManagers NEWS
%exclude %{_libdir}/*.la
%exclude %{_libdir}/*.a
%{_sysconfdir}/gconf/schemas/%{name}.schemas
%{_sysconfdir}/gconf/schemas/GNOME_Megaphone_Applet.schemas
%{_bindir}/empathy
%{_bindir}/empathy-accounts
%{_datadir}/dbus-1/services/org.gnome.Empathy.Chat.service
%{_datadir}/empathy/
%{_datadir}/applications/fedora-%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}*
%{_datadir}/mission-control/profiles/*
%{_datadir}/telepathy/managers/empathy-chat.chandler
%{_libexecdir}/megaphone-applet
%{_libdir}/bonobo/servers/GNOME_Megaphone_Applet.server
## VoIP support - disabled for now...
%exclude %{_bindir}/empathy-call-chandler
%exclude %{_datadir}/dbus-1/services/org.gnome.Empathy.Call.service

%files	libs
%defattr(-,root,root,-)
%doc COPYING
%{_libdir}/libempathy*.so.*

%files	devel
%defattr(-,root,root,-)
%doc COPYING
%{_includedir}/libempathy*/
%{_libdir}/libempathy*.so
%{_libdir}/pkgconfig/libempathy*.pc
%{_datadir}/gtk-doc/html/libempathy*

%files	python
%defattr(-,root,root,-)
%doc COPYING
%exclude %{python_sitearch}/*.a
%exclude %{python_sitearch}/*.la
%{python_sitearch}/empathy*.so


%changelog
* Fri Oct 19 2007 Peter Gordon <peter@thecodergeek.com> - 0.14-4
- Backport upstream patch to fixes crashes when using drag-and-drop of a
  contact from the buddy list to the current conversation window to initiate a
  conversation:
    + svn380-fix-contact-DnD.patch 
- Resolves: GNOME bug 483168 (crash in Empathy Instant Messenger: I had
  dragged a contact ...) 

* Tue Oct 16 2007 Peter Gordon <peter@thecodergeek.com> - 0.14-3
- Depend on Salut and Gabble to enable XMPP by default. Otherwise, Empathy
  is essentially useless due to the need to install an external connection
  manager. Also, add a README.ConnectionManagers to the installed
  documentation which lists other possibilities.
- Resolves: bug 308871 (Make empathy dependent at least on telepathy-gabble)
  and bug 334221 (Default empathy install is useless).

* Tue Oct 02 2007 Peter Gordon <peter@thecodergeek.com> - 0.14-2
- Disable VoIP support at this time, since it is deemed unstable by upstream
  for now. (Thanks to Brian Pepple for the notice.)
  
* Tue Oct 02 2007 Peter Gordon <peter@thecodergeek.com> - 0.14-1
- Update to new upstream release (0.14).

* Sun Sep 30 2007 Peter Gordon <peter@thecodergeek.com> - 0.13-1
- Update to new upstream release (0.13), which adds a panel applet (Megaphone)
  and python bindings.
- Split shared libraries into a libs subpackage for easier handling
  in multi-lib environments.

* Fri Aug 31 2007 Peter Gordon <peter@thecodergeek.com> - 0.12-2
- Add ldconfig invocations to %%post and %%postun scriptlets.

* Fri Aug 31 2007 Peter Gordon <peter@thecodergeek.com> - 0.12-1
- Update to new upstream release (0.12).
- Build against new mission-control stack.
- Update License tag (GPLv2+).
- Alphabetize BuildRequires list (aesthetic-only change).

* Wed Aug 29 2007 Fedora Release Engineering <rel-eng at fedoraproject dot org> - 0.8-2
- Rebuild for selinux ppc32 issue.

* Mon Aug 13 2007 Peter Gordon <peter@thecodergeek.com> - 0.11-1
- Update to new upstream release (0.11)

* Fri Jun 22 2007 David Nielsen <david@lovesunix.net> - 0.8-1
- bump to 0.8
- Now with aspell support (deat to teh speeling mistaks)

* Sat Jun  9 2007 David Nielsen <david@lovesunix.net> - 0.7-1
- bump to 0.7

* Mon Jun  4 2007 David Nielsen <david@lovesunix.net> - 0.6-3
- Add telepathy-filesystem to Requires
- Move .desktop from autostart to applications
- Nasty hackery to make empathy launch from the menu

* Mon Jun  4 2007 David Nielsen <david@lovesunix.net> - 0.6-2
- Add gettext to BuildRequires

* Fri Jun  1 2007 David Nielsen <david@lovesunix.net> - 0.6-1
- Bump to 0.6

* Fri Jun  1 2007 David Nielsen <david@lovesunix.net> - 0.5-2
- Let Empathy own the directory and not just the files in it

* Tue May 30 2007 David Nielsen <david@lovesunix.net> - 0.5-1
- Initial package