feat: add AppImage build support with desktop integration and packaging scripts

Implement AppImage packaging pipeline including desktop file generation, icon bundling, and AppStream metadata. The build script creates a portable Linux executable with automatic desktop integration using linuxdeploy and appimagetool. Key additions include the .desktop launcher file, application icon in multiple resolutions, and AppStream metainfo for software center compatibility. The packaging process compiles the application, bundles all runtime dependencies, and generates a self-contained AppImage binary in the dist/ directory.
This commit is contained in:
2025-04-08 22:00:21 +00:00
parent 91ab658c3c
commit e802a1d3ed
7 changed files with 61 additions and 11 deletions
+27
View File
@@ -0,0 +1,27 @@
#!/bin/bash
# Script: collect_so_files.sh
BINARY="AppImage/usr/bin/r"
LIB_DIR="AppImage/usr/lib"
mkdir -p "$LIB_DIR"
# Function to copy a library and its dependencies
copy_with_deps() {
local lib="$1"
if [ -f "$lib" ] && [ ! -f "$LIB_DIR/$(basename "$lib")" ]; then
cp "$lib" "$LIB_DIR/"
echo "Copied: $lib"
# Recursively check dependencies of this library
ldd "$lib" | grep -o '/[^ ]\+' | while read -r dep; do
if [ -f "$dep" ]; then
copy_with_deps "$dep"
fi
done
fi
}
# Start with the binarys dependencies
ldd "$BINARY" | grep -o '/[^ ]\+' | while read -r lib; do
copy_with_deps "$lib"
done