Sign inSign up

ianburgwin/lumabuilder

By ianburgwin

•Updated almost 3 years ago

Image
0

268

ianburgwin/lumabuilder repository overview

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;

Tag summary

Content type

Image

Digest

sha256:9080f1e74…

Size

403.2 MB

Last updated

almost 3 years ago

docker pull ianburgwin/lumabuilder