A Docker container for developing KDE applications.
These instructions will cover usage information for the Docker container.
In order to run this container you'll need Docker installed.
Pull the image from the Docker repository:
docker pull marcelohmariano/kde-dev
docker tag marcelohmariano/kde-dev kde-dev
docker rmi marcelohmariano/kde-dev
Or build the image from source:
git clone https://github.com/marcelohmariano/kde-dev.git
cd kde-dev
docker build -t kde-dev .
Start Bash (this is the default when no command is specified):
docker run -it --rm kde-dev bash
Start a GUI application from inside the container, e.g., QtCreator:
docker run -it --rm --privileged \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix/:/tmp/.X11-unix \
-v $HOME/.Xauthority:/home/dev/.Xauthority \
--network host \
kde-dev \
qtcreator
Build a KDE project from its source repository using kdesrc-build
:
mkdir kdesrc && cd kdesrc
docker run -it --rm -v $PWD:/home/dev/kde kde-dev bash
kdesrc-build kcalc
Use a custom kdesrc-build
configuration file:
docker run -it --rm -v /path/to/your/custom/kdesrc-buildrc:/home/dev/.kdesrc-buildrc kde-dev bash
Create a Dockerfile
for the project you want to develop or contribute to, e.g., Konsole (the KDE terminal emulator):
FROM marcelohmariano/kde-dev
RUN sudo zypper -n source-install --build-deps-only konsole && sudo zypper clean -a
Then, build and run the Docker image:
docker build -t konsole-dev .
docker run -it --rm -v $PWD:/home/dev/kde konsole-dev bash
Finally, build the project using kdesrc-build
:
kdesrc-build konsole
DISPLAY
- the X display server that the GUI applications will connect toTZ
- the timezone to used by the container applications
/home/dev/kde
-kdesrc-build
work directory/home/dev/.config
- user-specific configuration files
/home/dev/.kdesrc-buildrc
-kdesrc-build
configuration file
- Arcanist - a command-line interface to Phabricator
- CMake - a cross-platform build system generator
- KCachegrind - a profile data visualization tool for Callgrind
- KDbg - a graphical user interface to gdb
- QtCreator - a lightweight cross-platform IDE
- Valgrind - a tool for memory debugging, memory leak detection, and profiling
- ccache - a fast compiler cache
- g++ - the GNU C++ compiler
- gdb - the GNU debugger
- kdesrc-build - a tool to build KDE projects from its source repositories
This project is licensed under the MIT License - see the LICENSE file for details.