Erster Commit: nativer Linux-Port aus macOS-Bytecode

Läuft die Voice Acoustic VA-Remotecontrol (AllDSP AllControl) nativ unter Linux
auf echtem wxGTK 3.0 — ohne Wine und ohne dekompilierten App-Code. Ausgeführt wird
das unveränderte Python-2.7-Bytecode aus dem macOS-.app; C-Extensions (wxGTK/numpy/
scipy/PortAudio) kommen nativ aus Debian stretch.

Enthält: va/ (Original-.pyc + pure-Python-Libs + Assets + launch.py mit den drei
Linux-Fixes), Dockerfile/run.sh/entrypoint.sh, reference/ (dekompilierter Quellcode
zum Debuggen) und README/STATUS. img.cache (378 MB, regenerierbar) ist per
.gitignore ausgeschlossen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
maik
2026-08-20 19:57:01 +02:00
co-authored by Claude Opus 4.8
commit a7c93fa266
654 changed files with 478133 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
# VA-Remotecontrol NATIV auf Linux (kein Wine) — aus ORIGINAL-macOS-Bytecode.
#
# Kernidee: die App-Module (one_unit, child_unit, ...) liegen im macOS-.app als
# UNVERAENDERTES Python-2.7-Bytecode vor. CPython-Bytecode ist OS-unabhaengig,
# laeuft also direkt auf einem Linux-CPython-2.7 — KEINE Dekompilierung noetig.
# Nur die C-Extensions kommen nativ aus dem Distro (wxGTK3, numpy, scipy, ...).
#
# macOS-Build nutzt wxPython 3.0.3 (Classic) -> Linux-Pendant: python-wxgtk3.0
# (wxPython 3.0.2) aus Debian stretch. Stretch ist EOL -> archive.debian.org.
# Muss auf einer Maschine gebaut werden, die archive.debian.org erreicht.
FROM debian:stretch
ENV DEBIAN_FRONTEND=noninteractive
# stretch ist EOL -> Paketquellen auf archive.debian.org umbiegen.
# [trusted=yes] = Signaturpruefung aus (Release-Key ist abgelaufen/fehlt im
# Base-Keyring -> sonst exit 100). Check-Valid-Until aus = abgelaufenes Release ok.
# WICHTIG: debian-security MUSS mit rein - das Base-Image hat security-gepatchte
# Libs (z.B. libnettle6 ...deb9u1); ohne stretch/updates findet apt die passenden
# libhogweed4/libgnutls30/libcups2 (deb9u1) nicht -> "held broken packages".
RUN { echo 'deb [trusted=yes] http://archive.debian.org/debian stretch main contrib'; \
echo 'deb [trusted=yes] http://archive.debian.org/debian-security stretch/updates main'; \
} > /etc/apt/sources.list && \
echo 'Acquire::Check-Valid-Until "false";' > /etc/apt/apt.conf.d/99no-check-valid && \
apt-get update && \
apt-get install -y --no-install-recommends \
python-wxgtk3.0 \
python-numpy \
python-scipy \
python-serial \
python-pyaudio \
python-imaging \
xauth \
&& rm -rf /var/lib/apt/lists/*
# App-Baum: ORIGINAL Mac-.pyc (App + pure-Python-Libs) + Assets + Linux-win32-Stubs
COPY va /opt/va
# Nicht als root laufen
RUN useradd -m app && chown -R app /opt/va
USER app
ENV HOME=/home/app
WORKDIR /opt/va
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/bin/bash", "/entrypoint.sh"]