Skip to content

Commit f0fa42b

Browse files
committed
#56 adding GCC7
Also had to remove qemu (deprecated for Ubuntu 22.04 I guess?) but we weren't using it.
1 parent 11a2413 commit f0fa42b

File tree

8 files changed

+91
-11
lines changed

8 files changed

+91
-11
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ like [libcanard](https://github.com/OpenCyphal/libcanard) and
2525

2626
| tag | Python | GCC (native) | GCC (arm-none-eabi) | Clang (native) | Cmake | Host Platforms | Other Utilities |
2727
|----------|--------|--------------|---------------------|----------------|-------|----------------|-----------------|
28+
| [ts22.4.11](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 12.3.0 | 13.3.1 | 18.1.3 | 3.30.1 | <ul><li>linux/amd64</li><li>linux/arm64</li></ul> | <li>can-utils</li><li>doxygen 1.10.0</li><li>nvm</li><li>node 20.x</li><li>nox</li><li>govr</li><li>gcc-multilib (amd64 only)</li><li>gcc7</li></ul> |
2829
| [ts22.4.10](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 12.3.0 | 13.3.1 | 18.1.3 | 3.30.1 | <ul><li>linux/amd64</li><li>linux/arm64</li></ul> | <ul><li>qemu</li><li>can-utils</li><li>doxygen 1.10.0</li><li>nvm</li><li>node 20.x</li><li>nox</li><li>govr</li><li>gcc-multilib (amd64 only)</li></ul> |
2930
| [ts22.4.8](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 12.3.0 | (N/A) | 18.1.3 | 3.22.1 | <ul><li>linux/amd64</li><li>linux/arm64</li></ul> | <ul><li>qemu</li><li>can-utils</li><li>doxygen 1.10.0</li><li>nvm</li><li>node 20.x</li><li>nox</li><li>govr</li><li>gcc-multilib (amd64 only)</li></ul> |
3031
| [ts22.4.7](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 12.3.0 | (N/A) | 18.1.3 | 3.22.1 | <ul><li>linux/amd64</li><li>linux/arm64</li></ul> | <ul><li>qemu</li><li>can-utils</li><li>doxygen 1.10.0</li><li>nvm</li><li>node 20.x</li><li>nox</li><li>govr</li></ul> |

toolshed/Dockerfile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,22 @@ FROM base AS provisioning
2525
WORKDIR /tmp
2626
ADD kitware-archive-latest.asc .
2727
ADD pre-provision.sh ./pre-provision.sh
28+
ADD provision-repositories.sh ./provision-repositories.sh
29+
ADD provision-repositories-${TARGETARCH}.sh ./provision-repositories-${TARGETARCH}.sh
2830
ADD provision.sh ./provision.sh
2931
ADD provision-${TARGETARCH}.sh ./provision-${TARGETARCH}.sh
3032
ADD post-provision.sh ./post-provision.sh
3133

3234
RUN apt update
3335
RUN ./pre-provision.sh
36+
RUN ./provision-repositories.sh
37+
RUN ./provision-repositories-${TARGETARCH}.sh
3438
RUN apt update
3539
RUN ./provision.sh
3640
RUN ./provision-${TARGETARCH}.sh
3741
RUN ./post-provision.sh
3842

39-
# INSTALL THE PATH FOR INTERATIVE SESSIONS
43+
# INSTALL THE PATH FOR INTERACTIVE SESSIONS
4044
RUN echo "export PATH=$PATH" >> ~/.bashrc
4145

4246
# LEAVE THE WORKDIR AS /repo

toolshed/pre-provision.sh

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,6 @@ apt-get -y install debconf
2828
apt-get -y install wget
2929
apt-get -y install gpg
3030

31-
cat kitware-archive-latest.asc
32-
cat kitware-archive-latest.asc | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null
33-
34-
apt-get -y install software-properties-common
35-
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6AF7F09730B3F0A4
36-
apt-add-repository 'deb https://apt.kitware.com/ubuntu/ jammy main'
37-
add-apt-repository -y ppa:deadsnakes/ppa
38-
3931
# setup locales in the container so Python can default to utf-8.
4032
apt-get -y install locales
4133
# from http://jaredmarkell.com/docker-and-locales/

toolshed/provision-arm64.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,5 @@ set -o errexit
1919
set -o pipefail
2020

2121
# +----------------------------------------------------------+
22-
echo "No additional packages to install."
22+
23+
apt-get -y install qemu
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#!/usr/bin/env bash
2+
3+
# +----------------------------------------------------------+
4+
# | BASH : Modifying Shell Behaviour
5+
# | (https://www.gnu.org/software/bash/manual)
6+
# +----------------------------------------------------------+
7+
# Treat unset variables and parameters other than the special
8+
# parameters ‘@’ or ‘*’ as an error when performing parameter
9+
# expansion. An error message will be written to the standard
10+
# error, and a non-interactive shell will exit.
11+
set -o nounset
12+
13+
# Exit immediately if a pipeline returns a non-zero status.
14+
set -o errexit
15+
16+
# If set, the return value of a pipeline is the value of the
17+
# last (rightmost) command to exit with a non-zero status, or
18+
# zero if all commands in the pipeline exit successfully.
19+
set -o pipefail
20+
21+
# +----------------------------------------------------------+
22+
export DEBIAN_FRONTEND=noninteractive
23+
24+
# For GCC7
25+
apt-add-repository 'deb http://archive.ubuntu.com/ubuntu/ focal main universe'
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#!/usr/bin/env bash
2+
3+
# +----------------------------------------------------------+
4+
# | BASH : Modifying Shell Behaviour
5+
# | (https://www.gnu.org/software/bash/manual)
6+
# +----------------------------------------------------------+
7+
# Treat unset variables and parameters other than the special
8+
# parameters ‘@’ or ‘*’ as an error when performing parameter
9+
# expansion. An error message will be written to the standard
10+
# error, and a non-interactive shell will exit.
11+
set -o nounset
12+
13+
# Exit immediately if a pipeline returns a non-zero status.
14+
set -o errexit
15+
16+
# If set, the return value of a pipeline is the value of the
17+
# last (rightmost) command to exit with a non-zero status, or
18+
# zero if all commands in the pipeline exit successfully.
19+
set -o pipefail
20+
21+
# +----------------------------------------------------------+
22+
export DEBIAN_FRONTEND=noninteractive
23+
24+
# For GCC7
25+
apt-add-repository 'deb https://ports.ubuntu.com/ubuntu-ports focal main universe'
26+

toolshed/provision-repositories.sh

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#!/usr/bin/env bash
2+
3+
# +----------------------------------------------------------+
4+
# | BASH : Modifying Shell Behaviour
5+
# | (https://www.gnu.org/software/bash/manual)
6+
# +----------------------------------------------------------+
7+
# Treat unset variables and parameters other than the special
8+
# parameters ‘@’ or ‘*’ as an error when performing parameter
9+
# expansion. An error message will be written to the standard
10+
# error, and a non-interactive shell will exit.
11+
set -o nounset
12+
13+
# Exit immediately if a pipeline returns a non-zero status.
14+
set -o errexit
15+
16+
# If set, the return value of a pipeline is the value of the
17+
# last (rightmost) command to exit with a non-zero status, or
18+
# zero if all commands in the pipeline exit successfully.
19+
set -o pipefail
20+
21+
# +----------------------------------------------------------+
22+
export DEBIAN_FRONTEND=noninteractive
23+
24+
cat kitware-archive-latest.asc
25+
cat kitware-archive-latest.asc | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null
26+
27+
apt-get -y install software-properties-common
28+
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 16FAAD7AF99A65E2
29+
apt-add-repository 'deb https://apt.kitware.com/ubuntu/ jammy main'
30+
31+
add-apt-repository -y ppa:deadsnakes/ppa

toolshed/provision.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ apt-get -y install lcov
3333
apt-get -y install valgrind
3434
apt-get -y install graphviz
3535
apt-get -y install curl
36-
apt-get -y install qemu
3736
apt-get -y install ninja-build
3837
apt-get -y install can-utils
3938
apt-get -y install lsb-release
4039
apt-get -y install wget
4140
apt-get -y install gnupg
4241
apt-get -y install vim
42+
apt-get -y install g++-7
4343
apt-get -y install g++-10
4444
apt-get -y install g++-11
4545
apt-get -y install g++-12

0 commit comments

Comments
 (0)