1
+ # Ubuntu version
2
+ ARG RELEASE=24.04
3
+
1
4
# Build stage
2
- FROM ubuntu:24.04 AS builder
5
+ FROM ubuntu:${RELEASE} as builder
3
6
4
7
5
8
# Build-time variables
@@ -15,14 +18,14 @@ RUN apt update && \
15
18
curl
16
19
17
20
18
- # Install Java 22 .x
19
- # http://jdk.java.net/22 /
21
+ # Install Java 23 .x
22
+ # http://jdk.java.net/23 /
20
23
RUN cd /tmp && \
21
24
if [ "$BUILDARCH" = "arm64" ]; then ARCH="aarch64" ; else ARCH="x64" ; fi && \
22
- curl --remote-name https://download.java.net/java/GA/jdk22/830ec9fcccef480bb3e73fb7ecafe059/36 /GPL/openjdk-22_linux -${ARCH}_bin.tar.gz && \
23
- tar xzf openjdk-22_linux -${ARCH}_bin.tar.gz && \
24
- rm --force openjdk-22_linux -${ARCH}_bin.tar.gz && \
25
- mv jdk-22 /opt/jdk && \
25
+ curl --remote-name https://download.java.net/java/GA/jdk23/3c5b90190c68498b986a97f276efd28a/37 /GPL/openjdk-23_linux -${ARCH}_bin.tar.gz && \
26
+ tar xzf openjdk-23_linux -${ARCH}_bin.tar.gz && \
27
+ rm --force openjdk-23_linux -${ARCH}_bin.tar.gz && \
28
+ mv jdk-23 /opt/jdk && \
26
29
mkdir --parent /opt/bin && \
27
30
ln --symbolic /opt/jdk/bin/* /opt/bin/ && \
28
31
chmod a+rx /opt/bin/*
@@ -33,7 +36,7 @@ RUN cd /tmp && \
33
36
# https://github.com/tj/n#installation
34
37
RUN curl --location https://raw.githubusercontent.com/tj/n/master/bin/n --output /usr/local/bin/n && \
35
38
chmod a+x /usr/local/bin/n && \
36
- n 22.6 .0
39
+ n 22.9 .0
37
40
38
41
39
42
# Install Node.js packages
@@ -61,16 +64,16 @@ RUN apt update && \
61
64
# Install Python 3.12.x
62
65
# https://www.python.org/downloads/
63
66
RUN cd /tmp && \
64
- curl --remote-name https://www.python.org/ftp/python/3.12.5 /Python-3.12.5 .tgz && \
65
- tar xzf Python-3.12.5 .tgz && \
66
- rm --force Python-3.12.5 .tgz && \
67
- cd Python-3.12.5 && \
67
+ curl --remote-name https://www.python.org/ftp/python/3.12.7 /Python-3.12.7 .tgz && \
68
+ tar xzf Python-3.12.7 .tgz && \
69
+ rm --force Python-3.12.7 .tgz && \
70
+ cd Python-3.12.7 && \
68
71
CFLAGS="-Os" ./configure --disable-static --enable-optimizations --enable-shared --with-lto --without-tests && \
69
72
./configure && \
70
73
make && \
71
74
make install && \
72
75
cd .. && \
73
- rm --force --recursive Python-3.12.5 && \
76
+ rm --force --recursive Python-3.12.7 && \
74
77
ln --relative --symbolic /usr/local/bin/pip3 /usr/local/bin/pip && \
75
78
ln --relative --symbolic /usr/local/bin/python3 /usr/local/bin/python && \
76
79
pip3 install --no-cache-dir --upgrade pip
@@ -86,16 +89,16 @@ RUN apt update && \
86
89
apt clean && \
87
90
rm --force --recursive /var/lib/apt/lists/* && \
88
91
cd /tmp && \
89
- curl https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.4 .tar.gz --output ruby-3.3.4 .tar.gz && \
90
- tar xzf ruby-3.3.4 .tar.gz && \
91
- rm --force ruby-3.3.4 .tar.gz && \
92
- cd ruby-3.3.4 && \
92
+ curl https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.5 .tar.gz --output ruby-3.3.5 .tar.gz && \
93
+ tar xzf ruby-3.3.5 .tar.gz && \
94
+ rm --force ruby-3.3.5 .tar.gz && \
95
+ cd ruby-3.3.5 && \
93
96
if [ "$BUILDARCH" = "arm64" ]; then ASFLAGS=-mbranch-protection=pac-ret; else ASFLAGS=; fi && \
94
97
ASFLAGS=${ASFLAGS} CFLAGS=-Os ./configure --disable-install-doc --enable-load-relative && \
95
98
make && \
96
99
make install && \
97
100
cd .. && \
98
- rm --force --recursive ruby-3.3.4
101
+ rm --force --recursive ruby-3.3.5
99
102
100
103
101
104
# Install Ruby packages
@@ -126,7 +129,7 @@ RUN cd /tmp && \
126
129
127
130
128
131
# Final stage
129
- FROM ubuntu:24.04
132
+ FROM ubuntu:${RELEASE}
130
133
LABEL maintainer="[email protected] "
131
134
ARG DEBIAN_FRONTEND=noninteractive
132
135
0 commit comments