Skip to content

Commit 59e998b

Browse files
committed
Add Ubuntu 24.04 image
1 parent 6aae594 commit 59e998b

2 files changed

Lines changed: 81 additions & 0 deletions

File tree

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,16 @@ In addition, this image contains necessary tools for dynamic linking of
4646
LibrePCB (pkg-config, libdxflib, libmuparser, libquazip, libpolyclipping,
4747
googletest).
4848

49+
### `ubuntu-24.04`
50+
51+
Based on Ubuntu 24.04, containing Qt from the official Ubuntu package
52+
repository. This image is intended to check if LibrePCB compiles on a standard
53+
Ubuntu.
54+
55+
In addition, this image contains necessary tools for dynamic linking of
56+
LibrePCB (pkg-config, libdxflib, libmuparser, libquazip, libpolyclipping,
57+
googletest).
58+
4959
### `windowsservercore-ltsc2019-qt6.6-64bit`
5060

5161
Based on Windows Server Core LTSC2019 with Qt6.6.x, MinGW 11.2.0 64-bit

ubuntu-24.04/Dockerfile

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
FROM ubuntu:24.04
2+
3+
# Install APT packages
4+
ARG DEBIAN_FRONTEND=noninteractive
5+
RUN apt-get update -q && apt-get -y -q install --no-install-recommends \
6+
bzip2 \
7+
ca-certificates \
8+
cargo \
9+
clang \
10+
cmake \
11+
curl \
12+
dbus \
13+
file \
14+
g++ \
15+
git \
16+
googletest \
17+
libc++-dev \
18+
libc++abi-dev \
19+
libdxflib-dev \
20+
libdxflib3 \
21+
libglu1-mesa-dev \
22+
libgmock-dev \
23+
libgtest-dev \
24+
libmuparser-dev \
25+
libmuparser2v5 \
26+
libocct-*-dev \
27+
libpolyclipping-dev \
28+
libpolyclipping22 \
29+
libqt6core5compat6-dev \
30+
libqt6opengl6-dev \
31+
libqt6openglwidgets6 \
32+
libqt6sql6-sqlite \
33+
libqt6svg6-dev \
34+
libquazip1-qt6-1t64 \
35+
libquazip1-qt6-dev \
36+
libtbb-dev \
37+
libxi-dev \
38+
make \
39+
ninja-build \
40+
occt-misc \
41+
openssl \
42+
pkg-config \
43+
python3 \
44+
python3-pip \
45+
python3-setuptools \
46+
python3-wheel \
47+
qt6-base-dev \
48+
qt6-declarative-dev \
49+
qt6-image-formats-plugins \
50+
qt6-l10n-tools \
51+
qt6-tools-dev \
52+
qt6-tools-dev-tools \
53+
rustc \
54+
sccache \
55+
wget \
56+
xvfb \
57+
zlib1g \
58+
zlib1g-dev \
59+
&& rm -rf /var/lib/apt/lists/*
60+
61+
# Set Python3 as default Python version
62+
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 100
63+
64+
# Allow installing pip packages system-wide since there's no risk in a container
65+
ENV PIP_BREAK_SYSTEM_PACKAGES=1
66+
67+
# Make .cargo/ writable for everyone to allow running the container as non-root
68+
RUN mkdir /.cargo && chmod 777 /.cargo
69+
70+
# LibrePCB's unittests expect that there is a USERNAME environment variable
71+
ENV USERNAME="root"

0 commit comments

Comments
 (0)