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>
This commit is contained in:
commit
9c88b8f7f6
110 changed files with 19469 additions and 0 deletions
47
scripts/bootstrap-tools.sh
Executable file
47
scripts/bootstrap-tools.sh
Executable file
|
|
@ -0,0 +1,47 @@
|
|||
#!/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."
|
||||
9
scripts/build-and-run.sh
Executable file
9
scripts/build-and-run.sh
Executable file
|
|
@ -0,0 +1,9 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
cd "$ROOT_DIR"
|
||||
|
||||
make
|
||||
scripts/run-vlc.sh build/adjustments.iso
|
||||
|
||||
36
scripts/run-vlc.sh
Executable file
36
scripts/run-vlc.sh
Executable file
|
|
@ -0,0 +1,36 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ISO_PATH="${1:-build/adjustments.iso}"
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
MISE_BIN="${MISE_BIN:-$HOME/.local/bin/mise}"
|
||||
|
||||
if [[ ! -f "$ISO_PATH" ]]; then
|
||||
echo "Missing ISO: $ISO_PATH" >&2
|
||||
echo "Run: make" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -x "$MISE_BIN" ]]; then
|
||||
JDK8_HOME="$("$MISE_BIN" where java@temurin-8.0.502+7 2>/dev/null || true)"
|
||||
else
|
||||
JDK8_HOME=""
|
||||
fi
|
||||
|
||||
if [[ -z "$JDK8_HOME" && -d "$ROOT_DIR/vendor/bdj-sdk/host/jdk8" ]]; then
|
||||
JDK8_HOME="$(cd "$ROOT_DIR/vendor/bdj-sdk/host/jdk8" && pwd)"
|
||||
fi
|
||||
|
||||
if [[ -n "$JDK8_HOME" ]]; then
|
||||
export JAVA_HOME="$JDK8_HOME/jre"
|
||||
export JDK_HOME="$JDK8_HOME"
|
||||
export LD_LIBRARY_PATH="$JDK8_HOME/jre/lib/amd64/server:${LD_LIBRARY_PATH:-}"
|
||||
fi
|
||||
|
||||
LOCAL_VLC_PLUGINS="$ROOT_DIR/tools/vlc-plugins/usr/lib/vlc/plugins"
|
||||
if [[ -d "$LOCAL_VLC_PLUGINS" ]]; then
|
||||
export VLC_PLUGIN_PATH="$LOCAL_VLC_PLUGINS:/usr/lib/vlc/plugins${VLC_PLUGIN_PATH:+:$VLC_PLUGIN_PATH}"
|
||||
fi
|
||||
|
||||
ABS_ISO="$(cd "$(dirname "$ISO_PATH")" && pwd)/$(basename "$ISO_PATH")"
|
||||
exec vlc --reset-plugins-cache "bluray://$ABS_ISO"
|
||||
Loading…
Add table
Add a link
Reference in a new issue