ladybird/Toolchain/Dockerfile
kleines Filmröllchen 7ff363127b Toolchain: Allow containerized work with Serenity via Docker
Docker is a nice way of doing build automation, or just
containerizing builds for increased safety and isolating unstable
packages. The old Dockerfile in the toolchain did not satisfy these
needs. The new Dockerfile is known to run successfully on Docker
version 20.10.7. It clones the SerenityOS repo and builds the
toolchain. In this way, it is intended to be a starting point for other
Docker images that can e.g. run builds. For example, one can simply run
this docker image as-is, exec a shell in it and run a build there.
2021-06-29 15:56:02 +02:00

34 lines
803 B
Docker

FROM ubuntu:21.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update -y \
&& apt-get install -y \
build-essential \
ccache \
cmake \
curl \
genext2fs \
gettext \
git \
imagemagick \
libmpfr-dev \
libmpc-dev \
libgmp-dev \
e2fsprogs \
ninja-build \
qemu-utils \
rsync \
sudo \
tzdata \
unzip \
wget
RUN apt install gcc-10 g++-10; \
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 900 --slave /usr/bin/g++ g++ /usr/bin/g++-10
RUN git clone --depth 1 https://github.com/SerenityOS/serenity.git /serenity/serenity-git
RUN cd /serenity/serenity-git/Toolchain; \
./BuildIt.sh
WORKDIR /serenity
VOLUME /serenity/out