docker-perl/eol/5.014.004-main-stretch/Dockerfile
Tianon Gravi 22f7d649e2 Update old Perls from jessie to stretch (and test them all in Actions)
Additionally, add buster to all of them.

Finally, move all EOL versions into a completely separate `eol/` directory so that the repository is a little easier manage (and so we can limit testing of all old EOL versions to only when something inside the `eol/` directory changes).
2021-05-18 13:57:40 +08:00

29 lines
1.4 KiB
Docker

FROM buildpack-deps:stretch
LABEL maintainer="Peter Martini <PeterCMartini@GMail.com>, Zak B. Elep <zakame@cpan.org>"
COPY *.patch /usr/src/perl/
WORKDIR /usr/src/perl
RUN true \
&& curl -SL https://www.cpan.org/src/5.0/perl-5.14.4.tar.bz2 -o perl-5.14.4.tar.bz2 \
&& echo 'eece8c2b0d491bf6f746bd1f4f1bb7ce26f6b98e91c54690c617d7af38964745 *perl-5.14.4.tar.bz2' | sha256sum -c - \
&& tar --strip-components=1 -xaf perl-5.14.4.tar.bz2 -C /usr/src/perl \
&& rm perl-5.14.4.tar.bz2 \
&& cat *.patch | patch -p1 \
&& gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
&& archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \
&& archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \
&& ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -A ccflags=-fwrapv -des \
&& make -j$(nproc) \
&& LD_LIBRARY_PATH=. ./perl -Ilib -de0 \
&& make install \
&& cd /usr/src \
&& curl -LO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz \
&& echo '9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3 *App-cpanminus-1.7044.tar.gz' | sha256sum -c - \
&& tar -xzf App-cpanminus-1.7044.tar.gz && cd App-cpanminus-1.7044 && perl bin/cpanm . && cd /root \
&& true \
&& rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7044* /tmp/*
WORKDIR /
CMD ["perl5.14.4","-de0"]