KDE5.ECLASS

Section: portage (5)
Updated: Oct 2019
Index Return to Main Contents
 

NAME

kde5.eclass - Support eclass for packages that follow KDE packaging conventions.  

DESCRIPTION

This eclass is intended to streamline the creation of ebuilds for packages that follow KDE upstream packaging conventions. It's primarily intended for the three upstream release groups (Frameworks, Plasma, Applications) but is also for any package that follows similar conventions.

This eclass unconditionally inherits kde5-functions.eclass and all its public functions and variables may be considered as part of this eclass's API.

This eclass unconditionally inherits cmake-utils.eclass and all its public variables and helper functions (not phase functions) may be considered as part of this eclass's API.

This eclass's phase functions are not intended to be mixed and matched, so if any phase functions are overridden the version here should also be called.  

FUNCTIONS

kde5_pkg_pretend
Checks if the active compiler meets the minimum version requirements. phase function is only exported if KDE_GCC_MINIMAL is defined.
kde5_pkg_setup
Checks if the active compiler meets the minimum version requirements.
kde5_pkg_nofetch
Intended for use in the KDE overlay. If this package matches something in KDE_UNRELEASED, display a giant warning that the package has not yet been released upstream and should not be used.
kde5_src_unpack
Unpack the sources, automatically handling both release and live ebuilds.
kde5_src_prepare
Wrapper for cmake-utils_src_prepare with lots of extra logic for magic handling of linguas, tests, handbook etc.
kde5_src_configure
Wrapper for cmake-utils_src_configure with extra logic for magic handling of handbook, tests etc.
kde5_src_compile
Wrapper for cmake-utils_src_compile. Currently doesn't do anything extra, but is included as part of the API just in case it's needed in the future.
kde5_src_test
Wrapper for cmake-utils_src_test with extra logic for magic handling of dbus and virtualx.
kde5_src_install
Wrapper for cmake-utils_src_install with extra logic to avoid compressing certain types of files. For example, khelpcenter is not able to read compressed handbooks.
kde5_pkg_preinst
Sets up environment variables required in kde5_pkg_postinst.
kde5_pkg_postinst
Updates the various XDG caches (icon, desktop, mime) if necessary.
kde5_pkg_postrm
Updates the various XDG caches (icon, desktop, mime) if necessary.
 

ECLASS VARIABLES

VIRTUALX_REQUIRED ?= manual
For proper description see virtualx.eclass manpage. Here we redefine default value to be manual, if your package needs virtualx for tests you should proceed with setting VIRTUALX_REQUIRED=test.
ECM_KDEINSTALLDIRS ?= true
If set to "false", do nothing. For any other value, assume the package is using KDEInstallDirs macro and switch KDE_INSTALL_USE_QT_SYS_PATHS to ON.
KDE_AUTODEPS ?= true
If set to "false", do nothing. For any other value, add dependencies on dev-qt/qtcore:5, kde-frameworks/kf-env and kde-frameworks/extra-cmake-modules:5. Additionally, required blockers may be set depending on the value of CATEGORY.
KDE_DEBUG ?= true
If set to "false", add -DNDEBUG (via cmake-utils_src_configure) and -DQT_NO_DEBUG to CPPFLAGS. Otherwise, add debug to IUSE.
KDE_DESIGNERPLUGIN ?= false
If set to "false", do nothing. Otherwise, add "designer" to IUSE to toggle build of designer plugins and add the necessary DEPENDs.
KDE_EXAMPLES ?= false
If set to "false", unconditionally ignore a top-level examples subdirectory. Otherwise, add "examples" to IUSE to toggle adding that subdirectory.
KDE_HANDBOOK ?= false
If set to "false", do nothing. Otherwise, add "+handbook" to IUSE, add the appropriate dependency, and generate and install KDE handbook. If set to "optional", config with -DCMAKE_DISABLE_FIND_PACKAGE_KF5DocTools=ON when USE=!handbook. In case package requires KF5KDELibs4Support, see next: If set to "forceoptional", remove a KF5DocTools dependency from the root CMakeLists.txt in addition to the above.
KDE_DOC_DIR ?= doc
Specifies the location of the KDE handbook if not the default.
KDE_PO_DIRS ?= "po poqm"
Specifies the possible locations of KDE l10n files if not the default.
KDE_QTHELP
If set to "false", do nothing. Otherwise, add "doc" to IUSE, add the appropriate dependency, generate and install Qt compressed help files with -DBUILD_QCH=ON when USE=doc.
KDE_TEST
If set to "false", do nothing. For any other value, add test to IUSE and add a dependency on dev-qt/qttest:5. If set to "optional", configure with -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Test=ON when USE=!test. If set to "forceoptional", remove a Qt5Test dependency and comment test subdirs from the root CMakeLists.txt in addition to the above. If set to "forceoptional-recursive", remove Qt5Test dependencies and make autotest(s), unittest(s) and test(s) subdirs from *any* CMakeLists.txt in ${S} and below conditional on BUILD_TESTING. This is always meant as a short-term fix and creates ${T}/${P}-tests-optional.patch to refine and submit upstream.
KDE_SELINUX_MODULE ?= none
If set to "none", do nothing. For any other value, add selinux to IUSE, and depending on that useflag add a dependency on sec-policy/selinux-${KDE_SELINUX_MODULE} to (R)DEPEND.
KDE_SUBSLOT ?= false
If set to "false", do nothing. If set to "true", add a subslot to the package, where subslot is either defined as major.minor version for kde-*/ categories or ${PV} if other. For any other value, that value will be used as subslot.
 

MAINTAINERS

kde@gentoo.org
 

REPORTING BUGS

Please report bugs via https://bugs.gentoo.org/  

FILES

kde5.eclass  

SEE ALSO

ebuild(5)
https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/kde5.eclass


 

Index

NAME
DESCRIPTION
FUNCTIONS
ECLASS VARIABLES
MAINTAINERS
REPORTING BUGS
FILES
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 03:25:05 GMT, October 21, 2019