RetroDECK component build target (draft, for Lazorne collaboration) - #84
Open
misantronic wants to merge 4 commits into
Open
RetroDECK component build target (draft, for Lazorne collaboration)#84misantronic wants to merge 4 commits into
misantronic wants to merge 4 commits into
Conversation
…G config path detection
… in build_bundle.sh
…tching-related issues
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Groundwork for issue #53 (RetroDECK integration). Adds a component build target that packages the Linux proxy for RetroDECK's Flatpak-based component system, and fixes a real bug found while testing it against a genuine RetroDECK install.
linux/retrodeck/build_bundle.sh+fetch_runtime.sh: cross-compiles the native hashing lib forx86_64-linux-gnuand vendors a portable CPython 3.11 runtime, producing a self-contained component (no host Python dependency).linux/retrodeck/component/*: the six spec files RetroDECK's own components use (component_launcher.sh,component_manifest.json,component_prepare.sh,component_recipe.json,component_update.sh,component_functions.sh), modeled directly onRetroDECK/components'flips/portmasterexamples.linux/raofflineproxy/config.py: fixes RetroArch/PPSSPP/Dolphin config path detection, which assumed a plain desktop install (~/.config/...) and missed RetroDECK's real Flatpak per-app layout ($XDG_CONFIG_HOME/<component>/..., i.e.~/.var/app/net.retrodeck.retrodeck/config/...).Testing
debian:bookworm-slimcontainer.x86_64hashing lib loads and the proxy binds/listens.XDG_CONFIG_HOMEremapping, launcher wiring) against a minimal test app built withflatpak-builderon the realorg.kde.Platform//6.10runtime.status/start-proxy/stop-proxycorrectly detect and patch the realretroarch.cfg,ppsspp.ini, andRetroAchievements.inifiles RetroDECK itself creates, and that the proxy actually listens once started. This is what surfaced and confirmed the config-path bug fixed here.Known gaps / not yet done
component_recipe.jsonis not verified against RetroDECK's actual Cooker build tooling (only the manual "Provided" component drop-in path, viainstall_components.sh, was tested).Test plan
./linux/retrodeck/build_bundle.sh) against their own build pipeline