diff options
Diffstat (limited to 'meta')
| -rw-r--r-- | meta/recipes-graphics/harfbuzz/harfbuzz/0001-Use-Os-to-compile-hb-subset-plan-layout.cc.patch | 72 | ||||
| -rw-r--r-- | meta/recipes-graphics/harfbuzz/harfbuzz_11.1.0.bb | 4 |
2 files changed, 73 insertions, 3 deletions
diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz/0001-Use-Os-to-compile-hb-subset-plan-layout.cc.patch b/meta/recipes-graphics/harfbuzz/harfbuzz/0001-Use-Os-to-compile-hb-subset-plan-layout.cc.patch new file mode 100644 index 0000000000..299843797b --- /dev/null +++ b/meta/recipes-graphics/harfbuzz/harfbuzz/0001-Use-Os-to-compile-hb-subset-plan-layout.cc.patch | |||
| @@ -0,0 +1,72 @@ | |||
| 1 | From 8d876ea19579ee6b687668921c17be423cf7d6c2 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Sun, 27 Apr 2025 15:26:09 -0700 | ||
| 4 | Subject: [PATCH] Use -Os to compile hb-subset-plan-layout.cc | ||
| 5 | |||
| 6 | This helps compiling with GCC 15 | ||
| 7 | |||
| 8 | Reported upstream with GH Issues [1] | ||
| 9 | |||
| 10 | [1] https://github.com/harfbuzz/harfbuzz/issues/5306 | ||
| 11 | |||
| 12 | Upstream-Status: Inappropriate [GCC-15 workaround] | ||
| 13 | |||
| 14 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 15 | --- | ||
| 16 | src/meson.build | 15 ++++++++++++--- | ||
| 17 | 1 file changed, 12 insertions(+), 3 deletions(-) | ||
| 18 | |||
| 19 | diff --git a/src/meson.build b/src/meson.build | ||
| 20 | index 3d1c00d..fded728 100644 | ||
| 21 | --- a/src/meson.build | ||
| 22 | +++ b/src/meson.build | ||
| 23 | @@ -393,7 +393,6 @@ hb_subset_sources = files( | ||
| 24 | 'hb-subset-instancer-solver.hh', | ||
| 25 | 'hb-subset-instancer-solver.cc', | ||
| 26 | 'hb-subset-plan.cc', | ||
| 27 | - 'hb-subset-plan-layout.cc', | ||
| 28 | 'hb-subset-plan-var.cc', | ||
| 29 | 'hb-subset-plan.hh', | ||
| 30 | 'hb-subset-plan-member-list.hh', | ||
| 31 | @@ -410,6 +409,10 @@ hb_subset_sources = files( | ||
| 32 | 'hb-subset.hh', | ||
| 33 | ) | ||
| 34 | |||
| 35 | +hb_subset_sources_os = files( | ||
| 36 | + 'hb-subset-plan-layout.cc', | ||
| 37 | +) | ||
| 38 | + | ||
| 39 | hb_subset_headers = files( | ||
| 40 | 'hb-subset.h', | ||
| 41 | 'hb-subset-serialize.h' | ||
| 42 | @@ -618,6 +621,12 @@ endif | ||
| 43 | |||
| 44 | darwin_versions = [hb_version_int, '@0@.0.0'.format(hb_version_int)] | ||
| 45 | |||
| 46 | +special_subset_layout_lib = static_library('special_subset_layout', | ||
| 47 | + 'hb-subset-plan-layout.cc', | ||
| 48 | + include_directories: incconfig, | ||
| 49 | + cpp_args: cpp_args + extra_hb_cpp_args + ['-Os'], # <== compile this one with -Os | ||
| 50 | +) | ||
| 51 | + | ||
| 52 | libharfbuzz = library('harfbuzz', hb_sources, | ||
| 53 | include_directories: incconfig, | ||
| 54 | dependencies: harfbuzz_deps, | ||
| 55 | @@ -645,7 +654,7 @@ defs_list += [harfbuzz_subset_def] | ||
| 56 | libharfbuzz_subset = library('harfbuzz-subset', hb_subset_sources, | ||
| 57 | include_directories: incconfig, | ||
| 58 | dependencies: [m_dep], | ||
| 59 | - link_with: [libharfbuzz], | ||
| 60 | + link_with: [libharfbuzz] + [special_subset_layout_lib], | ||
| 61 | cpp_args: cpp_args + extra_hb_cpp_args, | ||
| 62 | soversion: hb_so_version, | ||
| 63 | version: version, | ||
| 64 | @@ -657,7 +666,7 @@ libharfbuzz_subset = library('harfbuzz-subset', hb_subset_sources, | ||
| 65 | custom_target('harfbuzz-subset.cc', | ||
| 66 | build_by_default: true, | ||
| 67 | output: 'harfbuzz-subset.cc', | ||
| 68 | - input: hb_base_sources + hb_subset_sources, | ||
| 69 | + input: hb_base_sources + hb_subset_sources + hb_subset_sources_os, | ||
| 70 | command: [find_program('gen-harfbuzzcc.py'), | ||
| 71 | '@OUTPUT@', meson.current_source_dir(), '@INPUT@'], | ||
| 72 | ) | ||
diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz_11.1.0.bb b/meta/recipes-graphics/harfbuzz/harfbuzz_11.1.0.bb index 645e1e4216..9eaacdaa5a 100644 --- a/meta/recipes-graphics/harfbuzz/harfbuzz_11.1.0.bb +++ b/meta/recipes-graphics/harfbuzz/harfbuzz_11.1.0.bb | |||
| @@ -9,6 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b98429b8e8e3c2a67cfef01e99e4893d \ | |||
| 9 | " | 9 | " |
| 10 | 10 | ||
| 11 | SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BPN}-${PV}.tar.xz" | 11 | SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BPN}-${PV}.tar.xz" |
| 12 | SRC_URI += "file://0001-Use-Os-to-compile-hb-subset-plan-layout.cc.patch" | ||
| 12 | SRC_URI[sha256sum] = "477f0d48c34dc32093b45304178eb9733361ca1832b5159879c99e6d40227969" | 13 | SRC_URI[sha256sum] = "477f0d48c34dc32093b45304178eb9733361ca1832b5159879c99e6d40227969" |
| 13 | 14 | ||
| 14 | DEPENDS += "glib-2.0-native" | 15 | DEPENDS += "glib-2.0-native" |
| @@ -32,9 +33,6 @@ PACKAGES =+ "${PN}-icu ${PN}-icu-dev ${PN}-subset" | |||
| 32 | 33 | ||
| 33 | LEAD_SONAME = "libharfbuzz.so" | 34 | LEAD_SONAME = "libharfbuzz.so" |
| 34 | 35 | ||
| 35 | # Remove when https://github.com/harfbuzz/harfbuzz/issues/4671 is resolved | ||
| 36 | EXTRA_OEMESON += "-Dcpp_std=c++17" | ||
| 37 | |||
| 38 | do_install:append() { | 36 | do_install:append() { |
| 39 | # If no tools are installed due to PACKAGECONFIG then this directory might | 37 | # If no tools are installed due to PACKAGECONFIG then this directory might |
| 40 | # still be installed, so remove it to stop packaging warnings. | 38 | # still be installed, so remove it to stop packaging warnings. |
