|
| 1 | +FROM debian:sid-slim |
| 2 | + |
| 3 | +# No DevelPatchPerl.patch generated |
| 4 | +WORKDIR /usr/src/perl |
| 5 | + |
| 6 | +RUN apt-get update \ |
| 7 | + && apt-get install -y --no-install-recommends \ |
| 8 | + bzip2 \ |
| 9 | + ca-certificates \ |
| 10 | + # cpio \ |
| 11 | + curl \ |
| 12 | + dpkg-dev \ |
| 13 | + # file \ |
| 14 | + gcc \ |
| 15 | + # g++ \ |
| 16 | + # libbz2-dev \ |
| 17 | + # libdb-dev \ |
| 18 | + libc6-dev \ |
| 19 | + # libgdbm-dev \ |
| 20 | + # liblzma-dev \ |
| 21 | + make \ |
| 22 | + netbase \ |
| 23 | + patch \ |
| 24 | + # procps \ |
| 25 | + zlib1g-dev \ |
| 26 | + xz-utils \ |
| 27 | + libssl-dev \ |
| 28 | + && curl -fL https://cpan.metacpan.org/authors/id/C/CO/CONTRA/perl-5.41.4.tar.gz -o perl-5.41.4.tar.gz \ |
| 29 | + && echo '402b2e10dc1a6249685f0cda5897959bfc079fc324b551a1c4771fe401563896 *perl-5.41.4.tar.gz' | sha256sum --strict --check - \ |
| 30 | + && tar --strip-components=1 -xaf perl-5.41.4.tar.gz -C /usr/src/perl \ |
| 31 | + && rm perl-5.41.4.tar.gz \ |
| 32 | + && cat *.patch | patch -p1 \ |
| 33 | + && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ |
| 34 | + && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ |
| 35 | + && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ |
| 36 | + && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -Dusedevel -Dversiononly=undef -des \ |
| 37 | + && make -j$(nproc) \ |
| 38 | + && TEST_JOBS=$(nproc) make test_harness \ |
| 39 | + && make install \ |
| 40 | + && cd /usr/src \ |
| 41 | + && curl -fLO https://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7047.tar.gz \ |
| 42 | + && echo '963e63c6e1a8725ff2f624e9086396ae150db51dd0a337c3781d09a994af05a5 *App-cpanminus-1.7047.tar.gz' | sha256sum --strict --check - \ |
| 43 | + && tar -xzf App-cpanminus-1.7047.tar.gz && cd App-cpanminus-1.7047 \ |
| 44 | + && perl -pi -E 's{http://(www\.cpan\.org|backpan\.perl\.org|cpan\.metacpan\.org|fastapi\.metacpan\.org|cpanmetadb\.plackperl\.org)}{https://$1}g' bin/cpanm \ |
| 45 | + && perl -pi -E 's{try_lwp=>1}{try_lwp=>0}g' bin/cpanm \ |
| 46 | + && perl bin/cpanm . && cd /root \ |
| 47 | + && curl -fLO 'https://www.cpan.org/authors/id/C/CH/CHRISN/Net-SSLeay-1.94.tar.gz' \ |
| 48 | + && echo '9d7be8a56d1bedda05c425306cc504ba134307e0c09bda4a788c98744ebcd95d *Net-SSLeay-1.94.tar.gz' | sha256sum --strict --check - \ |
| 49 | + && cpanm --from $PWD Net-SSLeay-1.94.tar.gz \ |
| 50 | + && curl -fLO 'https://www.cpan.org/authors/id/S/SU/SULLR/IO-Socket-SSL-2.085.tar.gz' \ |
| 51 | + && echo '95b2f7c0628a7e246a159665fbf0620d0d7835e3a940f22d3fdd47c3aa799c2e *IO-Socket-SSL-2.085.tar.gz' | sha256sum --strict --check - \ |
| 52 | + && SSL_CERT_DIR=/etc/ssl/certs cpanm --from $PWD IO-Socket-SSL-2.085.tar.gz \ |
| 53 | + && curl -fL https://raw.githubusercontent.com/skaji/cpm/0.997017/cpm -o /usr/local/bin/cpm \ |
| 54 | + # sha256 checksum is from docker-perl team, cf https://github.com/docker-library/official-images/pull/12612#issuecomment-1158288299 |
| 55 | + && echo 'e3931a7d994c96f9c74b97d1b5b75a554fc4f06eadef1eca26ecc0bdcd1f2d11 */usr/local/bin/cpm' | sha256sum --strict --check - \ |
| 56 | + && chmod +x /usr/local/bin/cpm \ |
| 57 | + && savedPackages="ca-certificates curl make netbase zlib1g-dev libssl-dev" \ |
| 58 | + && apt-mark auto '.*' > /dev/null \ |
| 59 | + && apt-mark manual $savedPackages \ |
| 60 | + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ |
| 61 | + && rm -fr /var/cache/apt/* /var/lib/apt/lists/* \ |
| 62 | + && rm -fr /root/.cpanm /root/Net-SSLeay-1.94* /root/IO-Socket-SSL-2.085* /usr/src/perl /usr/src/App-cpanminus-1.7047* /tmp/* \ |
| 63 | + && cpanm --version && cpm --version |
| 64 | + |
| 65 | +WORKDIR /usr/src/app |
| 66 | + |
| 67 | +CMD ["perl5.41.4","-de0"] |
0 commit comments