FROM debian:bookworm-slim AS build

ARG GOT_COMMIT=d24a860213932756025038bcc8b9c1ed820778e5
ARG GOT_SHA256=036746d0117fb03622d3bfa4865651afc7403b630f5a135c21afe925ac3e8f02
RUN apt-get update && apt-get install -y --no-install-recommends \
      autoconf automake bison build-essential ca-certificates curl libbsd-dev \
      libevent-dev libmd-dev libncurses-dev libssl-dev libtls-dev uuid-dev \
      pkg-config zlib1g-dev && \
    rm -rf /var/lib/apt/lists/*
WORKDIR /src
RUN curl -fsSL "https://github.com/gameoftrees/got-portable/archive/${GOT_COMMIT}.tar.gz" -o got.tar.gz && \
    echo "${GOT_SHA256}  got.tar.gz" | sha256sum -c - && \
    tar -xf got.tar.gz && cd "got-portable-${GOT_COMMIT}" && \
    ./autogen.sh && ./configure --prefix=/opt/got && \
    make -j"$(nproc)" && make install

FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
      ca-certificates libbsd0 libevent-2.1-7 libmd0 libncursesw6 libssl3 \
      libtls26 libuuid1 openssh-client zlib1g && \
    rm -rf /var/lib/apt/lists/* && \
    test ! -e /usr/bin/git && test ! -e /usr/local/bin/git
COPY --from=build /opt/got /opt/got
COPY adapter.sh /opt/adapter/adapter
RUN chmod 0555 /opt/adapter/adapter && /opt/got/bin/got -V
LABEL org.git-research.target="game-of-trees" \
      org.git-research.source-commit="${GOT_COMMIT}" \
      org.git-research.invokes-external-git="false"
