gentoo-builder/Dockerfile
2018-11-26 21:11:53 +01:00

87 lines
2.2 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
# Build and install snakeoil
RUN git clone https://github.com/pkgcore/snakeoil
WORKDIR snakeoil
RUN python -m setup bdist
WORKDIR /
RUN tar xvzf snakeoil/dist/snakeoil-*.tar.gz --transform 's/usr\/local/usr'
# Build and install pyDeComp
RUN git clone https://github.com/dol-sen/pyDeComp pydecomp
WORKDIR pydecomp
RUN python -m setup bdist
WORKDIR /
RUN tar xvzf pydecomp/dist/pyDeComp-*.tar.gz --transform 's/usr\/local/usr'
# 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
WORKDIR /
# Get and uncompress shash
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-stretch
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
rsync libmhash2 \
&& rm -rf /var/lib/apt/lists/*
#RUN apk add coreutils
COPY --from=base /snakeoil/dist/snakeoil-*.tar.gz ./
RUN tar xvzf snakeoil-*.tar.gz --transform 's/usr\/local/usr' \
&& rm snakeoil-*.tar.gz
COPY --from=base /pydecomp/dist/pyDeComp-*.tar.gz ./
RUN tar xvzf pyDeComp-*.tar.gz --transform 's/usr\/local/usr' \
&& rm pyDeComp-*.tar.gz
COPY --from=base /catalyst/dist/catalyst-*.tar.gz ./
RUN tar xvzf catalyst-*.tar.gz --transform 's/usr\/local/usr' \
&& 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