%general-entities; ]> 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). &lfs120_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 ModemManager-Qt), (needed to build NetworkManager-Qt), , and (Authentication backend for KAuth) Furthermore, the instructions below assume that the environment has been set up as described in . Optional (needed to build Bluez-Qt), Datamatrix (deemed recommended for Prison by upstream) Runtime dependency for FrameworkIntegration Additional recommended dependencies for kapidox (Run time), , , , and Additional image formats support in KImageFormats , , , libheif, libjxl, and OpenEXR Optional dependencies for KIO Optional dependencies for Solid , and media-player-info (runtime) Optional dependency for KWallet , built with C++ bindings (which is the default). Optional dependency for kdewebkit QtWebkit Optional dictionary backends for Sonnet Hspell and Hunspell Editor 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=https://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" 787c2d668ea547c2516aee5f0bfc8726 attica-5.113.0.tar.xz #f037747c7a56fbbb64adb14d1f46fe5f extra-cmake-modules-5.113.0.tar.xz 82f34f7bc8d44d2bcf35fa3f94a38836 kapidox-5.113.0.tar.xz 7874e4ef6e9043a1fbe253e76b3b14fe karchive-5.113.0.tar.xz 89e1b0d3b26f23140142a8b6a3108475 kcodecs-5.113.0.tar.xz d9d231a843e344bfb69361eeff1df5dd kconfig-5.113.0.tar.xz 0967a05b9595e7fc37d9adc720e28881 kcoreaddons-5.113.0.tar.xz ea44849cafb7c183e5301a794f7efb98 kdbusaddons-5.113.0.tar.xz f1c3314fab259c3af769e78c146fc90b kdnssd-5.113.0.tar.xz 00f8015c6ffbbef09aa8977f6cf41e13 kguiaddons-5.113.0.tar.xz 369ddd0283921f1ed5a78f0bc1ebfc82 ki18n-5.113.0.tar.xz 30fbf16607d783a9e871344962eb6c90 kidletime-5.113.0.tar.xz dbe1d12387f95adc49d931102be44fb0 kimageformats-5.113.0.tar.xz c5e89f4c8dea0b9ef5d01f16968e046e kitemmodels-5.113.0.tar.xz d4bfe43c3516ffee86bb75aac9747d78 kitemviews-5.113.0.tar.xz 1668a8040e66b8d5df8f6576d8543e52 kplotting-5.113.0.tar.xz e660b75205043559de3623e0d4314dfc kwidgetsaddons-5.113.0.tar.xz b9ec086925b43ae1563c353246a17929 kwindowsystem-5.113.0.tar.xz bcad0b16cdc4ed3a525f489212d04f54 networkmanager-qt-5.113.0.tar.xz 9d4b38e3adae1c0da9f207786aacf497 solid-5.113.0.tar.xz 80f6fbb2005c4d1bd82407642bdd156d sonnet-5.113.0.tar.xz 3b712a2ca08ff91f0dffe857fd83474f threadweaver-5.113.0.tar.xz 9d39de86fb9c75faea71886267aa0c98 kauth-5.113.0.tar.xz 36a941b4dac38b548df513962593c6af kcompletion-5.113.0.tar.xz afe932f17e32d63659b2901157c3bc73 kcrash-5.113.0.tar.xz 1066c0b7878f5c920928954570e39730 kdoctools-5.113.0.tar.xz 6affbafd36a70bc51d9822347056ac2d kpty-5.113.0.tar.xz 49a1eee21895689b102fabd57d3dd92f kunitconversion-5.113.0.tar.xz e9418b112c6e12fa743aea190bc1f0df kconfigwidgets-5.113.0.tar.xz 38284f2e7a5e29643c2c7478f06de679 kservice-5.113.0.tar.xz 7397ea0349bf92b9a98a5a75a95e7860 kglobalaccel-5.113.0.tar.xz 90ccbb695797b041e94c39cb98139065 kpackage-5.113.0.tar.xz 9766a78f6ebb2dd760246cee72622de1 kdesu-5.113.0.tar.xz fcff19090cf18c03cc492768da8b62b4 kemoticons-5.113.0.tar.xz a48bfd069ba800de25ba3907b0e4a2e1 kiconthemes-5.113.0.tar.xz b51ee5c2bc66a45eb68ae681fd2a52b7 kjobwidgets-5.113.0.tar.xz aaec1ed5e8c1133decd4876c486f7958 knotifications-5.113.0.tar.xz 5533f0ed825339ce66f400c1058a207a ktextwidgets-5.113.0.tar.xz af3d95e975fcb00f865da003c823bfd9 kxmlgui-5.113.0.tar.xz 401472496f0539c6804c5758950704fc kbookmarks-5.113.0.tar.xz 72c93e9c087f03cecf75bf76113da7b0 kwallet-5.113.0.tar.xz 2bd168429da6337811b33e44175c92b2 kded-5.113.0.tar.xz 31f9bb082e740c90e8d2623f94117020 kio-5.113.0.tar.xz b7ab07daa1c8e7b441c92c9dabc74c77 kdeclarative-5.113.0.tar.xz 1df48c8564ec78f1f4782612a342accb kcmutils-5.113.0.tar.xz a836b9e3c64b86d2dd5fb45fa9bbb400 kirigami2-5.113.0.tar.xz 20589ba771d2df8ad3ddaf7f0341a2d9 syndication-5.113.0.tar.xz 24baca956b368ce051129a3d9ddb8d65 knewstuff-5.113.0.tar.xz f1c28e9fb51199710d7dfdd904572ba0 frameworkintegration-5.113.0.tar.xz 6c5bc8798c3c9dcca909998ae8ea376a kinit-5.113.0.tar.xz 461169baeb06dee7bc558a978889ae05 kparts-5.113.0.tar.xz 844c0457872c020e0e41dfa78348db86 kactivities-5.113.0.tar.xz #5063fba9a973754a1d74d25be3c1c879 kdewebkit-5.113.0.tar.xz 614ebb98192f9052f19edbd7976f0291 syntax-highlighting-5.113.0.tar.xz 042424fe37a12bf433c1db6853f5de39 ktexteditor-5.113.0.tar.xz 38e28b1563ca2bed2484c84c58f4d6a3 kdesignerplugin-5.113.0.tar.xz 924b688b1a9626506db888f7121c5ace kwayland-5.113.0.tar.xz d58abf4f8fe539995124dfec1f33d981 plasma-framework-5.113.0.tar.xz 11f566407f2d9dece0acc2ab839cd062 modemmanager-qt-5.113.0.tar.xz 0647a87e569c7650d2dc6608e7f57ed0 kpeople-5.113.0.tar.xz ca639bea4c95c28b2477960d8b7919e3 kxmlrpcclient-5.113.0.tar.xz f72cd083ecbc9f18cb5698922240f1f2 bluez-qt-5.113.0.tar.xz 709952cf04d6927d87f99aed9fc3d2b6 kfilemetadata-5.113.0.tar.xz 468982a87967b7459a094c62f4b53b16 baloo-5.113.0.tar.xz #130f406ffe1fe4d6778bb26b7688f5c3 breeze-icons-5.113.0.tar.xz #841ef4fa01803fe07ff4a96c72ac472d oxygen-icons-5.113.0.tar.xz f5ac81cfcbf79c5f7a583be8c92db53d kactivities-stats-5.113.0.tar.xz f32d7b8bfa1874b6ddb13c939a4c0190 krunner-5.113.0.tar.xz 4400d4a8b143b983d117ee76b5c49590 prison-5.113.0.tar.xz 62a77f1676426a864433f20dab62c7bb qqc2-desktop-style-5.113.0.tar.xz 9ed05a72f505238e7ddf605c8f4744ee kjs-5.113.0.tar.xz acc3916872c964677778152f0812970c kdelibs4support-5.113.0.tar.xz 0fb63bcab20b9e7e030cec139988e716 khtml-5.113.0.tar.xz 05fc8de448545b648f721cbab1f1e270 kjsembed-5.113.0.tar.xz 240fc62077d2d7605e057a3a3e883317 kmediaplayer-5.113.0.tar.xz b36746fe0fcb6760e4c6863c0aadee84 kross-5.113.0.tar.xz 1766fd510ce7c816760dd6b5e51fe9d0 kholidays-5.113.0.tar.xz 976e174b887f5e68ecf374053607cee4 purpose-5.113.0.tar.xz a0e98fee032e1b462a4b0a302b10f15b kcalendarcore-5.113.0.tar.xz 66bdceec34192e96a7a7dbc66fa01e6b kcontacts-5.113.0.tar.xz f347438bdea3e5b0d66c3cf098890a69 kquickcharts-5.113.0.tar.xz 650db9939b0c0b43929999b58ca588fc knotifyconfig-5.113.0.tar.xz b0d2454a0a729b2ec98a085ad7e454d5 kdav-5.113.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 kdewebkit package 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 && ln -sfv /usr/share/polkit-1 $KF5_PREFIX/share 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 && ln -sfv /usr/share/polkit-1 $KF5_PREFIX/share && install -v -dm755 $KF5_PREFIX/lib && ln -sfv /usr/lib/systemd $KF5_PREFIX/lib 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 name=$(echo $pkg|sed 's|-5.*$||') # Isolate package name tar -xf $file pushd $packagedir # kapidox is a python module case $name in kapidox) &build-wheel-cmd; $PWD as_root &install-wheel; kapidox popd rm -rf $packagedir continue ;; esac 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. Useless systemd units have been installed in $KF5_PREFIX/lib. Remove them now (as &root;): rm -rf $KF5_PREFIX/lib/systemd 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 balooctl, baloo_file, baloo_file_extractor, baloosearch, balooshow, checkXML5, depdiagram-generate, depdiagram-generate-all, depdiagram-prepare, desktoptojson, gentrigrams, kactivities-cli, kapidox_generate, kate-syntax-highlighter, kbuildsycoca5, kcookiejar5, kdebugdialog5, kded5, kdeinit5, kdeinit5_shutdown, kdeinit5_wrapper, kf5-config, kf5kross, kgendesignerplugin, kglobalaccel5, kiconfinder5, kjs5, kjscmd5, kjsconsole, knewstuff-dialog, kpackagelauncherqml, kpackagetool5, kquitapp5, kreadconfig5, kshell5, ktelnetservice5, ktrash5, kwalletd5, kwallet-query, kwrapper5, kwriteconfig5, meinproc5, parsetrigrams, plasmapkg2, preparetips5, protocoltojson, and solid-hardware5 libkdeinit5_klauncher.so, libKF5Activities.so, libKF5ActivitiesStats.so, libKF5Archive.so, libKF5Attica.so, libKF5AuthCore.so, libKF5Auth.so, libKF5Baloo.so, libKF5BluezQt.so, libKF5Bookmarks.so, libKF5CalendarCore.so, libKF5CalendarEvents.so, libKF5Codecs.so, libKF5Completion.so, libKF5ConfigCore.so, libKF5ConfigGui.so, libKF5ConfigWidgets.so, libKF5Contacts.so, libKF5CoreAddons.so, libKF5Crash.so, libKF5DAV.so, libKF5DBusAddons.so, libKF5Declarative.so, libKF5DNSSD.so, libKF5DocTools.so, libKF5Emoticons.so, libKF5FileMetaData.so, libKF5GlobalAccel.so, libKF5GuiAddons.so, libKF5Holidays.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, libKF5KIOGui.so, libKF5KIONTLM.so, libKF5KIOWidgets.so, libKF5Kirigami2.so, libKF5KrossCore.so, libKF5KrossUi.so, libKF5MediaPlayer.so, libKF5NetworkManagerQt.so, libKF5NewStuffCore.so, libKF5NewStuff.so, libKF5Notifications.so, libKF5NotifyConfig.so, libKF5Package.so, libKF5Parts.so, libKF5PeopleBackend.so, libKF5People.so, libKF5PeopleWidgets.so, libKF5PlasmaQuick.so, libKF5Plasma.so, libKF5Plotting.so, libKF5Prison.so, libKF5Pty.so, libKF5Purpose.so, libKF5PurposeWidgets.so, libKF5QuickAddons.so, libKF5Runner.so, libKF5Service.so, libKF5Solid.so, libKF5SonnetCore.so, libKF5SonnetUi.so, libKF5Style.so, libKF5Su.so, libKF5SyntaxHighlighting.so, libKF5TextEditor.so, libKF5TextWidgets.so, libKF5ThreadWeaver.so, libKF5UnitConversion.so, libKF5Wallet.so, libKF5WaylandClient.so, libKF5WaylandServer.so, libKF5WidgetsAddons.so, libKF5WindowSystem.so, libKF5XmlGui.so, libKF5XmlRpcClient.so, and libkwalletbackend5.so /opt/kf5 (symlink to /opt/kf5-&kf5-version;) if installing in /opt 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 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 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 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