diff --git a/30686003f86d3d21dbc4018260f880bc3147df6b.patch b/30686003f86d3d21dbc4018260f880bc3147df6b.patch new file mode 100644 index 0000000000000000000000000000000000000000..43ca27a5bf5a91f409b0d8d87a2d98a55ef4b315 --- /dev/null +++ b/30686003f86d3d21dbc4018260f880bc3147df6b.patch @@ -0,0 +1,74 @@ +From 30686003f86d3d21dbc4018260f880bc3147df6b Mon Sep 17 00:00:00 2001 +From: Khaled Hosny +Date: Mon, 13 Feb 2023 09:21:05 +0200 +Subject: [PATCH] [meson] Fix test failure with experimental_api + +Pass --experimental-api to all gen-def.py when generating all .def +files, not only harfbuzz.def. + +Fixes https://github.com/harfbuzz/harfbuzz/issues/4117 +--- + src/meson.build | 17 ++++++++--------- + 1 file changed, 8 insertions(+), 9 deletions(-) + +diff --git a/src/meson.build b/src/meson.build +index 7e10de8d871..435201c28c4 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -522,16 +522,15 @@ hb_supported_features_h = configure_file(input: 'hb-features.h.in', + + # Base and default-included sources and headers + +-# harfbuzz + gen_def = find_program('gen-def.py') +- +-harfbuzz_def_command_args = [gen_def, '@OUTPUT@', '@INPUT@'] ++gen_def_cmd = [gen_def, '@OUTPUT@', '@INPUT@'] + if get_option('experimental_api') +- harfbuzz_def_command_args += '--experimental-api' ++ gen_def_cmd += '--experimental-api' + endif + ++# harfbuzz + harfbuzz_def = custom_target('harfbuzz.def', +- command: harfbuzz_def_command_args, ++ command: gen_def_cmd, + input: hb_headers, + output: 'harfbuzz.def') + defs_list = [harfbuzz_def] +@@ -577,7 +576,7 @@ meson.override_dependency('harfbuzz', libharfbuzz_dep) + + # harfbuzz-subset + harfbuzz_subset_def = custom_target('harfbuzz-subset.def', +- command: [gen_def, '@OUTPUT@', '@INPUT@'], ++ command: gen_def_cmd, + input: hb_subset_headers, + output: 'harfbuzz-subset.def') + defs_list += [harfbuzz_subset_def] +@@ -643,7 +642,7 @@ if conf.get('HAVE_CAIRO', 0) == 1 + meson.override_dependency('harfbuzz-cairo', libharfbuzz_cairo_dep) + + harfbuzz_cairo_def = custom_target('harfbuzz-cairo.def', +- command: [gen_def, '@OUTPUT@', '@INPUT@'], ++ command: gen_def_cmd, + input: hb_cairo_headers, + output: 'harfbuzz-cairo.def') + defs_list += [harfbuzz_cairo_def] +@@ -729,7 +728,7 @@ pkgmod.generate(libharfbuzz_subset, + libharfbuzz_icu_dep = null_dep + if have_icu and not have_icu_builtin + harfbuzz_icu_def = custom_target('harfbuzz-icu.def', +- command: [gen_def, '@OUTPUT@', '@INPUT@'], ++ command: gen_def_cmd, + input: [hb_icu_headers], + output: 'harfbuzz-icu.def') + defs_list += [harfbuzz_icu_def] +@@ -817,7 +816,7 @@ if have_gobject + hb_gobject_sources += [gobject_enums_c] + + harfbuzz_gobject_def = custom_target('harfbuzz-gobject.def', +- command: [gen_def, '@OUTPUT@', '@INPUT@'], ++ command: gen_def_cmd, + input: [hb_gobject_headers, gobject_enums_h], + output: 'harfbuzz-gobject.def') + defs_list += [harfbuzz_gobject_def] diff --git a/harfbuzz-6.0.0.tar.xz b/harfbuzz-7.0.0.tar.xz similarity index 66% rename from harfbuzz-6.0.0.tar.xz rename to harfbuzz-7.0.0.tar.xz index 75aff2ad11237ecfd950f0499bb773a63d4244c2..6e4c57375638f63a9eda045dcfb2e6f28fecf739 100644 Binary files a/harfbuzz-6.0.0.tar.xz and b/harfbuzz-7.0.0.tar.xz differ diff --git a/harfbuzz.spec b/harfbuzz.spec index eab2abfed053d9f222eef8fd94002330b77499f2..fe9c8d74ef456b4946fefa3b251838f3c54e1f7c 100644 --- a/harfbuzz.spec +++ b/harfbuzz.spec @@ -1,12 +1,14 @@ %define anolis_release 1 Name: harfbuzz -Version: 6.0.0 +Version: 7.0.0 Release: %{anolis_release}%{?dist} Summary: Text shaping library License: MIT URL: https://harfbuzz.github.io/ Source0: https://github.com/harfbuzz/harfbuzz/releases/download/%{version}/harfbuzz-%{version}.tar.xz +# https://github.com/harfbuzz/harfbuzz/issues/4117 +Patch0: https://github.com/harfbuzz/harfbuzz/commit/30686003f86d3d21dbc4018260f880bc3147df6b.patch BuildRequires: pkgconfig(cairo) >= 1.8.0 BuildRequires: pkgconfig(cairo-ft) @@ -50,12 +52,14 @@ This package contains Harfbuzz ICU support library. %prep %autosetup -p1 - %build # Upstream already uses -fno-exception, but due to the order of the # switches, it does not affect as of 6.0.0 export CXXFLAGS="${CXXFLAGS/-fexceptions /}" -%meson -Dgraphite2=enabled + +# experimental api introduced in 6.0.0 for cjk writing systems +# https://github.com/harfbuzz/harfbuzz/releases/tag/6.0.0 +%meson -Dgraphite2=enabled -Dexperimental_api=true %meson_build %install @@ -70,9 +74,11 @@ export CXXFLAGS="${CXXFLAGS/-fexceptions /}" %dir %{abidir} %license COPYING %{_libdir}/libharfbuzz.so.0* +%{_libdir}/libharfbuzz-cairo.so.* %{_libdir}/libharfbuzz-gobject.so.0* %{_libdir}/libharfbuzz-subset.so.0* %{abidir}/libharfbuzz.dump +%{abidir}/libharfbuzz-cairo.dump %{abidir}/libharfbuzz-gobject.dump %{abidir}/libharfbuzz-subset.dump %dir %{_libdir}/girepository-1.0 @@ -83,20 +89,24 @@ export CXXFLAGS="${CXXFLAGS/-fexceptions /}" %files devel %doc %{_datadir}/gtk-doc +%{_bindir}/hb-info %{_bindir}/hb-view %{_bindir}/hb-ot-shape-closure %{_bindir}/hb-shape %{_bindir}/hb-subset +%{abidir}/hb-info-option.list %{abidir}/hb-view-option.list %{abidir}/hb-ot-shape-closure-option.list %{abidir}/hb-shape-option.list %{abidir}/hb-subset-option.list %{_includedir}/harfbuzz/ %{_libdir}/libharfbuzz.so +%{_libdir}/libharfbuzz-cairo.so %{_libdir}/libharfbuzz-gobject.so %{_libdir}/libharfbuzz-icu.so %{_libdir}/libharfbuzz-subset.so %{_libdir}/pkgconfig/harfbuzz.pc +%{_libdir}/pkgconfig/harfbuzz-cairo.pc %{_libdir}/pkgconfig/harfbuzz-gobject.pc %{_libdir}/pkgconfig/harfbuzz-icu.pc %{_libdir}/pkgconfig/harfbuzz-subset.pc @@ -109,6 +119,9 @@ export CXXFLAGS="${CXXFLAGS/-fexceptions /}" %{abidir}/libharfbuzz-icu.dump %changelog +* Sun Feb 12 2023 Funda Wang - 7.0.0-1 +- New version 7.0.0 + * Sun Dec 18 2022 Funda Wang - 6.0.0-1 - New version 6.0.0 - Use meson to build as suggested by upstream