From 09d503113c1ace2673669f30f225e3594c9d18e77c78af018e0f8f2ab71a77e6 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 25 Apr 2018 11:59:41 +0000 Subject: [PATCH] Accepting request 600985 from home:iznogood:branches:GNOME:Factory - Add pango-use-non_deprecated-libthai-API.patch: Use non-deprecated libthai API when available. - Pass explicit gir=true to meson, ensure we build introspection support. OBS-URL: https://build.opensuse.org/request/show/600985 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/pango?expand=0&rev=188 --- pango-use-non_deprecated-libthai-API.patch | 129 +++++++++++++++++++++ pango.changes | 8 ++ pango.spec | 7 +- 3 files changed, 143 insertions(+), 1 deletion(-) create mode 100644 pango-use-non_deprecated-libthai-API.patch diff --git a/pango-use-non_deprecated-libthai-API.patch b/pango-use-non_deprecated-libthai-API.patch new file mode 100644 index 0000000..fbd65d0 --- /dev/null +++ b/pango-use-non_deprecated-libthai-API.patch @@ -0,0 +1,129 @@ +From 63e1fc9b23b4f0e8eaacd151ad39403eaa2b48ef Mon Sep 17 00:00:00 2001 +From: Khaled Hosny +Date: Wed, 11 Apr 2018 13:52:07 +0200 +Subject: Use non-deprecated libthai API when available +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +I’m assuming the new API is thread-safe as claimed. +--- + configure.ac | 4 ++++ + meson.build | 4 ++++ + pango/break-thai.c | 16 +++++++++++----- + 3 files changed, 19 insertions(+), 5 deletions(-) + +diff --git a/configure.ac b/configure.ac +index be20dce..5e879a8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -487,6 +487,10 @@ have_libthai=false + PKG_CHECK_MODULES(LIBTHAI, libthai >= $LIBTHAI_REQUIRED_VERSION, have_libthai=true, :) + if $have_libthai; then + AC_DEFINE(HAVE_LIBTHAI, 1, [Whether libthai is available]) ++ pango_save_libs=$LIBS ++ LIBS="$LIBS $LIBTHAI_LIBS" ++ AC_CHECK_FUNCS(th_brk_find_breaks) ++ LIBS=$pango_save_libs + fi + + # +diff --git a/meson.build b/meson.build +index a00d4b0..9a5a4c7 100644 +--- a/meson.build ++++ b/meson.build +@@ -216,6 +216,10 @@ thai_dep = dependency('libthai', version: libthai_req_version, required: false) + if thai_dep.found() + pango_conf.set('HAVE_LIBTHAI', 1) + pango_deps += thai_dep ++ ++ if cc.has_function('th_brk_find_breaks', dependencies: thai_dep) ++ pango_conf.set('HAVE_TH_BRK_FIND_BREAKS', 1) ++ endif + endif + + # These are for the various .pc files so that things will link +diff --git a/pango/break-thai.c b/pango/break-thai.c +index c9bf3e8..4a6c427 100644 +--- a/pango/break-thai.c ++++ b/pango/break-thai.c +@@ -27,12 +27,9 @@ + #include + #include + +-/* TODO +- * LibThai 0.1.23 claims to be thread-safe. +- * Check that and avoid locking? +- * http://linux.thai.net/node/286 +- */ ++#ifndef HAVE_TH_BRK_FIND_BREAKS + G_LOCK_DEFINE_STATIC (th_brk); ++#endif + + /* + * tis_text is assumed to be large enough to hold the converted string, +@@ -67,6 +64,9 @@ break_thai (const char *text, + thchar_t *tis_text; + int *brk_pnts; + int cnt; ++#ifdef HAVE_TH_BRK_FIND_BREAKS ++ ThBrk* brk; ++#endif + + cnt = pango_utf8_strlen (text, len) + 1; + +@@ -82,9 +82,15 @@ break_thai (const char *text, + + /* find line break positions */ + ++#ifdef HAVE_TH_BRK_FIND_BREAKS ++ brk = th_brk_new(NULL); ++ len = th_brk_find_breaks(brk, tis_text, brk_pnts, cnt); ++ th_brk_delete(brk); ++#else + G_LOCK (th_brk); + len = th_brk (tis_text, brk_pnts, cnt); + G_UNLOCK (th_brk); ++#endif + for (cnt = 0; cnt < len; cnt++) + if (attrs[brk_pnts[cnt]].is_char_break) + { +-- +cgit v0.12 + + +From 4b16a0bf5c9795fe57255d5594a27c3cef634202 Mon Sep 17 00:00:00 2001 +From: Khaled Hosny +Date: Sun, 8 Apr 2018 00:56:06 +0200 +Subject: Remove stray letters in NEWS + +Introduced in 46f8583c87c45b304ac98d06005c49df67d53b07 +--- + NEWS | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/NEWS b/NEWS +index 1319906..76605f5 100644 +--- a/NEWS ++++ b/NEWS +@@ -47,7 +47,7 @@ Overview of changes between 1.40.9 and 1.40.10 + - Apply gravity across spans in markup (#784243) + - Support variation selectors for shaping + - CoreText: Rely on CGFont for scaling (#782393) +-U- Fix grapheme breaks and backspacing for Emoji ++- Fix grapheme breaks and backspacing for Emoji + + Overview of changes between 1.40.8 and 1.40.9 + ============================================= +@@ -145,7 +145,7 @@ Overview of changes between 1.37.1 and 1.37.2 + ============================================= + - Don't use hb_glib_get_unicode_funcs + - Warning fixes +-I ++ + Overview of changes between 1.37.0 and 1.37.1 + ============================================= + - Add attributes for OpenType font features (#738505) +-- +cgit v0.12 + diff --git a/pango.changes b/pango.changes index 34be2c0..58dc647 100644 --- a/pango.changes +++ b/pango.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Apr 24 21:14:27 UTC 2018 - bjorn.lie@gmail.com + +- Add pango-use-non_deprecated-libthai-API.patch: Use + non-deprecated libthai API when available. +- Pass explicit gir=true to meson, ensure we build introspection + support. + ------------------------------------------------------------------- Sat Apr 7 15:20:39 UTC 2018 - bjorn.lie@gmail.com diff --git a/pango.spec b/pango.spec index 94a379d..c568dee 100644 --- a/pango.spec +++ b/pango.spec @@ -26,6 +26,8 @@ URL: http://www.pango.org/ Source0: https://download.gnome.org/sources/pango/1.42/%{name}-%{version}.tar.xz Source2: macros.pango Source99: baselibs.conf +# PATCH-FIX-UPSTREAM pango-use-non_deprecated-libthai-API.patch -- Use non-deprecated libthai API when available +Patch0: pango-use-non_deprecated-libthai-API.patch BuildRequires: gcc-c++ BuildRequires: gtk-doc BuildRequires: help2man @@ -118,10 +120,13 @@ to develop applications that require these. %prep %setup -q +%patch0 -p1 %build %meson \ - -Denable_docs=true + -Denable_docs=true \ + -Dgir=true \ + %{nil} %meson_build %install