=============
telepathy-qt4
=============

This is a library for Qt-based Telepathy clients.

THIS LIBRARY IS NOT YET STABLE. THERE ARE NO ABI OR API GUARANTEES.
Use it at your own risk! Version 0.2 will start the first stable branch.

Telepathy is a D-Bus framework for unifying real time communication,
including instant messaging, voice calls and video calls. It abstracts
differences between protocols to provide a unified interface for
applications.

Telepathy specification
=======================

The copy of the Telepathy specification in the spec/ directory indicates
the specification that this library claims to implement.

Requirements
============

Building telepathy-qt4 requires:
  Qt, including QtDBus <http://www.qtsoftware.com/>

  GNU make <http://www.gnu.org/software/make/>
  pkg-config <http://ftp.gnome.org/pub/GNOME/sources/pkg-config/>
  libxslt, xsltproc <http://xmlsoft.org/XSLT/>
  Python <http://www.python.org/>

For the full set of regression tests to run, you'll also need:
  telepathy-glib <http://telepathy.freedesktop.org/releases/telepathy-glib/>

and to build the example VoIP call UI (examples/call), you'll need:
  telepathy-glib <http://telepathy.freedesktop.org/releases/telepathy-glib/>
  telepathy-farsight <http://telepathy.freedesktop.org/releases/telepathy-farsight/>
  GStreamer <http://gstreamer.freedesktop.org/>

See configure.ac for full details, including versions required.
Of the packages listed above, only QtCore and QtDBus are required at runtime.

Building from git also requires the GNU build system (Autoconf, Automake,
libtool).

Bugs, feature requests and to-do list
=====================================

Report all bugs, feature requests and "to-do" items here:
  <https://bugs.freedesktop.org/enter_bug.cgi?product=Telepathy&component=telepathy-qt4>

Running "make check" will produce FIXME.out, which lists all the mentions of
FIXME, TODO or XXX in the source code. Ideally, all of these should be in
Bugzilla, but sometimes they're not.

API stability policy
====================

Telepathy-Qt4 is NOT STABLE YET. The following will apply to versions >= 0.2:

We use an "odd/even" versioning scheme where the minor version (the y in
x.y.z) determines stability - stable branches have y even, development
branches have y odd.

In a stable (even) branch, we will not make incompatible API or ABI changes
between one release tarball and the next.

In a development (odd) branch, if we make incompatible ABI changes
between one release tarball and the next, we will change the SONAME of the
library; we will attempt to avoid incompatible API or ABI changes.

Unreleased builds straight from git identify themselves as version
"x.y.z.1". We DO NOT make any API guarantees about unreleased builds:
any binary relying on new functionality from an unreleased build is not
guaranteed to work with any subsequent release or unreleased build, and on
platforms with versioned symbols (mainly Linux) it definitely won't work with
subsequent releases (you'll have to at least relink the binary).
We do not increment SONAMEs on the basis of unreleased changes.

Unreleased builds are compiled with -Werror, so they might stop working
if your gcc version issues more warnings than ours. If this is a problem
for you, use a release tarball.

Contact info
============

This library is maintained by the Telepathy project:
  <http://telepathy.freedesktop.org/>
  <mailto:telepathy@lists.freedesktop.org>
  <irc://irc.freenode.net/telepathy>

Telepathy development is supported by Collabora Ltd.
  <http://www.collabora.co.uk/>.

Hacking
=======

The current development version of telepathy-qt4 is available from the
'master' branch in the git repository:
  <git://git.collabora.co.uk/git/telepathy-qt4.git>
  <git+ssh://git.collabora.co.uk/git/telepathy-qt4.git> (for committers)
  <http://git.collabora.co.uk/?p=telepathy-qt4.git> (gitweb)

Stable branches are available from branches with names like
'telepathy-qt4-0.2' in the same repository.

Please follow <http://techbase.kde.org/Policies/Kdelibs_Coding_Style> in
C++ code, and <http://telepathy.freedesktop.org/wiki/Style> in Python or C code
(e.g. the regression tests and code generation).
