Skip to content

Commit 6aae594

Browse files
authored
Merge pull request #49 from LibrePCB/update-ubuntu-22.04
Ubuntu 22.04: Update from Qt5 to Qt6, install Rust toolchain
2 parents 88049b1 + 8a18df2 commit 6aae594

2 files changed

Lines changed: 35 additions & 16 deletions

File tree

README.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,13 @@ googletest).
3838

3939
### `ubuntu-22.04`
4040

41-
Based on Ubuntu 22.04, containing Qt and OpenCascade OCE from the official
42-
Ubuntu package repository. This image is intended to check if LibrePCB
43-
compiles on a standard Ubuntu 22.04.
41+
Based on Ubuntu 22.04, containing Qt from the official Ubuntu package
42+
repository. This image is intended to check if LibrePCB compiles on a standard
43+
Ubuntu 22.04.
44+
45+
In addition, this image contains necessary tools for dynamic linking of
46+
LibrePCB (pkg-config, libdxflib, libmuparser, libquazip, libpolyclipping,
47+
googletest).
4448

4549
### `windowsservercore-ltsc2019-qt6.6-64bit`
4650

ubuntu-22.04/Dockerfile

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,47 +5,50 @@ ARG DEBIAN_FRONTEND=noninteractive
55
RUN apt-get update -q && apt-get -y -q install --no-install-recommends \
66
bzip2 \
77
ca-certificates \
8+
cargo \
89
clang \
910
cmake \
1011
curl \
1112
dbus \
12-
doxygen \
1313
file \
1414
g++ \
1515
git \
16-
graphviz \
16+
googletest \
1717
libc++-dev \
1818
libc++abi-dev \
19+
libdxflib-dev \
20+
libdxflib3 \
1921
libglu1-mesa-dev \
20-
liboce-*-dev \
21-
libqt5opengl5 \
22-
libqt5opengl5-dev \
23-
libqt5sql5-sqlite \
24-
libqt5svg5-dev \
22+
libgmock-dev \
23+
libgtest-dev \
24+
libmuparser-dev \
25+
libmuparser2v5 \
26+
libocct-*-dev \
27+
libpolyclipping-dev \
28+
libpolyclipping22 \
2529
libqt6core5compat6-dev \
2630
libqt6opengl6-dev \
2731
libqt6openglwidgets6 \
2832
libqt6sql6-sqlite \
2933
libqt6svg6-dev \
34+
libtbb2-dev \
35+
libxi-dev \
3036
make \
3137
ninja-build \
38+
occt-misc \
3239
openssl \
40+
pkg-config \
3341
python3 \
3442
python3-pip \
3543
python3-setuptools \
3644
python3-wheel \
37-
qt5-image-formats-plugins \
3845
qt6-base-dev \
3946
qt6-declarative-dev \
4047
qt6-image-formats-plugins \
4148
qt6-l10n-tools \
4249
qt6-tools-dev \
4350
qt6-tools-dev-tools \
44-
qtbase5-dev \
45-
qtdeclarative5-dev \
46-
qtquickcontrols2-5-dev \
47-
qttools5-dev \
48-
qttools5-dev-tools \
51+
rustc \
4952
wget \
5053
xvfb \
5154
zlib1g \
@@ -58,5 +61,17 @@ RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 100
5861
# Allow installing pip packages system-wide since there's no risk in a container
5962
ENV PIP_BREAK_SYSTEM_PACKAGES=1
6063

64+
# Make .cargo/ writable for everyone to allow running the container as non-root
65+
RUN mkdir /.cargo && chmod 777 /.cargo
66+
67+
# Install sccache
68+
ARG SCCACHE_VERSION="0.8.2"
69+
ARG SCCACHE_URL="https://github.com/mozilla/sccache/releases/download/v$SCCACHE_VERSION/sccache-v$SCCACHE_VERSION-x86_64-unknown-linux-musl.tar.gz"
70+
RUN wget -c "$SCCACHE_URL" -O /tmp.tar.gz \
71+
&& tar -zxf /tmp.tar.gz \
72+
&& cp "./sccache-v$SCCACHE_VERSION-x86_64-unknown-linux-musl/sccache" /usr/local/bin/ \
73+
&& rm -rf "./sccache-v$SCCACHE_VERSION-x86_64-unknown-linux-musl" \
74+
&& rm /tmp.tar.gz
75+
6176
# LibrePCB's unittests expect that there is a USERNAME environment variable
6277
ENV USERNAME="root"

0 commit comments

Comments
 (0)