From dc31eaa0f54dfb00670b5883102392318e7e1f36 Mon Sep 17 00:00:00 2001 From: Correl Date: Mon, 3 Oct 2022 14:24:20 -0400 Subject: [PATCH] [provisioning] Add an emulationstation recipe --- recipes/emulationstation | 132 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 recipes/emulationstation diff --git a/recipes/emulationstation b/recipes/emulationstation new file mode 100644 index 0000000..d05f924 --- /dev/null +++ b/recipes/emulationstation @@ -0,0 +1,132 @@ +#!/bin/bash +# Description: A frontend for multiple emulators +set -e + +function __emulationstation_config { + mkdir -p $HOME/.emulationstation + if test -f $HOME/.emulationstation/es_systems.cfg; then + return + fi + cat > $HOME/.emulationstation/es_systems.cfg < tag.--> + + + + + + + nes + + + Nintendo Entertainment System + + + ~/roms/nes + + + .nes .NES + + + retroarch -L /usr/lib/libretro/mesen_libretro.so %ROM% + + + nes + + + nes + + + snes + Super Nintendo Entertainment System + ~/roms/snes + .smc .sfc .SMC .SFC + retroarch -L /usr/lib/libretro/snes9x_libretro.so %ROM% + snes + snes + + + ps2 + Playstation 2 + ~/roms/ps2 + .iso .ISO + retroarch -L /usr/lib/libretro/pcsx2_libretro.so %ROM% + ps2 + ps2 + + + +EOF +} + +function __emulationstation_theme_simple { + if test -d $HOME/.emulationstation/themes/simple; then + return + fi + echo "[curl] Downloading simple emulationstation theme" + local tempdir=$(mktemp -d) + curl -skL https://www.emulationstation.org/downloads/themes/simple_latest.zip --output "$tempdir/simple.zip" + unzip -qd $HOME/.emulationstation/themes "$tempdir/simple.zip" + rm -rf "$tempdir" +} + +case $_PLATFORM in + arch) + _recipe _arch + + _yay emulationstation-git + _yay retroarch + + # _yay libretro-beetle-pce # NEC PC Engine/SuperGrafx/CD core + # _yay libretro-beetle-pce-fast # NEC PC Engine/CD core + # _yay libretro-beetle-psx # Sony PlayStation core + # _yay libretro-beetle-psx-hw # Sony PlayStation core + # _yay libretro-beetle-supergrafx # NEC SuperGrafx core + # _yay libretro-blastem # Sega Mega Drive core + # _yay libretro-bsnes # Super Nintendo Entertainment System cores + # _yay libretro-bsnes-hd # Super Nintendo Entertainment System core + # _yay libretro-bsnes2014 # Super Nintendo Entertainment System cores + # _yay libretro-citra # Nintendo 3DS core + # _yay libretro-core-info # Libretro core info files + # _yay libretro-desmume # Nintendo DS core + # _yay libretro-dolphin # Nintendo GC/Wii core + # _yay libretro-duckstation # Sony PlayStation core + # _yay libretro-flycast # Sega Dreamcast core + # _yay libretro-gambatte # Nintendo Game Boy/Game Boy Color core + # _yay libretro-genesis-plus-gx # Sega MS/GG/MD/CD core + # _yay libretro-kronos # Sega Saturn core + # _yay libretro-mame # MAME Arcade core + # _yay libretro-mame2016 # MAME 2016 Arcade core + # _yay libretro-melonds # Nintendo DS core + _yay libretro-mesen # Nintendo Entertainment System core + # _yay libretro-mesen-s # Super Nintendo Entertainment System core + # _yay libretro-mgba # Nintendo Game Boy Advance core + # _yay libretro-mupen64plus-next # Nintendo 64 core + # _yay libretro-nestopia # Nintendo Entertainment System core + # _yay libretro-overlays # Collection of overlays for libretro + # _yay libretro-parallel-n64 # Nintendo 64 core + _yay libretro-pcsx2 # Sony PlayStation 2 core + # _yay libretro-picodrive # Sega MS/MD/CD/32X core + # _yay libretro-play # Sony PlayStation 2 core + # _yay libretro-ppsspp # Sony PlayStation Portable core + # _yay libretro-retrodream # Sega Dreamcast core + # _yay libretro-sameboy # Nintendo Game Boy/Game Boy Color core + # _yay libretro-scummvm # ScummVM core + # _yay libretro-shaders-slang # Collection of shaders for libretro + _yay libretro-snes9x # Super Nintendo Entertainment System core + # _yay libretro-yabause # Sega Saturn core + # _yay libretro-mame-git # libretro implementation of MAME. (Arcade) + # _yay libretro-opera-git # libretro implementation of 4DO/libfreedo (3DO) + # _yay libretro-stella2014-git # libretro implementation of Stella. (Atari 2600) + + _run "[emulationstation] Configuring systems" __emulationstation_config + __emulationstation_theme_simple + ;; +esac