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.19.Â Available KDE Components

Name

Description

activities

KF5 runtime and library to organize work in
separate activities

activities-stats

KF5 statistics for activities

activitymanagerd

System service to manage user's activities, track
the usage patterns

akonadi

Storage server for KDE-Pim

akonadicalendar

Akonadi Calendar Integration

akonadiconsole

Akonadi management and debugging console

akonadicontacts

Libraries and daemons to implement Contact
Management in Akonadi

akonadiimportwizard

Import data from other mail clients to
KMail

akonadimime

Libraries and daemons to implement basic email
handling

akonadinotes

KDE library for accessing mail storages in MBox
format

akonadisearch

Libraries and daemons to implement searching in
Akonadi

akregator

A Feed Reader by KDE

alarmcalendar

KDE API for KAlarm alarms

apidox

KF5 API Documentation Tools

archive

KF5 library that provides classes for handling
archive formats

attica

Open Collaboration Services API library KDE5
version

attica5

Open Collaboration Services API library KDE5
version

auth

KF5 abstraction to system policy and
authentication features

baloo

KF5 Framework for searching and managing user
metadata

baloo-widgets

BalooWidgets library

baloo5

KF5 Framework for searching and managing user
metadata

blog

KDE API for weblogging access

bookmarks

KF5 library for bookmarks and the XBEL
format

breeze

Plasma5 artwork, styles and assets for the Breeze
visual style

breeze-gtk

Plasma5 Breeze visual style for Gtk

breeze-icons

Breeze icon theme for KDE

calendarcore

KDE calendar access library

calendarsupport

Calendar support libraries for KDEPim

calendarutils

KDE utility and user interface functions for
accessing calendar

codecs

KF5 library for string manipulation

completion

KF5 text completion helpers and widgets

config

KF5 widgets for configuration dialogs

configwidgets

KF5 widgets for configuration dialogs

contacts

KDE api to manage contact information

coreaddons

KF5 addons to QtCore

crash

KF5 library to handle crash analysis and bug
report from apps

dbusaddons

KF5 addons to QtDBus

decoration

Plasma5 library to create window
decorations

designerplugin

KF5 integration of Frameworks widgets in Qt
Designer/Creator

discover

Plasma5 package management tools

dnssd

KF5 abstraction to system DNSSD features

doctools

KF5 documentation generation from docbook

drkonqi

Plasma5 crash handler

ecm

Extra modules and scripts for CMake

emoticons

KF5 library to convert emoticons

eventviews

Event view libriares for KDEPim

filemetadata

KF5 library for extracting file metadata

frameworkintegration

KF5 workspace and cross-framework integration
plugins

gapi

KDE based library to access google
services

globalaccel

KF5 library to add support for global workspace
shortcuts

grantlee-editor

Editor for Grantlee themes

grantleetheme

KDE PIM grantleetheme

gravatar

Library for gravatar support

guiaddons

KF5 addons to QtGui

holidays

KDE library for calendar holidays

hotkeys

Plasma5 library for hotkeys

i18n

KF5 advanced internationalization
framework

iconthemes

KF5 library for handling icons in
applications

identitymanagement

KDE pim identities

idletime

KF5 library for monitoring user activity

imap

KDE API for IMAP support

incidenceeditor

Incidence editor libriares for KDEPim

infocenter

Plasma5 utility providing system
information

init

KF5 process launcher to speed up launching KDE
applications

itemmodels

KF5 models for Qt Model/View system

itemviews

KF5 widget addons for Qt Model/View

jobwidgets

KF5 widgets for tracking KJob instance

js

KF5 library providing an ECMAScript
interpreter

jsembed

KF5 library for binding JavaScript objects to
QObjects

kaddressbook

KDE contact manager

kalarm

Personal alarm scheduler

kalarm

Personal alarm scheduler

kate

Basic editor framework for the KDE system

kcmutils

KF5 utilities for working with KCModules

kde-cli-tools

Plasma5 non-interactive system tools

kde-gtk-config

Plasma5 GTK2 and GTK3 configurator

kdeclarative

KF5 library providing integration of QML and KDE
Frameworks

kded

KF5 extensible daemon for providing system level
services

kdelibs4support

KF5 porting aid from KDELibs4

kdepim-addons

KDE PIM addons

kdepim-apps-libs

KDE PIM mail related libraries

kdepim-runtime5

KDE PIM tools and services

kdeplasma-addons

Plasma5 addons to improve the Plasma
experience

kdesu

KF5 integration with su for elevated
privileges

kdewebkit

KF5 library providing integration of
QtWebKit

kgamma5

Plasma5 monitor's gamma settings

khtml

KF5 KTHML rendering engine

kimageformats

KF5 library providing support for additional
image formats

kio

KF5 resource and network access
abstraction

kirigami2

QtQuick based components set

kitinerary

Data Model and Extraction System for Travel
Reservation information

kmail

KDE mail client

kmail

KDE mail client

kmail-account-wizard

KDE mail account wizard

kmenuedit

Plasma5 menu editor

knotes

Popup notes

kontact

KDE Personal Information Manager

kontact

KDE Personal Information Manager

kontactinterface

KDE glue for embedding KParts into
Kontact

korganizer

Calendar and scheduling Program

kpimdav

A DAV protocol implementation with KJobs

kpkpass

Library to deal with Apple Wallet pass
files

kross

KF5 multi-language application scripting

kscreen

Plasma5 screen management library

kscreenlocker

Plasma5 secure lock screen architecture

ksmtp

Job-based library to send email through an SMTP
server

ksshaskpass

Plasma5 ssh-add frontend

ksysguard

Plasma5 utility to track and control the running
processes

kwallet-pam

Plasma5 KWallet PAM Integration

kwayland-integration

Integration plugins for a Wayland-based
desktop

kwin

Plasma5 window manager

kwrited

Plasma5 daemon listening for wall and write
messages

ldap

LDAP access API for KDE

libkcddb

KDE CDDB library

libkcompactdisc

KDE library for interfacing with audio
CDs

libkdcraw

LibRaw interface for KDE

libkdegames

Libraries used by KDE games

libkdepim

KDE PIM Libraries

libkeduvocdocument

Library for reading and writing vocabulary
files

libkexiv2

Exiv2 library interface for KDE

libkipi

KDE Image Plugin Interface

libkleo

Certificate manager for KDE

libksane

SANE library interface for KDE

libkscreen

Plasma5 screen management library

libksieve

Sieve libriares for KDEPim

libksysguard

Plasma5 library to track and control running
processes

mailcommon

Common libriares for KDEPim

mailimporter

Import mbox files to KMail

mailtransport

KDE library to managing mail transport

marble

Virtual globe and world atlas for KDE

mbox

KDE library for accessing mail storages in MBox
format

mbox-importer

Import mbox files to KMail

mediaplayer

KF5 plugin interface for media player
features

messagelib

Library for handling messages

milou

Plasma5 Plasmoid for search

mime

Library for handling MIME data

newstuff

KF5 library for downloading application assets
from the network

notifications

KF5 abstraction for system notifications

notifyconfig

KF5 configuration system for KNotify

okular

KDE universal document viewer

oxygen

Plasma5 Oxygen style

oxygen-icons5

The Oxygen icon theme for KDE

package

KF5 library to load and install packages

parts

KF5 document centric plugin system

people

KF5 library providing access to contacts

pim-data-exporter

Import and export KDE PIM settings

pimcommon

Common libriares for KDEPim

pimtextedit

KDE library for PIM-specific text editing
utilities

plasma-browser-integration

Plasma5 components to integrate browsers into the
desktop

plasma-desktop

Plasma5 plasma desktop

plasma-framework

KF5 plugin based UI runtime used to write user
interfaces

plasma-integration

Qt Platform Theme integration plugins for the
Plasma workspaces

plasma-pa

Plasma5 Plasma pulse audio mixer

plasma-sdk

Plasma5 applications useful for Plasma
development

plasma-workspace

Plasma5 Plasma workspace

plasma-workspace-wallpapers

Plasma5 wallpapers

plotting

KF5 lightweight plotting framework

polkit-kde-agent-1

Plasma5 daemon providing a polkit authentication
UI

powerdevil

Plasma5 tool to manage the power consumption
settings

prison

API to produce barcodes

pty

KF5 pty abstraction

purpose

Offers available actions for a specific
purpose

qqc2-desktop-style

Qt QuickControl2 style for KDE

runner

KF5 parallelized query system

service

KF5 advanced plugin and service
introspection

solid

KF5 hardware integration and detection

sonnet

KF5 plugin-based spell checking library

syndication

KDE RSS feed handling library

syntaxhighlighting

KF5 syntax highlighting engine for structured
text and code

systemsettings

Plasma5 system settings

texteditor

KF5 advanced embeddable text editor

textwidgets

KF5 advanced text editing widgets

threadweaver

KF5 addons to QtDBus

tnef

KDE API for the handling of TNEF data

unitconversion

KF5 library for unit conversion

user-manager

Plasma5 user manager

wallet

KF5 secure and unified container for user
passwords

wayland

KF5 Client and Server library wrapper for the
Wayland libraries

widgetsaddons

KF5 addons to QtWidgets

windowsystem

KF5 library for access to the windowing
system

xmlgui

KF5 user configurable main windows

xmlrpcclient

KF5 interaction with XMLRPC services

ExampleÂ 6.18.Â 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.