-
Notifications
You must be signed in to change notification settings - Fork 1
/
Dockerfile.perl5.36-app-base
42 lines (34 loc) · 1.33 KB
/
Dockerfile.perl5.36-app-base
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# perlapp-base will be common for all perl application build images
FROM alpine
RUN apk update && apk upgrade && apk add --no-cache curl tar make gcc build-base wget gnupg vim bash zlib zlib-dev openssl openssl-dev
RUN mkdir -p /usr/src/perl
WORKDIR /usr/src/perl
RUN curl -SLO https://www.cpan.org/src/5.0/perl-5.36.0.tar.gz \
&& echo 'e26085af8ac396f62add8a533c3a0ea8c8497d836f0689347ac5abd7b7a4e00a *perl-5.36.0.tar.gz' | sha256sum -c - \
&& tar --strip-components=1 -xaf perl-5.36.0.tar.gz -C /usr/src/perl \
&& rm perl-5.36.0.tar.gz \
&& ./Configure -des \
-Duse64bitall \
-Dcccdlflags='-fPIC' \
-Dcccdlflags='-fPIC' \
-Dccdlflags='-rdynamic' \
-Dlocincpth=' ' \
-Duselargefiles \
-Dusethreads \
-Duseshrplib \
-Dd_semctl_semun \
-Dusenm \
-Dprefix='/opt/perl' \
&& make -j$(nproc) \
&& make install \
&& rm -fr /usr/src/perl /var/cache/apk
WORKDIR /opt/perl
ENV PATH="/opt/perl/bin:${PATH}"
RUN curl -o /tmp/cpm -sL --compressed https://git.io/cpm \
&& chmod 755 /tmp/cpm \
&& /tmp/cpm install -g App::cpm IO::Socket::SSL Cpanel::JSON::XS \
&& rm -fr /root/.perl-cpm /tmp/cpm
RUN apk del zlib-dev openssl-dev
ONBUILD WORKDIR /tmp
ONBUILD COPY cpanfile /tmp/cpanfile
ONBUILD RUN cpm install -g && rm -rf /tmp/cpanfile