|
|
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.
| |