============= telepathy-qt ============= This is a library for Qt-based Telepathy clients. 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, QtDBus, QtNetwork and QtXml (QtGui and QtWidgets are required for some examples) <http://www.qt-project.org/> 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/> For building the Farsight convenience library, 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/> and to build the Farstream convenience library, you'll need: telepathy-glib <http://telepathy.freedesktop.org/releases/telepathy-glib/> telepathy-farstream <http://telepathy.freedesktop.org/releases/telepathy-farstream/> farstream <http://freedesktop.org/software/farstream/releases/> GStreamer <http://gstreamer.freedesktop.org/> See CMakeLists.txt for full details, including versions required. Of the packages listed above, only Qt libraries are required at runtime. Building also requires the cmake build system. Qt 5 alpha release contains some build issues that should be addressed in order to build telepathy-qt against it: - When running 'configure' in Qt 5 alpha, the pkg-config files are properly generated, but when 'make' is executed, these files are replaced with empty ones. So, to build telepathy-qt against it one must either backup the pkg-config files generated during the 'configure' phase before running 'make' and replace them afterwards, or re-run 'configure' with the same parameters after building it. - If Qt 5 alpha is built with -reduce-relocations enabled, one must add the keyword "reduce_relocations" to qtbase/lib/pkgconfig/QtCore.pc in the qt_config section, so that telepathy-qt knows when to use -fPIC/PIE at linking stage accordingly. Both issues were reported and should be fixed when beta is out. 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: <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 ======= See HACKING for version control, coding style and patch submission information.