KDE PIM/Development/Start
Prerequisites
You might want to make a backup of your valuable data. Most of it lives in ~/.kde. You may also backup your Akonadi server config files in ~/.config/akonadi and your kdepim applications data in ~/.local/share/akonadi. 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 kdesrc-build. Setting it up is detailed at Get Involved/development.
Add the following to your ~/.kdesrc-buildrc file:
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
In addition, you cannot use the standard prefix.sh file mentioned on the Get Involved/development page; you must use a custom script:
# 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
You may need to update some of the variables to fit your environment.
Now, compile everything!
kdesrc-build kde-pimlibs kde-pim
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:
source
the custom script you created earlier and then runakonadictl --instance devel start
. 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 ~/.bashrc 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 kde-pim mailing list. It is for discussion about development. Please don't wildly post all your compilation problems there. Ask on IRC for such issues.
- Most of the developers hang around in one development IRC channel or another. On freenode (irc.kde.org), you can find #akonadi for development discussion on Akonadi, and #kontact for development discussion on Kontact and its components. Please don't post user-questions there.
- Qt documentation
- KDE API documentation
- Visit the 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.