From 65a496a9d43cbe9c2fc2c97e018f1a0e8499db49 Mon Sep 17 00:00:00 2001 From: "Aaron D. Lee" Date: Sun, 4 Jan 2026 16:29:03 -0500 Subject: [PATCH] Add jpegio ARM64 patch to venv rebuild MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Clone and patch jpegio to remove -m64 flag on ARM64 before installing. Also install build deps (cython, numpy) first. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- rpi/sanitize-for-image.sh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/rpi/sanitize-for-image.sh b/rpi/sanitize-for-image.sh index c272034..6740a5d 100755 --- a/rpi/sanitize-for-image.sh +++ b/rpi/sanitize-for-image.sh @@ -284,6 +284,26 @@ if [ -n "$STEGASOO_DIR" ] && [ -d "$STEGASOO_DIR/venv" ]; then fi sudo -u "$STEGASOO_USER" "$PYTHON_BIN" -m venv "$STEGASOO_DIR/venv" + sudo -u "$STEGASOO_USER" "$STEGASOO_DIR/venv/bin/pip" install --quiet --upgrade pip setuptools wheel + + # On ARM64, jpegio needs patching before install + ARCH=$(uname -m) + if [[ "$ARCH" == "aarch64" || "$ARCH" == "arm64" ]]; then + echo " Building jpegio for ARM64 (this may take a minute)..." + # Install build deps + sudo -u "$STEGASOO_USER" "$STEGASOO_DIR/venv/bin/pip" install --quiet cython numpy + JPEGIO_DIR=$(mktemp -d) + git clone --quiet https://github.com/dwgoon/jpegio.git "$JPEGIO_DIR" + # Apply patch to remove -m64 flag + if [ -f "$STEGASOO_DIR/rpi/patches/jpegio/apply-patch.sh" ]; then + bash "$STEGASOO_DIR/rpi/patches/jpegio/apply-patch.sh" "$JPEGIO_DIR" + else + sed -i "s/cargs.append('-m64')/pass # ARM64 fix/g" "$JPEGIO_DIR/setup.py" + fi + sudo -u "$STEGASOO_USER" "$STEGASOO_DIR/venv/bin/pip" install --quiet "$JPEGIO_DIR" + rm -rf "$JPEGIO_DIR" + fi + sudo -u "$STEGASOO_USER" "$STEGASOO_DIR/venv/bin/pip" install --quiet -e "$STEGASOO_DIR[web]" echo " Venv rebuilt and stegasoo installed" else