You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.0 KiB
37 lines
1.0 KiB
FROM buildpack-deps:latest as builder |
|
|
|
WORKDIR /tmp |
|
COPY ./docker/download_citra.sh /usr/local/bin/download_citra |
|
RUN apt-get update -y && apt-get install -y jq |
|
|
|
ARG CITRA_CHANNEL=nightly |
|
ARG CITRA_RELEASE=1995 |
|
RUN download_citra ${CITRA_CHANNEL} ${CITRA_RELEASE} |
|
|
|
FROM ubuntu:latest |
|
|
|
RUN --mount=type=cache,sharing=locked,target=/var/cache/apt \ |
|
apt-get update -y && \ |
|
apt-get install -y \ |
|
libswscale5 \ |
|
libsdl2-2.0-0 \ |
|
libavformat58 \ |
|
libavfilter7 \ |
|
xvfb |
|
|
|
COPY --from=devkitpro/devkitarm:latest /opt/devkitpro /opt/devkitpro |
|
# There's no way to copy ENV values from other stages properly: |
|
# https://github.com/moby/moby/issues/37345 |
|
# Luckily in this case we know exactly what the values should be: |
|
ENV DEVKITPRO=/opt/devkitpro |
|
ENV DEVKITARM=${DEVKITPRO}/devkitARM |
|
ENV PATH=${DEVKITARM}/bin:${PATH} |
|
|
|
COPY --from=builder /tmp/citra.AppImage /usr/local/bin/citra |
|
COPY ./docker/sdl2-config.ini /app/ |
|
COPY ./docker/test-runner.gdb /app/ |
|
COPY ./docker/entrypoint.sh /app/ |
|
|
|
WORKDIR /app |
|
|
|
ENTRYPOINT [ "/app/entrypoint.sh" ]
|
|
|