6.13. Using KDE

6.13.1. KDE Variable Definitions

If the application depends on KDE, set USES+=kde:5 and USE_KDE to the list of required components. _build and _run suffixes can be used to force components dependency type (for example, baseapps_run). If no suffix is set, a default dependency type will be used. To force both types, add the component twice with both suffixes (for example, ecm_build ecm_run). Available components are listed below (up-to-date components are also listed in /usr/ports/Mk/Uses/kde.mk):

Table 6.18. Available KDE Components
NameDescription
activitiesKF5 runtime and library to organize work in separate activities
activities-statsKF5 statistics for activities
activitymanagerdSystem service to manage user's activities, track the usage patterns
akonadiStorage server for KDE-Pim
akonadicalendarAkonadi Calendar Integration
akonadiconsoleAkonadi management and debugging console
akonadicontactsLibraries and daemons to implement Contact Management in Akonadi
akonadiimportwizardImport data from other mail clients to KMail
akonadimimeLibraries and daemons to implement basic email handling
akonadinotesKDE library for accessing mail storages in MBox format
akonadisearchLibraries and daemons to implement searching in Akonadi
akregatorA Feed Reader by KDE
alarmcalendarKDE API for KAlarm alarms
apidoxKF5 API Documentation Tools
archiveKF5 library that provides classes for handling archive formats
atticaOpen Collaboration Services API library KDE5 version
attica5Open Collaboration Services API library KDE5 version
authKF5 abstraction to system policy and authentication features
balooKF5 Framework for searching and managing user metadata
baloo-widgetsBalooWidgets library
baloo5KF5 Framework for searching and managing user metadata
blogKDE API for weblogging access
bookmarksKF5 library for bookmarks and the XBEL format
breezePlasma5 artwork, styles and assets for the Breeze visual style
breeze-gtkPlasma5 Breeze visual style for Gtk
breeze-iconsBreeze icon theme for KDE
calendarcoreKDE calendar access library
calendarsupportCalendar support libraries for KDEPim
calendarutilsKDE utility and user interface functions for accessing calendar
codecsKF5 library for string manipulation
completionKF5 text completion helpers and widgets
configKF5 widgets for configuration dialogs
configwidgetsKF5 widgets for configuration dialogs
contactsKDE api to manage contact information
coreaddonsKF5 addons to QtCore
crashKF5 library to handle crash analysis and bug report from apps
dbusaddonsKF5 addons to QtDBus
decorationPlasma5 library to create window decorations
designerpluginKF5 integration of Frameworks widgets in Qt Designer/Creator
discoverPlasma5 package management tools
dnssdKF5 abstraction to system DNSSD features
doctoolsKF5 documentation generation from docbook
drkonqiPlasma5 crash handler
ecmExtra modules and scripts for CMake
emoticonsKF5 library to convert emoticons
eventviewsEvent view libriares for KDEPim
filemetadataKF5 library for extracting file metadata
frameworkintegrationKF5 workspace and cross-framework integration plugins
gapiKDE based library to access google services
globalaccelKF5 library to add support for global workspace shortcuts
grantlee-editorEditor for Grantlee themes
grantleethemeKDE PIM grantleetheme
gravatarLibrary for gravatar support
guiaddonsKF5 addons to QtGui
holidaysKDE library for calendar holidays
hotkeysPlasma5 library for hotkeys
i18nKF5 advanced internationalization framework
iconthemesKF5 library for handling icons in applications
identitymanagementKDE pim identities
idletimeKF5 library for monitoring user activity
imapKDE API for IMAP support
incidenceeditorIncidence editor libriares for KDEPim
infocenterPlasma5 utility providing system information
initKF5 process launcher to speed up launching KDE applications
itemmodelsKF5 models for Qt Model/View system
itemviewsKF5 widget addons for Qt Model/View
jobwidgetsKF5 widgets for tracking KJob instance
jsKF5 library providing an ECMAScript interpreter
jsembedKF5 library for binding JavaScript objects to QObjects
kaddressbookKDE contact manager
kalarmPersonal alarm scheduler
kalarmPersonal alarm scheduler
kateBasic editor framework for the KDE system
kcmutilsKF5 utilities for working with KCModules
kde-cli-toolsPlasma5 non-interactive system tools
kde-gtk-configPlasma5 GTK2 and GTK3 configurator
kdeclarativeKF5 library providing integration of QML and KDE Frameworks
kdedKF5 extensible daemon for providing system level services
kdelibs4supportKF5 porting aid from KDELibs4
kdepim-addonsKDE PIM addons
kdepim-apps-libsKDE PIM mail related libraries
kdepim-runtime5KDE PIM tools and services
kdeplasma-addonsPlasma5 addons to improve the Plasma experience
kdesuKF5 integration with su for elevated privileges
kdewebkitKF5 library providing integration of QtWebKit
kgamma5Plasma5 monitor's gamma settings
khtmlKF5 KTHML rendering engine
kimageformatsKF5 library providing support for additional image formats
kioKF5 resource and network access abstraction
kirigami2QtQuick based components set
kitineraryData Model and Extraction System for Travel Reservation information
kmailKDE mail client
kmailKDE mail client
kmail-account-wizardKDE mail account wizard
kmenueditPlasma5 menu editor
knotesPopup notes
kontactKDE Personal Information Manager
kontactKDE Personal Information Manager
kontactinterfaceKDE glue for embedding KParts into Kontact
korganizerCalendar and scheduling Program
kpimdavA DAV protocol implementation with KJobs
kpkpassLibrary to deal with Apple Wallet pass files
krossKF5 multi-language application scripting
kscreenPlasma5 screen management library
kscreenlockerPlasma5 secure lock screen architecture
ksmtpJob-based library to send email through an SMTP server
ksshaskpassPlasma5 ssh-add frontend
ksysguardPlasma5 utility to track and control the running processes
kwallet-pamPlasma5 KWallet PAM Integration
kwayland-integrationIntegration plugins for a Wayland-based desktop
kwinPlasma5 window manager
kwritedPlasma5 daemon listening for wall and write messages
ldapLDAP access API for KDE
libkcddbKDE CDDB library
libkcompactdiscKDE library for interfacing with audio CDs
libkdcrawLibRaw interface for KDE
libkdegamesLibraries used by KDE games
libkdepimKDE PIM Libraries
libkeduvocdocumentLibrary for reading and writing vocabulary files
libkexiv2Exiv2 library interface for KDE
libkipiKDE Image Plugin Interface
libkleoCertificate manager for KDE
libksaneSANE library interface for KDE
libkscreenPlasma5 screen management library
libksieveSieve libriares for KDEPim
libksysguardPlasma5 library to track and control running processes
mailcommonCommon libriares for KDEPim
mailimporterImport mbox files to KMail
mailtransportKDE library to managing mail transport
marbleVirtual globe and world atlas for KDE
mboxKDE library for accessing mail storages in MBox format
mbox-importerImport mbox files to KMail
mediaplayerKF5 plugin interface for media player features
messagelibLibrary for handling messages
milouPlasma5 Plasmoid for search
mimeLibrary for handling MIME data
newstuffKF5 library for downloading application assets from the network
notificationsKF5 abstraction for system notifications
notifyconfigKF5 configuration system for KNotify
okularKDE universal document viewer
oxygenPlasma5 Oxygen style
oxygen-icons5The Oxygen icon theme for KDE
packageKF5 library to load and install packages
partsKF5 document centric plugin system
peopleKF5 library providing access to contacts
pim-data-exporterImport and export KDE PIM settings
pimcommonCommon libriares for KDEPim
pimtexteditKDE library for PIM-specific text editing utilities
plasma-browser-integrationPlasma5 components to integrate browsers into the desktop
plasma-desktopPlasma5 plasma desktop
plasma-frameworkKF5 plugin based UI runtime used to write user interfaces
plasma-integrationQt Platform Theme integration plugins for the Plasma workspaces
plasma-paPlasma5 Plasma pulse audio mixer
plasma-sdkPlasma5 applications useful for Plasma development
plasma-workspacePlasma5 Plasma workspace
plasma-workspace-wallpapersPlasma5 wallpapers
plottingKF5 lightweight plotting framework
polkit-kde-agent-1Plasma5 daemon providing a polkit authentication UI
powerdevilPlasma5 tool to manage the power consumption settings
prisonAPI to produce barcodes
ptyKF5 pty abstraction
purposeOffers available actions for a specific purpose
qqc2-desktop-styleQt QuickControl2 style for KDE
runnerKF5 parallelized query system
serviceKF5 advanced plugin and service introspection
solidKF5 hardware integration and detection
sonnetKF5 plugin-based spell checking library
syndicationKDE RSS feed handling library
syntaxhighlightingKF5 syntax highlighting engine for structured text and code
systemsettingsPlasma5 system settings
texteditorKF5 advanced embeddable text editor
textwidgetsKF5 advanced text editing widgets
threadweaverKF5 addons to QtDBus
tnefKDE API for the handling of TNEF data
unitconversionKF5 library for unit conversion
user-managerPlasma5 user manager
walletKF5 secure and unified container for user passwords
waylandKF5 Client and Server library wrapper for the Wayland libraries
widgetsaddonsKF5 addons to QtWidgets
windowsystemKF5 library for access to the windowing system
xmlguiKF5 user configurable main windows
xmlrpcclientKF5 interaction with XMLRPC services

Example 6.21. USE_KDE Example

This is a simple example for a KDE port. USES= cmake instructs the port to utilize CMake, a configuration tool widely used by KDE projects (see Section 6.5.4, “Using cmake for detailed usage). USE_KDE brings dependency on KDE libraries. Required KDE components and other dependencies can be determined through the configure log. USE_KDE does not imply USE_QT. If a port requires some Qt components, specify them in USE_QT.

USES=		cmake kde:5 qt:5
USE_KDE=	ecm
USE_QT=		core buildtools_build qmake_build

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.