Code Monkey home page Code Monkey logo

kde-dev-container's Introduction

KDE Development Environment

GitHub Docker Cloud Automated build Docker Cloud Build Status

A Docker container for developing KDE applications.

Getting Started

These instructions will cover usage information for the Docker container.

Prerequisities

In order to run this container you'll need Docker installed.

Installation

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 .

Usage

Run

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 Development Environment

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

Environment Variables

  • DISPLAY - the X display server that the GUI applications will connect to
  • TZ - the timezone to used by the container applications

Volumes

  • /home/dev/kde - kdesrc-build work directory
  • /home/dev/.config - user-specific configuration files

Useful File Locations

  • /home/dev/.kdesrc-buildrc - kdesrc-build configuration file

Built With

  • 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

License

This project is licensed under the MIT License - see the LICENSE file for details.

kde-dev-container's People

Contributors

marcelohmariano avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.