From 6d332ba04df8c5950128e6b2dbd61e9a377a5834 Mon Sep 17 00:00:00 2001 From: Martin Owens Date: Tue, 21 Feb 2023 08:57:37 -0500 Subject: [PATCH] Pin the PangoCairo library to avoid an upstream bug Pango recently merged a rewrite in the DirectWrite fontmap which appears to cause an issue on some windows systems using fontconfig as the backend. The wrong glyphs are rendered, see linked issue. Fixes https://gitlab.com/inkscape/inkscape/-/issues/4071 --- CMakeScripts/DefineDependsandFlags.cmake | 1 + buildtools/msys2installdeps.sh | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index 9bbc990b70..7f3a2a2a35 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -122,6 +122,7 @@ find_package(PkgConfig REQUIRED) pkg_check_modules(INKSCAPE_DEP REQUIRED harfbuzz pangocairo>=1.44 + pangocairo<=1.50.11 pangoft2 fontconfig gsl diff --git a/buildtools/msys2installdeps.sh b/buildtools/msys2installdeps.sh index 92e1d8d5db..ac56fa07bf 100644 --- a/buildtools/msys2installdeps.sh +++ b/buildtools/msys2installdeps.sh @@ -37,7 +37,7 @@ esac # set default options for invoking pacman (in CI this variable is already set globally) if [ -z $CI ]; then - PACMAN_OPTIONS="--needed --noconfirm" + PACMAN_OPTIONS="--needed --noconfirm --ignore=mingw-w64-*-pango" fi # sync package databases @@ -54,6 +54,14 @@ $ARCH-meson \ $ARCH-ninja \ $ARCH-ccache +# install pinned version of pango +for arch in $(eval echo $ARCH); do + wget -nv https://repo.msys2.org/mingw/x86_64/${arch}-pango-1.50.11-1-any.pkg.tar.zst \ + && pacman -U $PACMAN_OPTIONS ${arch}-pango-1.50.11-1-any.pkg.tar.zst \ + && rm ${arch}-pango-* +done + + # install Inkscape dependencies (required) eval pacman -S $PACMAN_OPTIONS \ $ARCH-double-conversion \ -- GitLab