diff options
Diffstat (limited to 'eclass/xdg.eclass')
-rw-r--r-- | eclass/xdg.eclass | 65 |
1 files changed, 33 insertions, 32 deletions
diff --git a/eclass/xdg.eclass b/eclass/xdg.eclass index a3e75103a046..14c56047af45 100644 --- a/eclass/xdg.eclass +++ b/eclass/xdg.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: xdg.eclass @@ -6,56 +6,54 @@ # freedesktop-bugs@gentoo.org # @AUTHOR: # Original author: Gilles Dartiguelongue <eva@gentoo.org> -# @SUPPORTED_EAPIS: 5 6 7 8 +# @SUPPORTED_EAPIS: 6 7 8 # @PROVIDES: xdg-utils # @BLURB: Provides phases for XDG compliant packages. # @DESCRIPTION: # Utility eclass to update the desktop, icon and shared mime info as laid # out in the freedesktop specs & implementations -inherit xdg-utils - -_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 - ;; - 8) - ;; - *) die "${ECLASS}: EAPI=${EAPI} is not supported" ;; +case ${EAPI} in + 6|7|8) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac -EXPORT_FUNCTIONS pkg_preinst pkg_postinst pkg_postrm + +if [[ -z ${_XDG_ECLASS} ]]; then +_XDG_ECLASS=1 + +inherit xdg-utils # Avoid dependency loop as both depend on glib-2 -if [[ ${CATEGORY}/${P} != dev-libs/glib-2.* ]] ; then -_XDG_DEPEND=" +[[ ${CATEGORY}/${P} != dev-libs/glib-2.* ]] && _XDG_DEPEND=" dev-util/desktop-file-utils x11-misc/shared-mime-info " -case "${EAPI}" in - 5|6|7) +case ${EAPI} in + 6|7) + # src_prepare is only exported in EAPI < 8. + # @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 + default + } + + EXPORT_FUNCTIONS src_prepare + DEPEND="${_XDG_DEPEND}" ;; *) + xdg_src_prepare() { + die "Called xdg_src_prepare in EAPI >= 8" + } + 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} != 5 ]] && default -} -fi +unset _XDG_DEPEND # @FUNCTION: xdg_pkg_preinst # @DESCRIPTION: @@ -127,3 +125,6 @@ xdg_pkg_postrm() { fi } +fi + +EXPORT_FUNCTIONS pkg_preinst pkg_postinst pkg_postrm |