2026-09-11 19:41:26 +02:00
#!/bin/bash
# HMS MediaEngine – macOS-Installation per Doppelklick (Finder)
# Ablauf: brew pruefen/installieren -> python3+tk pruefen ->
# GUI-Installer starten (Passwort-Dialog kommt von macOS selbst).
2026-09-11 23:16:51 +02:00
# Kein Tippen im Terminal noetig: Passwort-Eingabe laeuft ueber den
# nativen macOS-Dialog (osascript administrator privileges).
2026-09-11 19:41:26 +02:00
cd " $( dirname " $0 " ) "
2026-09-11 23:16:51 +02:00
echo "=================================================="
echo " HMS MediaEngine – Installation"
echo " (Dieses Fenster zeigt nur den Fortschritt an – "
echo " alle Abfragen kommen als eigene macOS-Fenster)"
echo "=================================================="
echo ""
2026-09-11 19:41:26 +02:00
2026-09-11 23:16:51 +02:00
# Dialog mit Buttons: gibt nur bei 'Weiter' true zurueck
2026-09-11 19:41:26 +02:00
eingabe( ) {
2026-09-11 23:16:51 +02:00
local antwort
antwort = $( osascript -e 'display alert "' $1 '" message "' $2 '" buttons {"Abbrechen","Weiter"} default button "Weiter" as informational' 2>/dev/null)
echo " $antwort " | grep -q "Weiter"
2026-09-11 19:41:26 +02:00
}
# --- Homebrew ---
BREW = ""
for p in /opt/homebrew/bin/brew /usr/local/bin/brew; do
if [ -x " $p " ] ; then BREW = " $p " ; break; fi
done
if [ -z " $BREW " ] ; then
2026-09-11 23:16:51 +02:00
if eingabe "Homebrew installieren?" "HMS MediaEngine benoetigt Homebrew (Paketmanager fuer macOS). Die Installation dauert einige Minuten – danach geht es automatisch weiter. Das Passwort wird im naechsten Fenster von macOS abgefragt." ; then
echo ""
echo ">> Installiere Homebrew (macOS fragt nach deinem Administrator-Passwort)..."
osascript -e 'do shell script "NONINTERACTIVE=1 /bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"" with administrator privileges with prompt "Homebrew fuer HMS MediaEngine installieren"' >/dev/null 2>& 1
if [ $? -ne 0 ] ; then
osascript -e 'display alert "Homebrew-Installation fehlgeschlagen" message "Bitte das Fenster nochmal versuchen oder Meldung an den Support schicken." as critical' >/dev/null 2>& 1
exit 1
fi
2026-09-11 19:41:26 +02:00
BREW = /opt/homebrew/bin/brew
2026-09-11 23:16:51 +02:00
[ -x " $BREW " ] || BREW = /usr/local/bin/brew
2026-09-11 19:41:26 +02:00
else
2026-09-11 23:16:51 +02:00
osascript -e 'display alert "Abgebrochen" message "Ohne Homebrew kann HMS MediaEngine nicht installiert werden." as informational' >/dev/null 2>& 1
2026-09-11 19:41:26 +02:00
exit 1
fi
fi
2026-09-11 23:16:51 +02:00
echo " >> Homebrew gefunden: $BREW "
2026-09-11 19:41:26 +02:00
# --- Python 3.12 + tkinter ---
2026-09-11 23:16:51 +02:00
if ! " $BREW " list --versions python-tk >/dev/null 2>& 1; then
if eingabe "Python-Komponenten installieren?" "python@3.12 mit tkinter (grafische Oberflaeche) wird installiert." ; then
echo ""
echo ">> Installiere Python + tkinter..."
2026-09-11 19:41:26 +02:00
" $BREW " install python@3.12 python-tk
fi
2026-09-11 23:16:51 +02:00
fi
2026-09-11 19:41:26 +02:00
# --- GStreamer ---
2026-09-11 23:16:51 +02:00
if ! " $BREW " list --versions gstreamer >/dev/null 2>& 1; then
if eingabe "GStreamer installieren?" "GStreamer mit allen Video-/Audio-Plugins wird installiert (ca. 5-10 Minuten, je nach Internet)." ; then
echo ""
echo ">> Installiere GStreamer + Plugins..."
2026-09-11 19:41:26 +02:00
" $BREW " install gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav pygobject
fi
2026-09-11 23:16:51 +02:00
fi
2026-09-11 19:41:26 +02:00
# --- GUI-Installer starten ---
PY = /opt/homebrew/bin/python3
if [ ! -x " $PY " ] ; then PY = /usr/local/bin/python3; fi
2026-09-11 23:16:51 +02:00
if [ ! -x " $PY " ] ; then PY = python3; fi
2026-09-11 19:41:26 +02:00
echo ""
2026-09-11 23:16:51 +02:00
echo ">> Starte grafischen Installer (Fenster oeffnet sich)..."
2026-09-11 19:41:26 +02:00
" $PY " installer_gui.py
2026-09-11 23:16:51 +02:00
echo ""
echo "Fertig. Ab jetzt genuegt: 'HMS MediaEngine.app' doppelklicken."