From 6dc099809fbce9d3e59c6bca7a55cb9bea71e13a Mon Sep 17 00:00:00 2001 From: Cory McWilliams Date: Fri, 27 Sep 2024 21:19:18 -0400 Subject: [PATCH] build: This creates a working AppImage. --- GNUmakefile | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index f4433177..732e7d35 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -9,8 +9,8 @@ VERSION_NAME := Honey bunches of boats. SQLITE_URL := https://www.sqlite.org/2024/sqlite-amalgamation-3460100.zip BUNDLETOOL_URL := https://github.com/google/bundletool/releases/download/1.17.0/bundletool-all-1.17.0.jar -LINUXDEPLOY_URL := https://github.com/linuxdeploy/linuxdeploy/releases/download/1-alpha-20240109-1/linuxdeploy-x86_64.AppImage -LINUXDEPLOY_MD5 := 659d69326199524552bfbbe46cb0adae out/linuxdeploy +APPIMAGETOOL_URL := https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage +APPIMAGETOOL_MD5 := e989fadfc4d685fd3d6aeeb9b525d74d out/appimagetool PROJECT = tildefriends BUILD_DIR ?= out @@ -1077,17 +1077,22 @@ endif out/tildefriends-x86_64.AppImage: out/release/tildefriends out/data.zip @echo "[appimage] $$@" - @mkdir -p out/AppDir/usr/bin - @mkdir -p out/AppDir/usr/share/applications - @mkdir -p out/AppDir/usr/share/icons/hicolor/scalable/apps - @echo $(LINUXDEPLOY_MD5) > out/linuxdeploy.md5 - @test -x out/linuxdeploy || curl -q -L -o out/linuxdeploy $(LINUXDEPLOY_URL) && md5sum -c out/linuxdeploy.md5 && chmod +x out/linuxdeploy - @echo "[Desktop Entry]\nName=tildefriends\nExec=tildefriends\nIcon=tildefriends\nType=Application\nCategories=Network" > out/AppDir/usr/share/applications/tildefriends.desktop - @cp src/ios/tildefriends.svg out/AppDir/usr/share/icons/hicolor/scalable/apps/ - @cat out/release/tildefriends out/data.zip > out/AppDir/usr/bin/tildefriends - @chmod +x out/AppDir/usr/bin/tildefriends - @cd out; ./linuxdeploy --appimage-extract; cd .. - @unset SOURCE_DATE_EPOCH; cd out; squashfs-root/usr/bin/linuxdeploy --appdir AppDir --output appimage; cd .. + @rm -rf out/tildefriends.AppDir + @mkdir -p out/tildefriends.AppDir/usr/bin + @mkdir -p out/tildefriends.AppDir/usr/share/applications + @mkdir -p out/tildefriends.AppDir/usr/share/icons/hicolor/scalable/apps + @mkdir -p out/tildefriends.AppDir/usr/share/tildefriends + @echo $(APPIMAGETOOL_MD5) > out/appimagetool.md5 + @test -x out/appimagetool || curl -q -L -o out/appimagetool $(APPIMAGETOOL_URL) && md5sum -c out/appimagetool.md5 && chmod +x out/appimagetool + @echo "[Desktop Entry]\nName=tildefriends\nExec=/usr/bin/tildefriends\nIcon=/usr/share/icons/hicolor/scalable/apps/tildefriends\nType=Application\nCategories=Network" > out/tildefriends.AppDir/tildefriends.desktop + @cp src/ios/tildefriends.svg out/tildefriends.AppDir/usr/share/icons/hicolor/scalable/apps/ + @cp src/ios/tildefriends.svg out/tildefriends.AppDir/ + @cp out/release/tildefriends out/tildefriends.AppDir/usr/bin/ + @cp out/data.zip out/tildefriends.AppDir/usr/share/tildefriends/data.zip + @echo "#!/bin/sh\n\$${APPDIR}/usr/bin/tildefriends run -z \$$APPDIR/usr/share/tildefriends/data.zip" > out/tildefriends.AppDir/AppRun + @chmod +x out/tildefriends.AppDir/AppRun + @cd out; ./appimagetool --appimage-extract; cd .. + @unset SOURCE_DATE_EPOCH; PATH=$$PATH:out/squashfs-root/usr/bin ARCH=x86_64 out/squashfs-root/usr/bin/appimagetool out/tildefriends.AppDir out/tildefriends-x86_64.AppImage appimage: out/tildefriends-x86_64.AppImage .PHONY: appimage