FROM ubuntu:18.04

ENV LC_ALL=C.UTF-8 LANG=C.UTF-8

RUN mkdir /var/lib/calamari-models
COPY data/calamari-models/GT4HistOCR /var/lib/calamari-models/GT4HistOCR


RUN apt-get update && \
    apt-get install -y \
      curl xz-utils \
      python3-pip \
      git \
# For leptonica/tesseract:
      cmake libgif-dev libjpeg-dev libpng-dev libtiff-dev zlib1g-dev \
# For clstm on Ubuntu 19.04:
      swig libeigen3-dev libpng-dev libprotobuf-dev \
# XML utils
      libxml2-utils \
      xmlstarlet \
    && \
    apt-get clean


# Build Leptonica and Tesseract.
# XXX Use a multi stage build for this.
ENV LEPTONICA_VERSION 1.78.0
ENV TESSERACT_VERSION 4.1.0
ENV TESSDATA_BEST_VERSION 4.0.0

ENV TESSDATA_PREFIX /usr/local/share/tessdata

RUN curl -sSL -O https://github.com/DanBloomberg/leptonica/releases/download/$LEPTONICA_VERSION/leptonica-$LEPTONICA_VERSION.tar.gz && \
    tar xvzf leptonica-$LEPTONICA_VERSION.tar.gz && \
    cd leptonica-$LEPTONICA_VERSION && \
    mkdir build && cd build && cmake .. && make install && ldconfig && \
    cd ../.. && rm -rf leptonica-$LEPTONICA_VERSION leptonica-$LEPTONICA_VERSION.tar.gz

RUN curl -sSL -O https://github.com/tesseract-ocr/tesseract/archive/$TESSERACT_VERSION.tar.gz && \
    tar xvzf $TESSERACT_VERSION.tar.gz && \
    cd tesseract-$TESSERACT_VERSION && \
    mkdir build && cd build && cmake .. && make install && ldconfig && \
    cd ../.. && rm -rf tesseract-$TESSERACT_VERSION $TESSERACT_VERSION.tar.gz

RUN curl -sSL -O https://github.com/tesseract-ocr/tessdata_best/archive/$TESSDATA_BEST_VERSION.tar.gz && \
    tar xvzf $TESSDATA_BEST_VERSION.tar.gz && \
    mv tessdata_best-$TESSDATA_BEST_VERSION $TESSDATA_PREFIX && \
    rm -rf $TESSDATA_BEST_VERSION.tar.gz && \
    tesseract --list-langs



COPY requirements.txt /tmp
RUN pip3 install --no-cache-dir -r /tmp/requirements.txt

COPY my_ocrd_workflow /usr/bin
COPY xsd              /usr/bin/xsd

WORKDIR /data
CMD ["/usr/bin/my_ocrd_workflow"]