%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). &lfs10_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) Furthermore, the instructions below assume that the environment has been set up as described in . Optional (needed to build Bluez-Qt), (needed to build ModemManager-Qt), Datamatrix (deemed recommended for Prison by upstream) Runtime dependency for FrameworkIntegration and Runtime dependencies for kapidox , , and 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 , built with C++ bindings (which is the default). 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 -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" 1c88cf12490b17396b21628bf44ac2f5 attica-5.77.0.tar.xz #5a7910c636d46379a153b0bcde86fdb6 extra-cmake-modules-5.77.0.tar.xz 3ff69c0f50dd5f098f098d1041bed00f kapidox-5.77.0.tar.xz 1f78a31989a1edb49d9efda663fd7ad7 karchive-5.77.0.tar.xz 59aa68a9aa63bb5184ff55bbfe964bea kcodecs-5.77.0.tar.xz 4a90e5475fd7ca5325840f56d3d8665c kconfig-5.77.0.tar.xz e04c9ac5cc06caa258477f9703372484 kcoreaddons-5.77.0.tar.xz 9b43e68661403c868908d9de98fb55e5 kdbusaddons-5.77.0.tar.xz 2030bc33c273e1bb0f805ad03fdf107a kdnssd-5.77.0.tar.xz 1fdab3a35e02600ca7b83275cd4d1ee8 kguiaddons-5.77.0.tar.xz 18830bfe197660016a7b29c14930225d ki18n-5.77.0.tar.xz 08fb73549753f2c1d6f27d3e1fcb38af kidletime-5.77.0.tar.xz 0572e703b5f60873f6c2ecb5d53c7cee kimageformats-5.77.0.tar.xz 4e8d8e94c3b0f8803bba9d51388f7d51 kitemmodels-5.77.0.tar.xz c9576659a4edd52dff21ddfaa4b80799 kitemviews-5.77.0.tar.xz e5b494463be614a6622891906bc21e39 kplotting-5.77.0.tar.xz 12fb7639c25319b6710acb8e7743e9a4 kwidgetsaddons-5.77.0.tar.xz 60eeca9087697979006f3bd3c8131460 kwindowsystem-5.77.0.tar.xz 54199e7c793beaced8dbb6f1cbf4ff0a networkmanager-qt-5.77.0.tar.xz c50c31248301c30dc00d395c1eee579c solid-5.77.0.tar.xz 65b54bd20801b61c4ad414f7dda4f396 sonnet-5.77.0.tar.xz bb2392bdc19a1ced13e2ed7723f669bd threadweaver-5.77.0.tar.xz 29540787897712c6bd0d61ec99d29cd4 kauth-5.77.0.tar.xz ee50f594a2e9db21014366cadf77473d kcompletion-5.77.0.tar.xz 6c49aa9c2daa4b3689db17967279759a kcrash-5.77.0.tar.xz 617f7e630b988e89944caf6f51b6df87 kdoctools-5.77.0.tar.xz e69d0516c769d57acae792124d4c6ea2 kpty-5.77.0.tar.xz 5546bfc9051e31b3c99e25e1c90a8387 kunitconversion-5.77.0.tar.xz 56f3c52990c8e4422adb9f9d52c66aea kconfigwidgets-5.77.0.tar.xz ea9b11a949d5744f870736ffc674d854 kservice-5.77.0.tar.xz 2c5dc539320eb4f03c42eedff638d68d kglobalaccel-5.77.0.tar.xz 4d16dfbf54d9bee0cb3591226aa3ee7c kpackage-5.77.0.tar.xz 752cca700b5c3b032c2c2e3e8a8328ba kdesu-5.77.0.tar.xz 95629bcceac3ed8ed4726816e8c6043a kemoticons-5.77.0.tar.xz 3a135e90078316ee19a42189ea3832a0 kiconthemes-5.77.0.tar.xz e0ae97cc24b929bfbdb6eb2cf2d3bc18 kjobwidgets-5.77.0.tar.xz adff613f0122ddaefb9f002336349f70 knotifications-5.77.0.tar.xz 7a1306085ffad4445ba91427a7b52823 ktextwidgets-5.77.0.tar.xz 0e9464f19b23e3d43a87c002f62a3f40 kxmlgui-5.77.0.tar.xz 756b4ac1be8f996f480eab1a9cdc9580 kbookmarks-5.77.0.tar.xz b5021ed5e46eaf8ed25c172b0d73fbd6 kwallet-5.77.0.tar.xz a473d76a8ae084b6263a51a310535e1e kded-5.77.0.tar.xz 3d3d0655cd795a8ee4586c7d484f1a58 kio-5.77.0.tar.xz eb42f44df133e675de8417bb8407263d kdeclarative-5.77.0.tar.xz 1ac3b4b5b20e984f8fc9b0213cd4223b kcmutils-5.77.0.tar.xz c49f1148f38ded3c7803f87b9f29bf8b kirigami2-5.77.0.tar.xz 76ef015265429be8b5f99e4b697b7be0 knewstuff-5.77.0.tar.xz ff8a15b77f79935f90e08739ee40a6e7 frameworkintegration-5.77.0.tar.xz dd868056b62ed81696d6281d5bf3b0e0 kinit-5.77.0.tar.xz 0cfe9f9eadb47412a2f54d86354281b8 knotifyconfig-5.77.0.tar.xz c42cbd1c7b3af1fa33e8cf6e812fcafa kparts-5.77.0.tar.xz f164e8b93c36c1bcaa26a176eb9ba0c7 kactivities-5.77.0.tar.xz #d4731055b6508b48d29ad9c3459b9e16 kdewebkit-5.77.0.tar.xz bccbc38b25aa93f39cf92e7e33a8af1a syntax-highlighting-5.77.0.tar.xz ce2f83c56eebc81bb8ab1a6e6fb1c742 ktexteditor-5.77.0.tar.xz cb9c753eefe045f36f7acb6ce10edca5 kdesignerplugin-5.77.0.tar.xz c730b5144af115627149caf739786770 kwayland-5.77.0.tar.xz 8b23fd8555acbd2738d332f75a19d83d plasma-framework-5.77.0.tar.xz #21e8931f7d6ef1de21e68d041a5645ad modemmanager-qt-5.77.0.tar.xz 1be757e218979c4185806dfdaadd18df kpeople-5.77.0.tar.xz 137c6a33c782912e16ae413da627006d kxmlrpcclient-5.77.0.tar.xz b1ce3754f40518c0f6398db172d4adc3 bluez-qt-5.77.0.tar.xz 694aaf815cd828cfc116b29b78f253b4 kfilemetadata-5.77.0.tar.xz 9d83a40826cd0c5c189f217eafc8f33e baloo-5.77.0.tar.xz #6d4cd111ecaaf18137b3d927ee319aa0 breeze-icons-5.77.0.tar.xz #750e034aaf3a2a87f9823dfec211e068 oxygen-icons5-5.77.0.tar.xz c5f09fe172eca2f22cebc61ab1809a36 kactivities-stats-5.77.0.tar.xz fa11049dea1822a2c764d94e67cb0e98 krunner-5.77.0.tar.xz 4d040239746f41babc5289425444949a prison-5.77.0.tar.xz 01db2c910f5531ec6ecba475ade399fe qqc2-desktop-style-5.77.0.tar.xz 7b4dc53fc8edbcaa45dae31609637c97 kjs-5.77.0.tar.xz 86e8fa3f93ee20e8889b262738c1d106 kdelibs4support-5.77.0.tar.xz 3df88069e9e276e1a3d9ee3fb15f6951 khtml-5.77.0.tar.xz e20386bc2444ccf748405069ae6c509c kjsembed-5.77.0.tar.xz 896bd4400521378da00ea7db5cb1f212 kmediaplayer-5.77.0.tar.xz 57abd00bddc445af5cc268cbbf486876 kross-5.77.0.tar.xz c59eaf24aa8562948fd391ce9eda44b2 kholidays-5.77.0.tar.xz 7f7cb5fb7aef7fea4bf8bbd3f8858eba purpose-5.77.0.tar.xz 221abecad2ad845b4fda07b0da9deab1 syndication-5.77.0.tar.xz e5d8acac5cdb5cdea76071e5c7651d3a kcalendarcore-5.77.0.tar.xz 2c9da8790a2557b330d803698d91b65f kcontacts-5.77.0.tar.xz b52e8fa1def1211a041f73b4af1ecf55 kquickcharts-5.77.0.tar.xz b3e3350b3ee60902cefb017c5e70fb3f kdav-5.77.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 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: 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 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 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, libKF5Syndication.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