KDE package guidelines

From ArchWiki
Arch package guidelines

32-bitCLRCMakeCrossDKMSEclipseElectronFontFree PascalGNOMEGoHaskellJavaKDEKernelLispMesonMinGWNode.jsNonfreeOCamlPerlPHPPythonRRubyRustShellVCSWebWine

This article or section is out of date.

Reason: References kde4, looks really outdated in general (Discuss in Talk:KDE package guidelines)

The KDE packages on Arch Linux follow a certain schema.

Build directory

A good way of building CMake packages is to make a build directory outside the root of the project and run cmake from that directory. The PKGBUILD should look this way:

prepare() {
  mkdir -p build
}

build() {
  cd build
  cmake ../${pkgname}-${pkgver}
}

Install prefix

Every packages must set the CMAKE_INSTALL_PREFIX variable, but also we have to respect custom built versions of KDE, so please use:

-DCMAKE_INSTALL_PREFIX=$(kde4-config --prefix)

or for KDE 5:

-DCMAKE_INSTALL_PREFIX=$(kf5-config --prefix)

When a package is moved to extra that line must be changed to:

-DCMAKE_INSTALL_PREFIX=/usr

Build type

Generally you should not specify the build type; this makes CMake honor environmental variables like such as CFLAGS, CPPFLAGS, etc. [1]

Force Qt version

This article or section needs expansion.

Reason: Is this the same for Qt6? (Discuss in Talk:KDE package guidelines)

KF package naming

Note: There are still packages that are using old KDE4 naming: kdeplasma-applets-*, kde-servicemenus-*. They should be renamed or deleted.

Some packages even do not follow kde4 naming scheme. Some examples: kde theme, plasma-runners.

To rename a package, select "Submit Request" on the package page, and in request type select "Merge".

Plasma widgets

Plasma widgets (formerly Plasmoids) packages should be named plasma5-applets-widgetname so that they are recognizable as Plasma 5-related packages; this also distinguishes them from the official packages. See examples.

Runners

Plasma runners packages should be named plasma5-runners-runnername or plasma6-runners-runnername so that they are recognizable as Plasma 5-related packages; this also distinguishes them from the official packages. See examples here and here.

Service menus

Service menus packages should be named kf5-servicemenus-servicename or kf6-servicemenus-servicename so that they are recognizable as KF5 or KF6 related packages. See examples here and here.

Themes

Plasma themes packages should be named plasma5-themes-themename so that they are recognizable as Plasma 5-related packages. See examples.

Icons and .desktop files installation

Some KDE software provide icons in the hicolor icon theme and .desktop files, which must be installed via pacman hooks. Refrain from using installation command for these type of files in a .install, as it would result in unnecessary double execution of them.