%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" 57747b2044d294410d3234b38ba024bd attica-5.28.0.tar.xz #c8b07337cc3c72a55ec40267f1b3eec4 extra-cmake-modules-5.28.0.tar.xz 18519cc78af2bec9be69fbb885a52c22 kapidox-5.28.0.tar.xz e11421e5fbc0bd4aa768a453721bef2e karchive-5.28.0.tar.xz 23ef0ce233866abda9cfbcf5f3de4f6e kcodecs-5.28.0.tar.xz bbc99940debba203c8d7ddb8a82ce95b kconfig-5.28.0.tar.xz 92547554a46ca8b301a8a357ae466eab kcoreaddons-5.28.0.tar.xz a3fd10031c5b2a27da76c2c8c07be13e kdbusaddons-5.28.0.tar.xz c682939017dc4ad5dee2b3e362d40fa0 kdnssd-5.28.0.tar.xz 4e6f0bb250b6a10317358696c1897c78 kguiaddons-5.28.0.tar.xz 0c11fcadac974232c92121a3ae26347b ki18n-5.28.0.tar.xz f915c788749b3e29b5aae15504beac78 kidletime-5.28.0.tar.xz 2ca4e62b2847035a719ff1d2393d65c6 kimageformats-5.28.0.tar.xz 6b6e6b459ff1f2599c30e1e92bc86b6d kitemmodels-5.28.0.tar.xz d87fdc67fa7e2f6b63c6303974b27eab kitemviews-5.28.0.tar.xz 76f2b7deac266b598d8c3b52cb4274c5 kplotting-5.28.0.tar.xz c2e8cf3ca4029548c0e65142d8e8ec2f kwidgetsaddons-5.28.0.tar.xz 9ec46f4818ca71f3bfe37251f66613a9 kwindowsystem-5.28.0.tar.xz e1f4551e57a2636bca36e9c5b747028d networkmanager-qt-5.28.0.tar.xz 2ff51f7f1b907415dac7022327d04b70 solid-5.28.0.tar.xz 9fe51016d7879cb8fac5fe374491a561 sonnet-5.28.0.tar.xz 947893f8fa572b0d4686958517d5696f threadweaver-5.28.0.tar.xz 7d29a6ce7088215457f2eb0bba7ae616 kauth-5.28.0.tar.xz 0e27db4101ee49f41334c25ad35fd22c kcompletion-5.28.0.tar.xz 6950db605ea79a079c6e062547c7d74b kcrash-5.28.0.tar.xz dfbfce2f5cf2c395600d7e4c34f775dc kdoctools-5.28.0.tar.xz 8867250588914f30d08b7482239647d1 kpty-5.28.0.tar.xz b169ee8a9a459341dc592787d2c47b04 kunitconversion-5.28.0.tar.xz ae734430daf80eb0b3fefcc83668e2f2 kconfigwidgets-5.28.0.tar.xz a5206a772b64c9031a2e6bf5b4cfe5de kservice-5.28.0.tar.xz 937e93a265ed45d1142f2878ce7d539d kglobalaccel-5.28.0.tar.xz ee7f38c05409f05eb8a4b05c1777d4a4 kpackage-5.28.0.tar.xz 2c5f01bcaf40e3fe62144721f40f55c1 kdesu-5.28.0.tar.xz c6330f659f9c70c0c2ed139d07564dc8 kemoticons-5.28.0.tar.xz 37cb76fc6c41c66e90316b1e8caf3420 kiconthemes-5.28.0.tar.xz 49a2be90d1e79e4c69863e882b2dea76 kjobwidgets-5.28.0.tar.xz e5664b3118e4a3e706e9863fdc7e86cf knotifications-5.28.0.tar.xz 0263527d48768ed6d242f741f00eddea ktextwidgets-5.28.0.tar.xz 409f1ea7882344b2f22ebc67150f91dd kwallet-5.28.0.tar.xz db6f2ad7f6435605ea04f08bead9e4b3 kxmlgui-5.28.0.tar.xz ebdfa33e711f88b59a38a988a120b1e4 kbookmarks-5.28.0.tar.xz eae12791a2c172e04287c24ad47c05f5 kio-5.28.0.tar.xz c6f5b591df46378194123dd23c7ee626 kdeclarative-5.28.0.tar.xz 5cd7908f7bb316f6c41bf42dfaa33c76 kcmutils-5.28.0.tar.xz ad82fe1bf8a777995af773eb813cfdb1 frameworkintegration-5.28.0.tar.xz dea7beb4a98462d0098e7abd6397264f kinit-5.28.0.tar.xz 6a52503325bd02c8b5759e24a829d1bc knewstuff-5.28.0.tar.xz e70723b9d5a8d44a7cf9df629112099d knotifyconfig-5.28.0.tar.xz 1fe64f811249d9189fa035eeb2f72d4f kparts-5.28.0.tar.xz bf9d06919523c93f10543d89f9e40d4d kactivities-5.28.0.tar.xz 914e57ee540bf2e154cdc86f962b50ad kded-5.28.0.tar.xz 9fc835dfc5aa9e1d8e79d10d1e2a2e10 kdewebkit-5.28.0.tar.xz 7d524ba30f518a0937c3912475a59a13 ktexteditor-5.28.0.tar.xz ba8603c7f6f3b3290e19f1f5d3fb3e8c kdesignerplugin-5.28.0.tar.xz dfa9a794aea1104bb45e17f229b2da8e kwayland-5.28.0.tar.xz bf213e3cf7628b9433cd21bd47c08d8d plasma-framework-5.28.0.tar.xz #4c261149dd6b42f7f7af1ae13576e99b modemmanager-qt-5.28.0.tar.xz 2eeadc20378d5e90ae61721b5faa8af4 kpeople-5.28.0.tar.xz 4b51b6442c81cf610e3ddab33033ae16 kxmlrpcclient-5.28.0.tar.xz 8b1e8d615428497ccc90ab7895fb0194 bluez-qt-5.28.0.tar.xz 124115109c5e82c6e2c232c844dc7bf5 kfilemetadata-5.28.0.tar.xz 7ceec01ddeb987823d5db21afde266d6 baloo-5.28.0.tar.xz #6087ef0e0e6612a1ca978c4ba924a4f4 breeze-icons-5.28.0.tar.xz #37af44082edb2f1e6151a72d69308485 oxygen-icons5-5.28.0.tar.xz 1285ab8095ca21aa0f7f6a5dade6c1c5 kactivities-stats-5.28.0.tar.xz 0c44e78e610504ee8b2f2e5f040c602c krunner-5.28.0.tar.xz 68221bafb3e5dbf04be6317526d18d2d syntax-highlighting-5.28.0.tar.xz 2d3a4679fe09493144e06abb3b77631d portingAids/kjs-5.28.0.tar.xz 5b75e4d1de4864bdc5464c1f843042a9 portingAids/kdelibs4support-5.28.0.tar.xz 3a2b83c7a996db14c68cd6f6fabfbeec portingAids/khtml-5.28.0.tar.xz eb6283b11c71a07ecce53cdeb0fa2c93 portingAids/kjsembed-5.28.0.tar.xz 5ae765c335601507361119f924f57fe2 portingAids/kmediaplayer-5.28.0.tar.xz 62a01fce03cb3ef36a39719ab86709e9 portingAids/kross-5.28.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