%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" 1b9a8d7fa78f14df0395d6533e07c233 attica-5.49.0.tar.xz #44d277d5df5aa806f8caf4b12541b15c extra-cmake-modules-5.49.0.tar.xz 4b369263ce39d96093c64318bd69ac60 kapidox-5.49.0.tar.xz 541071a7a336ca167d66b6bee5bb98a0 karchive-5.49.0.tar.xz 3189f9540de1bcf93edeef7fc8fdb853 kcodecs-5.49.0.tar.xz 57f6c446d29483fb2cfb285eb956a91b kconfig-5.49.0.tar.xz 2e5cd09584c276416d56f66b8b3ee97b kcoreaddons-5.49.0.tar.xz a496b86727152d8b59ed2a2228003ac2 kdbusaddons-5.49.0.tar.xz 19c1372fb1a702f57c66cf5803049d50 kdnssd-5.49.0.tar.xz 4a733f7fb98fb936d74a688fe9959dd7 kguiaddons-5.49.0.tar.xz a04e3c5b5c23c273fbdbdb3dea8fc0a1 ki18n-5.49.0.tar.xz c54edfca13c0e8dac161048db33b4bce kidletime-5.49.0.tar.xz 589ed57faba25f2014964619247aa28a kimageformats-5.49.0.tar.xz 4412ab5a5446aab1df6f7bb59bac4365 kitemmodels-5.49.0.tar.xz 72d840e8ce2324a8e01cd3f2a3c269b2 kitemviews-5.49.0.tar.xz df18871fbc9494d6318d7106f5924c53 kplotting-5.49.0.tar.xz 3c6aa861640fd55a34e359ef798a916d kwidgetsaddons-5.49.0.tar.xz 4db7723226f6b0e0d8705d3fe53642a3 kwindowsystem-5.49.0.tar.xz a4202fa94b64d65db2e4b7be34675c95 networkmanager-qt-5.49.0.tar.xz 391b3473e9e5d31d6e301f27e657ae4f solid-5.49.0.tar.xz f3e739976224f0b14ae653534e503df4 sonnet-5.49.0.tar.xz c068e97cfc0a42f0d32ca927a12691fe threadweaver-5.49.0.tar.xz ed2183a6db12ce48f96b844287e53925 kauth-5.49.0.tar.xz 6790087dd73139a6e21e3cdf663271e5 kcompletion-5.49.0.tar.xz c8c73f76432306b98ef038418c62ce44 kcrash-5.49.0.tar.xz 9376c84a3f70b95ae0141d90e1aaf165 kdoctools-5.49.0.tar.xz 9e690e1d76196c092b34605336e16ccb kpty-5.49.0.tar.xz 9424c658138501742a2af85495c47f60 kunitconversion-5.49.0.tar.xz 82d5d219494a2ad1514157a7064521d0 kconfigwidgets-5.49.0.tar.xz 26524fb8e33b8ab3aebf86ec078c7518 kservice-5.49.0.tar.xz 712658831c71f5127762ffa0016a7a39 kglobalaccel-5.49.0.tar.xz 232e476d2d59b789a10c7be3cb6832a0 kpackage-5.49.0.tar.xz 57a2a02a7061040a6a437a1df6dacbd8 kdesu-5.49.0.tar.xz f98c6e3ab806c0f76ab76f0291e4dd93 kemoticons-5.49.0.tar.xz bad840d753b545cc1d166c773d1c284c kiconthemes-5.49.0.tar.xz f26fc58203dcad45d3c20545c5a48e53 kjobwidgets-5.49.0.tar.xz 2d276031a63a7bc76258991472056f5a knotifications-5.49.0.tar.xz 012e92d2f2ce4574d2d3d0dbddc748af ktextwidgets-5.49.0.tar.xz 009205833a4135eee008b6ea55833bb2 kxmlgui-5.49.0.tar.xz eb0c686f3c61cd74c1740a030bdc4206 kbookmarks-5.49.0.tar.xz 802c5985ccfff94cfa025d6a938e7476 kwallet-5.49.0.tar.xz 826fc93fd2f0c337f7ef6bb8c10c0b22 kio-5.49.0.tar.xz 5febec6dc30c02caac9c46fc48d8a92a kdeclarative-5.49.0.tar.xz b15758b0500e97866ea4b32dd042ae39 kcmutils-5.49.0.tar.xz 9431414418dbf8f906f4e13f33479256 kirigami2-5.49.0.tar.xz d6771e1a02516c7bfb24ece46019abc4 knewstuff-5.49.0.tar.xz 175a23040d853e1710f525b42e22c6f5 frameworkintegration-5.49.0.tar.xz f6b5fada29fde1223aa976476f583427 kinit-5.49.0.tar.xz 53fe83e865aa5ef5b50dbfc58037a80f knotifyconfig-5.49.0.tar.xz f045b11f61eb244a9636e87eef84c496 kparts-5.49.0.tar.xz 9ed8874d043d2faafa28bf5ed2e3ea2a kactivities-5.49.0.tar.xz d47cdb541b3f4a3823dd420db170964d kded-5.49.0.tar.xz #014cde3b2f046494845bd88c8abc5883 kdewebkit-5.49.0.tar.xz 4b9837a0c1bc5bdb9acd146e0004759b syntax-highlighting-5.49.0.tar.xz 3fdec786eb549cdb398c9da23e1eb94e ktexteditor-5.49.0.tar.xz 6b4322afedde3304387c459d133c5d1e kdesignerplugin-5.49.0.tar.xz 5d4800ad4363d836c26b374c97d8be58 kwayland-5.49.0.tar.xz 913a57607b9c57daef88c90356f55986 plasma-framework-5.49.0.tar.xz 3a18f1b5eb357a16a786b30f12b16028 modemmanager-qt-5.49.0.tar.xz ede339e08f7432f94ab85093241e104c kpeople-5.49.0.tar.xz 36d5ea545b972d275b4fde563202fed3 kxmlrpcclient-5.49.0.tar.xz e311eee50522f739951b0fec7add2374 bluez-qt-5.49.0.tar.xz ed176f7718b4f95688b7d4d109708d13 kfilemetadata-5.49.0.tar.xz bbe82a79319abba8171769bb83b06d88 baloo-5.49.0.tar.xz #aa29fe929300b41c44be52b9ee8a9e9c breeze-icons-5.49.0.tar.xz #48136fe0337c9e3a7f57324b9b943d59 oxygen-icons5-5.49.0.tar.xz 037b33038aa30fb78cc05e4e7961b983 kactivities-stats-5.49.0.tar.xz 12b562c1509281001c6b32a5842e453b krunner-5.49.0.tar.xz #dfc717b8fe63f3167d8bfea6f97b1ae6 prison-5.49.0.tar.xz a84a244620b0febcb4a4527b0d7a6d09 qqc2-desktop-style-5.49.0.tar.xz 01ba726dc3fc0c440f9adacf66cb5681 kjs-5.49.0.tar.xz 22f9b04aebae7ddbf3fe5d3bfd93e541 kdelibs4support-5.49.0.tar.xz b854adbf8ef148a426f079055e16b182 khtml-5.49.0.tar.xz 7025261ab8657c34b8110fd1419a6bc4 kjsembed-5.49.0.tar.xz b9e38efe9fd70d30ff2275177ec8f95a kmediaplayer-5.49.0.tar.xz 7297399799ef96f2a29b9e35c0dc57a7 kross-5.49.0.tar.xz ba7bac91aeeddb03631dd12b6d44f9e2 kholidays-5.49.0.tar.xz 17fd75131e1860a2b77021770de8d40c purpose-5.49.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: export CXXFLAGS='-isystem /usr/include/openssl-1.0' 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