FROM python:3.6-stretch as base

RUN apt-get update
RUN apt-get install -y --no-install-recommends \
    build-essential libxml2-utils git make gcc libtool libmhash-dev \
    asciidoc asciidoc-dblatex

# Install deps
RUN git clone https://github.com/pkgcore/snakeoil
WORKDIR snakeoil
RUN python -m setup bdist install

#RUN pip install snakeoil
#RUN pip wheel snakeoil

#RUN pip install git+https://github.com/dol-sen/pyDeComp
RUN git clone https://github.com/dol-sen/pyDeComp pydecomp

WORKDIR pydecomp
RUN python -m setup bdist install

WORKDIR /
# Clone catalyst repository
RUN git clone https://anongit.gentoo.org/git/proj/catalyst.git catalyst

# Build and install catalyst
WORKDIR /catalyst
RUN make && python -m setup bdist

# Get and uncompress shash
WORKDIR /
RUN wget ftp://mcrypt.hellug.gr/pub/mcrypt/shash/shash-0.2.6.tar.gz \
    && tar xvzf shash-0.2.6.tar.gz

# Build shash
WORKDIR shash-0.2.6
RUN cp /usr/share/libtool/build-aux/missing ./ \
    && ./configure --build=i686-pc-linux && make && make install

WORKDIR /

FROM python:3.6-alpine

#RUN apk add coreutils

COPY --from=base /snakeoil-*.whl ./
RUN pip install snakeoil-*.whl && rm snakeoil-*.whl

COPY --from=base /pydecomp/dist/pyDeComp-*.tar.gz ./
RUN tar -xzf pyDeComp-*.tar.gz && rm pyDeComp-*.tar.gz

COPY --from=base /catalyst/dist/catalyst-*.tar.gz ./
RUN tar -xzf catalyst-*.tar.gz && rm catalyst-*.tar.gz

COPY --from=base /usr/local/bin/shash /usr/local/bin/shash

# Override Stage3 preclean to add perl-cleaner invocation
COPY stage3-preclean-chroot.sh \
    /usr/local/share/catalyst/targets/stage3/stage3-preclean-chroot.sh

# Volume for catalyst generated files
VOLUME /var/lib/catalyst

# Volume for downloaded distfiles
VOLUME /var/cache/portage/distfiles

# Volume for generated packages
VOLUME /var/cache/portage/packages

# The entrypoint…
COPY entrypoint.sh entrypoint.sh

# ... to be called
CMD /entrypoint.sh