Helps with building Luma3DS. It usually needs a newer libctru than the latest release.
# syntax=docker/dockerfile:1
FROM devkitpro/devkitarm
# preserve package cache on a volume
RUN rm -f /etc/apt/apt.conf.d/docker-clean; echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache
RUN echo 'git clone https://github.com/LumaTeam/Luma3DS.git' > /usr/bin/clone-luma && chmod +x /usr/bin/clone-luma
ENV MAKEROM_VERSION v0.18.3
RUN wget -O makerom.zip https://github.com/3DSGuy/Project_CTR/releases/download/makerom-${MAKEROM_VERSION}/makerom-${MAKEROM_VERSION}-ubuntu_x86_64.zip \
&& unzip makerom.zip \
&& chmod +x makerom \
&& mv makerom /usr/bin/makerom \
&& rm makerom.zip
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
--mount=type=cache,target=/var/lib/apt,sharing=locked \
set -eux; \
apt-get update; \
# pkg-resources is required for the firmtool shortcut to be used (firmtool itself doesn't depend on it) \
# pip doesn't detect the system version of python3-pycryptodome so i decided to just use the one from pypi \
apt-get install -y --no-install-recommends python3-pkg-resources; \
savedAptMark="$(apt-mark showmanual)"; \
apt-get install -y --no-install-recommends python3-pip python3-setuptools python3-dev build-essential; \
python3 -m pip install --no-cache-dir --no-compile https://github.com/TuxSH/firmtool/archive/refs/heads/master.zip; \
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false;
RUN set -eux; \
git clone --depth 1 https://github.com/devkitPro/libctru.git; \
cd libctru/libctru; \
make -j4 && make install; \
cd ../..; \
rm -rf libctru;
Content type
Image
Digest
sha256:9080f1e74…
Size
403.2 MB
Last updated
almost 3 years ago
docker pull ianburgwin/lumabuilder