FreeBSD Porter's Handbook
Prev | Chapter 6 Special Considerations | Next

# 6.11 Using KDE

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

Table 6-14. 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.11.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-15. 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 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 | Home | Next
Using Qt | Up | Using Java

For questions about the FreeBSD ports system, e-mail <ports@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.