%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). &lfs79_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 , , , , , , , , , , , , (built with qt5), , , 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), ModemManager (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 ModemManager-QT ModemManager Optional dependencies for Solid , and media-player-info (runtime) Optional dictionary backends for Sonnet Hspell and Hunspell 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 --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 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" 17d59faee6f1742cad3bb0ca28106463 attica-5.21.0.tar.xz #91473997dd136046e1917795711e4b9b extra-cmake-modules-5.21.0.tar.xz 65b7516549e06c9b30eb6fc6c2f241a3 kapidox-5.21.0.tar.xz 125a68c6e5889f6423ecd3e08dbd80ae karchive-5.21.0.tar.xz b562695ce0bb7af496f518d7fefef314 kcodecs-5.21.0.tar.xz 11782bb4555990deafa273f0288d2673 kconfig-5.21.0.tar.xz f3823cbe368197f64ec692e3e6688865 kcoreaddons-5.21.0.tar.xz 9f7719be3da4cf774783cc62ee45ea7b kdbusaddons-5.21.0.tar.xz c2f969a1c574c4c4968f7881e40b8a7b kdnssd-5.21.0.tar.xz 0a84bef225895de02a0df3c1d9b8747e kguiaddons-5.21.0.tar.xz b96cc4d8aa9ae3368463c1a7c647c17f ki18n-5.21.0.tar.xz e3bb0691003ceb42832687f2ca2351cb kidletime-5.21.0.tar.xz f41647a23f3e4c365dfb47a2cad16864 kimageformats-5.21.0.tar.xz 5779445af01badb8ced11df552afe305 kitemmodels-5.21.0.tar.xz 845f3765a3382d5bd60f17fb4f10e83b kitemviews-5.21.0.tar.xz 41743b94bdb0ede561a8adefc694586e kplotting-5.21.0.tar.xz 033efe9faefc98877e40c75a8cbbdfe4 kwidgetsaddons-5.21.0.tar.xz 69b0c1d0ff309f966e83af7e4852cbd9 kwindowsystem-5.21.0.tar.xz ee4cfddcd9f58de29c8af418c9243bd1 networkmanager-qt-5.21.0.tar.xz 0b83cbdd8985c9a2b115523da9db02a9 solid-5.21.0.tar.xz 5c8212774d88fb0038b39e742f1ea7fa sonnet-5.21.0.tar.xz 1f205dd6808ec92268537fdc3db077d9 threadweaver-5.21.0.tar.xz f825418d85c8853c1de0dffb737573de kauth-5.21.0.tar.xz b96f44cb78c6ee6bf553dcbbdfa9e2b2 kcompletion-5.21.0.tar.xz 508b6c0a8657a6da0878549c8df8c7e5 kcrash-5.21.0.tar.xz 74b3c7be0056416027b9fe7abd993bb5 kdoctools-5.21.0.tar.xz b6b51b6832faf2fb52d53e8bd6b62852 kpty-5.21.0.tar.xz b926ae0d615f52a2314c3d0935ea8953 kunitconversion-5.21.0.tar.xz 1c6d1518afb7b5ab1d28812d69ea21bc kconfigwidgets-5.21.0.tar.xz e3c726f8b0ba7254dbda63125362ce17 kglobalaccel-5.21.0.tar.xz e9c3978c9ebb548f24c4c9b903485094 kpackage-5.21.0.tar.xz f3dd9e0abd2a56402d28297ca4308d32 kservice-5.21.0.tar.xz bdb3be4e01bfa3b59c27507baebd85a6 kdesu-5.21.0.tar.xz 8fc30377409b0833f34e5b884555a909 kemoticons-5.21.0.tar.xz 900832d7cf491b67f4ea1f16ca79bad4 kiconthemes-5.21.0.tar.xz 919e821f4ba2c7d4ee46c88983b75e9c kjobwidgets-5.21.0.tar.xz e5f045f1c1e51bbb73d3d4b3a1a77658 knotifications-5.21.0.tar.xz 5c222b40f6af596aa3c9a421b25ac10c ktextwidgets-5.21.0.tar.xz f7ed4eb160d0345780ff54bf365cedb8 kwallet-5.21.0.tar.xz df170e2072519d5b48e6fee2bd0d1a5c kxmlgui-5.21.0.tar.xz 6e2b1a57d02cd44afb8006a70dd80470 kbookmarks-5.21.0.tar.xz 9ffc4e4ee5e63def230249942d85a344 kio-5.21.0.tar.xz 1a2b4592d7095426f29a872135d21be0 kdeclarative-5.21.0.tar.xz 81f389f4b4374f1cc4c8ed00ad43d559 kcmutils-5.21.0.tar.xz 5c49bcff088db6b9d37977a53b1e561b frameworkintegration-5.21.0.tar.xz 7ef5abc8f61026be09855a7a28bbddf4 kinit-5.21.0.tar.xz 0790e977930f295164a4f123b78024e0 knewstuff-5.21.0.tar.xz 98fb2dad8172533ce8ecd392c0e370f3 knotifyconfig-5.21.0.tar.xz 926a7bfbaedcd988c4105f81609373e7 kparts-5.21.0.tar.xz ef38903e74bb1afafb99be31204c6c38 kactivities-5.21.0.tar.xz fc020d7d693d37ea858bd647c4c545f8 kded-5.21.0.tar.xz 0be4bf0fb45b1de787cd8f438cc277ce kdewebkit-5.21.0.tar.xz fadc9c3d3a35fb65e05160a400d45b59 ktexteditor-5.21.0.tar.xz 1dfa4a67a038c4ae76b7def25eb9504f kdesignerplugin-5.21.0.tar.xz d2ba9565e7f5338bfd96976fcc65c34f plasma-framework-5.21.0.tar.xz #cb052a66a7e7083d6d222720e2de8076 modemmanager-qt-5.21.0.tar.xz 1187211cdeb40a5a88021448fd57a806 kpeople-5.21.0.tar.xz 678cee98503052a3fd7872a99fc1b46b kxmlrpcclient-5.21.0.tar.xz 245971e2fe0d4eb86545efef311be4a9 bluez-qt-5.21.0.tar.xz 13b348dd4fed495fbdc6cc2852dfc7ba kfilemetadata-5.21.0.tar.xz 67191a45e4630dd61949ee5500fcfc1c baloo-5.21.0.tar.xz #2d293916db5ea309e2f4b3659c394a79 breeze-icons-5.21.0.tar.xz #630bdf3621e233f0f8ca5b0fdb7c0a65 oxygen-icons5-5.21.0.tar.xz 3698b95f2dae16a041445872607ccf0b kactivities-stats-5.21.0.tar.xz c8f2a9b67efd71289575432ed3956b15 portingAids/kjs-5.21.0.tar.xz 8111517907d13ee33a59e7894f358feb portingAids/kdelibs4support-5.21.0.tar.xz eb093d1333dddc7105fd5773d573af00 portingAids/khtml-5.21.0.tar.xz a8059f73f22b60cd96f222dc3bb73f4f portingAids/kjsembed-5.21.0.tar.xz 5e2c06f891df06013607ccb9b1118096 portingAids/kmediaplayer-5.21.0.tar.xz 3bbbe20155703ae8b013c6bced6e7a11 portingAids/kross-5.21.0.tar.xz bc2a4799f93063f747d457f5021dbe48 portingAids/krunner-5.21.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. Installation of KDE Frameworks &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 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. -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. Contents Installed Programs Installed Libraries Installed Directories There are 53 programs installed in /opt/kf5/bin. There are too many kf5 libraries (79) 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