< KDE PIM Revision as of 09:04, 6 August 2017 (view source)Dvratil (talk | contribs) (→Contributing)← Older edit Revision as of 22:27, 14 August 2017 (view source) Dvratil (talk | contribs) Newer edit → Line 80: Line 80: == Contributing == == Contributing == −Please upload patches to [https://phabricator.kde.org phabricator.kde.org] for+You can find more details in the [[KDE_PIM/Development|Development]] section of our wiki. If you have any issues or questions, feel free to stop by on our IRC channel (#kontact), or talk to us on the [[KDE_PIM/Development#Mailing_Lists|kde-pim mailinglist]]. −review. Revision as of 22:27, 14 August 2017 Under ConstructionThis is a new page, currently under construction! To make developing KDE PIM as easy as possible we have prepared a Docker image based on the KDE Neon distribution. It contains all the dependencies necessary to compile KDE PIM, the environment for running self-compiled KDE PIM and pre-configured tool (kdesrc-build) used to build latest KDE PIM from sources. Contents 1 Preparations 2 Making OpenGL work in the container 2.1 NVIDIA proprietary drivers 2.2 Nouveau (NVIDIA opensource drivers) 2.3 Intel 2.4 AMD/ATI 3 Building Docker image 4 Running Docker container 5 Building and updating KDE PIM 6 Development tools 7 Contributing Preparations First, clone the git repository with the Dockerfile and support scripts. git clone git://anongit.kde.org/scratch/dvratil/kdepim-docker.git cd kdepim-docker Next, create a directory where you want the sources code, build folders and everything else related to KDE PIM development to be stored. We will then expose this directory to the Docker container at runtime. mkdir ~/kdepim-dev Making OpenGL work in the container Several parts of KDE PIM depend on OpenGL - this is due to our use of QtWebEngine, which is based on Blink and has a hard dependency on OpenGL for rendering web pages. There's no way around that and so we need to make OpenGL work in the container. Unfortunately, that is not a very straightforward process and it differs for each GPU vendor and drivers used. NVIDIA proprietary drivers The easiest way is to use NVIDIA's nvidia-docker from nvidia-docker Github. You can follow the instructions on the Github page regarding how to install it. The nvidia-docker will automatically find your installed NVIDIA drivers and will expose them into the Docker container at runtime, so you don't have to rebuild your container whenever you upgrade your NVIDIA drivers. Note that if you do this, you must pass -n switch to the build.sh and run.sh scripts from the kdepim-docker.git repository. Nouveau (NVIDIA opensource drivers) TODO Intel TODO AMD/ATI TODO Building Docker image In order to build the Docker image, run the build.sh script. If you are using proprietary NVIDIA drivers, run the script with -n switch. The command will create kdepim:dev Docker image. Running Docker container To run the container, use the run.sh script: run.sh $HOME/kdepim-dev If you are using proprietary NVIDIA drivers, run the script with -n switch: run.sh -n $HOME/kdepim-dev The content of the directory will be available in the container in the /home/neon/kdepim directory. Building and updating KDE PIM Once inside the container, you can use the following command to compile the entire KDE PIM: kdesrc-build kde-pim This will take a lot of time the first time, but all subsequent builds will be faster thanks to incremental builds and use of ccache. You can also build use a specific repository name instead of the kde-pim group. Check the kdesrc-build documentation for more details about using kdesrc-build. kdesrc-build will clone all the repositories into /home/neon/kdepim/src/kde/pim, build directories (where you can run make manually are in /home/neon/kdepim/build/kde/pim. The binaries are installed into /home/neon/kdepim/install (and the environment of the container is adjusted to work with the custom installation prefix). Development tools There's KDevelop and QtCreator preinstalled in the container and you can run them from there. You can also use them from outside of the container, but code completion might not work perfectly then. You can also use any other IDE of your choice either by installing it into the container with apt-get or use it from outside of the container. Contributing You can find more details in the Development section of our wiki. If you have any issues or questions, feel free to stop by on our IRC channel (#kontact), or talk to us on the kde-pim mailinglist. Retrieved from "https://community.kde.org/index.php?title=KDE_PIM/Docker&oldid=78000" Category: Under Construction Content is available under Creative Commons License SA 4.0 unless otherwise noted.