@@ -325,34 +325,29 @@ jobs:
325325 strip craftos
326326 - name : Build AppImage
327327 run : |
328- mkdir AppDir
329- curl -sLo AppDir/AppRun https://github.com/AppImage/AppImageKit/releases/download/13/AppRun-x86_64
330- chmod a+x AppDir/AppRun
331328 if [[ $GITHUB_REF =~ luajit ]]; then
332- mkdir icons
329+ mkdir AppDir icons
333330 unzip resources/linux-icons.zip -d icons
334331 install -D -m 0644 icons/CraftOS-PC.desktop AppDir/cc.craftos-pc.CraftOS-PC-Accelerated.desktop
335332 install -D -m 0644 icons/CraftOS-PC.desktop AppDir/usr/share/applications/CraftOS-PC-Accelerated.desktop
336333 install -D -m 0644 icons/1024.png AppDir/craftos-luajit.png
337334 install -D -m 0755 craftos AppDir/usr/bin/craftos-luajit
338335 install -D -m 0755 craftos2-luajit/src/libluajit.so AppDir/usr/lib/libluajit.so
339336 install -D -m 0644 resources/appdata.xml AppDir/usr/share/metainfo/cc.craftos-pc.CraftOS-PC-Accelerated.appdata.xml
337+ # this gets all libraries required recursively (?)
338+ 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
339+ cp -Lp /lib/x86_64-linux-gnu/libX11.so.6 AppDir/usr/lib
340+ mkdir -p AppDir/usr/lib/ssl
341+ cp -Lp /etc/ssl/certs/ca-certificates.crt AppDir/usr/lib/ssl/cert.pem
342+ 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()'
340343 else
341- install -D -m 0644 resources/CraftOS-PC.desktop AppDir/cc.craftos-pc.CraftOS-PC.desktop
342- install -D -m 0644 resources/CraftOS-PC.desktop AppDir/usr/share/applications/CraftOS-PC.desktop
343- install -D -m 0644 resources/linux-icons/1024.png AppDir/craftos.png
344- install -D -m 0755 craftos AppDir/usr/bin/craftos
345- install -D -m 0755 craftos2-lua/src/liblua.so AppDir/usr/lib/libcraftos2-lua.so
346- install -D -m 0644 resources/appdata.xml AppDir/usr/share/metainfo/cc.craftos-pc.CraftOS-PC.appdata.xml
344+ make AppDir
347345 fi
346+ curl -sLo AppDir/AppRun https://github.com/AppImage/AppImageKit/releases/download/13/AppRun-x86_64
347+ chmod a+x AppDir/AppRun
348+
348349 mkdir -p AppDir/usr/share/craftos
349350 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/
350- # this gets all libraries required recursively (?)
351- 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
352- cp -Lp /lib/x86_64-linux-gnu/libX11.so.6 AppDir/usr/lib
353- mkdir -p AppDir/usr/lib/ssl
354- cp -Lp /etc/ssl/certs/ca-certificates.crt AppDir/usr/lib/ssl/cert.pem
355- 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()'
356351 appimagetool -s AppDir CraftOS-PC.x86_64.AppImage
357352 - name : Upload AppImage
358353 uses : shogo82148/actions-upload-release-asset@v1.6.3
0 commit comments