1
0
Fork 0
megacode/appimage/build_in_container.sh

45 lines
1.6 KiB
Bash
Executable file

#!/bin/sh
set -e
APPDIR="/AppDir"
OUTDIR="/out"
mkdir -p "$APPDIR/usr/bin" "$APPDIR/usr/lib" "$APPDIR/opt/kilocode" "$OUTDIR"
cp -a /opt/assets/dark-reader.xpi /tmp/dark-reader.xpi
cp -a /opt/assets/ublock_origin.xpi /tmp/ublock_origin.xpi
cp -a /build/src "$APPDIR/opt/kilocode/src"
mkdir -p "$APPDIR/opt/kilocode/extras/extensions"
cp -a /tmp/dark-reader.xpi "$APPDIR/opt/kilocode/extras/extensions/dark-reader.xpi"
cp -a /tmp/ublock_origin.xpi "$APPDIR/opt/kilocode/extras/extensions/ublock_origin.xpi"
export UV_CACHE_DIR="/opt/uv-cache"
export UV_PYTHON_DOWNLOADS=auto
export UV_PYTHON_PREFERENCE=managed
/opt/uv-bootstrap/bin/uv venv --python 3.14 "$APPDIR/opt/kilocode/.venv"
cd /build
UV_PROJECT_ENVIRONMENT="$APPDIR/opt/kilocode/.venv" /opt/uv-bootstrap/bin/uv sync --frozen --no-dev
mkdir -p "$APPDIR/opt/patchright-browsers"
cp -a /opt/patchright-browsers/* "$APPDIR/opt/patchright-browsers/" || true
mkdir -p "$APPDIR/opt/google"
cp -a /opt/google/chrome "$APPDIR/opt/google/" || { echo "ERROR: Chrome not found at /opt/google/chrome"; exit 1; }
if [ -d "/root/.local/share/uv/python" ]; then
mkdir -p "$APPDIR/root/.local/share/uv"
cp -a /root/.local/share/uv/python "$APPDIR/root/.local/share/uv/"
fi
cp /build/appimage/AppRun "$APPDIR/AppRun"
cp /build/appimage/kilocode.desktop "$APPDIR/kilocode.desktop"
cp /build/appimage/kilocode.svg "$APPDIR/kilocode.svg"
chmod +x "$APPDIR/AppRun"
rm -f "$OUTDIR/megacode.appimage"
ARCH=x86_64 /opt/appimagetool.AppImage --appimage-extract-and-run \
"$APPDIR" "$OUTDIR/megacode.appimage"
echo "AppImage built at $OUTDIR/megacode.appimage"