aboutsummaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorMichael Palimaka <kensington@gentoo.org>2017-09-13 23:47:13 +1000
committerMichael Palimaka <kensington@gentoo.org>2017-09-13 23:47:19 +1000
commit2c1d7fc8177c64a83d0d92956f5699bb3537c555 (patch)
tree50cc4ec511bda896e11ec573487716a4aa54b6b2 /eclass
parentkde5.eclass: improve documentation (diff)
downloadkde-2c1d7fc8177c64a83d0d92956f5699bb3537c555.tar.gz
kde-2c1d7fc8177c64a83d0d92956f5699bb3537c555.tar.bz2
kde-2c1d7fc8177c64a83d0d92956f5699bb3537c555.zip
kde5-functions.eclass: improve documentation
Diffstat (limited to 'eclass')
-rw-r--r--eclass/kde5-functions.eclass44
1 files changed, 27 insertions, 17 deletions
diff --git a/eclass/kde5-functions.eclass b/eclass/kde5-functions.eclass
index 120471344d..95debee53e 100644
--- a/eclass/kde5-functions.eclass
+++ b/eclass/kde5-functions.eclass
@@ -4,10 +4,12 @@
# @ECLASS: kde5-functions.eclass
# @MAINTAINER:
# kde@gentoo.org
-# @BLURB: Common ebuild functions for KDE 5 packages
+# @BLURB: Common ebuild functions for KDE 5-related packages.
# @DESCRIPTION:
-# This eclass contains all functions shared by the different eclasses,
-# for KDE 5 ebuilds.
+# This eclass contains functions shared by the other KDE 5 eclasses and forms
+# part of their public API.
+#
+# This elass should (almost) never be inherited directly by an ebuild.
if [[ -z ${_KDE5_FUNCTIONS_ECLASS} ]]; then
_KDE5_FUNCTIONS_ECLASS=1
@@ -22,7 +24,10 @@ case ${EAPI} in
*) die "EAPI=${EAPI:-0} is not supported" ;;
esac
-# determine the build type
+# @ECLASS-VARIABLE: KDE_BUILD_TYPE
+# @DESCRIPTION:
+# If PV matches "*9999*", this is automatically set to "live".
+# Otherwise, this is automatically set to "release".
if [[ ${PV} = *9999* ]]; then
KDE_BUILD_TYPE="live"
else
@@ -43,28 +48,29 @@ esac
# @ECLASS-VARIABLE: QT_MINIMAL
# @DESCRIPTION:
-# Minimal Qt version to require for the package.
+# Minimum version of Qt to require. This affects add_qt_dep.
: ${QT_MINIMAL:=5.7.1}
# @ECLASS-VARIABLE: FRAMEWORKS_MINIMAL
# @DESCRIPTION:
-# Minimal Frameworks version to require for the package.
+# Minimum version of Frameworks to require. This affects add_frameworks_dep.
: ${FRAMEWORKS_MINIMAL:=5.37.0}
# @ECLASS-VARIABLE: PLASMA_MINIMAL
# @DESCRIPTION:
-# Minimal Plasma version to require for the package.
+# Minimum version of Plasma to remove. This affects add_plasma_dep.
: ${PLASMA_MINIMAL:=5.10.4}
# @ECLASS-VARIABLE: KDE_APPS_MINIMAL
# @DESCRIPTION:
-# Minimal KDE Applications version to require for the package.
+# Minimum version of KDE Applications to require. This affects add_kdeapps_dep.
: ${KDE_APPS_MINIMAL:=14.12.0}
# @ECLASS-VARIABLE: KDE_GCC_MINIMAL
# @DEFAULT_UNSET
# @DESCRIPTION:
-# Minimal GCC version to require for the package.
+# Minimum version of active GCC to require. This is checked in kde5.eclass in
+# kde5_pkg_pretend and kde5_pkg_setup.
# @ECLASS-VARIABLE: KDEBASE
# @DESCRIPTION:
@@ -78,7 +84,8 @@ debug-print "${ECLASS}: ${KDEBASE} ebuild recognized"
# @ECLASS-VARIABLE: KDE_SCM
# @DESCRIPTION:
-# SCM to use if this is a live ebuild.
+# SCM to use if KDE_BUILD_TYPE is determined to be "live".
+# Currently, only git is supported.
: ${KDE_SCM:=git}
case ${KDE_SCM} in
@@ -147,7 +154,7 @@ _add_category_dep() {
}
# @FUNCTION: add_frameworks_dep
-# @USAGE: <package> [USE flags] [minimum version]
+# @USAGE: <package name> [USE flags] [minimum version] [slot + operator]
# @DESCRIPTION:
# Create proper dependency for kde-frameworks/ dependencies.
# This takes 1 to 4 arguments. The first being the package name, the optional
@@ -179,7 +186,7 @@ add_frameworks_dep() {
}
# @FUNCTION: add_plasma_dep
-# @USAGE: <package> [USE flags] [minimum version]
+# @USAGE: <package name> [USE flags] [minimum version] [slot + operator]
# @DESCRIPTION:
# Create proper dependency for kde-plasma/ dependencies.
# This takes 1 to 4 arguments. The first being the package name, the optional
@@ -211,7 +218,7 @@ add_plasma_dep() {
}
# @FUNCTION: add_kdeapps_dep
-# @USAGE: <package> [USE flags] [minimum version]
+# @USAGE: <package name> [USE flags] [minimum version] [slot + operator]
# @DESCRIPTION:
# Create proper dependency for kde-apps/ dependencies.
# This takes 1 to 4 arguments. The first being the package name, the optional
@@ -243,7 +250,7 @@ add_kdeapps_dep() {
}
# @FUNCTION: add_qt_dep
-# @USAGE: <package> [USE flags] [minimum version]
+# @USAGE: <package name> [USE flags] [minimum version] [slot + operator]
# @DESCRIPTION:
# Create proper dependency for dev-qt/ dependencies.
# This takes 1 to 4 arguments. The first being the package name, the optional
@@ -277,10 +284,13 @@ add_qt_dep() {
_add_category_dep dev-qt "${1}" "${2}" "${version}" "${slot}"
}
-# @FUNCTION: get_kde_version
+# @FUNCTION: get_kde_version [version]
# @DESCRIPTION:
-# Translates an ebuild version into a major.minor KDE SC
-# release version. If no version is specified, ${PV} is used.
+# Translates an ebuild version into a major.minor KDE release version, taking
+# into account KDE's prerelease versioning scheme.
+# For example, get_kde_version 17.07.80 will return "17.08".
+# If the version equals 9999, "live" is returned.
+# If no version is specified, ${PV} is used.
get_kde_version() {
local ver=${1:-${PV}}
local major=$(get_major_version ${ver})