meson: Add a patch that fixes pangocairo usage in gst-plugins-rs

Also remove an unused patch.

https://gitlab.gnome.org/GNOME/pango/-/merge_requests/665

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3592>
This commit is contained in:
Nirbheek Chauhan 2022-12-17 07:35:48 +05:30
parent 984b8816d5
commit 331a367f19
4 changed files with 82 additions and 30 deletions

1
.gitignore vendored
View file

@ -49,3 +49,4 @@ subprojects/*/
!subprojects/macos-bison-binary
!subprojects/win-flex-bison-binaries
!subprojects/win-nasm
!subprojects/packagefiles

View file

@ -1,30 +0,0 @@
From 9093ffd69850b630622a3fc8dcf09c45c51ae2f9 Mon Sep 17 00:00:00 2001
From: John Ralls <jralls@ceridwen.us>
Date: Tue, 22 Mar 2022 12:09:09 -0700
Subject: [PATCH] Coretext: fix clang build failure.
Recent versions of clang notice that pango_core_text_fontset_load_font's
`key` local variable isn't used and errors out. Remove it.
---
pango/pangocoretext-fontmap.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/pango/pangocoretext-fontmap.c b/pango/pangocoretext-fontmap.c
index 40e62eed..e090bfc4 100644
--- a/pango/pangocoretext-fontmap.c
+++ b/pango/pangocoretext-fontmap.c
@@ -1696,11 +1696,8 @@ static PangoFont *
pango_core_text_fontset_load_font (PangoCoreTextFontset *ctfontset,
CTFontDescriptorRef ctdescriptor)
{
- PangoCoreTextFontsetKey *key;
PangoCoreTextFont *font;
- key = pango_core_text_fontset_get_key (ctfontset);
-
/* For now, we will default the fallbacks to not have synthetic italic,
* in the future this may be improved.
*/
--
2.32.1 (Apple Git-133)

View file

@ -0,0 +1,80 @@
From 6033340adb307331ccd61131117dc2ce376b5978 Mon Sep 17 00:00:00 2001
From: Nirbheek Chauhan <nirbheek@centricular.com>
Date: Sat, 17 Dec 2022 07:28:20 +0530
Subject: [PATCH] meson: Fix pangoft2.pc when using freetype and fontconfig
subprojects
This is the same change that was made for pangocairo earlier.
Without this, the pc file contains the following requires line:
```
Requires: pango,
```
Which is incorrect, and also invalid.
---
meson.build | 12 +++++++-----
pango/meson.build | 2 +-
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/meson.build b/meson.build
index ca296da3..a3103e96 100644
--- a/meson.build
+++ b/meson.build
@@ -263,9 +263,7 @@ if not fontconfig_option.disabled() or fontconfig_required
endif
fontconfig_dep = dependency('fontconfig', version: fontconfig_req_version, required: fontconfig_option)
-if fontconfig_dep.found()
- fontconfig_pc = 'fontconfig'
-else
+if not fontconfig_dep.found()
if cc.get_id() == 'msvc' and cc.has_header('fontconfig/fontconfig.h')
# Look for the Visual Studio-style import library if FontConfig's .pc file cannot be
# found on Visual Studio
@@ -283,6 +281,10 @@ if not fontconfig_dep.found()
endif
if fontconfig_dep.found()
+ if fontconfig_dep.type_name() in ['pkgconfig', 'internal']
+ fontconfig_pc = 'fontconfig'
+ endif
+
pango_deps += fontconfig_dep
if fontconfig_dep.type_name() != 'library'
@@ -319,7 +321,7 @@ freetype_dep = dependency(freetype_package_name,
required: freetype_option,
fallback: ['freetype2', 'freetype_dep'])
-if freetype_dep.found() and freetype_dep.type_name() == 'pkgconfig'
+if freetype_dep.found() and freetype_dep.type_name() in ['pkgconfig', 'internal']
freetype2_pc = 'freetype2'
endif
@@ -389,7 +391,7 @@ endif
pango_font_backends = []
pango_cairo_backends = []
-if ['pkgconfig', 'internal'].contains(cairo_found_type)
+if cairo_found_type in ['pkgconfig', 'internal']
# Check the following Cairo font backends
# - dependency
# - version
diff --git a/pango/meson.build b/pango/meson.build
index 7d18cb00..2aed62e6 100644
--- a/pango/meson.build
+++ b/pango/meson.build
@@ -573,7 +573,7 @@ if cairo_dep.found()
# Create pangocairo.pc according to whether we found Cairo
# manually
- if ['pkgconfig', 'internal'].contains(cairo_found_type)
+ if cairo_found_type in ['pkgconfig', 'internal']
pango_cairo_requires = [ 'pango', cairo_pc ]
else
pango_cairo_requires = [ 'pango' ]
--
2.37.1 (Apple Git-137.1)

View file

@ -3,6 +3,7 @@ directory = pango-1.50.12
source_url = https://download.gnome.org/sources/pango/1.50/pango-1.50.12.tar.xz
source_filename = pango-1.50.12.tar.xz
source_hash = caef96d27bbe792a6be92727c73468d832b13da57c8071ef79b9df69ee058fe3
diff_files = pango-1.50.12/0001-meson-Fix-pangoft2.pc-when-using-freetype-and-fontco.patch
[provide]
pango = libpango_dep