diff options
Diffstat (limited to 'local/.bin/smt')
-rwxr-xr-x | local/.bin/smt | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/local/.bin/smt b/local/.bin/smt index ad3f459..446197d 100755 --- a/local/.bin/smt +++ b/local/.bin/smt @@ -1,9 +1,22 @@ #!/bin/sh set -eu -podman images | grep -q localhost/smt || cat <<EOF | podman build -t smt -f - -FROM docker.io/alpine:latest -RUN apk add perl make -RUN env PERL_MM_USE_DEFAULT=1 perl -MCPAN -e'install Games::SMTNocturne::Demons' +DOCKERFILE="$(cat <<EOF +FROM docker.io/debian:stable-slim +RUN apt-get update && apt-get install -y --no-install-recommends \ + cpanminus \ + make \ + gcc \ + libreadline-dev +RUN cpanm -n Games::SMTNocturne::Demons EOF -podman run --rm smt smt "$@" +)" +IMAGE="$(basename "$0"):$(echo "$DOCKERFILE" | sha256sum | cut -d' ' -f1)" + +if [ -z "$(podman images -q "$IMAGE")" ]; then + echo "$DOCKERFILE" | podman build -t "$IMAGE" -f - . +fi + +podman run --rm -it \ + "$IMAGE" \ + smt "$@" |