=============
telepathy-qt
=============

This is a library for Qt-based Telepathy clients and services.

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. See the Telepathy website for more information:

  http://telepathy.freedesktop.org/

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

The copy of the Telepathy specification in the spec/ directory indicates
the specification that this library claims to implement. The HTML documentation for the latest version of the specification can be viewed at:

  http://telepathy.freedesktop.org/spec/

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

Building telepathy-qt requires:
  Qt (DBus, Network and Xml for the library; Gui and Widgets are required for some examples) <https://www.qt.io>

  CMake <https://cmake.org/>
  pkg-config <https://pkg-config.freedesktop.org/>
  Python 3 <https://www.python.org/>

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

For building the Farsight convenience library, you'll need:
  telepathy-glib <https://telepathy.freedesktop.org/releases/telepathy-glib/>
  telepathy-farsight <https://telepathy.freedesktop.org/releases/telepathy-farsight/>
  GStreamer <https://gstreamer.freedesktop.org/>

and to build the Farstream convenience library, you'll need:
  telepathy-glib <https://telepathy.freedesktop.org/releases/telepathy-glib/>
  telepathy-farstream <https://telepathy.freedesktop.org/releases/telepathy-farstream/>
  farstream <https://freedesktop.org/software/farstream/releases/>
  GStreamer <https://gstreamer.freedesktop.org/>

See CMakeLists.txt for full details, including versions required.
Of the packages listed above, only Qt libraries are required at runtime.

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=tp-qt>

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
====================

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:
  <https://github.com/TelepathyIM>
  <https://telepathy.freedesktop.org>
  <mailto:telepathy@lists.freedesktop.org>
  <irc://irc.freenode.net/telepathy>

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

Hacking
=======

See HACKING for version control, coding style and patch submission information.
