Attemp to bring the sm64-port project into a container - trimestral builds
8.0K
This is an attemp to bring the sm64-port (Super Mario 64 port for PC) to Linux and Windows-based containers. It builds executables for Linux (amd64 and arm64) and Windows (amd64). See Super Mario 64 PC Port Central for more information.
GitHub repo | Dockerfile (Linux) | Dockerfile (Server Core)
No Super Mario 64 ROM nor copyrighted assets are included. You must bring the ROM by your own, in z64 format.
See the original Readme from upstream project for further information.
This fork uses the offical gcc base image instead of Ubuntu, as this eases the building of images for different versions of gcc, altrough the image is bigger. MSYS2 MinGW-w64 compiler for Windows executables under the Windows Server Core base image is also available, but there are better alternatives like sm64pcBuilder2; however, you still need MSYS2.
docker run --rm -v $(pwd)/build:/sm64/build -v $(pwd)/baserom.<version>.z64:/sm64/baserom.us.z64 amitie10g/sm64-port make
docker run --rm -v ${PWD}\build:C:\Users\ContainerUser\sm64\build amitie10g/sm64-port:mingw-w64-ltsc2022 & \
copy build/baserom.us.z64 . & \
make
Where baserom.<version>.z64 is the ROM you must provide. The output will be at "build" directory (everything will output there, so, once you copied the executable away, you can just delete the directory if you want).
Further instructions in the documentation of the upstream project.
latest gccXX Linux amd64 and arm64 under Debian Bookworm using GCC base image[1]mingw-w64 MinGW-W64 amd64 under Windows Server Core ltsc2022[2][1] I'm not longer considering building images for other platforms.
[2] Currently, only Windows Server Core is suported, as any MSYS executable from the repo is unable to run under Nano Server. Due this, the Server Core-based image is HUUUUUGE (6GB). Until MSYS2 developers bring software compatible with Nanoserver, this is the only way to build MinGW-W64 target successfully; downloading MSYS2 without using containers would be a better if space matters.
[3] In Windows, bind-mounting a regular file is not supported. You must copy the ROM to the container (using build as the directory used for the bind volume), then, copy to the sm64-port source tree.
The Dockerfile (my modified version) has been released into the public domain (the Unlicense)
The different parts of the sm64-port (and parent project sm64) source code is licensed under several licenses. Please refer to those ones
The Windows-based container image usage is subjected to the Microsoft EULA
Content type
Image
Digest
sha256:f5e4680d5…
Size
573.4 MB
Last updated
10 months ago
docker pull amitie10g/sm64-port