Jump to content

KDE Utils/Ark: Difference between revisions

From KDE Community Wiki
Elvis Angelaccio (talk | contribs)
Add preliminary build instructions
Elvis Angelaccio (talk | contribs)
Expand build instructions
Line 21: Line 21:


Everything should work fine, provided that you installed all the required build dependencies.
Everything should work fine, provided that you installed all the required build dependencies.
{{Note|You can speed-up the compilation by using <code>make -jN</code>, where N is the number of parallel jobs you will run. This number is usually set to the number of CPU cores of your machines. }}


== Step 2 - Install ark ==
== Step 2 - Install ark ==
Line 37: Line 39:
</syntaxhighlight>
</syntaxhighlight>


This way you can run <code>make install</code> without having to type to sudo password. However, you will need to set a bunch of environment variables, in order to have everything working:
This way you can run <code>make install</code> without having to type the sudo password. However, you will need to set a bunch of environment variables, in order to have everything working:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# Install prefix, choose any folder you want
# Install prefix, replace with any folder you want
export KF5=~/home/foo/whatever
export KF5=~/foo/whatever


export XDG_DATA_DIRS=$KF5/share:$XDG_DATA_DIRS
export XDG_DATA_DIRS=$KF5/share:$XDG_DATA_DIRS
Line 49: Line 51:
</syntaxhighlight>
</syntaxhighlight>


You can wrap the above exports in a bash script, for convenience. Then you just need to source this script before running the usual cmake/make commands.
{{Note|The <tt>KDE_INSTALL_LIBDIR</tt> cmake argument is not really necessary. If you don't use it, cmake will install the plugins in a <tt>lib64</tt> folder and you will just need a different <tt>QT_PLUGIN_PATH</tt> variable:
<syntaxhighlight lang="bash">
export QT_PLUGIN_PATH=$KF5/lib64/plugins:$QT_PLUGIN_PATH
</syntaxhighlight> }}




== Step 3 - Run tests ==  
== Step 3 - Run tests ==  
Ark's unit tests are built by default (unless you pass <code>-DBUILD_TESTING=OFF</code> to cmake).
Once Ark is built and installed, you should run the tests to check that all of them are passing. You can do so by running the <code>ctest</code> command from the build directory:
<syntaxhighlight lang="bash">
ctest --output-on-failure
</syntaxhighlight>


<!--
TODO
TODO
Write a tutorial for an ark-friendly kdesrc-build configuration. Reference: https://community.kde.org/Guidelines_and_HOWTOs/Build_from_source
Write a tutorial for an ark-friendly kdesrc-build configuration. Reference: https://community.kde.org/Guidelines_and_HOWTOs/Build_from_source
-->


= How to contribute to Ark =
= How to contribute to Ark =

Revision as of 13:51, 2 May 2016

How to build Ark on Linux

Step 0 - Install build dependencies

Some distributions allow to install the build-time dependencies of any package with a single command. For example, on Debian or Ubuntu you can just run the following command:

sudo apt-get build-dep ark

If you are running the Plasma desktop, you should have most of these dependencies already installed. Usually one needs to manually install only the extra-cmake-modules.

Step 1 - Build ark

Like most KDE projects, Ark relies on the CMake build-system. This means that compiling Ark is as simple as running the following commands:

mkdir build && cd build
cmake ..
make

Everything should work fine, provided that you installed all the required build dependencies.

Note

You can speed-up the compilation by using make -jN, where N is the number of parallel jobs you will run. This number is usually set to the number of CPU cores of your machines.


Step 2 - Install ark

Once you built Ark, it's time to install it with the make install command. However, by default CMake will use /usr/local as install prefix, so you will have to run sudo make install.

At this point your should be able to run /usr/local/bin/ark. If Ark fails to start with the Unable to find Ark's KPart component, please check your installation. error, you need to run cmake with the additional -DKDE_INSTALL_USE_QT_SYS_PATHS=ON argument:

cmake -DKDE_INSTALL_USE_QT_SYS_PATHS=ON ..

Install to custom location

When running cmake, you can set the install prefix to whatever directory you want to install Ark in. For example

cmake -DCMAKE_INSTALL_PREFIX=/home/foo/whatever -DKDE_INSTALL_LIBDIR=lib ..

This way you can run make install without having to type the sudo password. However, you will need to set a bunch of environment variables, in order to have everything working:

# Install prefix, replace with any folder you want
export KF5=~/foo/whatever

export XDG_DATA_DIRS=$KF5/share:$XDG_DATA_DIRS
export XDG_CONFIG_DIRS=$KF5/etc/xdg:/etc/xdg
export PATH=$KF5/bin:$PATH
export QT_PLUGIN_PATH=$KF5/lib/plugins:$QT_PLUGIN_PATH

You can wrap the above exports in a bash script, for convenience. Then you just need to source this script before running the usual cmake/make commands.

Note

The KDE_INSTALL_LIBDIR cmake argument is not really necessary. If you don't use it, cmake will install the plugins in a lib64 folder and you will just need a different QT_PLUGIN_PATH variable:
export QT_PLUGIN_PATH=$KF5/lib64/plugins:$QT_PLUGIN_PATH


Step 3 - Run tests

Ark's unit tests are built by default (unless you pass -DBUILD_TESTING=OFF to cmake). Once Ark is built and installed, you should run the tests to check that all of them are passing. You can do so by running the ctest command from the build directory:

ctest --output-on-failure


How to contribute to Ark

Development of Ark is tracked on phabricator. This includes code reviews and tasks.

Sending patches

Follow the instructions in the HACKING file: https://phabricator.kde.org/diffusion/ARK/browse/master/HACKING

Coding tasks

You can find a list of currently open tasks in the Ark workboard: https://phabricator.kde.org/tag/ark/