Merge branch 'fix-msys2-mingw32-ci' into 'main'

ci: Only build gobject-introspection if the system version is too old

Closes #3464

See merge request GNOME/glib!4317
This commit is contained in:
Philip Withnall 2024-09-29 12:33:08 +00:00
commit 034d528348
4 changed files with 23 additions and 9 deletions

View File

@ -108,10 +108,16 @@ variables:
.build-gobject-introspection:
before_script:
- mkdir -p gobject-introspection
- git clone --branch $GOBJECT_INTROSPECTION_TAG https://gitlab.gnome.org/GNOME/gobject-introspection.git gobject-introspection
- meson gobject-introspection gobject-introspection/build --prefix=/usr
- sudo meson install -C gobject-introspection/build
# If the CI image doesnt provide a new enough gobject-introspection
# package, build it ourselves.
# See https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3746#note_2161354
- >
if ! pkg-config --atleast-version "${GOBJECT_INTROSPECTION_TAG}" gobject-introspection-1.0; then
mkdir -p gobject-introspection
git clone --branch $GOBJECT_INTROSPECTION_TAG https://gitlab.gnome.org/GNOME/gobject-introspection.git gobject-introspection
meson gobject-introspection gobject-introspection/build --prefix=/usr
sudo meson install -C gobject-introspection/build
fi
artifacts:
expire_in: 3 days
paths:

View File

@ -34,10 +34,15 @@ PATH="$(cygpath "$USERPROFILE")/.local/bin:$HOME/.local/bin:$PATH"
DIR="$(pwd)"
export PATH CFLAGS
mkdir -p gobject-introspection
git clone --branch "${GOBJECT_INTROSPECTION_TAG}" https://gitlab.gnome.org/GNOME/gobject-introspection.git gobject-introspection
meson gobject-introspection gobject-introspection/build --prefix "/c/msys64/${MSYSTEM}/usr"
meson install -C gobject-introspection/build
# If msys2 doesnt provide a new enough gobject-introspection package, build it
# ourselves.
# See https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3746#note_2161354
if [[ $(vercmp "$(pacman -Qi "${MINGW_PACKAGE_PREFIX}"-gobject-introspection | grep -Po '^Version\s*: \K.+')" "${GOBJECT_INTROSPECTION_TAG}") -lt 0 ]]; then
mkdir -p gobject-introspection
git clone --branch "${GOBJECT_INTROSPECTION_TAG}" https://gitlab.gnome.org/GNOME/gobject-introspection.git gobject-introspection
meson gobject-introspection gobject-introspection/build --prefix "/c/msys64/${MSYSTEM}/usr"
meson install -C gobject-introspection/build
fi
# FIXME: We cant use ${MESON_COMMON_OPTIONS} here because this script installs
# Meson 1.3. See the comment in .gitlab-ci.yml about the same problem on

View File

@ -449,7 +449,6 @@ g_poll (GPollFD *fds,
for (i = 0; i < nthreads; i++)
{
guint thread_fds;
guint ignore;
if (i == (nthreads - 1) && threads_remain > 0)
thread_fds = threads_remain;

View File

@ -76,7 +76,11 @@ struct _GVariant
gatomicrefcount ref_count;
gsize depth;
#if g_macro__has_attribute(aligned)
guint8 suffix[] __attribute__((aligned(8)));
#else
guint8 suffix[];
#endif
};
/* Ensure our suffix data aligns to largest guaranteed offset