From b861b24157d3b58368f102dc3632edd7d6e7438f Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Fri, 27 May 2022 11:26:30 -0400 Subject: [PATCH] [meson] Disable FreeType in HarfBuzz fallback. This avoids cyclic subproject configuration when the 'harfbuzz' feature is enabled, or `--wrap-mode=forcefallback` is used, but HarfBuzz is built as a subproject. HarfBuzz does the same and disables HarfBuzz support when configuring FreeType as a subproject. * meson.build (harfbuzz_dep): Implement it. * subprojects/harfbuzz.wrap: New file. * .gitlab-ci.yml [windows meson]: Use latest version of the meson 0.59 series, which has a necessary bug fix to make CI work. --- .gitlab-ci.yml | 2 +- meson.build | 3 ++- subprojects/harfbuzz.wrap | 12 ++++++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 subprojects/harfbuzz.wrap diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 10de44632..a0774b7e3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -47,7 +47,7 @@ variables: - Import-Certificate -CertStoreLocation "Cert:\LocalMachine\Root" "C:\roots.sst" # Make sure meson is up to date so we don't need to rebuild the image # with each release. - - pip3 install meson==0.59.1 + - pip3 install 'meson==0.59.*' - pip3 install --upgrade certifi - pip3 install -U ninja diff --git a/meson.build b/meson.build index a066325b4..41822bc2b 100644 --- a/meson.build +++ b/meson.build @@ -335,7 +335,8 @@ endif # Harfbuzz support harfbuzz_dep = dependency('harfbuzz', version: '>= 2.0.0', - required: get_option('harfbuzz')) + required: get_option('harfbuzz'), + default_options: ['freetype=disabled']) if harfbuzz_dep.found() ftoption_command += ['--enable=FT_CONFIG_OPTION_USE_HARFBUZZ'] diff --git a/subprojects/harfbuzz.wrap b/subprojects/harfbuzz.wrap new file mode 100644 index 000000000..5931171a7 --- /dev/null +++ b/subprojects/harfbuzz.wrap @@ -0,0 +1,12 @@ +[wrap-file] +directory = harfbuzz-4.3.0 + +source_url = https://github.com/harfbuzz/harfbuzz/releases/download/4.3.0/harfbuzz-4.3.0.tar.xz +source_filename = harfbuzz-4.3.0.tar.xz +source_hash = a49628f4c4c8e6d8df95ef44935a93446cf2e46366915b0e3ca30df21fffb530 + +[provide] +harfbuzz = libharfbuzz_dep +harfbuzz-subset = libharfbuzz_subset_dep +harfbuzz-icu = libharfbuzz_icu_dep +harfbuzz-gobject = libharfbuzz_gobject_dep