cairo: fix build with gcc-15 on host

* backports from 1.18.2 used since:
  https://git.openembedded.org/openembedded-core/commit/?id=070d79c8adec7e0a8862019cf61910a59b18613a

* fixes build on hosts with gcc-15 (e.g. ubuntu-25.10)

../cairo-1.18.0/test/pdiff/pdiff.h:22:13: error: ‘bool’ cannot be defined via ‘typedef’
   22 | typedef int bool;
      |             ^~~~
../cairo-1.18.0/test/pdiff/pdiff.h:22:13: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../cairo-1.18.0/test/pdiff/pdiff.h:22:1: warning: useless type name in empty declaration
   22 | typedef int bool;
      | ^~~~~~~

(From OE-Core rev: 6bd49cba1d7e12a6d8a4521a2097ff9f5ddc6368)

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
Martin Jansa 2025-08-17 22:50:33 +02:00 committed by Steve Sakoman
parent f1647fba72
commit dcfcbb21c2
3 changed files with 51 additions and 0 deletions

View File

@ -0,0 +1,26 @@
From de2452228814e804b103dfa7c2d37b3a216c6155 Mon Sep 17 00:00:00 2001
From: Adrian Johnson <ajohnson@redneon.com>
Date: Sun, 28 Apr 2024 21:31:41 +0930
Subject: [PATCH] Require C11
Upstream-Status: Backport [https://gitlab.freedesktop.org/cairo/cairo/-/commit/b60f47dfd5bbe98aec43f6c356ba3be9a1b7989e]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
---
meson.build | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build
index 9100152..f8432fd 100644
--- a/meson.build
+++ b/meson.build
@@ -1,7 +1,8 @@
project('cairo', 'c', 'cpp',
- meson_version: '>= 0.59.0',
+ meson_version: '>= 1.3.0',
version: run_command(find_program('version.py'), check: true).stdout().strip(),
- default_options: ['warning_level=2'],
+ default_options: ['c_std=gnu11,c11',
+ 'warning_level=2'],
)
freetype_required_version = '>= 9.7.3'

View File

@ -0,0 +1,23 @@
From d9cc95b94b2bb1e67f2095cda484d4a8a63aba10 Mon Sep 17 00:00:00 2001
From: Luca Bacci <luca.bacci982@gmail.com>
Date: Thu, 16 Jan 2025 16:48:12 +0100
Subject: [PATCH] Meson: Require C++11
Upstream-Status: Backport [https://gitlab.freedesktop.org/cairo/cairo/-/commit/dfd06ab3884d79de3b5bac782d1e8b2a0bd791ab]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
---
meson.build | 1 +
1 file changed, 1 insertion(+)
diff --git a/meson.build b/meson.build
index f8432fd..85434d2 100644
--- a/meson.build
+++ b/meson.build
@@ -2,6 +2,7 @@ project('cairo', 'c', 'cpp',
meson_version: '>= 1.3.0',
version: run_command(find_program('version.py'), check: true).stdout().strip(),
default_options: ['c_std=gnu11,c11',
+ 'cpp_std=gnu++11,c++11',
'warning_level=2'],
)

View File

@ -30,6 +30,8 @@ DEPENDS = "fontconfig freetype glib-2.0 libpng pixman zlib"
SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz \
file://cairo-get_bitmap_surface-bsc1036789-CVE-2017-7475.diff \
file://0001-Require-C11.patch \
file://0002-Meson-Require-C-11.patch \
"
SRC_URI[sha256sum] = "243a0736b978a33dee29f9cca7521733b78a65b5418206fef7bd1c3d4cf10b64"