%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). &lfs7a_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 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" 000a8c34e6c4e548f53493c4519c3c1c attica-5.25.0.tar.xz #043c08482bf7cf951e18d32e16238fb4 extra-cmake-modules-5.25.0.tar.xz 892840e6b323ba1d4687e75678cf9493 kapidox-5.25.0.tar.xz 7205f46ad213e85a736da5f808b5b8df karchive-5.25.0.tar.xz 089c46445618fbc36c11de7eccd61256 kcodecs-5.25.0.tar.xz 03112534b86d98716cf61865d0ea2497 kconfig-5.25.0.tar.xz 25a40738d380e465ae5161cbaa2b282c kcoreaddons-5.25.0.tar.xz cd6d6dbfc47cb82a7fb0b81adc24aad7 kdbusaddons-5.25.0.tar.xz 31c35cb2b97f150d103484501cc55aca kdnssd-5.25.0.tar.xz bfba32b6ee6f1288fef0d7156bf81961 kguiaddons-5.25.0.tar.xz 051c7cab151f9d361d6da83968fb68d2 ki18n-5.25.0.tar.xz aba67367441db87daf4705e5cd0b4449 kidletime-5.25.0.tar.xz 610989615ba775f55bf07f1b5f5b3bf9 kimageformats-5.25.0.tar.xz 83b9a034bbfaedf0cc12191157899006 kitemmodels-5.25.0.tar.xz 324c058163bb418b26d9cba403e5133d kitemviews-5.25.0.tar.xz 6906f6da8a6d680cd86d1ee96f80bf2b kplotting-5.25.0.tar.xz c4b6185dac9cecd6af6eea3b56f2271f kwidgetsaddons-5.25.0.tar.xz ae52891201ea66b15d94a4f5a2717a5f kwindowsystem-5.25.0.tar.xz 45b8586afc97200ea687996fc5ce2327 networkmanager-qt-5.25.0.tar.xz 3ca487d5660ee83d0b2165e525ea5795 solid-5.25.0.tar.xz 1863877132650a61510ee37c894a43c5 sonnet-5.25.0.tar.xz 6e0e0668f25d508aca4c527f762e7701 threadweaver-5.25.0.tar.xz 059033f3a41d6733bc92ed6f3fece2ef kauth-5.25.0.tar.xz ce3839d146dc522a3595085833bf10ea kcompletion-5.25.0.tar.xz ecf5dde757c1cf5e3d00d3cfe661474d kcrash-5.25.0.tar.xz 9dc819d8f5402b252b71610102685939 kdoctools-5.25.0.tar.xz 904db48ad9e21de2df42738775261b23 kpty-5.25.0.tar.xz e4a9229d95ae7ebaa094d104eb8bc633 kunitconversion-5.25.0.tar.xz 03bc05f0c72386a143d1b002178f95f6 kconfigwidgets-5.25.0.tar.xz 3cc65c5082a9bdaa2c93ea01323fb814 kservice-5.25.0.tar.xz 8b2a252d99308aece33663cf9522c43a kglobalaccel-5.25.0.tar.xz 237995199b61f5dd48e862c12fe7779e kpackage-5.25.0.tar.xz f85faafcbdbf994bdb8b4cbcd7c85f03 kdesu-5.25.0.tar.xz 7a38172342fa120969b73d868e2b4211 kemoticons-5.25.0.tar.xz 45eb7f6ad57eca1f2f5ad3d58a56bef8 kiconthemes-5.25.0.tar.xz edbdaa821afa328331e46e3d959924ca kjobwidgets-5.25.0.tar.xz 4ef30449b46b701ddf6482d36378e1ec knotifications-5.25.0.tar.xz b7455b06e270b9e057f1ebe137676687 ktextwidgets-5.25.0.tar.xz d64ee5eb63d0490b36a1cc9c0ebf126d kwallet-5.25.0.tar.xz 5ca8391964c2743c32e3eb46c975943c kxmlgui-5.25.0.tar.xz 73827857016fb3444101929fbd9fcd83 kbookmarks-5.25.0.tar.xz 0077d90029c34f734fb661912f2213d1 kio-5.25.0.tar.xz c76d293ffa8bcae4771b78e553d26f53 kdeclarative-5.25.0.tar.xz 139af7a01a29e7dbd81f25adae1df9b2 kcmutils-5.25.0.tar.xz d63e9454ee42955c44cad1cc78a98d44 frameworkintegration-5.25.0.tar.xz 0b8fcc6d1ef2ff1775ec23dfa34b5de6 kinit-5.25.0.tar.xz 2ea7e17162776681193f67d66821182d knewstuff-5.25.0.tar.xz 61f5e3d3095a7b0cb87d1693c9b1ad05 knotifyconfig-5.25.0.tar.xz 52ddaccaa5848bdfb39b241adf32b63a kparts-5.25.0.tar.xz 42881c6c06ff8a3015e2519a31a74866 kactivities-5.25.0.tar.xz f859f8818fd5f81645bdfb2cf89ee020 kded-5.25.0.tar.xz 2ca6d2a1377adfe68b3fe2560537616f kdewebkit-5.25.0.tar.xz c34217c409480ac45f48693c72e3ed8a ktexteditor-5.25.0.tar.xz b3f68ae1839994631b1798db5a30385e kdesignerplugin-5.25.0.tar.xz b67b2fc56b005b9fd47a9b64cc39bc40 plasma-framework-5.25.0.tar.xz #df3b50fe7df5b7c409d80b83beb0337f modemmanager-qt-5.25.0.tar.xz dc439cc6a4b3093cbee780cac616d1b4 kpeople-5.25.0.tar.xz c4295e2ebab459374b5570d2164a8279 kxmlrpcclient-5.25.0.tar.xz 2e03661752de63494541649158d712fa bluez-qt-5.25.0.tar.xz 12517175cb2a93341bea3c60de105d07 kfilemetadata-5.25.0.tar.xz 3a86a50695f17e5ffca94bf5664c60d7 baloo-5.25.0.tar.xz #6f7e0a3d91a18fc31c7b4683f1174358 breeze-icons-5.25.0.tar.xz #71119a9c74516fcdbc80e3a8effa1e5a oxygen-icons5-5.25.0.tar.xz fbda904a579120cc23eb6ec9bc660f67 kactivities-stats-5.25.0.tar.xz 427349a763c831796b3de0be4b17a019 krunner-5.25.0.tar.xz d70abca43cbf6e6a6eba9d79830bf1a1 kwayland-5.25.0.tar.xz 7ffd38082aa627f42a9e4830a739f8c6 portingAids/kjs-5.25.0.tar.xz 37284190af0a84cdd2a12636b5b71b2e portingAids/kdelibs4support-5.25.0.tar.xz e9b1763b2649d7e21e6cda3e0c5773bf portingAids/khtml-5.25.0.tar.xz f1d0c9a46be19e69a493f75fc8af54e7 portingAids/kjsembed-5.25.0.tar.xz a844acb7da10a7b23fa50dade3b523c6 portingAids/kmediaplayer-5.25.0.tar.xz bb96fd634617bcac31974f9b63f41252 portingAids/kross-5.25.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