eclass/xdg: Sync with gentoo

It's from gentoo commit d556c732164c06df0c289b652fedbb46651f8f68.
This commit is contained in:
Krzesimir Nowak 2022-03-03 16:15:30 +01:00
parent 3c691cf996
commit 10ea5a6e01

View File

@ -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 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: xdg.eclass # @ECLASS: xdg.eclass
@ -6,7 +6,8 @@
# freedesktop-bugs@gentoo.org # freedesktop-bugs@gentoo.org
# @AUTHOR: # @AUTHOR:
# Original author: Gilles Dartiguelongue <eva@gentoo.org> # Original author: Gilles Dartiguelongue <eva@gentoo.org>
# @SUPPORTED_EAPIS: 4 5 6 7 # @SUPPORTED_EAPIS: 5 6 7 8
# @PROVIDES: xdg-utils
# @BLURB: Provides phases for XDG compliant packages. # @BLURB: Provides phases for XDG compliant packages.
# @DESCRIPTION: # @DESCRIPTION:
# Utility eclass to update the desktop, icon and shared mime info as laid # Utility eclass to update the desktop, icon and shared mime info as laid
@ -14,29 +15,47 @@
inherit xdg-utils inherit xdg-utils
case "${EAPI:-0}" in _DEFINE_XDG_SRC_PREPARE=false
4|5|6|7) case "${EAPI}" in
EXPORT_FUNCTIONS src_prepare pkg_preinst pkg_postinst pkg_postrm 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 esac
EXPORT_FUNCTIONS pkg_preinst pkg_postinst pkg_postrm
# Avoid dependency loop as both depend on glib-2 # Avoid dependency loop as both depend on glib-2
if [[ ${CATEGORY}/${P} != dev-libs/glib-2.* ]] ; then if [[ ${CATEGORY}/${P} != dev-libs/glib-2.* ]] ; then
DEPEND=" _XDG_DEPEND="
dev-util/desktop-file-utils dev-util/desktop-file-utils
x11-misc/shared-mime-info x11-misc/shared-mime-info
" "
case "${EAPI}" in
5|6|7)
DEPEND="${_XDG_DEPEND}"
;;
*)
IDEPEND="${_XDG_DEPEND}"
;;
esac
fi fi
if ${_DEFINE_XDG_SRC_PREPARE}; then
# @FUNCTION: xdg_src_prepare # @FUNCTION: xdg_src_prepare
# @DESCRIPTION: # @DESCRIPTION:
# Prepare sources to work with XDG standards. # Prepare sources to work with XDG standards.
# Note that this function is only defined and exported in EAPIs < 8.
xdg_src_prepare() { xdg_src_prepare() {
xdg_environment_reset xdg_environment_reset
[[ ${EAPI:-0} != [45] ]] && default [[ ${EAPI} != 5 ]] && default
} }
fi
# @FUNCTION: xdg_pkg_preinst # @FUNCTION: xdg_pkg_preinst
# @DESCRIPTION: # @DESCRIPTION: