@@ -291,34 +291,29 @@ jobs:
291291 strip craftos
292292 - name : Build AppImage
293293 run : |
294- mkdir AppDir
295- curl -sLo AppDir/AppRun https://github.com/AppImage/AppImageKit/releases/download/13/AppRun-x86_64
296- chmod a+x AppDir/AppRun
297294 if [[ $GITHUB_REF =~ luajit ]]; then
298- mkdir icons
295+ mkdir AppDir icons
299296 unzip resources/linux-icons.zip -d icons
300297 install -D -m 0644 icons/CraftOS-PC.desktop AppDir/cc.craftos-pc.CraftOS-PC-Accelerated.desktop
301298 install -D -m 0644 icons/CraftOS-PC.desktop AppDir/usr/share/applications/CraftOS-PC-Accelerated.desktop
302299 install -D -m 0644 icons/1024.png AppDir/craftos-luajit.png
303300 install -D -m 0755 craftos AppDir/usr/bin/craftos-luajit
304301 install -D -m 0755 craftos2-luajit/src/libluajit.so AppDir/usr/lib/libluajit.so
305302 install -D -m 0644 resources/appdata.xml AppDir/usr/share/metainfo/cc.craftos-pc.CraftOS-PC-Accelerated.appdata.xml
303+ # this gets all libraries required recursively (?)
304+ ldd ./craftos | grep -o '/lib/[^ ]*\.so[^ :]*' | grep -Ev 'libstdc\+\+|libm\.|libgcc|libc\.|libX|libx|libpulse|libdbus|libsystemd|libreadline|libpthread|libdl|librt|libbsd|libnsl|libresolv' | sort | uniq | tee /dev/stderr | xargs -I {} cp -Lp {} AppDir/usr/lib
305+ cp -Lp /lib/x86_64-linux-gnu/libX11.so.6 AppDir/usr/lib
306+ mkdir -p AppDir/usr/lib/ssl
307+ cp -Lp /etc/ssl/certs/ca-certificates.crt AppDir/usr/lib/ssl/cert.pem
308+ lua -e 'local file = assert(io.open("AppDir/usr/lib/libcrypto.so.1.1", "rb")) local data = file:read("*a") file:close() file = assert(io.open("AppDir/usr/lib/libcrypto.so.1.1", "wb")) file:write(data:gsub("/usr(/lib/ssl[^\0]*\0)", ".%1\0\0\0")) file:close()'
306309 else
307- install -D -m 0644 resources/CraftOS-PC.desktop AppDir/cc.craftos-pc.CraftOS-PC.desktop
308- install -D -m 0644 resources/CraftOS-PC.desktop AppDir/usr/share/applications/CraftOS-PC.desktop
309- install -D -m 0644 resources/linux-icons/1024.png AppDir/craftos.png
310- install -D -m 0755 craftos AppDir/usr/bin/craftos
311- install -D -m 0755 craftos2-lua/src/liblua.so AppDir/usr/lib/libcraftos2-lua.so
312- install -D -m 0644 resources/appdata.xml AppDir/usr/share/metainfo/cc.craftos-pc.CraftOS-PC.appdata.xml
310+ make AppDir
313311 fi
312+ curl -sLo AppDir/AppRun https://github.com/AppImage/AppImageKit/releases/download/13/AppRun-x86_64
313+ chmod a+x AppDir/AppRun
314+
314315 mkdir -p AppDir/usr/share/craftos
315316 cp -Rp /usr/local/share/craftos/rom /usr/local/share/craftos/debug /usr/local/share/craftos/bios.lua /usr/local/share/craftos/hdfont.bmp AppDir/usr/share/craftos/
316- # this gets all libraries required recursively (?)
317- ldd ./craftos | grep -o '/lib/[^ ]*\.so[^ :]*' | grep -Ev 'libstdc\+\+|libm\.|libgcc|libc\.|libX|libx|libpulse|libdbus|libsystemd|libreadline|libpthread|libdl|librt|libbsd|libnsl|libresolv' | sort | uniq | tee /dev/stderr | xargs -I {} cp -Lp {} AppDir/usr/lib
318- cp -Lp /lib/x86_64-linux-gnu/libX11.so.6 AppDir/usr/lib
319- mkdir -p AppDir/usr/lib/ssl
320- cp -Lp /etc/ssl/certs/ca-certificates.crt AppDir/usr/lib/ssl/cert.pem
321- lua -e 'local file = assert(io.open("AppDir/usr/lib/libcrypto.so.1.1", "rb")) local data = file:read("*a") file:close() file = assert(io.open("AppDir/usr/lib/libcrypto.so.1.1", "wb")) file:write(data:gsub("/usr(/lib/ssl[^\0]*\0)", ".%1\0\0\0")) file:close()'
322317 appimagetool -s AppDir CraftOS-PC.x86_64.AppImage
323318 - name : Upload AppImage
324319 uses : shogo82148/actions-upload-release-asset@v1.6.3
0 commit comments