eclass/desktop: Sync with gentoo

It's from gentoo commit f6212ee060d6a2962ac27cf57ffd721d14b64215.
This commit is contained in:
Krzesimir Nowak 2021-12-21 09:53:57 +01:00
parent d532eb6390
commit b1d75df15c

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation # 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: desktop.eclass # @ECLASS: desktop.eclass
@ -10,7 +10,7 @@ if [[ -z ${_DESKTOP_ECLASS} ]]; then
_DESKTOP_ECLASS=1 _DESKTOP_ECLASS=1
# @FUNCTION: make_desktop_entry # @FUNCTION: make_desktop_entry
# @USAGE: make_desktop_entry(<command>, [name], [icon], [type], [fields]) # @USAGE: <command> [name] [icon] [type] [fields]
# @DESCRIPTION: # @DESCRIPTION:
# Make a .desktop file. # Make a .desktop file.
# #
@ -162,8 +162,15 @@ make_desktop_entry() {
else else
local desktop_name="${PN}-${slot}" local desktop_name="${PN}-${slot}"
fi fi
local desktop="${T}/$(echo ${exec} | sed 's:[[:space:]/:]:_:g')-${desktop_name}.desktop" local desktop_exec="${exec%%[[:space:]]*}"
#local desktop=${T}/${exec%% *:-${desktop_name}}.desktop desktop_exec="${desktop_exec##*/}"
# Prevent collisions if a file with the same name already exists #771708
local desktop="${desktop_exec}-${desktop_name}" count=0
while [[ -e ${ED}/usr/share/applications/${desktop}.desktop ]]; do
desktop="${desktop_exec}-$((++count))-${desktop_name}"
done
desktop="${T}/${desktop}.desktop"
# Don't append another ";" when a valid category value is provided. # Don't append another ";" when a valid category value is provided.
type=${type%;}${type:+;} type=${type%;}${type:+;}