KTp/Getting Set Up: Difference between revisions
(Added build instructions) |
|||
Line 23: | Line 23: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
This creates a build directory and moves you into it. | This creates a build directory and moves you into it. | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 28: | Line 29: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
This starts the configuration phase of building, where all the needed libs are found etc. You can only continue to the next step if this one finishes successfully. | This starts the configuration phase of building, where all the needed libs are found etc. You can only continue to the next step if this one finishes successfully. | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 33: | Line 35: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
This triggers the build itself. You can replace the number after "-j" by how many cores your CPU has + 1, so if I have two cores, I'd use "-j3", if I have 12, I'd use "-j13". Again you can move to the next step only if this one finishes successfully. | This triggers the build itself. You can replace the number after "-j" by how many cores your CPU has + 1, so if I have two cores, I'd use "-j3", if I have 12, I'd use "-j13". Again you can move to the next step only if this one finishes successfully. | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
sudo make install | sudo make install | ||
</syntaxhighlight> | </syntaxhighlight> | ||
This installs the stuff into your system. You need your sudo password. | This installs the stuff into your system. You need your sudo password. | ||
==TelepathyQt== | ==TelepathyQt== |
Revision as of 17:34, 24 July 2012
These instructions assume that you already know how to build KDE stuff from source. It just provides a list of what you need to checkout and build, and how to run it.
Prerequisites
You will also need to install several cross-desktop Telepathy components. Packages of the following from your distribution should do fine.
- telepathy-mission-control-5
- telepathy-gabble (for Jabber support)
- other Telepathy connection managers if you want to try out other protocols
Recently we started using some features of kdelibs 4.7.0, so you need at least KDE SC 4.7 to compile and run KDE-Telepathy.
We're using some dbus service files and it has been proven that these needs to be in /usr/share/dbus-1/, otherwise you won't be able to connect, start a chat or do other stuff. So if you're using your own install prefix, please make sure you have copied/linked these files to /usr/share/dbus-1/* first before posting a bugreport. Thanks.
You will also need to follow the steps 'Let Git rewrite URL prefixes' listed here, if you have not done so already.: http://community.kde.org/Sysadmin/GitKdeOrgManual#Let_Git_rewrite_URL_prefixes
The "usual cmake build method"
To build all our stuff, you just need four commands (assuming you cd'd to the directory of the project):
mkdir -p build && cd build
This creates a build directory and moves you into it.
cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` -DCMAKE_BUILD_TYPE=debugfull ..
This starts the configuration phase of building, where all the needed libs are found etc. You can only continue to the next step if this one finishes successfully.
make -j3
This triggers the build itself. You can replace the number after "-j" by how many cores your CPU has + 1, so if I have two cores, I'd use "-j3", if I have 12, I'd use "-j13". Again you can move to the next step only if this one finishes successfully.
sudo make install
This installs the stuff into your system. You need your sudo password.
TelepathyQt
The prerequisite for all the Telepathy stuff to build is the TelepathyQt library. The source code for this is available here. Your distribution may package it, in which case you need version >= 0.9. Be careful not to confuse it with the telepathy-qt library which used to be in kdesupport SVN. This is *completely* different and in no way compatible.
If you are compiling Tp-Qt and get a warning about needing a newer glib, simply ignore it. Glib is only needed for some internal Tp-Qt tests.
If you are building your own copy of TelepathyQt, clone the git repository linked above and use the usual cmake method to build and install it.
KDE Telepathy internals
Before the other components, you need to build a library carrying internal components. You can check it out with
git clone kde:ktp-common-internals
Scripted setup
You can find a script to clone and build the initial environment over here
Using kdesrc-build
To use kdesrc-build to build kde telepathy just add the following to your .kdesrc-buildrc file:
module-set ktp use-modules ktp-common-internals ktp-accounts-kcm ktp-contact-list ktp-text-ui ktp-approver ktp-kded-module ktp-auth-handler ktp-presence-applet ktp-filetransfer-handler ktp-send-file repository kde-projects end module-set
Then do kdesrc-build ktp to build all of it, or kdesrc-build ktp-send-file to build just ktp-send-file for example.
KTp Components
Telepathy Accounts KCM
The next thing to get set up is the Telepathy Accounts KCM. This is the UI for account management.
git clone kde:ktp-accounts-kcm
This can be compiled and installed by the usual KDE build procedure.
Contact List App
This application provides a traditional contact-list, similar to the one provided by Kopete.
git clone kde:ktp-contact-list
Chat window App
This application provides a text chat window.
git clone kde:ktp-text-ui
The approver
This notifies you when an incoming message arrives and hangs in the system tray until you're ready to start a chat.
git clone kde:ktp-approver
Workspace Integration Module
Sits in KDED and sets your presence automatically to 'Away' after certain amount of time, can set your presence to your current song from an mpris-enabled media player (Amarok and Clementine work great) and also contains an error handler which is very important if you want to be notified of errors
git clone kde:ktp-kded-module
Auth handler
Handles kwallet integration, and prompts/sends passwords to connection managers when requested.
git clone kde:ktp-auth-handler
Presence Plasmoid and Dataengine
This shows the online-ness of your accounts and allows to bring accounts online/offline
git clone kde:ktp-presence-applet
The File Transfer Handler
Does the actual transferring of files between two contacts. Displays progress via KJob
git clone kde:ktp-filetransfer-handler
Dolphin Integration
Allows you to start a file transfer via a handy shortcut in your file manager.
git clone kde:ktp-send-file
QtGstreamer
Not part of KDE Telepathy but needed to compile the call window app
git clone git://anongit.freedesktop.org/gstreamer/qt-gstreamer
Call window App
This application provides a voice/video chat window (optional). Code is in git here.
git clone kde:ktp-call-ui
Experimental Components not part of KTp (just yet)
git clone git://oscaf.git.sourceforge.net/gitroot/oscaf/shared-desktop-ontologies
KDE Telepathy library : libktelepathy
NOTE: git master probably won't compile.
Source code is here.
git clone kde:telepathy-kde
This can be compiled and installed by the usual KDE build procedure.
Nepomuk Service
NOTE: git master probably won't compile.
The Nepomuk service obsoletes the daemon and integrates Telepathy with Nepomuk, which is required by the Contact List application. Code is in git here
git clone kde:telepathy-nepomuk-service