packages feed

pure-borrow-0.0.0.0: dockerfiles/artifact/Dockerfile

FROM debian:bookworm AS build

RUN apt-get update && apt-get install -y build-essential curl libffi-dev libffi8ubuntu1 libgmp-dev libgmp10 libncurses-dev gnupg2 git

# install ghcup
RUN echo ${ARCH}
RUN curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 BOOTSTRAP_HASKELL_MINIMAL=1 sh
RUN cp ~/.ghcup/bin/ghcup /usr/local/bin/ghcup

ARG GHC=9.10.3
RUN ghcup install ghc   --isolate /usr/local --force ${GHC}
ARG CABAL=3.14.2.0
RUN ghcup install cabal --isolate /usr/local/bin --force ${CABAL}

RUN mkdir -p /workspace
ARG PURE_BORROW_COMMIT=e5b027fb84663d2fc2b92956bbc32a09dfeda272
RUN git clone https://github.com/SoftwareFoundationGroupAtKyotoU/pure-borrow.git /workspace/pure-borrow && \
  cd /workspace/pure-borrow && \
  git fetch --all && \
  git checkout ${PURE_BORROW_COMMIT}

WORKDIR /workspace/pure-borrow
ENV PATH="/usr/local/bin:${PATH}"
ENV LANG=C.UTF-8

ARG CABAL_INDEX_STATE=2026-02-16T11:32:42Z
RUN cabal update --index-state=${CABAL_INDEX_STATE}
ARG NUM_CPUS=8
RUN cabal configure --enable-tests --enable-benchmarks --semaphore -j${NUM_CPUS} -fartifact
RUN cabal build all --only-dependencies
RUN cabal build all
RUN mkdir -p /opt/pure-borrow
RUN cp "$(cabal list-bin artifact-runner)" /opt/pure-borrow
RUN apt-get update && apt-get install -y gnuplot

FROM debian:bookworm-slim

ENV PATH="/opt/pure-borrow:${PATH}"
RUN mkdir -p /workspace
WORKDIR /workspace
COPY --from=build /opt/pure-borrow /opt/pure-borrow
RUN apt-get update && apt-get install -y gnuplot

ENTRYPOINT ["/opt/pure-borrow/artifact-runner"]