mirror of
https://github.com/SerenityOS/serenity
synced 2024-09-06 17:06:31 +00:00
![Jelle Raaijmakers](/assets/img/avatar_default.png)
The goal of these more recent additions to the Dockerfile is to provide a working copy of SerenityOS with the toolchain prebuilt. To me, these additions feel misplaced: - The toolchain is built assuming the i686 architecture, which may not be what you want. - You get a shallow clone of the project limiting you in your abilities to navigate through the project's history or bisect. - There's this awkward directory structure of `/serenity/serenity-git` and `/serenity/out`. The Dockerfile is immensely useful for building SerenityOS in a containerized environment, separate from the host's environment. If we want to automate builds, we can always use CI or extend this image to do so. For now, let's remove the `git clone` and associated actions. Fixes #9310.
32 lines
714 B
Docker
32 lines
714 B
Docker
FROM ubuntu:21.10
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
RUN apt-get update -y \
|
|
&& apt-get install -y \
|
|
build-essential \
|
|
ccache \
|
|
cmake \
|
|
curl \
|
|
g++-10 \
|
|
gcc-10 \
|
|
e2fsprogs \
|
|
genext2fs \
|
|
git \
|
|
imagemagick \
|
|
libgmp-dev \
|
|
libgtk-3-dev \
|
|
libmpc-dev \
|
|
libmpfr-dev \
|
|
libpixman-1-dev \
|
|
libsdl2-dev \
|
|
libspice-server-dev \
|
|
ninja-build \
|
|
qemu-utils \
|
|
rsync \
|
|
sudo \
|
|
tzdata \
|
|
unzip \
|
|
&& rm -rf /var/lib/apt/lists/ \
|
|
&& update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 900 --slave /usr/bin/g++ g++ /usr/bin/g++-10
|