Skip to content

Latest commit

 

History

History
35 lines (24 loc) · 2.35 KB

README.md

File metadata and controls

35 lines (24 loc) · 2.35 KB

sealeo

A docker image to facilitate building homebrew apps across multi-platforms. Based on Spheal, but has support for both arm64 and amd64 architectures.

baby

Sealeo's primary goal is to just bundle together all of the needed deps to build Chesto projects (such as hb-appstore) across multiple different platforms. These dependencies are rolled up katamari-style in a docker image and are then available via CI or locally to any projects that may need them. This stems from a desire to just get one environment where hb-appstore can be built cross-platform without having to worry about what is or isn't installed.

Building is deterministic since the deps are locked into the image, and also potentially faster as every single job in a CI context no longer has to re-fetch its own dependencies.

usage

Can be executed from the root of your chesto git project. Export the PLATFORM env variable to point to the target that you want to build for.

export PLATFORM=switch    # or wiiu, 3ds, wii, pc
docker run -v $(pwd):/code -it ghcr.io/fortheusers/sealeo "make $PLATFORM"

On Windows, you may need to replace $(pwd) with ${PWD}, or %CD%.

To enter a shell in the container without running make, you can run bash:

docker run -v $(pwd):/code -it ghcr.io/fortheusers/sealeo /bin/bash

This can be useful for non-Chesto projects or to debug code interactively.

what's inside

The image is based on debian, inside is the following:

  • sdl2 and curl for PC, wiiu, switch, wii, 3ds
  • dkP toolchains: devkitA64, devkitARM, devkitPPC
  • platform libs: wut, libnx, libogc, libctru

If you don't need all of the above in one image, you're better off trying out one of dkP's own containers and using that as a base. Sealeo does not use this approach in favor of working across multiple architectures, having all toolchains in one image, and being able to control which versions make it into the image.

The homebrew targets are only possible thanks to dkP's toolchains, you can support them on Patreon for their efforts.