adjustments_bluray/scripts/bootstrap-tools.sh
happy 9c88b8f7f6 Base: BD-J Adjustments Blu-ray scaffold
Vendored BD-J SDK, tsMuxeR + local VLC plugins, ffmpeg asset generation,
and a signed BD-J Xlet menu (org.homebrew.MyXlet) authored into a UDF 2.50 ISO.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-25 14:47:05 -04:00

47 lines
1.7 KiB
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
MISE_BIN="${MISE_BIN:-$HOME/.local/bin/mise}"
BDJSDK_HOME="$ROOT_DIR/vendor/bdj-sdk"
TSMUXER_VERSION="2.7.0"
TSMUXER_ZIP="$ROOT_DIR/tools/downloads/tsMuxer-$TSMUXER_VERSION-linux.zip"
TSMUXER_BIN="$ROOT_DIR/tools/tsmuxer/tsMuxeR"
VLC_PLUGIN_DIR="$ROOT_DIR/tools/vlc-plugins/usr/lib/vlc/plugins"
if [[ ! -x "$MISE_BIN" ]]; then
echo "Installing mise to $MISE_BIN"
curl https://mise.run | sh
fi
"$MISE_BIN" install
JDK8_HOME="$("$MISE_BIN" where java@temurin-8.0.502+7)"
ln -sfn "$JDK8_HOME" "$BDJSDK_HOME/host/jdk8"
if [[ ! -x "$BDJSDK_HOME/host/bin/makefs" ]]; then
make -C "$BDJSDK_HOME/host/src/makefs_termux"
make -C "$BDJSDK_HOME/host/src/makefs_termux" install DESTDIR="$BDJSDK_HOME/host"
fi
if [[ ! -f "$BDJSDK_HOME/target/lib/sony-stubs.jar" ]]; then
make -C "$BDJSDK_HOME/target"
fi
if [[ ! -x "$TSMUXER_BIN" ]]; then
mkdir -p "$ROOT_DIR/tools/downloads" "$ROOT_DIR/tools/tsmuxer"
curl -L "https://github.com/justdan96/tsMuxer/releases/download/$TSMUXER_VERSION/tsMuxer-$TSMUXER_VERSION-linux.zip" -o "$TSMUXER_ZIP"
unzip -qo "$TSMUXER_ZIP" -d "$ROOT_DIR/tools/tsmuxer"
chmod +x "$TSMUXER_BIN"
fi
if [[ -x /usr/bin/pacman && ! -f "$VLC_PLUGIN_DIR/access/liblibbluray_plugin.so" ]]; then
mkdir -p "$ROOT_DIR/tools/downloads" "$ROOT_DIR/tools/vlc-plugins"
for url in $(pacman -Sp vlc-plugin-bluray vlc-plugin-mpeg2 vlc-plugin-x264 vlc-plugin-dvd 2>/dev/null); do
pkg="$ROOT_DIR/tools/downloads/$(basename "$url")"
curl -L "$url" -o "$pkg"
tar -I zstd -xf "$pkg" -C "$ROOT_DIR/tools/vlc-plugins" usr/lib/vlc/plugins
done
fi
echo "BD-J tools ready."