Creating Component: Binary Testing
This a part of the How-to: Create Components Guide
Note:
This assumes you have read Creating Component: Guide.
Downloading Binaries
Binaries may be distributed through multiple sources on the internet, including GitHub, itch.io, GitLab, SourceForge and personal websites.
Example: Ironwail
Ironwail releases are available on GitHub:
https://github.com/andrei-drexler/ironwail/releases
A Linux x64 release may be provided as:
ironwail-X.X.X-linux-x64.tar.gz
After extracting the archive, the application files may resemble:
ironwail/
โโโ ironwail
โโโ ironwail.pak
โโโ LICENSE.txt
โโโ Quakespasm.html
โโโ Quakespasm-Music.txt
โโโ Quakespasm.txt
Building from Source
Prerequisite: Check the Internet!
Before building from source, check whether a prebuilt binary is already available online. In many cases, the application may already be distributed in a usable format, allowing you to avoid compiling it yourself.
Look for existing builds such as:
- Flatpak
- AppImage
- Standalone binaries
Always verify that the source is trustworthy and that the build corresponds to the genuine application and an appropriate version. Prefer official project releases and reputable build systems where possible.
Do not assume that an unofficial build is safe simply because it is available online. Verify the source, project ownership, version, and build provenance before using it.
Building Is Different for Every Application
Every project can use different build systems, compilation methods, dependencies and build requirements.
Always follow the build instructions provided by the project and identify the dependencies required to produce the binary.
Example: Building SDL2TRS
See the official SDL2TRS build instructions.
Set up a Debian- or Ubuntu-based build environment and install the required dependencies:
sudo apt install libsdl2-dev libreadline-dev
Build with CMake
mkdir -p build
cd build
cmake ..
cmake --build .
The resulting SDL2TRS binary will be created in the build/ directory.
Preparing Testing of the Binary
During this stage, identify and document the files required by the application:
- Binary
- Dependencies
- Libraries
- Other important files
Some applications are distributed or built as a single binary, such as SDL2TRS.
At the opposite end of the spectrum is ZEsarUX, which requires a much larger set of supporting files. These include .txt documents, .md markdown files, directories, binaries and other resources required for its full functionality. This is because ZEsarUX effectively simulates an entire fake operating-system environment, with these files forming part of that simulated environment.
Create the Component Directory
Create a directory for the component under the RetroDECK Flatpak's component directory.
For example, for SDL2TRS:
~/.local/share/flatpak/app/net.retrodeck.retrodeck/current/active/files/retrodeck/components/sdl2trs
In general:
~/.local/share/flatpak/app/net.retrodeck.retrodeck/current/active/files/retrodeck/components/<component_name>
Copy the Application Files
Copy the complete application file structure into the component directory.
Copy the structure into:
~/.local/share/flatpak/app/net.retrodeck.retrodeck/current/active/files/retrodeck/components/<component_name>/
For example:
~/.local/share/flatpak/app/net.retrodeck.retrodeck/current/active/files/retrodeck/components/sdl2trs/
The resulting structure should resemble:
SDL2TRS
Ironwail
components/
โโโ ironwail/
โโโ ironwail
โโโ ironwail.pak
โโโ LICENSE.txt
โโโ Quakespasm.html
โโโ Quakespasm-Music.txt
โโโ Quakespasm.txt
ZEsarUX
components/
โโโ zexarus/
โโโ 128.rom
โโโ 128s.rom
โโโ 48.rom
โโโ 48es.rom
โโโ 80-lec.rom
โโโ ACKNOWLEDGEMENTS
โโโ ALTERNATEROMS
โโโ alternate_roms/
โโโ Cambios
โโโ Changelog
โโโ copiers/
โโโ docs/
โโโ DONATE
โโโ DONORS
โโโ FEATURES
โโโ FEATURES_es
โโโ HISTORY
โโโ INSTALL
โโโ INSTALLWINDOWS
โโโ LICENSE
โโโ LICENSES_info
โโโ my_soft/
โโโ README
โโโ TODO
โโโ TODO_accessibility
โโโ TODO_audio
โโโ TODO_core_cpu
โโโ TODO_devices
โโโ TODO_generic
โโโ TODO_machines
โโโ TODO_menu
โโโ TODO_next_version
โโโ TODO_os
โโโ TODO_snapshots
โโโ TODO_tape
โโโ TODO_this_version
โโโ TODO_video
โโโ TODO_ZENG
โโโ TODO_ZRCP_network
โโโ zx80.rom
โโโ zx81.rom
โโโ zxuno.flash
โโโ zxuno_bootloader.rom
โโโ zxevo_baseconf.rom
โโโ zxevo_tsconf.rom
โโโ Z88OZ45.rom
โโโ Z88OZ46.rom
โโโ Z88OZ47.rom
โโโ Z88OZ431.rom
โโโ Z88UK220.rom
โโโ Z88UK300.rom
โโโ Z88UK400.rom
โโโ zesarux
โโโ zesarux.mp3
โโโ zesarux.odt
โโโ zesarux.pdf
โโโ zesarux.xcf
Testing Guide
Start testing:
Read more: Component Testing Guide