summaryrefslogtreecommitdiff
path: root/eclass/xdg.eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass/xdg.eclass')
-rw-r--r--eclass/xdg.eclass34
1 files changed, 26 insertions, 8 deletions
diff --git a/eclass/xdg.eclass b/eclass/xdg.eclass
index 219be712e84d..08dc8432a5e0 100644
--- a/eclass/xdg.eclass
+++ b/eclass/xdg.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: xdg.eclass
@@ -6,7 +6,7 @@
# freedesktop-bugs@gentoo.org
# @AUTHOR:
# Original author: Gilles Dartiguelongue <eva@gentoo.org>
-# @SUPPORTED_EAPIS: 4 5 6 7
+# @SUPPORTED_EAPIS: 5 6 7 8
# @BLURB: Provides phases for XDG compliant packages.
# @DESCRIPTION:
# Utility eclass to update the desktop, icon and shared mime info as laid
@@ -14,29 +14,47 @@
inherit xdg-utils
-case "${EAPI:-0}" in
- 4|5|6|7)
- EXPORT_FUNCTIONS src_prepare pkg_preinst pkg_postinst pkg_postrm
+_DEFINE_XDG_SRC_PREPARE=false
+case "${EAPI}" in
+ 5|6|7)
+ # src_prepare is only exported in EAPI < 8.
+ EXPORT_FUNCTIONS src_prepare
+ _DEFINE_XDG_SRC_PREPARE=true
;;
- *) die "EAPI=${EAPI} is not supported" ;;
+ 8)
+ ;;
+ *) die "${ECLASS}: EAPI=${EAPI} is not supported" ;;
esac
+EXPORT_FUNCTIONS pkg_preinst pkg_postinst pkg_postrm
# Avoid dependency loop as both depend on glib-2
if [[ ${CATEGORY}/${P} != dev-libs/glib-2.* ]] ; then
-DEPEND="
+_XDG_DEPEND="
dev-util/desktop-file-utils
x11-misc/shared-mime-info
"
+
+case "${EAPI}" in
+ 5|6|7)
+ DEPEND="${_XDG_DEPEND}"
+ ;;
+ *)
+ IDEPEND="${_XDG_DEPEND}"
+ ;;
+esac
fi
+if ${_DEFINE_XDG_SRC_PREPARE}; then
# @FUNCTION: xdg_src_prepare
# @DESCRIPTION:
# Prepare sources to work with XDG standards.
+# Note that this function is only defined and exported in EAPIs < 8.
xdg_src_prepare() {
xdg_environment_reset
- [[ ${EAPI:-0} != [45] ]] && default
+ [[ ${EAPI} != 5 ]] && default
}
+fi
# @FUNCTION: xdg_pkg_preinst
# @DESCRIPTION: