Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libraqm for openSUSE:Factory checked 
in at 2025-12-29 15:17:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libraqm (Old)
 and      /work/SRC/openSUSE:Factory/.libraqm.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libraqm"

Mon Dec 29 15:17:04 2025 rev:11 rq:1324617 version:0.10.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/libraqm/libraqm.changes  2024-09-30 
15:38:35.608503887 +0200
+++ /work/SRC/openSUSE:Factory/.libraqm.new.1928/libraqm.changes        
2025-12-29 15:18:05.142170063 +0100
@@ -1,0 +2,9 @@
+Sun Dec 28 23:31:41 UTC 2025 - Dirk Müller <[email protected]>
+
+- update to 0.10.3:
+  * Fix raqm_set_text_utf8/utf16 reading beyond len for
+    multibyte.
+  * Support building against SheenBidi 2.9.
+  * Fix deprecation warning with latest HarfBuzz.
+
+-------------------------------------------------------------------

Old:
----
  raqm-0.10.2.tar.xz

New:
----
  raqm-0.10.3.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libraqm.spec ++++++
--- /var/tmp/diff_new_pack.x9cEIv/_old  2025-12-29 15:18:06.350219716 +0100
+++ /var/tmp/diff_new_pack.x9cEIv/_new  2025-12-29 15:18:06.350219716 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package libraqm
 #
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 %define sover 0
 Name:           libraqm
-Version:        0.10.2
+Version:        0.10.3
 Release:        0
 Summary:        Complex Textlayout Library
 License:        MIT

++++++ raqm-0.10.2.tar.xz -> raqm-0.10.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/raqm-0.10.2/.github/workflows/ci.yml 
new/raqm-0.10.3/.github/workflows/ci.yml
--- old/raqm-0.10.2/.github/workflows/ci.yml    2024-09-22 15:19:53.000000000 
+0200
+++ new/raqm-0.10.3/.github/workflows/ci.yml    2025-08-05 15:38:51.000000000 
+0200
@@ -19,8 +19,8 @@
       MATRIX_OS: ${{ matrix.os }}
 
     steps:
-    - uses: actions/checkout@v3
-    - uses: actions/setup-python@v4
+    - uses: actions/checkout@v4
+    - uses: actions/setup-python@v5
       with:
         python-version: '3.10'
     - name: Install Python Dependencies
@@ -36,7 +36,7 @@
       with:
         arch: x64
     - name: Meson Setup
-      run: meson build $(test $MATRIX_OS = "ubuntu-latest" && echo 
"-Ddocs=true")
+      run: meson setup build $(test $MATRIX_OS = "ubuntu-latest" && echo 
"-Ddocs=true")
     - name: Build
       run: ninja -C build
     - name: Test
@@ -51,15 +51,20 @@
     strategy:
       fail-fast: false
       matrix:
-        os: [ubuntu-latest, macos-latest]
+        os: [ubuntu-latest, macos-latest, windows-latest]
 
     steps:
-    - uses: actions/checkout@v3
-    - uses: actions/setup-python@v4
+    - uses: actions/checkout@v4
+    - uses: actions/setup-python@v5
       with:
         python-version: '3.10'
     - name: Install Python Dependencies
       run: pip install --upgrade meson ninja
+    - name: MSVC Setup
+      if: matrix.os == 'windows-latest'
+      uses: ilammy/msvc-dev-cmd@v1
+      with:
+        arch: x64
     - name: Meson Setup
       run: meson -Dsheenbidi=true build
     - name: Build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/raqm-0.10.2/COPYING new/raqm-0.10.3/COPYING
--- old/raqm-0.10.2/COPYING     2024-09-22 15:19:53.000000000 +0200
+++ new/raqm-0.10.3/COPYING     2025-08-05 15:38:51.000000000 +0200
@@ -1,7 +1,7 @@
 The MIT License (MIT)
 
 Copyright © 2015 Information Technology Authority (ITA) <[email protected]>
-Copyright © 2016-2023 Khaled Hosny <[email protected]>
+Copyright © 2016-2025 Khaled Hosny <[email protected]>
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/raqm-0.10.2/NEWS new/raqm-0.10.3/NEWS
--- old/raqm-0.10.2/NEWS        2024-09-22 15:19:53.000000000 +0200
+++ new/raqm-0.10.3/NEWS        2025-08-05 15:38:51.000000000 +0200
@@ -1,3 +1,13 @@
+Overview of changes leading to 0.10.3
+Tuesday, August 5, 2025
+====================================
+
+Fix raqm_set_text_utf8/utf16 reading beyond len for multibyte.
+
+Support building against SheenBidi 2.9.
+
+Fix deprecation warning with latest HarfBuzz.
+
 Overview of changes leading to 0.10.2
 Sunday, September 22, 2024
 ====================================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/raqm-0.10.2/meson.build new/raqm-0.10.3/meson.build
--- old/raqm-0.10.2/meson.build 2024-09-22 15:19:53.000000000 +0200
+++ new/raqm-0.10.3/meson.build 2025-08-05 15:38:51.000000000 +0200
@@ -1,7 +1,7 @@
 project(
     'raqm',
     'c',
-    version: '0.10.2',
+    version: '0.10.3',
     default_options: [
         'c_std=c99',
         'cpp_std=c++11',
@@ -78,6 +78,12 @@
         'sheenbidi',
         fallback: ['sheenbidi', 'sheenbidi_dep'],
     )
+    if sheenbidi.version().version_compare('>= 2.9')
+        sheenbidi = declare_dependency(
+            compile_args: ['-DRAQM_SHEENBIDI_GT_2_9'],
+            dependencies: sheenbidi
+        )
+    endif
 else
     fribidi = dependency(
         'fribidi',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/raqm-0.10.2/src/raqm.c new/raqm-0.10.3/src/raqm.c
--- old/raqm-0.10.2/src/raqm.c  2024-09-22 15:19:53.000000000 +0200
+++ new/raqm-0.10.3/src/raqm.c  2025-08-05 15:38:51.000000000 +0200
@@ -30,7 +30,11 @@
 #include <string.h>
 
 #ifdef RAQM_SHEENBIDI
+#ifdef RAQM_SHEENBIDI_GT_2_9
+#include <SheenBidi/SheenBidi.h>
+#else
 #include <SheenBidi.h>
+#endif
 #else
 #include <fribidi.h>
 #endif
@@ -542,34 +546,32 @@
   return true;
 }
 
-static void *
-_raqm_get_utf8_codepoint (const void *str,
+static const char *
+_raqm_get_utf8_codepoint (const char *str,
                           uint32_t *out_codepoint)
 {
-  const char *s = (const char *)str;
-
-  if (0xf0 == (0xf8 & s[0]))
+  if (0xf0 == (0xf8 & str[0]))
   {
-    *out_codepoint = ((0x07 & s[0]) << 18) | ((0x3f & s[1]) << 12) | ((0x3f & 
s[2]) << 6) | (0x3f & s[3]);
-    s += 4;
+    *out_codepoint = ((0x07 & str[0]) << 18) | ((0x3f & str[1]) << 12) | 
((0x3f & str[2]) << 6) | (0x3f & str[3]);
+    str += 4;
   }
-  else if (0xe0 == (0xf0 & s[0]))
+  else if (0xe0 == (0xf0 & str[0]))
   {
-    *out_codepoint = ((0x0f & s[0]) << 12) | ((0x3f & s[1]) << 6) | (0x3f & 
s[2]);
-    s += 3;
+    *out_codepoint = ((0x0f & str[0]) << 12) | ((0x3f & str[1]) << 6) | (0x3f 
& str[2]);
+    str += 3;
   }
-  else if (0xc0 == (0xe0 & s[0]))
+  else if (0xc0 == (0xe0 & str[0]))
   {
-    *out_codepoint = ((0x1f & s[0]) << 6) | (0x3f & s[1]);
-    s += 2;
+    *out_codepoint = ((0x1f & str[0]) << 6) | (0x3f & str[1]);
+    str += 2;
   }
   else
   {
-    *out_codepoint = s[0];
-    s += 1;
+    *out_codepoint = str[0];
+    str += 1;
   }
 
-  return (void *)s;
+  return str;
 }
 
 static size_t
@@ -581,42 +583,41 @@
 
   while ((*in_utf8 != '\0') && (in_len < len))
   {
-    in_utf8 = _raqm_get_utf8_codepoint (in_utf8, out_utf32);
+    const char *out_utf8 = _raqm_get_utf8_codepoint (in_utf8, out_utf32);
+    in_len += out_utf8 - in_utf8;
+    in_utf8 = out_utf8;
     ++out_utf32;
-    ++in_len;
   }
 
   return (out_utf32 - unicode);
 }
 
-static void *
-_raqm_get_utf16_codepoint (const void *str,
-                          uint32_t *out_codepoint)
+static const uint16_t *
+_raqm_get_utf16_codepoint (const uint16_t *str,
+                           uint32_t *out_codepoint)
 {
-  const uint16_t *s = (const uint16_t *)str;
-
-  if (s[0] >= 0xD800 && s[0] <= 0xDBFF)
+  if (str[0] >= 0xD800 && str[0] <= 0xDBFF)
   {
-    if (s[1] >= 0xDC00 && s[1] <= 0xDFFF)
+    if (str[1] >= 0xDC00 && str[1] <= 0xDFFF)
     {
-      uint32_t X = ((s[0] & ((1 << 6) -1)) << 10) | (s[1] & ((1 << 10) -1));
-      uint32_t W = (s[0] >> 6) & ((1 << 5) - 1);
+      uint32_t X = ((str[0] & ((1 << 6) -1)) << 10) | (str[1] & ((1 << 10) 
-1));
+      uint32_t W = (str[0] >> 6) & ((1 << 5) - 1);
       *out_codepoint = (W+1) << 16 | X;
-      s += 2;
+      str += 2;
     }
     else
     {
       /* A single high surrogate, this is an error. */
-      *out_codepoint = s[0];
-      s += 1;
+      *out_codepoint = str[0];
+      str += 1;
     }
   }
   else
   {
-      *out_codepoint = s[0];
-      s += 1;
+      *out_codepoint = str[0];
+      str += 1;
   }
-  return (void *)s;
+  return str;
 }
 
 static size_t
@@ -628,9 +629,10 @@
 
   while ((*in_utf16 != '\0') && (in_len < len))
   {
-    in_utf16 = _raqm_get_utf16_codepoint (in_utf16, out_utf32);
+    const uint16_t *out_utf16 = _raqm_get_utf16_codepoint (in_utf16, 
out_utf32);
+    in_len += (out_utf16 - in_utf16);
+    in_utf16 = out_utf16;
     ++out_utf32;
-    ++in_len;
   }
 
   return (out_utf32 - unicode);
@@ -2163,6 +2165,10 @@
   *y = vector.y;
 }
 
+#if !HB_VERSION_ATLEAST (10, 4, 0)
+# define hb_ft_font_get_ft_face hb_ft_font_get_face
+#endif
+
 static bool
 _raqm_shape (raqm_t *rq)
 {
@@ -2195,7 +2201,7 @@
       hb_glyph_position_t *pos;
       unsigned int len;
 
-      FT_Get_Transform (hb_ft_font_get_face (run->font), &matrix, NULL);
+      FT_Get_Transform (hb_ft_font_get_ft_face (run->font), &matrix, NULL);
       pos = hb_buffer_get_glyph_positions (run->buffer, &len);
       info = hb_buffer_get_glyph_infos (run->buffer, &len);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/raqm-0.10.2/subprojects/freetype2.wrap 
new/raqm-0.10.3/subprojects/freetype2.wrap
--- old/raqm-0.10.2/subprojects/freetype2.wrap  2024-09-22 15:19:53.000000000 
+0200
+++ new/raqm-0.10.3/subprojects/freetype2.wrap  2025-08-05 15:38:51.000000000 
+0200
@@ -1,4 +1,11 @@
-[wrap-git]
-directory=freetype
-url=https://gitlab.freedesktop.org/freetype/freetype.git
-revision=VER-2-11-0
+[wrap-file]
+directory = freetype-2.13.3
+source_url = 
https://download.savannah.gnu.org/releases/freetype/freetype-2.13.3.tar.xz
+source_fallback_url = 
https://github.com/mesonbuild/wrapdb/releases/download/freetype2_2.13.3-1/freetype-2.13.3.tar.xz
+source_filename = freetype-2.13.3.tar.xz
+source_hash = 0550350666d427c74daeb85d5ac7bb353acba5f76956395995311a9c6f063289
+wrapdb_version = 2.13.3-1
+
+[provide]
+freetype2 = freetype_dep
+freetype = freetype_dep
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/raqm-0.10.2/subprojects/fribidi.wrap 
new/raqm-0.10.3/subprojects/fribidi.wrap
--- old/raqm-0.10.2/subprojects/fribidi.wrap    2024-09-22 15:19:53.000000000 
+0200
+++ new/raqm-0.10.3/subprojects/fribidi.wrap    2025-08-05 15:38:51.000000000 
+0200
@@ -1,4 +1,10 @@
-[wrap-git]
-directory=fribidi
-url=https://github.com/fribidi/fribidi.git
-revision=v1.0.10
+[wrap-file]
+directory = fribidi-1.0.16
+source_url = 
https://github.com/fribidi/fribidi/releases/download/v1.0.16/fribidi-1.0.16.tar.xz
+source_filename = fribidi-1.0.16.tar.xz
+source_hash = 1b1cde5b235d40479e91be2f0e88a309e3214c8ab470ec8a2744d82a5a9ea05c
+source_fallback_url = 
https://github.com/mesonbuild/wrapdb/releases/download/fribidi_1.0.16-1/fribidi-1.0.16.tar.xz
+wrapdb_version = 1.0.16-1
+
+[provide]
+fribidi = libfribidi_dep
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/raqm-0.10.2/subprojects/harfbuzz.wrap 
new/raqm-0.10.3/subprojects/harfbuzz.wrap
--- old/raqm-0.10.2/subprojects/harfbuzz.wrap   2024-09-22 15:19:53.000000000 
+0200
+++ new/raqm-0.10.3/subprojects/harfbuzz.wrap   2025-08-05 15:38:51.000000000 
+0200
@@ -1,4 +1,10 @@
-[wrap-git]
-directory=harfbuzz
-url=https://github.com/harfbuzz/harfbuzz.git
-revision=3.0.0
+[wrap-file]
+directory = harfbuzz-11.2.1
+source_url = 
https://github.com/harfbuzz/harfbuzz/releases/download/11.2.1/harfbuzz-11.2.1.tar.xz
+source_filename = harfbuzz-11.2.1.tar.xz
+source_hash = 093714c8548a285094685f0bdc999e202d666b59eeb3df2ff921ab68b8336a49
+source_fallback_url = 
https://github.com/mesonbuild/wrapdb/releases/download/harfbuzz_11.2.1-1/harfbuzz-11.2.1.tar.xz
+wrapdb_version = 11.2.1-1
+
+[provide]
+dependency_names = harfbuzz, harfbuzz-cairo, harfbuzz-gobject, harfbuzz-icu, 
harfbuzz-subset

Reply via email to