GnuPG Gpg4win Logo
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Navigation

  • RecentChanges
  • FindPage
  • HelpContents

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment
Get the password from https://wiki.gnupg.org/UnlockRegistration

  • BuildingFromGIT
  • Kleopatra

Building Kleopatra git master

There is a lot of documentation available at techbase.kde.org this page mainly is an example on how you can do this.

See the kleopatra Project page for repository information.

Dependencies

This is a list of dependencies needed system to compile the required frameworks and Kleopatra. Please add additional dependencies if you needed them.

Note: This was written for the full KDEPIM repo and needs to be updated now that Kleopatra is in it's own repository.

Debian Jessie

apt-get install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libasound2-dev \
libnss3-dev libjson-perl libx11-xcb1 libx11-xcb-dev libxrender-dev git build-essential cmake \
libgpgme11-dev libgcrypt20-dev docbook-xsl libxslt1-dev libboost1.55-all-dev libsasl2-dev libldap2-dev \
libgif-dev libjpeg-dev libpolkit-backend-1-dev libpolkit-agent-1 xsltproc libssl-dev libxcursor-dev \
libxcomposite-dev libxdamage-dev libxrandr-dev libfontconfig1-dev flex bison gperf\
libicu-dev libxslt-dev ruby ^libxcb.* libglu1-mesa-dev libxi-dev perl python libepoxy\
libical-dev libqrencode-dev libprison-dev libxapian-dev libdmtx-dev libfontconfig1-dev\
libfreetype6-dev libx11-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev\
libx11-xcb-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev\
libxcb-sync0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev

Ubuntu Trusty

apt-get build-dep qtbase5-dev
apt-get install libbz2-dev libxslt-dev libxml2-dev shared-mime-info oxygen-icon-theme \
libgif-dev libvlc-dev libvlccore-dev doxygen gperf bzr libxapian-dev fontforge libgcrypt20-dev \
libattr1-dev network-manager-dev libgtk-3-dev xsltproc xserver-xorg-dev \
xserver-xorg-input-synaptics-dev libpwquality-dev modemmanager-dev libepoxy libepoxy-dev \
libpolkit-agent-1-dev libnm-util-dev libnm-glib-dev libegl-mesa-dev \
libqt5x11extras5-dev libboost-all-dev libical-dev libsasl2-dev libgpgme11-dev \
libcap-dev libpci-dev libjson-perl libgstreamer1.0-dev docbook-xsl libxslt1-dev libboost1.55-all-dev \
libldap2-dev libjpeg-dev libpolkit-backend-1-dev libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev \
libxrandr-dev libfontconfig1-dev flex bison libicu-dev ruby ^libxcb.* libx11-xcb-dev libglu1-mesa-dev \
libxrender-dev libxi-dev build-essential perl python git libical-dev libqrencode-dev libprison-dev \
libdmtx-dev

Compiling into a custom prefix

This is an example how to compile Kleopatra and installing it into a custom prefix.

The example prefix is kf5. The example snippets use make -j

Preparing the environment

export CUSTOM_PREFIX=~/kf5
mkdir -p $CUSTOM_PREFIX/src
cd $CUSTOM_PREFIX/src

Qt 5

Note: Kleopatra only needs the following modules (while this documentation builds all qt modules): Qt5Widgets Qt5Gui QtWidgets Qt5Core Qt5Tools Qt5Xml Qt5Newtwork Qt5Svg Qt5PrintSupport Qt5WinExtras (for windows)

cd $CUSTOM_PREFIX/src
git clone git://code.qt.io/qt/qt5.git --branch 5.5
cd qt5
./init-repository
./configure -prefix $CUSTOM_PREFIX/qt5 -opensource -confirm-license -nomake tests -nomake examples -dbus -no-separate-debug-info -xcb -qpa xcb -no-gtkstyle -release -force-debug-info -reduce-relocations -optimized-qmake
make -j`nproc` && make install

KDE Frameworks

You should take a look at the KDE documentation: https://community.kde.org/Frameworks/Building

Here are my notes how I did this:

git config --global url."git://anongit.kde.org/".insteadOf kde: && \
git config --global url."ssh://git@git.kde.org/".pushInsteadOf kde:

cd $CUSTOM_PREFIX/src
mkdir -p extragear/utils
git clone kde:kdesrc-build extragear/utils/kdesrc-build
ln -s extragear/utils/kdesrc-build/kdesrc-build .
wget "http://www.davidfaure.fr/kde/kf5-qt5-kdesrc-buildrc" -O "kdesrc-buildrc"

Now edit the paths in the kdesrc-buildrc.

Example:

global

  qtdir /home/aheinecke/arbeit/kf5/qt5
  source-dir /home/aheinecke/arbeit/kf5/src
  build-dir /home/aheinecke/arbeit/kf5/build
  kdedir /home/aheinecke/arbeit/kf5

  git-repository-base kde-projects kde:

  cmake-options -DCMAKE_BUILD_TYPE:STRING=debug -DKDE4_BUILD_TESTS=false

  make-options -j8

  cxxflags -pipe -DQT_STRICT_ITERATORS -DQURL_NO_CAST_FROM_STRING -DQT_NO_HTTP -DQT_NO_FTP -Wformat -Werror=format-security -Werror=return-type -Wno-variadic-macros -Wlogical-op -Wmissing-include-dirs

  branch-group kf5-qt5

end global

include extragear/utils/kdesrc-build/kf5-qt5-build-include

Now we can start compiling:

./kdesrc-build --include-dependencies kleopatra

Look out for errors and fix them :-)

Runtime Setup

The script attachment:frameworks-env.sh is an example that sets up your environment and adds some convenience build functions. Take a look at the script first and edit paths where necessary.

To use KF5 from your prefix set the following environment variables:

export KF5=$CUSTOM_PREFIX
export QTDIR=$CUSTOM_PREFIX/qt5
export XDG_DATA_DIRS=$KF5/share:$XDG_DATA_DIRS:/usr/share
export XDG_CONFIG_DIRS=$KF5/etc/xdg:$XDG_CONFIG_DIRS:/etc/xdg
export PATH=$KF5/sbin:$KF5/bin:$QTDIR/bin:$PATH
export QT_PLUGIN_PATH=$KF5/lib/plugins:$KF5/lib64/plugins:$KF5/lib/x86_64-linux-gnu/plugins:$QTDIR/plugins:$QT_PLUGIN_PATH
export KDE_SESSION_VERSION=5
export KDE_FULL_SESSION=true

export XDG_DATA_HOME=$KF5/.local/share
export XDG_CONFIG_HOME=$KF5/.config
export XDG_CACHE_HOME=$KF5/.cache

export CMAKE_PREFIX_PATH=$KF5:$CMAKE_PREFIX_PATH

export LD_LIBRARY_PATH=$KF5/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=$KF5/lib/pkgconfig:$PKG_CONFIG_PATH
export KSYCOCA=$CUSTOM_PREFIX/sycoca2

Tipps

Logging

To get a nicer logging pattern:

export QT_MESSAGE_PATTERN="`echo -e "\033[32m%{time h:mm:ss.zzz}%{if-category}\033[32m %{category}:%{endif} %{if-debug}\033[35m%{function}%{endif}%{if-warning}\033[33m%{backtrace depth=3}%{endif}%{if-critical}\033[31m%{backtrace depth=3}%{endif}%{if-fatal}\033[31m%{backtrace depth=3}%{endif}\033[0m %{message}"`"

To configure logging:

export QT_LOGGING_CONF=$CUSTOM_PREFIX/src/logging.rules
echo [Rules] > $CUSTOM_PREFIX/src/logging.rules
echo log_kleopatra.debug=true  >> $CUSTOM_PREFIX/src/logging.rules
echo kdepim.kleopatra.debug=true  >> $CUSTOM_PREFIX/src/logging.rules

VIM

There is a very useful vim script available at: https://techbase.kde.org/Policies/Kdelibs_Coding_Style#Vim Vim users should take a look at it.

  • This site is hosted by Intevation GmbH
  • |
  • Datenschutzerklärung und Impressum
  • |
  • Privacy Policy and Imprint