%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). &lfs78_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 oxygen-fonts 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" 935921bcc04f7e4af10be8e57b7ac899 attica-5.15.0.tar.xz #5a41b547927190d366501cf61d86ec07 extra-cmake-modules-5.15.0.tar.xz 554e64ff431714fa1b287cd86a3ad958 kapidox-5.15.0.tar.xz 38c7374689688c045cd5ba1acb4ea91b karchive-5.15.0.tar.xz 2cafea53c814ee47313805e98422b832 kcodecs-5.15.0.tar.xz f7169075c22857b40d256bd6323d1a10 kconfig-5.15.0.tar.xz 8d4f4f374649419fe34e24766f5ec22b kcoreaddons-5.15.0.tar.xz 70aa5b3207b85100d59d992113c02a1a kdbusaddons-5.15.0.tar.xz 587a96871eabc9e56885fb7aa81923ec kdnssd-5.15.0.tar.xz 8aa1cbd8e47ba7a459e375ece56fe195 kguiaddons-5.15.0.tar.xz 6b1be481a81380b894d056ddcdd4a34f ki18n-5.15.0.tar.xz 6c81f38367bf36b23411cfa96d41d333 kidletime-5.15.0.tar.xz 90831d906b5ab8224bb4a4a6c01e11b5 kimageformats-5.15.0.tar.xz f31edaae6d138bc2e1464e742796651d kitemmodels-5.15.0.tar.xz b8b009980f0831aadfda47bcf59750ae kitemviews-5.15.0.tar.xz c5715f3a436e02b3f4cf722fe12ddab3 kplotting-5.15.0.tar.xz 78ec000eadcf4a9ad0d989f4c4b54bc6 kwidgetsaddons-5.15.0.tar.xz 08e0b05204a4129f73873ef2b61a6a3b kwindowsystem-5.15.0.tar.xz 6bb0d1877e42c4d477e6d05185397df0 networkmanager-qt-5.15.0.tar.xz 5d18bd8ffd294a85ddf3f1765d8726d6 solid-5.15.0.tar.xz 84d598084fd3bbcccc28746db9b2d162 sonnet-5.15.0.tar.xz 87e37a9c741adb9a124b64f2227ff7c0 threadweaver-5.15.0.tar.xz ff73dca44ac6d7f82d5d9d4d7b70d4d2 kauth-5.15.0.tar.xz a72bf104bd073134e4bdf77dbf6677ab kcompletion-5.15.0.tar.xz 8a205f76a3ca73b585cfabfafdc97571 kcrash-5.15.0.tar.xz 57f930c04fc8befe6ce908b46abab05f kdoctools-5.15.0.tar.xz 65b286bef837ec661187613843381bfe kpty-5.15.0.tar.xz 533999e2ef653fcc4100861c36794704 kunitconversion-5.15.0.tar.xz e1dcd700999ed0764e6659e8519a8a65 kconfigwidgets-5.15.0.tar.xz a290c0bd824e966e2a4963aa2440e74c kglobalaccel-5.15.0.tar.xz c62075c90e8717d213a3aa4106f355b7 kpackage-5.15.0.tar.xz 09c47778e16ea256a9009952222f7420 kservice-5.15.0.tar.xz 680bc940ca1b30357e3feb4c75796264 kdesu-5.15.0.tar.xz b228087cb2223e5330d2c7d92f272879 kemoticons-5.15.0.tar.xz 4244f5d4c377c630d81bedf4c0f4ee97 kiconthemes-5.15.0.tar.xz 7603245a0a103fb45cc893eb639fe1cb kjobwidgets-5.15.0.tar.xz f7ee1756a658c3c41328369dcc7701db knotifications-5.15.0.tar.xz b5e06e8f11a6eeba92893c59d3349ca7 ktextwidgets-5.15.0.tar.xz 291d29f8b9333abd9ea2d240d3eab1d9 kwallet-5.15.0.tar.xz 70785bf8fb6e952e09963b37fc35e481 kxmlgui-5.15.0.tar.xz 50e4d1a4fb7b6a2e50e7ee7f00794e33 kbookmarks-5.15.0.tar.xz 29ed2f1d3e49da57d33a478df96da772 kio-5.15.0.tar.xz 6d016b4a482e34fd75e12bb773ab68ae kdeclarative-5.15.0.tar.xz 6bad585122df5ee6e421ff192c007444 kcmutils-5.15.0.tar.xz 1dd33272081ff78e40a26262a74e499a frameworkintegration-5.15.0.tar.xz 1c05dbaead6e59818d0bef640ed05fa3 kinit-5.15.0.tar.xz c0a82c797db0af67dfc8cfa72d6bca08 knewstuff-5.15.0.tar.xz 5fdeae0bec3fd026c084fc424518c3ce knotifyconfig-5.15.0.tar.xz 3405d285fd4277f7e7bcb34c338faec4 kparts-5.15.0.tar.xz 1c4bf1f81a246a8227afbd184375c8bc kactivities-5.15.0.tar.xz 4d4981a6700dc77fc5d9c2d4ef964c2b kded-5.15.0.tar.xz 0283ec538d61760e79060b874611c851 kdewebkit-5.15.0.tar.xz cfbfab5e980de650448171d54ae2777c ktexteditor-5.15.0.tar.xz f64f55e70dace3c167ef656c2e9e8498 kdesignerplugin-5.15.0.tar.xz 42a6f40fc3fbcdde924afb3547386098 plasma-framework-5.15.0.tar.xz #6b14c285d47ffc1e1bab756cf659ab7a modemmanager-qt-5.15.0.tar.xz ab52947f23feeb9a91b867fea2fe8d54 kpeople-5.15.0.tar.xz 59f450e03c41e58db77b4e2d7ebf0df4 kxmlrpcclient-5.15.0.tar.xz 3fdcdaf5bf8cc70beb94539278eab559 bluez-qt-5.15.0.tar.xz 51ed9354658f5e22ef3f1f9ef35f9d97 kfilemetadata-5.15.0.tar.xz 25177cb45b803baab1bfbf36e63fd396 baloo-5.15.0.tar.xz fea1f5fb2cc65d440869b36d1a656409 portingAids/kjs-5.15.0.tar.xz a7e41bbb268da562cd5c58b47717afa6 portingAids/kdelibs4support-5.15.0.tar.xz 369920a68f2fca8f6ce359e973d96a70 portingAids/khtml-5.15.0.tar.xz ed8d52c80ab57166d4ac0b30213bb149 portingAids/kjsembed-5.15.0.tar.xz 5816adcf4fe5c4693bc0b162bbc48b09 portingAids/kmediaplayer-5.15.0.tar.xz bc90445c7797c63aa210da6ba12341ae portingAids/kross-5.15.0.tar.xz 2a9971ce78f12dc38fe2dec6ab279b10 portingAids/krunner-5.15.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 others may be built if the optional dependencies have 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 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 checkXML5, depdiagram-generate, depdiagram-generate-all, depdiagram-prepare, desktoptojson, kactivitymanagerd, kbuildsycoca5, kconfig_compiler_kf5, kcookiejar5, kdebugdialog5, kded5, kdeinit5, kdeinit5_shutdown, kdeinit5_wrapper, kf5-config, kf5kross, kgenapidox, kgendesignerplugin, genframeworksapidox, kglobalaccel5, kiconfinder5, kjs5, kjscmd5, kjsconsole, kmailservice5, kpackagelauncherqml, kpackagetool5, kquitapp5, kreadconfig5, kshell5, ktelnetservice5, ktrash5, kwalletd5, kwrapper5, kwriteconfig5, meinproc5, plasmapkg2, preparetips5, and solid-hardware5 libkdeinit5_kded5.so, libkdeinit5_klauncher.so, libKF5Activities.so, libKF5Archive.so, libKF5Attica.so, libKF5Auth.so, libKF5BluezQt.so, libKF5Bookmarks.so, libKF5Codecs.so, libKF5Completion.so, libKF5ConfigCore.so, libKF5ConfigGui.so, libKF5ConfigWidgets.so, libKF5CoreAddons.so, libKF5Crash.so, libKF5DBusAddons.so, libKF5Declarative.so, libKF5DNSSD.so, libKF5Emoticons.so, libKF5GlobalAccelPrivate.so, libKF5GlobalAccel.so, libKF5GuiAddons.so, libKF5I18n.so, libKF5IconThemes.so, libKF5IdleTime.so, libKF5ItemModels.so, libKF5ItemViews.so, libKF5JobWidgets.so, libKF5JSApi.so, libKF5JsEmbed.so, libKF5JS.so, libKF5KCMUtils.so, libKF5KDELibs4Support.so, libKF5KHtml.so, libKF5KIOCore.so, libKF5KIOFileWidgets.so, libKF5KIONTLM.so, libKF5KIOWidgets.so, libKF5KrossCore.so, libKF5KrossUi.so, libKF5MediaPlayer.so, libKF5ModemManagerQt.so, libKF5NetworkManagerQt.so, libKF5NewStuff.so, libKF5Notifications.so, libKF5NotifyConfig.so, libKF5Package.so, libKF5Parts.so, libKF5PeopleBackend.so, libKF5People.so, libKF5PeopleWidgets.so, libKF5PlasmaQuick.so, libKF5Plasma.so, libKF5Plotting.so, libKF5Pty.so, libKF5QuickAddons.so, libKF5Runner.so, libKF5Service.so, libKF5Solid.so, libKF5SonnetCore.so, libKF5SonnetUi.so, libKF5Style.so, libKF5Su.so, libKF5TextEditor.so, libKF5TextWidgets.so, libKF5ThreadWeaver.so, libKF5UnitConversion.so, libKF5Wallet.so, libKF5WebKit.so, libKF5WidgetsAddons.so, libKF5WindowSystem.so, libKF5XmlGui.so, libKF5XmlRpcClient.so, libKF5XsltKde.a, and libkwalletbackend5.so $KF5_PREFIX/include/KF5/{Attica,BluezQt,KActivities,KArchive,KAuth}, $KF5_PREFIX/include/KF5/{KBookmarks,KCMUtils,KCodecs,KCompletion}, $KF5_PREFIX/include/KF5/{KConfigCore,KConfigGui,KConfigWidgets,KCoreAddons}, $KF5_PREFIX/include/KF5/{KCrash,KDBusAddons,KDeclarative,KDELibs4Support}, $KF5_PREFIX/include/KF5/{KDESu,KDEWebKit,KDNSSD,KEmoticons,KGlobalAccel}, $KF5_PREFIX/include/KF5/{KGuiAddons,KHtml,KI18n,KIconThemes,KIdleTime}, $KF5_PREFIX/include/KF5/{kio,KIOCore,KIOFileWidgets,KIOWidgets}, $KF5_PREFIX/include/KF5/{KItemModels,KItemViews,KJobWidgets,kjs,KJsEmbed}, $KF5_PREFIX/include/KF5/{KMediaPlayer,KNewStuff3,KNotifications}, $KF5_PREFIX/include/KF5/{KNotifyConfig,KPackage,KParts,KPeople,KPlotting}, $KF5_PREFIX/include/KF5/{KPty,KrossCore,KrossUi,KRunner,KService,KStyle}, $KF5_PREFIX/include/KF5/{KTextEditor,KTextWidgets,KUnitConversion,KWallet}, $KF5_PREFIX/include/KF5/{KWidgetsAddons,KWindowSystem,KXmlGui}, $KF5_PREFIX/include/KF5/{KXmlRpcClient,ModemManagerQt,NetworkManagerQt}, $KF5_PREFIX/include/KF5/{plasma,Plasma,Solid,SonnetCore}, $KF5_PREFIX/include/KF5/{SonnetUi,ThreadWeaver,wtf,XsltKde}, $KF5_PREFIX/lib/cmake/{KDED,KDELibs4,KF5Activities,KF5Archive,KF5Attica}, $KF5_PREFIX/lib/cmake/{KF5Auth,KF5BluezQt,KF5Bookmarks,KF5Codec}, $KF5_PREFIX/lib/cmake/{KF5Completion,KF5Config,KF5ConfigWidgets}, $KF5_PREFIX/lib/cmake/{KF5CoreAddons,KF5Crash,KF5DBusAddons}, $KF5_PREFIX/lib/cmake/{KF5Declarative,KF5DesignerPlugin,KF5DNSSD}, $KF5_PREFIX/lib/cmake/{KF5DocTools,KF5Emoticons,F5FrameworkIntegration}, $KF5_PREFIX/lib/cmake/{KF5GlobalAccel,KF5GuiAddons,KF5I18n}, $KF5_PREFIX/lib/cmake/{KF5IconThemes,KF5IdleTime,KF5Init}, $KF5_PREFIX/lib/cmake/{KF5ItemModels,KF5ItemViews,KF5JobWidgets}, $KF5_PREFIX/lib/cmake/{KF5JS,KF5JsEmbed,KF5KCMUtils}, $KF5_PREFIX/lib/cmake/{KF5KDE4Support,KF5KDELibs4Support}, $KF5_PREFIX/lib/cmake/{KF5KHtml,KF5KIO,KF5Kross,KF5MediaPlayer}, $KF5_PREFIX/lib/cmake/{KF5ModemManagerQt,KF5NetworkManagerQt,KF5NewStuff}, $KF5_PREFIX/lib/cmake/{KF5Notifications,KF5NotifyConfig,KF5Package}, $KF5_PREFIX/lib/cmake/{KF5Parts,KF5People,KF5Plasma,KF5PlasmaQuick}, $KF5_PREFIX/lib/cmake/{KF5Plotting,KF5Pty,KF5Runner,KF5Service}, $KF5_PREFIX/lib/cmake/{KF5Solid,KF5Sonnet,KF5Su,KF5TextEditor}, $KF5_PREFIX/lib/cmake/{KF5TextWidgets,KF5ThreadWeaver}, $KF5_PREFIX/lib/cmake/{KF5UnitConversion,KF5Wallet,KF5WebKit}, $KF5_PREFIX/lib/cmake/{KF5WidgetsAddons,KF5WindowSystem,KF5XmlGui}, $KF5_PREFIX/lib/cmake/KF5XmlRpcClient, $KF5_PREFIX/lib/libexec/{kauth,kf5}, $KF5_PREFIX/lib/python&python2-majorver;/site-packages/kapidox, $KF5_PREFIX/lib/qt5/{designer,imageformats,kactivitymanagerd}, $KF5_PREFIX/lib/qt5/{kauth,kf5,org.kde.kglobalaccel5.platforms}, $KF5_PREFIX/lib/qt5/{plasma,platformthemes,script}, $KF5_PREFIX/lib/qml/org/kde/{activities,bluezqt,draganddrop}, $KF5_PREFIX/lib/qml/org/kde/{kcoreaddons,kio,kquickcontrols}, $KF5_PREFIX/lib/qml/org/kde/{kquickcontrolsaddons,kwindowsystem}, $KF5_PREFIX/lib/qml/org/kde/{people,plasma,private,runnermodel}, $KF5_PREFIX/lib/qml/org/kde/solid, $KF5_PREFIX/lib/qml/QtQuick/Controls/Styles/Plasma, $KF5_PREFIX/share/doc/HTML/*/{kdebugdialog5,kdoctools5-common,kioslave5}, $KF5_PREFIX/share/emoticons/Glass, $KF5_PREFIX/share/{katepart5,knotifications5,kservices5,kservicetypes5}, $KF5_PREFIX/share/kf5/{infopage,kactivitymanagerd,kauth,kcharselect}, $KF5_PREFIX/share/kf5/{kconfigwidgets,kcookiejar,kdoctools,khtml,kjava}, $KF5_PREFIX/share/kf5/{kjs,kmoretools,knewstuff,kpeople,kssl,kxmlgui}, $KF5_PREFIX/share/kf5/{locale,sonnet,widgets}, $KF5_PREFIX/share/kxmlgui5/{katepart,khtml}, and $KF5_PREFIX/share/plasma/{desktoptheme,services} 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