#!/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."