wiki:kf5

Version 4 (modified by Ivan Wagner, 14 months ago) ( diff )

FYI about polkit and /opt/kf5

KDE Frameworks 5 Pre-installation Configuration

If you have installed Polkit and are installing KDE in /opt/kf5 then you should run ln -sfv /usr/share/polkit-1 $KF5_PREFIX/share

kf5

Kf5 ('frameworks') is the basis of kde-5. At the moment (September 2015) not all the applications have been converted to use this - for those which have not, try the frameworks branch from their git trees.

If you intend to build plasma (the desktop environment), most of these packages will be required.

possible omissions

A few comments on things which can (or cannot) be omitted

kapidox

As of 5.14.0 nothing in the release uses this, which is why the optional Python runtime deps are not in the book.

avahi

Although this is recommended as the backend for kdnssd, if you are not going to use zeroconf then you do not need it.

NetworkManager

If you are going to build plasma, this (and networkmanager-qt) is required.

bluez-qt

You can omit this, and therefore bluez, if you are not using bluetooth.

ModemManager-qt

Not required if you do not use a modem.

Plasma

Some brief notes for anybody trying to build plasma which is not yet in the main book. An earlier version is in the systemd book but a few things have changed with kf5-5.13 and plasma 5.4.0.

First, you need to build wayland (see the systemd book), and then (re)build Mesa using

--with-egl-platforms='drm,x11,wayland'

You will need to follow kf5 with:

kde-cli-tools,
kdecoration,
kfilemetadata (as of kf-5.13 this is in kf5),
kio-extras (this is now in the applications part of kde),
kwayland,
libkscreen,
libksysguard,
baloo : as of kf5-5.13.0 this is now in kf5 and it requires lmdb instead of xapian,
breeze,
kwin,
oxygen,
oxygen-fonts (NB if you use the "fixed" oxygen font in konsole, the cursor position is stupidly wide),
oxygen-icons,
khelpcenter,
kinfocenter,
ksysguard,
systemsettings,
plasma-workspace,
khotkeys,
kmenuedit,
kscreen,
kwrited,
milou,
(plasma-nm can be omitted if you only use wired ethernet),
plasma-workspace-wallpapers,
polkit-kde-agent,
powerdevil,
plasma-desktop,
kdeplasma-addons

Follow with whichever applications you require. At the moment (September 2015), several are flakey, but then konqueror-4 has always crashed for me on common websites, so no change there.

The desktop clock in plasma requires that /etc/localtime is a symlink : if it is a file, the clock will be wrong. For LFS (sysvinit) such a change was rejected, but providing /usr is not a separate filesystem you can fix this:

test -h /etc/localtime || mv -v /etc/localtime{,.orig}
ln -sv /usr/share/zoneinfo/GB /etc/localtime

obviously, change GB to whichever timezone you selected in LFS.

If you are using a desktop manager such as sddm, with qt in /opt/qt5 and both kf5 and plasma in /opt/kf5 you will need to fix up plasma.desktop to invoke a wrapper script which ensures everything can be found.

cp -v $KF5_PREFIX/share/xsessions/plasma.desktop /usr/share/xsessions/plasma.desktop

#!/bin/bash
# based on https://community.kde.org/Plasma/Building
# but altered for BLFS

export KF5_PREFIX=$KF5_PREFIX
export QT5DIR=$QT5DIR
export kdehome=$KF5_PREFIX

echo \$PATH | grep -q kf5 || export PATH=$KF5_PREFIX/bin:\$PATH
export XDG_CONFIG_DIRS=/etc/xdg:/opt/kf5/etc/xdg
export XDG_DATA_DIRS=/usr/share:/opt/kf5/share
echo \$QT_PLUGIN_PATH | grep -q kf5 || export QT_PLUGIN_PATH=$KF5_PREFIX/lib/plugins
echo \$QML_IMPORT_PATH | grep -q kf5 || export QML_IMPORT_PATH=$KF5_PREFIX/lib/qml

echo \$PATH | grep -q qt5 || export PATH=/opt/qt5/bin:\$PATH
echo \$QT_PLUGIN_PATH | grep -q qt5 || export QT_PLUGIN_PATH=/opt/qt5/plugins:\$QT_PLUGIN_PATH
echo \$QML_IMPORT_PATH | grep -q qt5 || export QML_IMPORT_PATH=/opt/qt5/qml:\$QML_IMPORT_PATH

export QML2_IMPORT_PATH=\$QML_IMPORT_PATH

exec startkde
EOF

chmod +x /usr/share/xsessions/runPlasma5.sh

sed -i -e 's%Exec=.*%Exec=/usr/share/xsessions/runPlasma5.sh%' \
       -e 's%TryExec=.*%TryExec=/usr/share/xsessions/runPlasma5.sh%' \
        /usr/share/xsessions/plasma.desktop

versions

This has been tested with kf5-5.13 and 5.14. A new version requires the corresponding extra-cmake-modules, after you install that, any attempt to build an older version of a kf5 package will probably fail.

static libs

*many* of the kf5 packages require libKF5XsltKde.a from kdoctools. Several packages (kjsembed, kross, kwidgetsaddons, kwin) require libQt5UiTools.a.

Up
Top

Note: See TracWiki for help on using the wiki.