49 lines
1 KiB
Docker
49 lines
1 KiB
Docker
|
FROM ubuntu:24.04 as harebuild
|
||
|
|
||
|
RUN apt-get update -qq \
|
||
|
&& apt-get install -qy --no-install-recommends \
|
||
|
build-essential \
|
||
|
git \
|
||
|
scdoc \
|
||
|
ca-certificates \
|
||
|
wget
|
||
|
|
||
|
RUN wget https://c9x.me/compile/release/qbe-1.2.tar.xz && \
|
||
|
tar -xf qbe-1.2.tar.xz && \
|
||
|
cd qbe-1.2 && \
|
||
|
make && \
|
||
|
make install
|
||
|
|
||
|
RUN git clone https://git.sr.ht/~sircmpwn/harec && \
|
||
|
cd harec && \
|
||
|
cp configs/linux.mk config.mk && \
|
||
|
make && \
|
||
|
make install
|
||
|
|
||
|
RUN git clone https://git.sr.ht/~sircmpwn/hare && \
|
||
|
cd hare && \
|
||
|
cp configs/linux.mk config.mk && \
|
||
|
make && \
|
||
|
make install
|
||
|
|
||
|
FROM rust:1.78 as rustbuild
|
||
|
|
||
|
WORKDIR /src
|
||
|
COPY ./ ./
|
||
|
RUN cargo build --release
|
||
|
|
||
|
FROM ubuntu:24.04
|
||
|
|
||
|
RUN apt-get update -qq \
|
||
|
&& apt-get install -qy --no-install-recommends \
|
||
|
ca-certificates \
|
||
|
tzdata \
|
||
|
bubblewrap \
|
||
|
binutils \
|
||
|
vim
|
||
|
|
||
|
COPY --from=harebuild /usr/local /usr/local
|
||
|
COPY --from=rustbuild /src/target/release/backend /usr/local/bin/backend
|
||
|
|
||
|
ENTRYPOINT ["/usr/local/bin/backend"]
|