KDE package guidelines

The KDE packages on Arch Linux follow a certain schema.

Arch package guidelines

32-bitCLRCMakeCrossDKMSEclipseElectronFontFree PascalGNOMEGoHaskellJavaKDEKernelLispMesonMinGWNode.jsNonfreeOCamlPerlPHPPythonRRubyRustShellVCSWebWine

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] or [community] 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.

KDE4 package naming

KDE Configuration Module

KDE Configuration Module packages should be named kcm-module.

Plasma widgets

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

Runners

Plasma runners packages should be named kdeplasma-runners-runnername so that they are recognizable as KDE-related packages; this also distinguishes them from the official packages.

Service menus

Service menus packages should be named so that they are recognizable as KDE-related packages

Themes

Plasma themes packages should be named so that they are recognizable as KDE-related packages.

KF5 package naming

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.

Runners

Plasma runners packages should be named so that they are recognizable as Plasma 5-related packages; this also distinguishes them from the official packages.

Service menus

Service menus packages should be named so that they are recognizable as KF5-related packages

Themes

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

Icons and .desktop files installation

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

The package already depends on , hicolor-icon-theme and , so if your package depends , no other action should be needed (i.e. no need to add these packages to array).

gollark: Like how people are mortal and thus decide that death is obviously good because [OBVIOUS RATIONALIZATION] and not evil.
gollark: I mean the generalized thing where once you are in a situation you probably can't escape from you *may* just trick yourself into thinking the situation is cool and good.
gollark: That sounds like cognitive dissonance/weird generalized Stockholm syndrome or something.
gollark: Plus, people break up lots so this is obviously not true.
gollark: Well, you shouldn't trust them entirely, that's ridiculous.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.