gentoo-builder/Dockerfile

70 lines
1.7 KiB
Docker

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 pip install 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
RUN python -m setup 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
RUN pip install snakeoil
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