Jump to content

KTp/Getting Set Up: Difference between revisions

From KDE Community Wiki
< KTp
Alin (talk | contribs)
Andrea (talk | contribs)
 
(99 intermediate revisions by 20 users not shown)
Line 1: Line 1:
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.
These instructions assume that you already know how to build KDE stuff from source. Check the "[http://techbase.kde.org/Getting_Started/Build/KDE_Applications building KDE applications page]" for more help with that.  The rest of this page will just tell you what to build and where to get it from.


==Prerequisites==
==Prerequisites==


You will need a working Nepomuk on your system (strigi indexer not required to be on, but Nepomuk must be enabled), with the virtuoso backend.
You will need KDE 4.10 or 4.9. We do not require latest git KDE.  


You will also need to install several cross-desktop Telepathy components. Packages of the following from your distribution should do fine.
You will need to install several cross-desktop Telepathy components. Packages of the following from your distribution should do fine.
* telepathy-mission-control-5
* telepathy-mission-control-5
* telepathy-gabble (for Jabber support)
* telepathy-gabble for Jabber, GTalk and Facebook Chat support
* other Telepathy connection managers if you want to try out other protocols
* other Telepathy connection managers if you want to try out other protocols
** telepathy-haze for icq, msn, yahoo, aim and all the others that Pidgin/libpurple supports
** telepathy-rakia for sip
* telepathy-logger (for the contact list)
* kdepimlibs (devel packages; for kpeople)


==TelepathyQt4==


The prerequisite for all the Telepathy stuff to build is the TelepathyQt4 library. The source code for this is available [http://git.collabora.co.uk/?p=telepathy-qt4.git;a=summary here]. Your distribution may package it, in which case you need version >= 0.3.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.
You will also need to follow the steps to [[Sysadmin/GitKdeOrgManual#Let_Git_rewrite_URL_prefixes|setup the kde: prefix in Git]], if you have not done so already.


If you are building your own copy of TelepathyQt4, clone the git repository linked above and use the usual cmake method to build and install it.
=== QtGstreamer ===


NOTE: Currently telepathy-qt4 >= 0.5 will not work. Use 0.3.x or 0.4.x instead. If you are using git, checkout the "telepathy-qt4-0.4" branch before building. Check current status [http://community.kde.org/Real-Time_Communication_and_Collaboration/Current_State here]
In order to build the [[#Call window App|call window application]], you will need the [http://gstreamer.freedesktop.org/modules/qt-gstreamer.html Qt bindings for GStreamer]. Your distribution will probably provide packages, or you can build from git:
<syntaxhighlight lang="bash">
git clone git://anongit.freedesktop.org/gstreamer/qt-gstreamer
</syntaxhighlight>


==KDE Telepathy library : libktelepathy==
=== Ubuntu build deps ===


Needed to build the contact list application.
While using some Ubuntu distributions you would like to have these packages installed (they are critical to build Ktp on your machine) from apt:


Source code is [https://projects.kde.org/projects/playground/network/telepathy/telepathy-kde/repository/ here].
<syntaxhighlight lang="bash">
sudo apt-get install doxygen graphviz libfarstream-0.1-dev libgstreamer-plugins-base0.10-dev libgstreamer0.10-dev libqt4-dev libtelepathy-farstream-0.4-dev libtelepathy-glib-dev pkg-config cmake debhelper kdelibs5-dev libtelepathy-logger-dev libtelepathy-logger-qt4-dev libtelepathy-qt4-dev pkg-kde-tools bison cmake flex libqt4-dev libqtgstreamer-dev libtelepathy-glib-dev libtelepathy-logger-dev libxml2-dev python python-dev libxml-parser-perl librpc-xml-perl libqjson-dev libqca2-dev libqca2-plugin-ossl kdepim-dev libqtwebkit-dev
</syntaxhighlight>


<code>git clone git://anongit.kde.org/telepathy-kde</code>
=== Arch build deps ===


This can be compiled and installed by the usual KDE build procedure.
<syntaxhighlight lang="bash">
sudo pacman -S perl-libwww perl-json perl-xml-parser boost
</syntaxhighlight>


==Telepathy Accounts KCM==
==Recommended installation==
This method is based on a scratch of David Edmundson which is located [http://quickgit.kde.org/?p=scratch%2Fdavidedmundson%2Fktp-bootstrap.git here]. You may pull it on your local machine and run '''install.sh'''. Before going forward, make sure that you have configured your Git configuration file for KDE prefix, if not follow [https://community.kde.org/Sysadmin/GitKdeOrgManual#Let_Git_rewrite_URL_prefixes this]:


The next thing to get set up is the Telepathy Accounts KCM. This is the UI for account management.
<syntaxhighlight lang="bash">
git clone git://anongit.kde.org/scratch/davidedmundson/ktp-bootstrap.git
cd ktp-bootstrap
sh install.sh
</syntaxhighlight>


Source code is [https://projects.kde.org/projects/playground/network/telepathy/telepathy-accounts-kcm/ here].


<code>git clone git://anongit.kde.org/telepathy-accounts-kcm</code>
As soon as your installation has finished you can start Ktp by choosing '''Instant Messaging Contact List''' from the menu of your system. Alternatively, you may want to discover source yourself, e.g. if you are planning to contribute. Then, you can go path '''~/ktp/src/ktp-contact-list''' (git repository is already set there!)


This can be compiled and installed by the usual KDE build procedure.
===Making Changes===


You will also want the plugins for this app, found at [https://projects.kde.org/projects/playground/network/telepathy/telepathy-accounts-kcm/telepathy-accounts-kcm-plugins here].
When you first open kdevelop for the first time select the CMakeLists file in ~/ktp/src/<project>/CMakeLists.txt when asked to specify the build directory select ~/ktp/build/<project>/ NOT the default option.


<code>git clone git://anongit.kde.org/telepathy-accounts-kcm-plugins</code>
This will mean kdevelop will use your existing install set up and environment and any installations will be kept local.


==Presence Plasmoid and Dataengine==
If you are ever prompted for your root password for installations you are doing something wrong.


In order to bring accounts on/offline you will need the Presence Plasmoid and its data engine. These are in svn [https://projects.kde.org/projects/playground/network/telepathy/telepathy-presence-applet/repository here] and [https://projects.kde.org/projects/playground/network/telepathy/telepathy-presence-dataengine/repository here].
===Updating===


<code>git clone git://anongit.kde.org/telepathy-presence-applet
Run ./update-ktp from your ~/ktp directory.
git clone git://anongit.kde.org/telepathy-presence-dataengine</code>


==Nepomuk Service==
For extra functionality and arguments please read http://kdesrc-build.kde.org/documentation/


This daemon integrates Telepathy with Nepomuk, which is required by the Contact List application. Code is in git [https://projects.kde.org/projects/playground/network/telepathy/telepathy-nepomuk-service here]
== Using an existing kdesrc-build ==


<code>git clone git://anongit.kde.org/telepathy-nepomuk-service</code>
To use kdesrc-build to build KDE Telepathy type


==Contact List App==
kdesrc-build extragear/telepathy


This application provides a traditional contact-list, similar to the one provided by Kopete. Code is in git [https://projects.kde.org/projects/playground/network/telepathy/telepathy-contact-list here]
It may be desirable to also build TelepathyQt, which can be done by adding the following module


<code>git clone git://anongit.kde.org/telepathy-contact-list</code>
module telepathy-qt
    repository git://anongit.freedesktop.org/telepathy/telepathy-qt4
    branch master
end module


==Chat window App==


This application provides a text chat window. Code is in git [https://projects.kde.org/projects/playground/network/telepathy/telepathy-chat-handler here]
Because we rely on dbus activation we need to make sure our files are in the XDG dbus paths /when dbus loads/.


<code>git clone git://anongit.kde.org/telepathy-chat-handler</code>
there are two ways to do this; either copy/link these dbus files to /usr/share/dbus-1/ or make sure XDG paths are set immediately at login, such as adding them in /etc/profile.d.


==Call window App==
==Troubleshooting==


This application provides a voice/video chat window (optional). Code is in git [https://projects.kde.org/projects/playground/network/telepathy/telepathy-call-ui here].
If you have both qt4 and qt5 installed, you may need tell kdesrc-build to use qt4 by including the following in the relevant kdesrc-buildrc (global section):


<code>git clone git://anongit.kde.org/telepathy-call-ui</code>
<syntaxhighlight lang="cmake">
cmake-options -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt4
</syntaxhighlight>
 
 
Similarly, if you have both Python 3 and Python 2 installed, you may need to point to the python2 path:
 
<syntaxhighlight lang="cmake">
cmake-options  -DPYTHON_EXECUTABLE=/usr/bin/python2
</syntaxhighlight>

Latest revision as of 17:53, 23 June 2014

These instructions assume that you already know how to build KDE stuff from source. Check the "building KDE applications page" for more help with that. The rest of this page will just tell you what to build and where to get it from.

Prerequisites

You will need KDE 4.10 or 4.9. We do not require latest git KDE.

You will 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, GTalk and Facebook Chat support
  • other Telepathy connection managers if you want to try out other protocols
    • telepathy-haze for icq, msn, yahoo, aim and all the others that Pidgin/libpurple supports
    • telepathy-rakia for sip
  • telepathy-logger (for the contact list)
  • kdepimlibs (devel packages; for kpeople)


You will also need to follow the steps to setup the kde: prefix in Git, if you have not done so already.

QtGstreamer

In order to build the call window application, you will need the Qt bindings for GStreamer. Your distribution will probably provide packages, or you can build from git:

git clone git://anongit.freedesktop.org/gstreamer/qt-gstreamer

Ubuntu build deps

While using some Ubuntu distributions you would like to have these packages installed (they are critical to build Ktp on your machine) from apt:

sudo apt-get install doxygen graphviz libfarstream-0.1-dev libgstreamer-plugins-base0.10-dev libgstreamer0.10-dev libqt4-dev libtelepathy-farstream-0.4-dev libtelepathy-glib-dev pkg-config cmake debhelper kdelibs5-dev libtelepathy-logger-dev libtelepathy-logger-qt4-dev libtelepathy-qt4-dev pkg-kde-tools bison cmake flex libqt4-dev libqtgstreamer-dev libtelepathy-glib-dev libtelepathy-logger-dev libxml2-dev python python-dev libxml-parser-perl librpc-xml-perl libqjson-dev libqca2-dev libqca2-plugin-ossl kdepim-dev libqtwebkit-dev

Arch build deps

sudo pacman -S perl-libwww perl-json perl-xml-parser boost

Recommended installation

This method is based on a scratch of David Edmundson which is located here. You may pull it on your local machine and run install.sh. Before going forward, make sure that you have configured your Git configuration file for KDE prefix, if not follow this:

git clone git://anongit.kde.org/scratch/davidedmundson/ktp-bootstrap.git
cd ktp-bootstrap
sh install.sh


As soon as your installation has finished you can start Ktp by choosing Instant Messaging Contact List from the menu of your system. Alternatively, you may want to discover source yourself, e.g. if you are planning to contribute. Then, you can go path ~/ktp/src/ktp-contact-list (git repository is already set there!)

Making Changes

When you first open kdevelop for the first time select the CMakeLists file in ~/ktp/src/<project>/CMakeLists.txt when asked to specify the build directory select ~/ktp/build/<project>/ NOT the default option.

This will mean kdevelop will use your existing install set up and environment and any installations will be kept local.

If you are ever prompted for your root password for installations you are doing something wrong.

Updating

Run ./update-ktp from your ~/ktp directory.

For extra functionality and arguments please read http://kdesrc-build.kde.org/documentation/

Using an existing kdesrc-build

To use kdesrc-build to build KDE Telepathy type

kdesrc-build extragear/telepathy

It may be desirable to also build TelepathyQt, which can be done by adding the following module

module telepathy-qt
    repository git://anongit.freedesktop.org/telepathy/telepathy-qt4
    branch master
end module


Because we rely on dbus activation we need to make sure our files are in the XDG dbus paths /when dbus loads/.

there are two ways to do this; either copy/link these dbus files to /usr/share/dbus-1/ or make sure XDG paths are set immediately at login, such as adding them in /etc/profile.d.

Troubleshooting

If you have both qt4 and qt5 installed, you may need tell kdesrc-build to use qt4 by including the following in the relevant kdesrc-buildrc (global section):

cmake-options -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt4


Similarly, if you have both Python 3 and Python 2 installed, you may need to point to the python2 path:

cmake-options  -DPYTHON_EXECUTABLE=/usr/bin/python2