From 5b63c53b8062a1cd5e59fa331d05e0a38d2ced87 Mon Sep 17 00:00:00 2001
From: Andri Joos <andri@joos.io>
Date: Wed, 20 Nov 2024 11:05:13 +0100
Subject: [PATCH] allow desktop entry

---
 linux/snap.gitlab-ci.yml | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/linux/snap.gitlab-ci.yml b/linux/snap.gitlab-ci.yml
index 9b7f350..fe36160 100644
--- a/linux/snap.gitlab-ci.yml
+++ b/linux/snap.gitlab-ci.yml
@@ -41,13 +41,29 @@ variables:
     sed -i "s/\${GRADE}/${SNAP_GRADE}/" ${SNAP_CONFIG}
     sed -i "s/\${COMMAND}/${SNAP_COMMAND}/" ${SNAP_CONFIG}
 
-    mkdir -p ${BUILD_DIR}/meta
+    META_DIR="${BUILD_DIR}/meta"
+    mkdir -p "${META_DIR}"
     cp -r ${APP_DIR}/* ${BUILD_DIR}
-    cp ${SNAP_CONFIG} ${BUILD_DIR}/meta/snap.yaml
+    cp "${SNAP_CONFIG}" "${META_DIR}/snap.yaml"
+
+    GUI_DIR="${META_DIR}/gui"
+    mkdir -p "${GUI_DIR}"
+    if [ "${SNAP_DESKTOP_FILE}" != "" ]
+    then
+      sed -i "s|\${NAME}|${APP_NAME}/${GUI_DIR}|" ${SNAP_DESKTOP_FILE}
+      sed -i "s/\${COMMENT}/${APP_SUMMARY}/" ${SNAP_DESKTOP_FILE}
+      sed -i "s/\${COMMAND}/${SNAP_COMMAND}/" ${SNAP_DESKTOP_FILE}
+      sed -i "s|\${GUI_DIR}|\${SNAP}/${GUI_DIR}|" ${SNAP_DESKTOP_FILE}
+      cp "${SNAP_DESKTOP_FILE}" "${GUI_DIR}/${APP_NAME}.desktop"
+    fi
+
+    if [ "${SNAP_ICON}" != "" ]
+    then
+      cp "${SNAP_ICON}" "${GUI_DIR}"
+    fi
 
     snapcraft pack --platform ${SNAP_PLATFORM} ${BUILD_DIR}
     rm -r ${BUILD_DIR}
 
     GENERATED_SNAP="${APP_NAME}_${APP_VERSION}_all.snap"
-    ls .
     mv "${GENERATED_SNAP}" "${SNAP_NAME}.snap"
-- 
GitLab