FROM alpine:3.7

MAINTAINER Carlos Lopes "cmplopes67@gmail.com"

ENV FPC_VERSION="3.0.4" \
    FPC_ARCH="x86_64-linux"

RUN apk add --no-cache binutils git && \
    cd /tmp && \
    wget "ftp://ftp.hu.freepascal.org/pub/fpc/dist/${FPC_VERSION}/${FPC_ARCH}/fpc-${FPC_VERSION}.${FPC_ARCH}.tar" -O fpc.tar && \
    tar xf "fpc.tar" && \
    cd "fpc-${FPC_VERSION}.${FPC_ARCH}" && \
    rm demo* doc* && \
    \
    # Workaround musl vs glibc entrypoint for `fpcmkcfg`
    mkdir /lib64 && \
    ln -s /lib/ld-musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2 && \
    \
    echo -e '/usr\nN\nN\nN\n' | sh ./install.sh && \
    find "/usr/lib/fpc/${FPC_VERSION}/units/${FPC_ARCH}/" -type d -mindepth 1 -maxdepth 1 \
        -not -name 'fcl-base' \
        -not -name 'rtl' \
        -not -name 'rtl-console' \
        -not -name 'rtl-objpas' \
        -exec rm -r {} \; && \
rm -r "/lib64" "/tmp/"*

RUN apk add --no-cache bash bash-doc bash-completion

RUN cd /root && \
    git clone https://github.com/tebe6502/Mad-Pascal.git && \
    cd Mad-Pascal && \
    fpc -Mdelphi -v -O3 mp.pas && \
    ln -s /root/Mad-Pascal/mp /bin/mp

WORKDIR /source

CMD mp -iV
