From dcf4fb5d2df4955c33fce7be2ef2cdf3bedfc585 Mon Sep 17 00:00:00 2001 From: Cameron Cawley Date: Sun, 22 Aug 2021 16:10:16 +0100 Subject: [PATCH] DEVTOOLS: Add a build script to simplify building with Docker --- devtools/README | 12 ++++++++++++ devtools/docker.sh | 47 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100755 devtools/docker.sh diff --git a/devtools/README b/devtools/README index 07f4add8ad9..a1fc928bfe3 100644 --- a/devtools/README +++ b/devtools/README @@ -149,6 +149,18 @@ dist-scummvm.sh account. +docker.sh +--------- + This shell script is used to simplify building with the Docker images + used by the buildbot. It can invoked like this: + + ./devtools/docker.sh toolchain/mxe + + This will fetch the MXE toolchain from the Docker Hub if it hasn't + already and launch a shell that can be used to build ScummVM for + Windows. + + dumper_companion.py ___________________ Tool for dumping HFS/HFS+ volumes and game files with non-ASCII diff --git a/devtools/docker.sh b/devtools/docker.sh new file mode 100755 index 00000000000..8cac2da5221 --- /dev/null +++ b/devtools/docker.sh @@ -0,0 +1,47 @@ +#!/bin/sh +# +# This shell script is used to simplify building with the Docker images +# used by the buildbot. + +DIR="$(cd "$(dirname "$0")/.." && pwd)" + +_image= +_update=no + +for ac_option in $@; do + case "$ac_option" in + --update) + _update=yes + ;; + --*) + echo "Unknown argument '$ac_option'" + exit 1 + ;; + *) + if [ -n "$_image" ]; then + echo "A toolchain image has already been specified" + exit 1 + fi + _image=$ac_option + ;; + esac; +done; + +if [ -z "$_image" ]; then + echo "No toolchain image has been specified" + exit 1 +fi + +if test "$_update" != yes ; then + if ! docker image inspect $_image >/dev/null 2>&1 ; then + echo "Image is not available" + _update=yes + fi +fi + +if test "$_update" = yes ; then + docker_url=`echo $_image | sed 's/\([^\/]*\)\/\([^\/]*\)/scummvm\/dockerized-\1:\2/'` + (docker pull $docker_url && docker tag $docker_url $_image && docker rmi $docker_url) || exit 1 +fi + +docker run -v $DIR:/data/scummvm -w /data/scummvm -it $_image /bin/bash