%general-entities; ]> $LastChangedBy$ $Date$ Building KDE Frameworks 5 (KF5) KDE Frameworks 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). &lfs83_checked; The instructions below build all of the KDE Frameworks packages in one step by using a bash script. Package Information Download (HTTP): Download (FTP): Download MD5 sum: &kf5-md5sum; Download size: &kf5-size; Estimated disk space required: &kf5-buildsize; Estimated build time: &kf5-time; KF5 Dependencies Required , , , , , , , , , , , , , , and (required to download the packages) Recommended (Dictionary backend for Sonnet), (DNS-SD backend for KDNSSD), (built with qt5), (needed to build NetworkManager-Qt), and (Authentication backend for KAuth) Optional (needed to build Bluez-Qt), (needed to build ModemManager-Qt) Runtime dependency for FrameworkIntegration and Runtime dependencies for kapidox , Jinja2 , and PyYAML Additional image formats support in KImageFormats and OpenEXR Optional dependencies for KIO Optional dependencies for Solid , and media-player-info (runtime) Optional dependency for KWallet gpgmepp Optional dictionary backends for Sonnet Hspell and Hunspell Required dependencies for Prison Datamatrix and QRencode User Notes: Downloading KDE Frameworks 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/&kf5-short-version;/ wget -r -nH -nd -A '*.xz' -np $url The options used here are: -r recurse through child directories -nH disable generation of host-prefixed directories -nd do not create a hierarchy of directories -A '*.xz' just get the *.xz files -np don't get parent directories Setting Package Order The order of building files is important due to internal dependencies. Create the list of files in the proper order as follows: cat > frameworks-&kf5-version;.md5 << "EOF" 56fbdc261e2821bb20775f1346d07321 attica-5.53.0.tar.xz #a57cf2aa488fdcce7323a2a4b9aecb65 extra-cmake-modules-5.53.0.tar.xz 4ecdd6e9ab36b9bbdbe183f042eecb62 kapidox-5.53.0.tar.xz 81b62cf06f46166c16c194c88a2cc0fe karchive-5.53.0.tar.xz 968d1595082a3e167204a3b9585aa815 kcodecs-5.53.0.tar.xz 94c1924e39827a9bdfe19d1746383553 kconfig-5.53.0.tar.xz #6c568d586c85e82b1d81221818862761 kcoreaddons-5.53.0.tar.xz 919bc0c53aa22cb45705ec1761198508 kcoreaddons-5.53.1.tar.xz 750d39201cca1bd29a1c6e10d33e77c0 kdbusaddons-5.53.0.tar.xz b3547e0cca796eedfada7a850969f307 kdnssd-5.53.0.tar.xz f2dee5c934be5a795c8caae2c9ef9c2f kguiaddons-5.53.0.tar.xz 95e67ba518ac2983e33ce8370bf0d3cd ki18n-5.53.0.tar.xz 176fb9a35f39ff79694c2a14be20ad44 kidletime-5.53.0.tar.xz ea2af0d9b0b3cd76b2f78e929c417f6f kimageformats-5.53.0.tar.xz f4d5826a20517d81387d20afb558ad0a kitemmodels-5.53.0.tar.xz ec88c97513d84ce37de888721a3012bb kitemviews-5.53.0.tar.xz 34125fa1563feb9af831b1f7e05629ae kplotting-5.53.0.tar.xz d73f5e3087bac6610b217df937024f5a kwidgetsaddons-5.53.0.tar.xz 6f7d0cc6d6fda9795035426ca14011ee kwindowsystem-5.53.0.tar.xz 0c55c1c31cc8c78b748d09cd5e4da395 networkmanager-qt-5.53.0.tar.xz b7ca9416caae95bb56d72e062a31023b solid-5.53.0.tar.xz fd28bda2bd2c1c0d40e477930394ed14 sonnet-5.53.0.tar.xz 58eda3124d5b24282e20471ed8275816 threadweaver-5.53.0.tar.xz a98963e45c078d47f57e0f43c369baf2 kauth-5.53.0.tar.xz 113a86c053589b02024fe2e2052968b1 kcompletion-5.53.0.tar.xz cabf02514d5ef0d5b25c44ff7d708ac3 kcrash-5.53.0.tar.xz 905d494671f33de9827c9a4467c0bdc7 kdoctools-5.53.0.tar.xz 102ec25afd116f79bb78699e3bf90bd7 kpty-5.53.0.tar.xz 89e6c4d46895f827fc36cab1b3782bf1 kunitconversion-5.53.0.tar.xz 295ec19de064d7ce1e0d5a89b8a21fbb kconfigwidgets-5.53.0.tar.xz fd8aa91bad5b676a1d0c90588ff2220c kservice-5.53.0.tar.xz ae6ea47653d2828821ec897b7e723134 kglobalaccel-5.53.0.tar.xz 532cd48d56e1adc7f716d4721a78bfe1 kpackage-5.53.0.tar.xz 253c8af01d93472f5940fd6f7fb33271 kdesu-5.53.0.tar.xz cf48b7990b0026a6eb193bff21eb2ad8 kemoticons-5.53.0.tar.xz 234017ec51e4dc3f02989af75121e8f5 kiconthemes-5.53.0.tar.xz 3437728b6b9a09a59720d86392c05624 kjobwidgets-5.53.0.tar.xz ec855d38c17ab4bba8d07b5e8532d6c7 knotifications-5.53.0.tar.xz 41089d37d64582213161d5ea55833afa ktextwidgets-5.53.0.tar.xz b4c155182fd4ce55a40c9805fb405952 kxmlgui-5.53.0.tar.xz f047e46e6b2ff7555a35678dbfaf06d5 kbookmarks-5.53.0.tar.xz 69bab15cc17486a5fcb73a811df6bd46 kwallet-5.53.0.tar.xz 23e7ef2aedfca8e77907d50d5bcfcb7e kio-5.53.0.tar.xz 89d9a968e01ad5c5937628dfc0b107f1 kdeclarative-5.53.0.tar.xz 62046f1c778dbc0cb1d4cdf2964006c6 kcmutils-5.53.0.tar.xz 66df9ccd7ad082f04aaa5d602f6c9744 kirigami2-5.53.0.tar.xz f9b94bfbfc7658ff675c6f81085172f7 knewstuff-5.53.0.tar.xz 9957a52e9b75dd61a62f3ad7a61e299a frameworkintegration-5.53.0.tar.xz f4c46a0a8e3e0cd7134c82895b47bb83 kinit-5.53.0.tar.xz 6df039f32bce1f4c0f487a8997526d2f knotifyconfig-5.53.0.tar.xz 81379bd6d6adf476d776c74874594c09 kparts-5.53.0.tar.xz c05f22156c27da1ad2f7d2d07026b2e8 kactivities-5.53.0.tar.xz 8edde556c89c783dbd6bd9956f52e0cf kded-5.53.0.tar.xz #fea737d2db9d792bdc24eb3de83276cc kdewebkit-5.53.0.tar.xz 62d67899a9cd5cd6b93761ebafd88942 syntax-highlighting-5.53.0.tar.xz fec5ca67093aa83378d2b0daae131a43 ktexteditor-5.53.0.tar.xz 1d4e9805bb6d3748b01140fdb0ecff41 kdesignerplugin-5.53.0.tar.xz 89674cb577a239da0c6decddb62e8e28 kwayland-5.53.0.tar.xz b083d295d7f2ba6236ca466b0cdaca64 plasma-framework-5.53.0.tar.xz #21d412157131d544fe2fd76e230af5e8 modemmanager-qt-5.53.0.tar.xz 4a734ace32596aa1a08922a291dc117f kpeople-5.53.0.tar.xz 130b79df792e0cd4be15a0f9fec54278 kxmlrpcclient-5.53.0.tar.xz a95dc95f2ab7b4892d3cb166516b6c73 bluez-qt-5.53.0.tar.xz e2d2de67f9dcbdabc950ef0a3ad5d5c5 kfilemetadata-5.53.0.tar.xz deed1d430e5c9b73008ca45c78df9ee3 baloo-5.53.0.tar.xz #a556bc1666851b8437ccaafd8cefe1d2 breeze-icons-5.53.0.tar.xz #0a7d75f573c34fc1d2781cea90c2074e oxygen-icons5-5.53.0.tar.xz 74f48c21cc7ccf14fcc441b7ec53ae65 kactivities-stats-5.53.0.tar.xz 284425457f8270e91e94d13d1a522cce krunner-5.53.0.tar.xz #49f35779816680e7da357abba972ceb0 prison-5.53.0.tar.xz b873771ad44ec37625a79d7a41e8679f qqc2-desktop-style-5.53.0.tar.xz 14303adfba7c862f0a7f4761f90d079b kjs-5.53.0.tar.xz 4cc726dd1c9633b8c41e64b6c41264d5 kdelibs4support-5.53.0.tar.xz 3c483e076a47512970fa887eaf50c276 khtml-5.53.0.tar.xz 91b293e616518e7603ef4063c748b324 kjsembed-5.53.0.tar.xz 2b0aa8e7fc91286e8b5df927f77babb8 kmediaplayer-5.53.0.tar.xz 690b0c422b7b22b7adf030be6a178e59 kross-5.53.0.tar.xz 680e4656504ef2fc0e25c6a60e53a39e kholidays-5.53.0.tar.xz 13631f878f957b8a5c3103336f856b92 purpose-5.53.0.tar.xz 0fe62a714eadf8e52a0f99e49ad647ae syndication-5.53.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 . The icon packages are covered separately at and . The modemmanager-qt package may be built if its optional dependency has been installed. The prison package (bar code reader) may be built if the required external libraries are installed. The kdewebkit may be built if the external package QtWebkit has been built. Installation of KDE Frameworks &as_root; If installing in /opt and there is an existing /opt/kf5 either as a regular directory or a symbolic link, it should be reinitialized (as root): mv -v /opt/kf5 /opt/kf5.old && install -v -dm755 $KF5_PREFIX/{etc,share} && ln -sfv /etc/dbus-1 $KF5_PREFIX/etc && ln -sfv /usr/share/dbus-1 $KF5_PREFIX/share 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 \ -DBUILD_TESTING=OFF \ -Wno-dev .. make as_root make install popd as_root rm -rf $packagedir as_root /sbin/ldconfig done < frameworks-&kf5-version;.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-&kf5-version; ln -sfvn kf5-&kf5-version; /opt/kf5 Command Explanations -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. -DBUILD_TESTING=OFF: This switch is used to prevent building test programs and libraries that are of no use to an end user. Contents Installed Programs Installed Libraries Installed Directories There are 48 programs installed in /opt/kf5/bin. There are too many kf5 libraries (191) to list separately. /opt/kf5 (symlink to /opt/kf5-&kf5-version;) Short Descriptions checkXML5 is a tool to check for syntax errors in KDE DocBook XML files. checkXML5 depdiagram-generate is a tool to generate a dependency diagram. depdiagram-generate depdiagram-generate-all is a tool to generate a dependency diagram for all frameworks at once.. depdiagram-generate-all depdiagram-prepare is a tool to prepare dot files. depdiagram-prepare desktoptojson is a tool to convert a .desktop file to a .json file. desktoptojson kactivitymanagerd is the KDE Plasma Workspace Activity Manager. kactivitymanagerd kbuildsycoca5 rebuilds the KService desktop file system configuration cache. kbuildsycoca5 kcookiejar5 is a command line interface to the HTTP cookie store used by KDE, a D-BUS service to store/retrieve/clean cookies. kcookiejar5 kded5 consolidates several small services in one process. kded5 kdeinit5 is a process launcher somewhat similar to the famous init used for booting UNIX. kdeinit5 kf5-config is a command line program used to retrieve information about KDE installation or user paths. kf5-config kf5kross executes kross scripts written in KDE Javascript, Python, Ruby, Java and Falcon. kf5kross kgenapidox is a tool to generate API documentation in the KDE style. kgenapidox kgendesignerplugin generates widget plugins for Qt(TM) Designer. kgendesignerplugin kglobalaccel5 is a daemon use to register the key bindings and for getting notified when the action triggered. kglobalaccel5 kjs5 is KDE ECMAScript/JavaScript engine. kjs5 kjscmd5 is a tool for launching KJSEmbed scripts from the command line. kjscmd5 kjsconsole is a console for kjs5. kjsconsole kmailservice5 is a mail service. kmailservice5 kpackagelauncherqml is a commandline tool for launching kpackage QML application kpackagelauncherqml kpackagetool5 is a command line kpackage tool. kpackagetool5 kreadconfig5 is a command line tool to retrieve values from KDE configuration files. kreadconfig5 kshell5 start applications via kdeinit. kshell5 ktelnetservice5 is a telnet service. ktelnetservice5 ktrash5 is a helper program to handle the KDE trash can. ktrash5 kwalletd5 is the wallet manager daemon. kwalletd5 kwriteconfig5 is a command line tool to write values in KDE configuration files. kwriteconfig5 meinproc5 converts DocBook files to HTML. meinproc5 plasmapkg2 is a tool to install, list, remove Plasma packages plasmapkg2 preparetips5 is a script to extract the text from a tips file. preparetips5 solid-hardware5 is a command line tool to investigate available devices. solid-hardware5