6.10. Using KDE
Prev | Chapter 6. Special Considerations | Next

## 6.10. Using KDE

### 6.10.1. Variable Definitions (KDE 3.x Only)

Table 6.13. Variables for Ports That Use KDE 3.x

`USE_KDELIBS_VER` | The port uses KDE libraries. It specifies the major version of KDE to use and implies `USE_QT_VER` of the appropriate version. The only possible value is `3`.
`USE_KDEBASE_VER` | The port uses KDE base. It specifies the major version of KDE to use and implies `USE_QT_VER` of the appropriate version. The only possible value is `3`.

### 6.10.2. KDE 4 Variable Definitions

If your application depends on KDE 4.x, set `USE_KDE4` to the list of required components. `_build` and `_run` suffixes can be used to force components dependency type (e.g., `baseapps_run`). If no suffix is set, a default dependency type will be used. If you want to force both types, add the component twice with both suffixes (e.g., `automoc4_build automoc4_run`). The most commonly used components are listed below (up-to-date components are documented at the top of `/usr/ports/Mk/bsd.kde4.mk`):

Table 6.14. Available KDE 4 Components

Name | Description
--- | ---
`kdehier` | Hierarchy of common KDE directories
`kdelibs` | KDE Developer Platform
`kdeprefix` | If set, port will be installed into `${KDE4_PREFIX}` instead of `${LOCALBASE}`
`sharedmime` | MIME types database for KDE ports
`automoc4` | Automatic moc for Qt 4 packages
`akonadi` | Storage server for KDE-Pim
`soprano` | Qt 4 RDF framework
`strigi` | Desktop search daemon
`libkcddb` | KDE CDDB library
`libkcompactdisc` | KDE library for interfacing with audio CDs
`libkdeedu` | Libraries used by educational applications
`libkdcraw` | KDE LibRaw library
`libkexiv2` | KDE Exiv2 library
`libkipi` | KDE Image Plugin Interface
`libkonq` | Konqueror core library
`libksane` | KDE SANE ("Scanner Access Now Easy") library
`pimlibs` | KDE-Pim libraries
`kate` | Text editor framework
`marble` | Virtual globe
`okular` | Universal document viewer
`korundum` | KDE Ruby bindings
`perlkde` | KDE Perl bindings
`pykde4` | KDE Python bindings
`pykdeuic4` | PyKDE user interface compiler
smokekde`` | KDE SMOKE libraries

KDE 4.x ports are installed into `KDE4_PREFIX`, which is `/usr/local/kde4` currently, to avoid conflicts with KDE 3.x ports. This is achieved by specifying the `kdeprefix` component, which overrides the default `PREFIX`. The ports however respect any `PREFIX` set via `MAKEFLAGS` environment variable and/or `make` arguments.

Example 6.6. `USE_KDE4` Example

This is a simple example for a KDE 4 port. `USES= cmake:outsource` instructs the port to utilize CMake, a configuration tool widely used by KDE 4 projects (see Section 6.3.4, “Using `cmake`” for detailed usage). `USE_KDE4` brings dependency on KDE libraries and makes port using `automoc4` at build stage. Required KDE components and other dependencies can be determined through configure log. `USE_KDE4` does not imply `USE_QT4`. If a port requires some Qt 4 components, they should be specified in `USE_QT4`.

USES= cmake:outsource USE_KDE4= kdelibs kdeprefix automoc4 USE_QT4= moc_build qmake_build rcc_build uic_build

Prev | Up | Next
6.9. Using Qt | Home | 6.11. Using Java

All FreeBSD documents are available for download at http://ftp.FreeBSD.org/pub/FreeBSD/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>.