Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-ports-kde
Path: blob/main/Mk/Scripts/install-desktop-entries.sh
16461 views
1
#!/bin/sh
2
#
3
# MAINTAINER: [email protected]
4
5
set -e
6
set -o pipefail
7
8
. "${dp_SCRIPTSDIR}/functions.sh"
9
10
validate_env dp_SED dp_ECHO_CMD dp_STAGEDIR dp_DESKTOPDIR
11
12
[ -n "${DEBUG_MK_SCRIPTS}" ] || [ -n "${DEBUG_MK_SCRIPTS_INSTALL_DESKTOP_ENTRIES}" ] && set -x
13
14
set -u
15
16
while [ $# -ge 6 ]; do
17
18
Name="${1}"
19
Comment="${2}"
20
Icon="${3}"
21
Exec="${4}"
22
Categories="${5}"
23
StartupNotify="${6}"
24
25
shift 6
26
27
filename="$(${dp_ECHO_CMD} "${Exec}" | ${dp_SED} -e 's,^/,,g;s,[/ ],_,g;s,[^_[:alnum:]],,g').desktop"
28
29
pathname="${dp_STAGEDIR}${dp_DESKTOPDIR}/${filename}"
30
31
${dp_ECHO_CMD} "${dp_DESKTOPDIR}/${filename}" >> "${dp_TMPPLIST}"
32
33
{
34
${dp_ECHO_CMD} "[Desktop Entry]"
35
${dp_ECHO_CMD} "Type=Application"
36
${dp_ECHO_CMD} "Version=1.0"
37
${dp_ECHO_CMD} "Name=${Name}"
38
} > "${pathname}"
39
40
if [ -n "${Comment}" ]; then
41
comment="${Comment}"
42
else
43
comment="$(cd "${dp_CURDIR}" && ${dp_MAKE} -VCOMMENT)"
44
fi
45
46
${dp_ECHO_CMD} "GenericName=${comment}" >> "${pathname}"
47
${dp_ECHO_CMD} "Comment=${comment}" >> "${pathname}"
48
49
if [ -n "${Icon}" ]; then
50
${dp_ECHO_CMD} "Icon=${Icon}" >> "${pathname}"
51
fi
52
53
${dp_ECHO_CMD} "Exec=${Exec}" >> "${pathname}"
54
55
if [ -n "${Categories}" ]; then
56
categories="${Categories}"
57
else
58
categories="$(cd "${dp_CURDIR}" && ${dp_MAKE} desktop-categories)"
59
fi
60
61
${dp_ECHO_CMD} "Categories=${categories}" >> "${pathname}"
62
63
if [ -n "${StartupNotify}" ]; then
64
${dp_ECHO_CMD} "StartupNotify=${StartupNotify}" >> "${pathname}"
65
fi
66
done
67
68