glib/.gitlab-ci/fedora.Dockerfile
Benjamin Gilbert 51e3e7d9ae build: Bump Meson dependency to 1.4.0
Meson 1.5.1 is available in the fd.o SDK and in Debian testing, so the
glib Meson policy says we can update.  Update the minimum only as far as
1.4.0 because we don't yet have a need for 1.5.0.

This allows us to:

- Use file.full_path() to avoid deprecation warnings on str.format(file).
- Set c_std=gnu99,c99 to avoid deprecation warnings with gnu99 on MSVC.

Update all the CI builds to use the latest 1.4.x patch release, 1.4.2.

The FreeBSD runner cannot be updated via `gitlab-ci.yml`, so will be
broken for now.

Similarly, the macOS build will not work unless `-Dc_std=gnu99` is
specified at configure time, due to
https://github.com/mesonbuild/meson/issues/13639.
2024-09-12 19:15:05 +01:00

107 lines
2.1 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

FROM fedora:39
RUN dnf -y update \
&& dnf -y install \
bindfs \
clang \
clang-analyzer \
dbus-daemon \
dbus-devel \
desktop-file-utils \
elfutils-libelf-devel \
findutils \
fuse \
gcc \
gcc-c++ \
gdb \
gettext \
gi-docgen \
git \
glibc-devel \
glibc-gconv-extra \
glibc-headers \
glibc-langpack-de \
glibc-langpack-el \
glibc-langpack-en \
glibc-langpack-es \
glibc-langpack-fa \
glibc-langpack-fr \
glibc-langpack-gu \
glibc-langpack-hr \
glibc-langpack-ja \
glibc-langpack-lt \
glibc-langpack-pl \
glibc-langpack-ru \
glibc-langpack-th \
glibc-langpack-tr \
"gnome-desktop-testing >= 2018.1" \
gobject-introspection \
gobject-introspection-devel \
gtk-doc \
itstool \
lcov \
libattr-devel \
libffi-devel \
libmount-devel \
libselinux-devel \
libxslt \
ncurses-compat-libs \
ninja-build \
pcre2-devel \
"python3-dbusmock >= 0.18.3-2" \
python3-docutils \
python3-pip \
python3-pygments \
python3-wheel \
shared-mime-info \
systemtap-sdt-devel \
unzip \
valgrind \
wget \
xdg-desktop-portal \
xz \
zlib-devel \
&& dnf -y install \
meson \
flex \
bison \
python3-devel \
autoconf \
automake \
gettext-devel \
libtool \
diffutils \
fontconfig-devel \
json-glib-devel \
geoclue2-devel \
pipewire-devel \
fuse-devel \
make \
&& dnf clean all
RUN pip3 install meson==1.4.2
COPY install-gitlab-cobertura-tools.sh .
RUN ./install-gitlab-cobertura-tools.sh
# Set /etc/machine-id as its needed for some D-Bus tests
RUN systemd-machine-id-setup
# Enable sudo for wheel users
RUN sed -i -e 's/# %wheel/%wheel/' -e '0,/%wheel/{s/%wheel/# %wheel/}' /etc/sudoers
ARG HOST_USER_ID=5555
ENV HOST_USER_ID ${HOST_USER_ID}
RUN useradd -u $HOST_USER_ID -G wheel -ms /bin/bash user
COPY android-ndk.sh .
RUN ./android-ndk.sh
USER user
WORKDIR /home/user
COPY cache-subprojects.sh .
RUN ./cache-subprojects.sh
ENV LANG C.UTF-8