Difference between revisions of "KDE package guidelines"

From ArchWiki
Jump to: navigation, search
m (Force Qt4)
m (add ja link)
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
[[Category:Package development]]
 
[[Category:Package development]]
{{Package Guidelines}}
+
[[ja:KDE パッケージガイドライン]]
 +
{{Package guidelines}}
  
 
The [[KDE]] packages on Arch Linux follow a certain schema.
 
The [[KDE]] packages on Arch Linux follow a certain schema.
Line 28: Line 29:
  
 
== Force Qt4 ==
 
== Force Qt4 ==
 +
 +
=== KDE4 ===
 +
 
On systems where both {{Pkg|qt4}} and  {{Pkg|qt5-base}} are installed, `qmake` refers to the 5.x version, so force cmake to use Qt4 this way:
 
On systems where both {{Pkg|qt4}} and  {{Pkg|qt5-base}} are installed, `qmake` refers to the 5.x version, so force cmake to use Qt4 this way:
export QT_SELECT=4
+
  export QT_SELECT=4
 
or using this option in cmake:
 
or using this option in cmake:
 
  -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt4
 
  -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt4
  
== Package naming ==
+
=== KF5 ===
 +
 
 +
The same rules as for KDE4, but you need force cmake to use Qt5 instead of Qt4:
 +
 
 +
  export QT_SELECT=5
 +
 
 +
== KDE4 package naming ==
  
 
=== KDE Config Module ===
 
=== KDE Config Module ===
 
KDE Config Module packages should be named {{Ic|kcm-''module''}}.
 
KDE Config Module packages should be named {{Ic|kcm-''module''}}.
  
=== Plasmoids ===
+
=== Plasma widgets ===
Plasmoids packages should be named {{Ic|kdeplasma-applets-''plasmoidname''}} so that they are recognizable as [[KDE]]-related packages; this also distinguishes them from the official packages.
+
Plasma widgets (formerly Plasmoids) packages should be named {{Ic|kdeplasma-applets-''widgetname''}} so that they are recognizable as [[KDE]]-related packages; this also distinguishes them from the official packages.
  
 
=== Runners ===
 
=== Runners ===
Line 49: Line 59:
 
=== Themes ===
 
=== Themes ===
 
Plasma themes packages should be named {{Ic|kdeplasma-themes-''themename''}} so that they are recognizable as [[KDE]]-related packages.
 
Plasma themes packages should be named {{Ic|kdeplasma-themes-''themename''}} so that they are recognizable as [[KDE]]-related packages.
 +
 +
 +
== KF5 package naming ==
 +
 +
=== Plasma widgets ===
 +
Plasma widgets (formerly Plasmoids) packages should be named {{Ic|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 {{Ic|plasma5-runners-''runnername''}} 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 {{Ic|kf5-servicemenus-''servicename''}} so that they are recognizable as [[KF5]]-related packages
 +
 +
=== Themes ===
 +
Plasma themes packages should be named {{Ic|plasma5-themes-''themename''}} so that they are recognizable as [[Plasma 5]]-related packages.
  
 
== .install files ==
 
== .install files ==

Latest revision as of 08:52, 12 January 2016

Package creation guidelines

CLRCrossEclipseFree PascalGNOMEGoHaskellJavaKDEKernelLispMinGWNode.jsNonfreeOCamlPerlPHPPythonRubyVCSWebWine

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)

When a package is moved to [extra] or [community] that line must be changed to:

-DCMAKE_INSTALL_PREFIX=/usr

Build type

Please specify the build type; this makes it really simple to rebuild a package with debug symbols by just using a sed rule.

-DCMAKE_BUILD_TYPE=Release

Force Qt4

KDE4

On systems where both qt4 and qt5-base are installed, `qmake` refers to the 5.x version, so force cmake to use Qt4 this way:

 export QT_SELECT=4

or using this option in cmake:

-DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt4

KF5

The same rules as for KDE4, but you need force cmake to use Qt5 instead of Qt4:

 export QT_SELECT=5

KDE4 package naming

KDE Config Module

KDE Config 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 kde-servicemenus-servicename so that they are recognizable as KDE-related packages

Themes

Plasma themes packages should be named kdeplasma-themes-themename 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 plasma5-runners-runnername 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 kf5-servicemenus-servicename 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.

.install files

For many KDE packages, all .install files look almost exactly the same. Some packages install icons in the hicolor icon theme; use the xdg-icon-resource utility provided by the xdg-utils package, which is a dependency of the qt4 package. So use this line:

xdg-icon-resource forceupdate --theme hicolor &> /dev/null

Many packages install Freedesktop.org compatible .desktop files and register MimeType entries in them. Running update-desktop-database in post_install is recommended as that tool is provided by the desktop-file-utils package which is a dependency of the qt4 package. So use this line:

update-desktop-database -q