Version 4 (modified by 3 years ago) ( diff ) | ,
---|
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.