diff --git a/config/retrodeck/reference_lists/features.json b/config/retrodeck/reference_lists/features.json index 977383b3..6da76574 100644 --- a/config/retrodeck/reference_lists/features.json +++ b/config/retrodeck/reference_lists/features.json @@ -620,6 +620,9 @@ "pokemini": { "name": "Nintendo Pokémon Mini" }, + "portmaster": { + "name": "PortMaster" + }, "ports": { "name": "Ports" }, @@ -1124,6 +1127,12 @@ "name": "ES-DE", "url": "https://retrodeck.readthedocs.io/en/latest/wiki_es_de/esde-guide/.", "launch": "es-de" + }, + "portmaster": { + "description": "PortMaster", + "name": "PortMaster", + "system": "portmaster", + "launch": "PortMaster" } } } diff --git a/functions/post_update.sh b/functions/post_update.sh index d7176aec..97669f78 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -433,6 +433,9 @@ post_update() { # Placeholder for version 0.9.0b set_setting_value "$raconf" "libretro_info_path" "/var/config/retroarch/cores" "retroarch" + # TODO: Configurator dialog: Hey, we need to reset ES-DE! (because again ES-DE folders, new theme and such) + prepare_component "reset" "es-de" + prepare_component "reset" "portmaster" prepare_component "reset" "ruffle" update_rd_conf diff --git a/functions/prepare_component.sh b/functions/prepare_component.sh index ac3e47b9..03765a58 100644 --- a/functions/prepare_component.sh +++ b/functions/prepare_component.sh @@ -857,6 +857,21 @@ prepare_component() { sed -i 's#RETRODECKSAVESDIR#'$saves_folder'#g' "/var/config/gzdoom/gzdoom.ini" # This is an unfortunate one-off because set_setting_value does not currently support JSON fi + if [[ "$component" =~ ^(portmaster|all)$ ]]; then + component_found="true" + # TODO: MultiUser + log i "----------------------" + log i "Prepearing PortMaster" + log i "----------------------" + + rm -rf "/var/data/PortMaster" + unzip "/app/retrodeck/PortMaster.zip" -d "/var/data/" + cp -f "/var/data/PortMaster/retrodeck/PortMaster.txt" "/var/data/PortMaster/PortMaster.sh" + chmod +x "/var/data/PortMaster/PortMaster.sh" + rm -f "$roms_folder/portmaster/PortMaster.sh" + install -Dm755 "/var/data/PortMaster/PortMaster.sh" "$roms_folder/portmaster/PortMaster.sh" + fi + if [[ "$component" =~ ^(ruffle|all)$ ]]; then component_found="true" log i "----------------------" diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 68738487..f44d97aa 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -542,6 +542,33 @@ modules: url: https://github.com/RetroDECK/MAME/releases/latest/download/RetroDECK-MAME-Artifact.tar.gz sha256: RETRODECKMAMELATEST + # PortMaster + + - name: PortMaster + buildsystem: simple + build-commands: + - mkdir -p "${FLATPAK_DEST}/retrodeck/PortMaster/" + - install -Dm755 "PortMaster" "${FLATPAK_DEST}/bin/PortMaster" + - install -Dm755 "harbourmaster" "${FLATPAK_DEST}/bin/harbourmaster" + - cp PortMaster.zip "${FLATPAK_DEST}/retrodeck/PortMaster.zip" + sources: + - type: file + url: https://github.com/PortsMaster/PortMaster-GUI/releases/download/2024.09.13-1455/retrodeck.portmaster.zip + sha256: 4fe3ce3ffdc1d66fe235c8a1a6062a86aa06ee615dba1fe5fc6e9bdd75e9d39c + dest-filename: PortMaster.zip + - type: script + commands: + - | + #!/bin/bash + "/var/data/PortMaster/PortMaster.sh" "$@" + dest-filename: PortMaster + - type: script + commands: + - | + #!/bin/bash + "/var/data/PortMaster/harbourmaster" "$@" + dest-filename: harbourmaster + # ES-DE - name: ES-DE