mirror of
https://github.com/autc04/Retro68.git
synced 2024-12-22 04:30:03 +00:00
README.md: add section on using the Retro68 docker image
This commit is contained in:
parent
6931631adc
commit
14503f0611
83
README.md
83
README.md
@ -192,6 +192,89 @@ package contains a very portable library, the command will of course fail. Pleas
|
||||
report bugs, please report successes instead!
|
||||
|
||||
|
||||
Using Retro68 with Docker
|
||||
-------------------------
|
||||
|
||||
Whenever commits are merged into the Retro68 git repository, a build pipeline is triggered to
|
||||
create a container image which is then pushed to the Retro68 package repository as
|
||||
`ghcr.io/autc04/retro68`. This image contains the complete 68K and PPC toolchains ready for
|
||||
use for either local development or as part of CI pipeline. The command line below shows an
|
||||
example invocation of Retro68 to build the `Samples/Raytracer` app:
|
||||
|
||||
```
|
||||
$ git clone --depth 1 https://github.com/autc04/Retro68.git
|
||||
$ cd Retro68
|
||||
$ docker run --rm -v $(pwd):/root -i ghcr.io/autc04/retro68 /bin/bash <<"EOF"
|
||||
cd Samples/Raytracer
|
||||
rm -rf build && mkdir build && cd build
|
||||
cmake .. -DCMAKE_TOOLCHAIN_FILE=/Retro68-build/toolchain/m68k-apple-macos/cmake/retro68.toolchain.cmake
|
||||
make
|
||||
EOF
|
||||
```
|
||||
|
||||
The container image is configured by default to use the multiversal interfaces, but it is
|
||||
possible to use the universal interfaces by passing a path to either a local file or a URL
|
||||
that points to a Macbinary DiskCopy image containing the "Interfaces&Libraries" directory
|
||||
from MPW.
|
||||
|
||||
Using the universal interfaces from a local file:
|
||||
|
||||
```
|
||||
$ docker run --rm -v $(pwd):/root -v $(pwd)/MPW-GM.img.bin:/tmp/MPW-GM.img.bin \
|
||||
-e INTERFACES=universal -e INTERFACESFILE=/tmp/MPW-GM.img.bin \
|
||||
-i ghcr.io/autc04/retro68 /bin/bash <<"EOF"
|
||||
cd Samples/Raytracer
|
||||
rm -rf build && mkdir build && cd build
|
||||
cmake .. -DCMAKE_TOOLCHAIN_FILE=/Retro68-build/toolchain/m68k-apple-macos/cmake/retro68.toolchain.cmake
|
||||
make
|
||||
EOF
|
||||
```
|
||||
|
||||
Using the universal interfaces from a URL:
|
||||
|
||||
```
|
||||
$ docker run --rm -v $(pwd):/root \
|
||||
-e INTERFACES=universal -e INTERFACESFILE=https://mysite.com/MPW-GM.img.bin \
|
||||
-i ghcr.io/autc04/retro68 /bin/bash <<"EOF"
|
||||
cd Samples/Raytracer
|
||||
rm -rf build && mkdir build && cd build
|
||||
cmake .. -DCMAKE_TOOLCHAIN_FILE=/Retro68-build/toolchain/m68k-apple-macos/cmake/retro68.toolchain.cmake
|
||||
make
|
||||
EOF
|
||||
```
|
||||
|
||||
Note that `entrypoint.sh` checks to see if the universal interfaces are installed into
|
||||
`/Retro68/toolchain/universal` first before attempting to access the file or URL specified
|
||||
by INTERFACESFILE. This means that it is possible to use caching or another volume so that
|
||||
the universal interfaces are only processed once to speed up builds e.g.
|
||||
|
||||
```
|
||||
$ docker run --rm -v $(pwd):/root \
|
||||
-v $(pwd)/universal:/Retro68-build/toolchain/universal \
|
||||
-e INTERFACES=universal -e INTERFACESFILE=https://mysite.com/MPW-GM.img.bin \
|
||||
-i ghcr.io/autc04/retro68 /bin/bash <<"EOF"
|
||||
cd Samples/Raytracer
|
||||
rm -rf build && mkdir build && cd build
|
||||
cmake .. -DCMAKE_TOOLCHAIN_FILE=/Retro68-build/toolchain/m68k-apple-macos/cmake/retro68.toolchain.cmake
|
||||
make
|
||||
EOF
|
||||
```
|
||||
|
||||
and then on subsequent runs:
|
||||
|
||||
```
|
||||
$ docker run --rm -v $(pwd):/root \
|
||||
-v $(pwd)/universal:/Retro68-build/toolchain/universal \
|
||||
-e INTERFACES=universal \
|
||||
-i ghcr.io/autc04/retro68 /bin/bash <<"EOF"
|
||||
cd Samples/Raytracer
|
||||
rm -rf build && mkdir build && cd build
|
||||
cmake .. -DCMAKE_TOOLCHAIN_FILE=/Retro68-build/toolchain/m68k-apple-macos/cmake/retro68.toolchain.cmake
|
||||
make
|
||||
EOF
|
||||
```
|
||||
|
||||
|
||||
Sample programs
|
||||
---------------
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user