eclass/xdg: Sync with Gentoo

It's from Gentoo commit b5240fb0f593fc3c45885125682d33069cfb45c8.
This commit is contained in:
Krzesimir Nowak 2024-08-02 16:04:44 +02:00
parent 275be745e7
commit c0e2d58f09

View File

@ -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
case ${EAPI} in
6|7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
if [[ -z ${_XDG_ECLASS} ]]; then
_XDG_ECLASS=1
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" ;;
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
_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