From 50035695eca956791178e87e4781a9d3c72cb42b Mon Sep 17 00:00:00 2001 From: Ophestra Date: Thu, 27 Aug 2026 17:51:47 +0900 Subject: internal/rosa/package/pango: work around G_DEFINE_TYPE unused globals The global variable hidden behind the macro is blowing up -Wunused-but-set-global in the upcoming toolchain update. Signed-off-by: Ophestra --- internal/rosa/package/pango.az | 37 ----- .../package/pango/glib-unused-but-set-global.patch | 182 +++++++++++++++++++++ internal/rosa/package/pango/package.az | 38 +++++ 3 files changed, 220 insertions(+), 37 deletions(-) delete mode 100644 internal/rosa/package/pango.az create mode 100644 internal/rosa/package/pango/glib-unused-but-set-global.patch create mode 100644 internal/rosa/package/pango/package.az diff --git a/internal/rosa/package/pango.az b/internal/rosa/package/pango.az deleted file mode 100644 index 48f3ef0f..00000000 --- a/internal/rosa/package/pango.az +++ /dev/null @@ -1,37 +0,0 @@ -package pango { - description = "a library for layout and rendering of text"; - website = "https://www.pango.org"; - anitya = 11783; - - version# = "1.58.2"; - source = remoteGitLab { - domain = "gitlab.gnome.org"; - suffix = "GNOME/pango"; - ref = version; - checksum = "e_IeoTvj9uueBXAf0s5SBBAqov_8Vc2XjdtxHCSKsg38ZfAlBoBPhHOZRd7jxTC6"; - }; - - exec = meson { - setup = { - "fontconfig": "enabled"; - "freetype": "enabled"; - "cairo": "enabled"; - }; - // Fontconfig error: Cannot load default config file: File not found: /etc/fonts/fonts.conf - test = false; - }; - - inputs = [ - glib, - cairo, - fribidi, - harfbuzz, - ]; - - runtime = [ - glib, - cairo, - fribidi, - harfbuzz, - ]; -} diff --git a/internal/rosa/package/pango/glib-unused-but-set-global.patch b/internal/rosa/package/pango/glib-unused-but-set-global.patch new file mode 100644 index 00000000..e5eced84 --- /dev/null +++ b/internal/rosa/package/pango/glib-unused-but-set-global.patch @@ -0,0 +1,182 @@ +diff --git a/pango/fonts.c b/pango/fonts.c +index 1833ef94..f1e037ce 100644 +--- a/pango/fonts.c ++++ b/pango/fonts.c +@@ -2979,6 +2979,7 @@ pango_font_family_class_init (PangoFontFamilyClass *class) + static void + pango_font_family_init (PangoFontFamily *family G_GNUC_UNUSED) + { ++ (void)pango_font_family_parent_class; + } + + /** +@@ -3150,6 +3151,7 @@ G_DEFINE_ABSTRACT_TYPE (PangoFontFace, pango_font_face, G_TYPE_OBJECT) + static void + pango_font_face_class_init (PangoFontFaceClass *class G_GNUC_UNUSED) + { ++ (void)pango_font_face_parent_class; + } + + static void +diff --git a/pango/pango-engine.c b/pango/pango-engine.c +index bda8eef1..b54ba0d7 100644 +--- a/pango/pango-engine.c ++++ b/pango/pango-engine.c +@@ -30,6 +30,7 @@ G_DEFINE_ABSTRACT_TYPE (PangoEngine, pango_engine, G_TYPE_OBJECT); + static void + pango_engine_init (PangoEngine *self) + { ++ (void)pango_engine_parent_class; + } + + static void +@@ -44,6 +45,7 @@ G_GNUC_END_IGNORE_DEPRECATIONS + static void + pango_engine_lang_init (PangoEngineLang *self) + { ++ (void)pango_engine_lang_parent_class; + } + + static void +@@ -73,6 +75,7 @@ G_GNUC_END_IGNORE_DEPRECATIONS + static void + pango_engine_shape_init (PangoEngineShape *klass) + { ++ (void)pango_engine_shape_parent_class; + } + + static void +diff --git a/pango/pango-fontmap.c b/pango/pango-fontmap.c +index 89d627f1..1b2fa895 100644 +--- a/pango/pango-fontmap.c ++++ b/pango/pango-fontmap.c +@@ -139,6 +139,7 @@ pango_font_map_class_init (PangoFontMapClass *class) + static void + pango_font_map_init (PangoFontMap *fontmap G_GNUC_UNUSED) + { ++ (void)pango_font_map_parent_class; + } + + /** +diff --git a/pango/pango-fontset.c b/pango/pango-fontset.c +index 3b8b3a4c..9c0ce2fc 100644 +--- a/pango/pango-fontset.c ++++ b/pango/pango-fontset.c +@@ -38,6 +38,7 @@ G_DEFINE_ABSTRACT_TYPE (PangoFontset, pango_fontset, G_TYPE_OBJECT); + static void + pango_fontset_init (PangoFontset *self) + { ++ (void)pango_fontset_parent_class; + } + + static void +diff --git a/pango/pangocairo-fcfontmap.c b/pango/pangocairo-fcfontmap.c +index d73e38c4..f2938c94 100644 +--- a/pango/pangocairo-fcfontmap.c ++++ b/pango/pangocairo-fcfontmap.c +@@ -203,6 +203,7 @@ pango_cairo_fc_font_map_class_init (PangoCairoFcFontMapClass *class) + static void + pango_cairo_fc_font_map_init (PangoCairoFcFontMap *cffontmap) + { ++ (void)pango_cairo_fc_font_map_parent_class; + cffontmap->serial = 1; + cffontmap->dpi = 96.0; + } +diff --git a/pango/pangocairo-render.c b/pango/pangocairo-render.c +index 90b21e39..67cdf8f7 100644 +--- a/pango/pangocairo-render.c ++++ b/pango/pangocairo-render.c +@@ -1026,6 +1026,7 @@ pango_cairo_renderer_draw_shape (PangoRenderer *renderer, + static void + pango_cairo_renderer_init (PangoCairoRenderer *renderer G_GNUC_UNUSED) + { ++ (void)pango_cairo_renderer_parent_class; + } + + static void +diff --git a/pango/pangofc-decoder.c b/pango/pangofc-decoder.c +index 0d3b00a0..d54ef7e6 100644 +--- a/pango/pangofc-decoder.c ++++ b/pango/pangofc-decoder.c +@@ -27,6 +27,7 @@ G_DEFINE_ABSTRACT_TYPE (PangoFcDecoder, pango_fc_decoder, G_TYPE_OBJECT) + static void + pango_fc_decoder_init (PangoFcDecoder *decoder G_GNUC_UNUSED) + { ++ (void)pango_fc_decoder_parent_class; + } + + static void +diff --git a/pango/pangoft2-render.c b/pango/pangoft2-render.c +index f2da8e7f..174c1fe9 100644 +--- a/pango/pangoft2-render.c ++++ b/pango/pangoft2-render.c +@@ -69,6 +69,7 @@ G_DEFINE_TYPE (PangoFT2Renderer, pango_ft2_renderer, PANGO_TYPE_RENDERER) + static void + pango_ft2_renderer_init (PangoFT2Renderer *renderer G_GNUC_UNUSED) + { ++ (void)pango_ft2_renderer_parent_class; + } + + static void +diff --git a/tests/testboundaries.c b/tests/testboundaries.c +index dbc3b5b7..38356c4c 100644 +--- a/tests/testboundaries.c ++++ b/tests/testboundaries.c +@@ -40,12 +40,6 @@ + */ + + +-static int offset = 0; +-static int line = 0; +-static gunichar current_wc = 0; +-static const char *line_start = NULL; +-static const char *line_end = NULL; +- + typedef void (* CharForeachFunc) (gunichar wc, + gunichar prev_wc, + gunichar next_wc, +@@ -75,18 +69,12 @@ log_attr_foreach (const char *text, + if (next == end) + return; + +- offset = 0; +- line = 1; +- + prev_type = (GUnicodeType) -1; + prev_wc = 0; + + next_wc = g_utf8_get_char (next); + next_type = g_unichar_type (next_wc); + +- line_start = text; +- line_end = text; +- + while (next_wc != 0) + { + GUnicodeType type; +@@ -95,10 +83,7 @@ log_attr_foreach (const char *text, + wc = next_wc; + type = next_type; + +- current_wc = wc; +- + next = g_utf8_next_char (next); +- line_end = next; + + if (next >= end) + next_wc = 0; +@@ -118,14 +103,6 @@ log_attr_foreach (const char *text, + prev_type = type; + prev_wc = wc; + ++i; +- ++offset; +- if (wc == '\n') +- { +- ++line; +- offset = 0; +- line_start = next; +- line_end = next; +- } + } + } + diff --git a/internal/rosa/package/pango/package.az b/internal/rosa/package/pango/package.az new file mode 100644 index 00000000..e1d91a7d --- /dev/null +++ b/internal/rosa/package/pango/package.az @@ -0,0 +1,38 @@ +package pango { + description = "a library for layout and rendering of text"; + website = "https://www.pango.org"; + anitya = 11783; + + version# = "1.58.2"; + source = remoteGitLab { + domain = "gitlab.gnome.org"; + suffix = "GNOME/pango"; + ref = version; + checksum = "e_IeoTvj9uueBXAf0s5SBBAqov_8Vc2XjdtxHCSKsg38ZfAlBoBPhHOZRd7jxTC6"; + }; + patches = [ "glib-unused-but-set-global.patch" ]; + + exec = meson { + setup = { + "fontconfig": "enabled"; + "freetype": "enabled"; + "cairo": "enabled"; + }; + // Fontconfig error: Cannot load default config file: File not found: /etc/fonts/fonts.conf + test = false; + }; + + inputs = [ + glib, + cairo, + fribidi, + harfbuzz, + ]; + + runtime = [ + glib, + cairo, + fribidi, + harfbuzz, + ]; +} -- cgit v1.3.1