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