mirror of
https://github.com/LIV2/container-amiga-godbolt.git
synced 2025-12-06 00:32:47 +00:00
87 lines
2.2 KiB
Docker
87 lines
2.2 KiB
Docker
FROM ubuntu:24.04 AS build-base
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Install all prereqs
|
|
RUN apt-get -y update && \
|
|
apt-get -y install \
|
|
apt-utils curl git jlha-utils lhasa python3 python3-pip wget \
|
|
autoconf bison flex g++ gcc gettext git libgmpxx4ldbl libgmp-dev \
|
|
libmpfr6 libmpfr-dev libmpc3 libmpc-dev libncurses-dev make rsync \
|
|
texinfo
|
|
|
|
# Make jlha the default
|
|
RUN cd /usr/bin && mv lha lha.lhasa && ln -s jlha lha
|
|
|
|
FROM build-base AS build-gcc6
|
|
|
|
ENV PREFIX=/opt/amiga-gcc-6.5.0
|
|
# Install Bebbo's amiga-gcc6
|
|
RUN git config --global pull.rebase false && \
|
|
cd /root && \
|
|
git clone --depth 1 https://github.com/AmigaPorts/m68k-amigaos-gcc amiga-gcc && \
|
|
cd /root/amiga-gcc && \
|
|
mkdir -p ${PREFIX} && \
|
|
make update && \
|
|
make -j2 min ndk && \
|
|
cd / && \
|
|
rm -rf /root/amiga-gcc
|
|
|
|
FROM build-base AS build-gcc13
|
|
# Install Bebbo's amiga-gcc 13.2
|
|
ENV PREFIX=/opt/amiga-gcc-13.2
|
|
|
|
RUN git config --global pull.rebase false && \
|
|
cd /root && \
|
|
git clone --depth 1 https://github.com/AmigaPorts/m68k-amigaos-gcc amiga-gcc && \
|
|
cd /root/amiga-gcc && \
|
|
mkdir -p ${PREFIX} && \
|
|
make branch branch=amiga13.2 mod=gcc && \
|
|
make update && \
|
|
make -j2 min ndk && \
|
|
cd / && \
|
|
rm -rf /root/amiga-gcc
|
|
|
|
FROM ubuntu:24.04
|
|
|
|
EXPOSE 10240/tcp
|
|
ENV EXTRA_ARGS="--language c --language c++"
|
|
ARG NODE_VERSION=v22.16.0
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
COPY --from=build-gcc6 /opt/amiga-gcc-6.5.0 /opt/amiga-gcc-6.5.0
|
|
COPY --from=build-gcc13 /opt/amiga-gcc-13.2 /opt/amiga-gcc-13.2
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
make \
|
|
curl \
|
|
git \
|
|
rsync \
|
|
xz-utils \
|
|
libmpc3 \
|
|
libgmpxx4ldbl \
|
|
libmpfr6 && \
|
|
apt-get -y autoremove && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Download and extract Node.js binary tarball
|
|
ADD scripts/node_install.sh /node_install.sh
|
|
RUN /node_install.sh
|
|
|
|
RUN mkdir /compiler-explorer && chown ubuntu:ubuntu /compiler-explorer
|
|
|
|
USER ubuntu
|
|
|
|
RUN git clone https://github.com/compiler-explorer/compiler-explorer.git
|
|
|
|
ADD configs/* /compiler-explorer/etc/config/
|
|
|
|
WORKDIR /compiler-explorer
|
|
|
|
RUN make prebuild && \
|
|
rm -rf ~/.npm && \
|
|
rm -rf ~/.cache && \
|
|
rm -rf /compiler-explorer/node_modules/.cache
|
|
|
|
CMD [ "make" ]
|
|
|