Jump to content

KDE PIM/Development/Start: Difference between revisions

From KDE Community Wiki
Ngraham (talk | contribs)
Revamp this page to be more compact, accurate, and user-friendly
Ngraham (talk | contribs)
Redirect to parent page, where all of the information here was moved to
 
Line 1: Line 1:
= Prerequisites =
#REDIRECT [[KDE PIM/Development]]
You might want to make a backup of your valuable data. Most of it lives in <nowiki>~/.kde</nowiki>. You may also backup your Akonadi server config files in <nowiki>~/.config/akonadi</nowiki> and your kdepim applications data in <nowiki>~/.local/share/akonadi</nowiki>. It may be easier to just create an additional user and give it a copy of your data, and run PIM master there.
 
 
= Compiling KDE PIM =
KDE PIM is currently split across 40 modules. To build them all in the correct order, you should use [https://kdesrc-build.kde.org/ kdesrc-build]. Setting it up is detailed at [[Get Involved/development]].
 
{{Note|You really need to build and submit patches against Git master to make a positive contribution to KDE PIM. If you work on or with the last released version, you're usually a month or four behind the times, and that makes a huge difference in KDE PIM.}}
 
Add the following to your <nowiki>~/.kdesrc-buildrc</nowiki> file:
 
<pre>
include ~/kde/src/kdesrc-build/kf5-frameworks-build-include
include ~/kde/src/kdesrc-build/kf5-kdepim-build-include
include ~/kde/src/kdesrc-build/kf5-applications-build-include
include ~/kde/src/kdesrc-build/kf5-workspace-build-include
</pre>
 
In addition, you cannot use the standard <nowiki>prefix.sh</nowiki> file mentioned on the [[Get Involved/development]] page; you must use a custom script:
 
<pre>
# This must match the path in kdedir option in kdesrc-buildrc
export KDE_PREFIX=~/kde/usr
export PATH="${KDE_PREFIX}/bin:${PATH:-/usr/local/bin:/usr/bin:/bin}"
export LD_LIBRARY_PATH="${KDE_PREFIX}/lib64:${KDE_PREFIX}/lib:$LD_LIBRARY_PATH"
export QT_PLUGIN_PATH="${KDE_PREFIX}/lib64/plugins:${KDE_PREFIX}/lib/plugins:${QT_PLUGIN_PATH:-/usr/lib64/qt5/plugins:/usr/lib/qt5/plugins}"
export QML2_IMPORT_PATH="${KDE_PREFIX}/lib64/qml:${KDE_PREFIX}/lib/qml:${QML2_IMPORT_PATH:-/usr/lib64/qt5/qml:/usr/lib/qt5/qml}"
export PKG_CONFIG_PATH="${KDE_PREFIX}/lib64/pkgconfig:${KDE_PREFIX}/lib/pkgconfig:${PKG_CONFIG_PATH:-/usr/lib64/pkgconfig:/usr/lib/pkgconfig}"
export XDG_DATA_DIRS="${KDE_PREFIX}/share:${XDG_DATA_DIRS:-/usr/share}"
export SASL_PATH="${KDE_PREFIX}/lib64/sasl2:${KDE_PREFIX}/lib/sasl2:${SASL_PATH:-/usr/lib64/sasl2:/usr/lib/sasl2}"
export XDG_CONFIG_DIRS="${KDE_PREFIX}/etc/xdg:${XDG_CONFIG_DIRS:-/etc/xdg}"
# Un-comment this if you want to have the devel version in parallel with the stable version installed by your distro
#export AKONADI_INSTANCE=devel
</pre>
 
You may need to update some of the variables to fit your environment.
 
Now, compile everything!
{{Input|1=<nowiki>
kdesrc-build kde-pimlibs kde-pim
</nowiki>}}
 
If the build fails, you can check the log file to see why it failed. It will likely be because of a missing dependency.
 
 
= Running KDE PIM =
There are two methods to run KDE PIM:
* <code>source</code> the custom script you created earlier and then run <code>akonadictl --instance devel start</code>. This will start a new instance of Akonadi which will run in parallel with the system one.
* Put the contents of the custom script you created earlier into your <nowiki>~/.bashrc</nowiki> file, then log out and then log back in. Thereafter, whenever you run KDE PIM, it will be from your compiled version
 
 
= Additional information =
* Now that you can compile KDE PIM from source, when you find a bug you can fix it, create a patch, and send it to us!
* Subscribe to the [http://mail.kde.org/mailman/listinfo/kde-pim kde-pim mailing list]. It is for '''discussion about development'''. Please don't wildly post all your compilation problems there. Ask on [[#IRC (Chat)|IRC]] for such issues.
* Most of the developers hang around in one development IRC channel or another. On [http://www.freenode.net/ freenode] (irc.kde.org), you can find <nowiki>#akonadi</nowiki> for development discussion on Akonadi, and <nowiki>#kontact</nowiki> for development discussion on Kontact and its components. Please don't post user-questions there.
* [https://doc.qt.io/qt-5/ Qt documentation]
* [http://api.kde.org/ KDE API documentation]
* Visit the [http://techbase.kde.org KDE techbase site] for very detailed information about KDE development. You'll find lots of stuff, e.g. documentation, tutorials, reference guides, etc.
* http://techbase.kde.org/Projects/PIM has lots of information you may read before starting contributing to KDE PIM.
* http://userbase.kde.org/Kontact is the central place for user tips and tricks.

Latest revision as of 16:19, 30 December 2018