KDE Frameworks 5 is a collection of libraries based on top of Qt5 and QML derived from the monolithic KDE 4 libraries. They can be used independent of the KDE Display Environment (Plasma 5).
This package is known to build and work properly using an LFS-7.8 platform.
The instructions below build all of the KDE Frameworks packages in one step by using a bash script.
Download (HTTP): http://download.kde.org/stable/frameworks/5.14
Download (FTP): ftp://ftp.kde.org/pub/kde/stable/frameworks/5.14/
Download MD5 sum: See Below
Download size: 31 MB
Estimated disk space required: 1.0 GB
Estimated build time: 43 SBU
Boost-1.59.0, extra-cmake-modules-5.14.0, docbook-xml-4.5, docbook-xsl-1.78.1, giflib-5.1.1, libepoxy-1.3.1, libgcrypt-1.6.3, libjpeg-turbo-1.4.1, libpng-1.6.18, libxslt-1.1.28, phonon-4.8.3 (built with qt5), shared-mime-info-1.4, URI-1.69, and Wget-1.16.3 (required to download the packages)
Avahi-0.6.31 (DNS-SD backend for KDNSSD), Aspell-0.60.6.1 (Dictionary backend for Sonnet), libdbusmenu-qt-0.9.3+15.10.20150604 (built with qt5), and polkit-qt-0.112.0 (Authentication backend for KAuth)
BlueZ-5.34 (needed to build Bluez-Qt), NetworkManager-1.0.6 (needed to build NetworkManager-Qt), ModemManager (needed to build ModemManager-Qt)
Doxygen-1.8.10, Jinja2, and PyYAML
UDisks-2.1.6, UPower-0.9.23 and media-player-info (runtime)
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/kf5
The easiest way to get the KDE Frameworks packages is to use a single wget to fetch them all at once:
url=http://download.kde.org/stable/frameworks/5.14/
wget -r -nH --cut-dirs=3 -A '*.xz' -np $url
The options used here are:
-r recurse through child directories
-nH disable generation of host-prefixed directories
--cut-dirs=3 remove three levels of directories when saving
-A '*.xz' just get the *.xz files
-np don't get parent directories
The order of building files is important due to internal dependencies. Create the list of files in the proper order as follows:
cat > frameworks-5.14.0.md5 << "EOF"
206256ed0dda3161d73a61d29835b04b attica-5.14.0.tar.xz
#5c5db16c6038e63e7b741fa32e4eaddd extra-cmake-modules-5.14.0.tar.xz
6852e7e3c52f18dc0f08811440f7159a kapidox-5.14.0.tar.xz
1250214279c42c5802f998ee1f2b91b8 karchive-5.14.0.tar.xz
5089c3e4f3f9e97a9be526a17264268e kcodecs-5.14.0.tar.xz
a4b12b753b855d8fa1240b499bc17135 kconfig-5.14.0.tar.xz
3b6b2ac66ff2c436c7b8af6d1ca426be kcoreaddons-5.14.0.tar.xz
f549e9e7c7340df301b52530817ced0a kdbusaddons-5.14.0.tar.xz
60c2eb4b4bc7227213bc1b570be75cfd kdnssd-5.14.0.tar.xz
d2eccbda7aa054cfb4e6f0bd3c79aa3f kguiaddons-5.14.0.tar.xz
a6d89fc546487e02dc921a7c21cb782d ki18n-5.14.0.tar.xz
821deeab6cbd9e37c8e676c7ca0f2eac kidletime-5.14.0.tar.xz
187a448cbfd6302bba9bb45a812322b8 kimageformats-5.14.0.tar.xz
3b0dbc6a5c684ac6d2831df8c7f6d262 kitemmodels-5.14.0.tar.xz
06a1fbd90019b98f037d59554c6cec84 kitemviews-5.14.0.tar.xz
69b884e9c9e5705c92e495737b8f5a4d kplotting-5.14.0.tar.xz
c0bff34af9beb98133342541cc0ef1cd kwidgetsaddons-5.14.0.tar.xz
a50dbdb6c25499bbd958e6df4a5b293d kwindowsystem-5.14.0.tar.xz
#ea34cd8d1093724fc60da6e2555f2750 networkmanager-qt-5.14.0.tar.xz
8e487975994ba2c5811f6830609c73de solid-5.14.0.tar.xz
19ee48d23eb44e3ba5c101112474775e sonnet-5.14.0.tar.xz
35411b704157912a305c3d4b2b1b5a32 threadweaver-5.14.0.tar.xz
ea724c2152b88149893784a234c5bbcc kauth-5.14.0.tar.xz
d330c841ddf9d3857543daff933471af kcompletion-5.14.0.tar.xz
faa443c8a45cb942e2f2b2ae647c695b kcrash-5.14.0.tar.xz
48a3a630dc242ba9de061a565b608ea9 kdoctools-5.14.0.tar.xz
a08cbe17b90a6757affb443cb7cbd499 kpty-5.14.0.tar.xz
ff33baab025aaa15776c5a47036f2aa9 kunitconversion-5.14.0.tar.xz
e58351e0a9feb51885593c208060fb1c kconfigwidgets-5.14.0.tar.xz
e768f46da97986de5ae853be0af40632 kglobalaccel-5.14.0.tar.xz
989e314e2c6ac4a1657f9096d17e1766 kpackage-5.14.0.tar.xz
6bdf66cffc9b3028b4367e7a5e48f571 kservice-5.14.0.tar.xz
0daa6599557fd00f1679245b38971f21 kservice-5.14.1.tar.xz
eca764e18afbcef5496183c96c613c91 kservice-5.14.2.tar.xz
c5004c66f5037ef838421665a08828b1 kservice-5.14.3.tar.xz
7bb862e6a4897554f224741f9d16f0c2 kdesu-5.14.0.tar.xz
2eed2c3af124630323aa550cc1fa9378 kemoticons-5.14.0.tar.xz
d206ae75a9f950e026c7923b272ddc3e kiconthemes-5.14.0.tar.xz
037b07877f3a3cd514b9c19b069872f6 kjobwidgets-5.14.0.tar.xz
dc062d457181a4e1f0b6853cbf55666d knotifications-5.14.0.tar.xz
0a0fb3b469fc2e532b6bf9ab19fe8967 ktextwidgets-5.14.0.tar.xz
9c6ddf667c3a4dfca3f617ec22f3b6bc kwallet-5.14.0.tar.xz
dada98dd85d6f60596f36063aeda1a66 kxmlgui-5.14.0.tar.xz
5df918cc7e7143fca74b00eb7210502c kbookmarks-5.14.0.tar.xz
aad540c6a23327756c259afe72e531d1 kio-5.14.0.tar.xz
46c2fbccef981359cb9af1c73bd8eada kdeclarative-5.14.0.tar.xz
fdb3eaa651bf61bbdcef094f281b9caf kcmutils-5.14.0.tar.xz
d5094cba8ca4d280d6e817d334fb2dc1 frameworkintegration-5.14.0.tar.xz
18300dc5a57f07e7d81fba87ca55921b kinit-5.14.0.tar.xz
17e952f64c00a844d23f56381fa53f5b knewstuff-5.14.0.tar.xz
e66f03050ce37783261c56adea9dd244 knotifyconfig-5.14.0.tar.xz
74170ab4a66416be46efc6c8f73f7031 kparts-5.14.0.tar.xz
fd307cea16adbb0eca5cf2349bb2b88a kactivities-5.14.0.tar.xz
5a14cc490517fad7b087057b3ec34265 kded-5.14.0.tar.xz
83039b3a1fc1098f904cfa5afaa38e57 kdewebkit-5.14.0.tar.xz
2c5c660aea6c55c3f21f29cc3f1df604 ktexteditor-5.14.0.tar.xz
d560c5c583abe4741b1794b9108ee324 kdesignerplugin-5.14.0.tar.xz
c0900fcf4a78902a99eeaa7ae3d012e7 plasma-framework-5.14.0.tar.xz
#644a45b79fd1106a68f0478d89e891e8 modemmanager-qt-5.14.0.tar.xz
d2122e29193fbbea680c82d9bd442a00 kpeople-5.14.0.tar.xz
7e66a2d58a299a125336b9e81600b686 kxmlrpcclient-5.14.0.tar.xz
#ed07b3649612f4692b8e6714cbf1e6ca bluez-qt-5.14.0.tar.xz
73a2904c00ba6c1aca8a2efde26a552f kfilemetadata-5.14.0.tar.xz
#0e708135232432d371596d22ed864e3e baloo-5.14.0.tar.xz
349a11564686f99666071b2327910f61 portingAids/kjs-5.14.0.tar.xz
feb4bb63b373a4fdf7084be2a904d447 portingAids/kdelibs4support-5.14.0.tar.xz
d3e33cf31a47b33259d3bf2b5385f751 portingAids/khtml-5.14.0.tar.xz
b98728da482f20bf0331ddbb56429622 portingAids/kjsembed-5.14.0.tar.xz
e803fc78fb1acf9884621cca1e81fe88 portingAids/kmediaplayer-5.14.0.tar.xz
057ed7d554d16bb5439496e0537c2ed3 portingAids/kross-5.14.0.tar.xz
8125ed94b4b2a19fef7430b0cc649212 portingAids/krunner-5.14.0.tar.xz
EOF
In the above list, notice that some files have been commented out with a hash (#) character. The extra-cmake-modules entry has been commented out because it was built earlier in the Introduction to KDE. The others may be built if the optional dependencies have been installed.
When installing multiple packages in a script, the installation needs to be done as the root user. There are three general options that can be used to do this:
Run the entire script as the root user (not recommended).
Use the sudo command from the Sudo-1.8.14p3 package.
Use su -c "command arguments" (quotes required) which will ask for the root password for every iteration of the loop.
One way to handle this situation is to create a short bash function that automatically selects the appropriate method. Once the command is set in the environment, it does not need to be set again.
as_root() { if [ $EUID = 0 ]; then $* elif [ -x /usr/bin/sudo ]; then sudo $* else su -c \\"$*\\" fi } export -f as_root
If inatalling in /opt and there is an existing /opt/kf5 either as a regular directory or a symbolic link, it should be removed (as root):
rm -rf /opt/kf5
First, start a subshell that will exit on error:
bash -e
Install all of the packages by running the following commands:
while read -r line; do # Get the file name, ignoring comments and blank lines if $(echo $line | grep -E -q '^ *$|^#' ); then continue; fi file=$(echo $line | cut -d" " -f2) pkg=$(echo $file|sed 's|^.*/||') # Remove directory packagedir=$(echo $pkg|sed 's|\.tar.*||') # Package directory tar -xf $file pushd $packagedir mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \ -DCMAKE_PREFIX_PATH=$QT5DIR \ -DCMAKE_BUILD_TYPE=Release \ -DLIB_INSTALL_DIR=lib \ -DBUILD_TESTING=OFF \ -Wno-dev .. make as_root make install popd rm -rf $packagedir as_root /sbin/ldconfig done < frameworks-5.14.0.md5 exit
Any modules that have been omitted can be installed later by using the same mkdir build; cd build; cmake; make; make install procedure as above.
Sometimes the installation paths are hardcoded into installed files. If the installed directory is not /usr, rename the directory and create a symlink:
mv -v /opt/kf5 /opt/kf5-5.14.0 ln -sfvn kf5-5.14.0 /opt/kf5
-DCMAKE_PREFIX_PATH=$QT5DIR
: This
switch is used to allow cmake to find the proper Qt libraries.
-DCMAKE_BUILD_TYPE=Release
:
This switch is used to apply higher level of the compiler
optimizations.
-DLIB_INSTALL_DIR=lib
: This
switch is used to get libraries to install to $KF5_PREFIX/lib
instead of $KF5_PREFIX/lib64
on a 64 bit system.
-DBUILD_TESTING=OFF
: This
switch is used to prevent building test programs and libraries that
are of no use to an end user.
Last updated on 2015-09-30 11:10:36 -0700