meson: Add a patch that fixes pangocairo usage in gst-plugins-rs
authorNirbheek Chauhan <nirbheek@centricular.com>
Sat, 17 Dec 2022 02:05:48 +0000 (07:35 +0530)
committerNirbheek Chauhan <nirbheek@centricular.com>
Sat, 17 Dec 2022 02:07:03 +0000 (07:37 +0530)
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>

.gitignore
subprojects/packagefiles/pango-1.48.11/0001-Coretext-fix-clang-build-failure.patch [deleted file]
subprojects/packagefiles/pango-1.50.12/0001-meson-Fix-pangoft2.pc-when-using-freetype-and-fontco.patch [new file with mode: 0644]
subprojects/pango.wrap

index 4a6028a..316313f 100644 (file)
@@ -49,3 +49,4 @@ subprojects/*/
 !subprojects/macos-bison-binary
 !subprojects/win-flex-bison-binaries
 !subprojects/win-nasm
+!subprojects/packagefiles
diff --git a/subprojects/packagefiles/pango-1.48.11/0001-Coretext-fix-clang-build-failure.patch b/subprojects/packagefiles/pango-1.48.11/0001-Coretext-fix-clang-build-failure.patch
deleted file mode 100644 (file)
index 1ddd400..0000000
+++ /dev/null
@@ -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)
-
diff --git a/subprojects/packagefiles/pango-1.50.12/0001-meson-Fix-pangoft2.pc-when-using-freetype-and-fontco.patch b/subprojects/packagefiles/pango-1.50.12/0001-meson-Fix-pangoft2.pc-when-using-freetype-and-fontco.patch
new file mode 100644 (file)
index 0000000..e6f77e5
--- /dev/null
@@ -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)
+
index 9d89583..ffd65d2 100644 (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