#!/bin/sh

# 86Box ROMs Installer by Arachnos

prog_version="1.0.0"

ROMSURL="https://github.com/86Box/roms/archive/master.tar.gz"
DATADIR="/usr/share/86box"

echo -e "86Box ROMs Installer $prog_version\n"

[ $UID -ne 0 ] && { echo "Error: Root privileges are required." >&2; exit 1; }

TMPDIR="$(mktemp -d "/tmp/86box.XXXX")"
trap "rm -rf "$TMPDIR"" EXIT
[ $? -ne 0 ] && { echo "Error creating temporary directory." >&2; exit 2; }

echo -e "Downloading ROMs...\n"
wget -P "$TMPDIR" $ROMSURL
[ $? -ne 0 ] && { echo "Error downloading ROMs." >&2; rm -rf "$TMPDIR"; exit 3; }

echo -e "Extracting archive...\n"
tar -C "$TMPDIR" -xf "$TMPDIR/${ROMSURL##*/}"
[ $? -ne 0 ] && { echo "Error extracting archive." >&2; rm -rf "$TMPDIR"; exit 4; }
mv "$TMPDIR/roms-master" "$TMPDIR/roms"
[ $? -ne 0 ] && { echo "Error preparing roms directory." >&2; rm -rf "$TMPDIR"; exit 4; }
rm -rf "$TMPDIR/roms/.github"

echo -e "Installing ROMs...\n"
mkdir -p "$DATADIR"
[ $? -ne 0 ] && { echo "Error installing ROMs." >&2; rm -rf "$TMPDIR"; exit 5; }
[ -d "$DATADIR/roms" ] && { echo -e "Found already installed ROMs. Deleting...\n"; rm -rf "$DATADIR/roms"; }
cp -prt "$DATADIR" "$TMPDIR/roms"
[ $? -ne 0 ] && { echo "Error installing ROMs." >&2; rm -rf "$TMPDIR"; exit 5; }

rm -rf "$TMPDIR"
echo "ROMs successfully installed."
