-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile.latest
34 lines (28 loc) · 1.64 KB
/
Dockerfile.latest
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
# SPDX-License-Identifier: GPL-3.0-or-later
# Copyright © 2025 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
# Matthias Kretz <m.kretz@gsi.de>
FROM ghcr.io/mattkretz/cplusplus-ci/base
ENV DEBIAN_FRONTEND=noninteractive
# GCC 15
RUN mkdir -p /root/gcc-15/obj && \
cd /root/gcc-15 && \
curl -L https://github.com/gcc-mirror/gcc/archive/releases/gcc-15.tar.gz \
| tar -xz --strip-components=1 && \
cd /root/gcc-15/obj && ../configure --enable-languages=c,c++,lto --prefix=/opt/gcc-15 --disable-checking --disable-bootstrap && \
make -j3 && \
make -j3 install-strip && \
update-alternatives --install /usr/bin/gcc-15 gcc-15 /opt/gcc-15/bin/gcc 150 --slave /usr/bin/g++-15 g++-15 /opt/gcc-15/bin/g++ && \
update-alternatives --install /usr/bin/gcc gcc /opt/gcc-15/bin/gcc 150 --slave /usr/bin/g++ g++ /opt/gcc-15/bin/g++ && \
cd /root && rm -rf gcc-15
# GCC master
RUN mkdir -p /root/gcc-master/obj && \
cd /root/gcc-master && \
curl -L https://github.com/gcc-mirror/gcc/archive/master.tar.gz \
| tar -xz --strip-components=1 && \
cd /root/gcc-master/obj && ../configure --enable-languages=c,c++,lto --prefix=/opt/gcc-master --disable-checking --disable-bootstrap && \
make -j3 && \
make -j3 install-strip && \
update-alternatives --install /usr/bin/gcc-trunk gcc-trunk /opt/gcc-master/bin/gcc 150 --slave /usr/bin/g++-trunk g++-trunk /opt/gcc-master/bin/g++ && \
update-alternatives --install /usr/bin/gcc-master gcc-master /opt/gcc-master/bin/gcc 150 --slave /usr/bin/g++-master g++-master /opt/gcc-master/bin/g++ && \
cd /root && rm -rf gcc-master
CMD ["/bin/bash"]