package/cairo: bump to 1.18.0
PATCH 1/1 package/cairo: bump to 1.18.0
News:
- https://www.cairographics.org/news/cairo-1.17.2/
- https://www.cairographics.org/news/cairo-1.17.4/
- https://www.cairographics.org/news/cairo-1.17.8/
- https://www.cairographics.org/news/cairo-1.18.0/
Support for the meson build system was added in 1.17.4, while support for autotools was dropped in 1.17.8.
Some options are renamed/dropped so fix that along.
- GL and GLES drawing has been dropped in 1.17.8.
- The XML surface has been removed in 1.18.0.
Patches:
- drop 0001-fix-nofork-build.patch, upstream: [1]
- drop 0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch, upstream: [2]
- drop 0003-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch, upstream: [3]
- drop 0004-Fix-mask-usage-in-image-compositor.patch, upstream: [4]
- add 0001-cairo-ft-private.h-fix-missing-FT_Color-error.patch, upstream: [5]
- add 0002-meson.build-fix-x11-build.patch, upstream: [6]
[1]: https://gitlab.freedesktop.org/cairo/cairo/-/commit/cb2357f481396820ec954dc4b69eafc01a8d162a
[2]: https://gitlab.freedesktop.org/cairo/cairo/-/commit/90e85c2493fdfa3551f202ff10282463f1e36645
[3]: https://gitlab.freedesktop.org/cairo/cairo/-/commit/ab2c5ee21e5f3d3ee4b3f67cfcd5811a4f99c3a0
[4]: https://gitlab.freedesktop.org/cairo/cairo/-/commit/03a820b173ed1fdef6ff14b4468f5dbc02ff59be
[5]: https://gitlab.freedesktop.org/cairo/cairo/-/issues/792
[6]: https://gitlab.freedesktop.org/cairo/cairo/-/issues/613
--- ...private.h-fix-missing-FT_Color-error.patch | 32 ++++ package/cairo/0001-fix-nofork-build.patch | 29 --- ...vailable-in-cairo_ft_apply_variation.patch | 33 ---- .../0002-meson.build-fix-x11-build.patch | 29 +++ ...or_tolerance_normalized-fix-infinite.patch | 39 ---- ...4-Fix-mask-usage-in-image-compositor.patch | 56 ------ package/cairo/Config.in | 34 ++-- package/cairo/cairo.hash | 6 +- package/cairo/cairo.mk | 179 +++++------------- 9 files changed, 133 insertions(+), 304 deletions(-) create mode 100644 package/cairo/0001-cairo-ft-private.h-fix-missing-FT_Color-error.patch delete mode 100644 package/cairo/0001-fix-nofork-build.patch delete mode 100644 package/cairo/0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch create mode 100644 package/cairo/0002-meson.build-fix-x11-build.patch delete mode 100644 package/cairo/0003-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch delete mode 100644 package/cairo/0004-Fix-mask-usage-in-image-compositor.patch
package/cairo/0001-cairo-ft-private.h-fix-missing-FT_Color-error.patch new file +32 -0
@@ -0,0 +1,32 @@ +From da698db0c20507f0e07492cbe40dbaf1c9053f71 Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt <[email protected]> +Date: Sun, 12 Nov 2023 09:58:05 +0100 +Subject: [PATCH] cairo-ft-private.h: fix missing FT_Color error + +In file included from ../src/cairo-colr-glyph-render.c:37: +../src/cairo-ft-private.h:87:30: error: unknown type name 'FT_Color' + 87 | FT_Color *palette, + | ^~~~~~~~ + +Upstream: https://gitlab.freedesktop.org/cairo/cairo/-/issues/792 +Signed-off-by: Thomas Devoogdt <[email protected]> +--- + src/cairo-ft-private.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/cairo-ft-private.h b/src/cairo-ft-private.h +index 836f7e523..6b0e30223 100644 +--- a/src/cairo-ft-private.h ++++ b/src/cairo-ft-private.h +@@ -43,6 +43,8 @@ + + #if CAIRO_HAS_FT_FONT + ++#include FT_COLOR_H ++ + CAIRO_BEGIN_DECLS + + typedef struct _cairo_ft_unscaled_font cairo_ft_unscaled_font_t; +-- +2.34.1 +
package/cairo/0001-fix-nofork-build.patch deleted +0 -29
@@ -1,29 +0,0 @@ -test: fix build when SHOULD_FORK is false - -The code in test/cairo-test-runner.c properly takes into account -platforms that do have fork() support, and uses the SHOULD_FORK define -to know whether fork is available or not. - -However, this SHOULD_FORK macro is used to guard the inclusion of -<unistd.h>, which is needed to get the prototype of other functions -(namely readlink and getppid), that are used in portions of this file -not guarded by SHOULD_FORK. - -Signed-off-by: Thomas Petazzoni <[email protected]> - -Index: b/test/cairo-test-runner.c -=================================================================== ---- a/test/cairo-test-runner.c -+++ b/test/cairo-test-runner.c -@@ -36,10 +36,10 @@ - #include <pixman.h> /* for version information */ - - #define SHOULD_FORK HAVE_FORK && HAVE_WAITPID --#if SHOULD_FORK - #if HAVE_UNISTD_H - #include <unistd.h> - #endif -+#if SHOULD_FORK - #if HAVE_SIGNAL_H - #include <signal.h> - #endif
package/cairo/0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch deleted +0 -33
@@ -1,33 +0,0 @@ -From 90e85c2493fdfa3551f202ff10282463f1e36645 Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos <[email protected]> -Date: Mon, 19 Nov 2018 12:33:07 +0100 -Subject: [PATCH] ft: Use FT_Done_MM_Var instead of free when available in - cairo_ft_apply_variations - -Fixes a crash when using freetype >= 2.9 -[Retrieved from: -https://gitlab.freedesktop.org/cairo/cairo/-/commit/90e85c2493fdfa3551f202ff10282463f1e36645] -Signed-off-by: Fabrice Fontaine <[email protected]> ---- - src/cairo-ft-font.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c -index 325dd61b4..981973f78 100644 ---- a/src/cairo-ft-font.c -+++ b/src/cairo-ft-font.c -@@ -2393,7 +2393,11 @@ skip: - done: - free (coords); - free (current_coords); -+#if HAVE_FT_DONE_MM_VAR -+ FT_Done_MM_Var (face->glyph->library, ft_mm_var); -+#else - free (ft_mm_var); -+#endif - } - } - --- -2.24.1 -
package/cairo/0002-meson.build-fix-x11-build.patch new file +29 -0
@@ -0,0 +1,29 @@ +From 840e3ad20f8536d9857876ca2f5161896b68ab9b Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt <[email protected]> +Date: Sun, 12 Nov 2023 10:44:13 +0100 +Subject: [PATCH] meson.build: fix x11 build + +../../br-test-pkg/arm-aarch64/build/cairo-1.18.0/meson.build:381:13: ERROR: Can not run test applications in this cross environment. + +Upstream: https://gitlab.freedesktop.org/cairo/cairo/-/issues/613 +Signed-off-by: Thomas Devoogdt <[email protected]> +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 9efe91978..9864b8699 100644 +--- a/meson.build ++++ b/meson.build +@@ -369,7 +369,7 @@ if x11_dep.found() and xext_dep.found() + + # Can skip the run check by providing the result in a cross file or + # native file as bool property value. +- prop = meson.get_external_property('ipc_rmid_deferred_release', 'auto') ++ prop = meson.get_external_property('ipc_rmid_deferred_release', 'false') + # We don't know the type of prop (bool, string) but need to differentiate + # between a set value (bool) or the fallback value (string), so convert to + # a string and check the string value. +-- +2.34.1 +
package/cairo/0003-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch deleted +0 -39
@@ -1,39 +0,0 @@ -From ab2c5ee21e5f3d3ee4b3f67cfcd5811a4f99c3a0 Mon Sep 17 00:00:00 2001 -From: Heiko Lewin <[email protected]> -Date: Sun, 1 Aug 2021 11:16:03 +0000 -Subject: [PATCH] _arc_max_angle_for_tolerance_normalized: fix infinite loop - -[Retrieved from: -https://gitlab.freedesktop.org/cairo/cairo/-/commit/ab2c5ee21e5f3d3ee4b3f67cfcd5811a4f99c3a0] -Signed-off-by: Quentin Schulz <[email protected]> ---- - src/cairo-arc.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/cairo-arc.c b/src/cairo-arc.c -index 390397bae..1c891d1a0 100644 ---- a/src/cairo-arc.c -+++ b/src/cairo-arc.c -@@ -90,16 +90,18 @@ _arc_max_angle_for_tolerance_normalized (double tolerance) - { M_PI / 11.0, 9.81410988043554039085e-09 }, - }; - int table_size = ARRAY_LENGTH (table); -+ const int max_segments = 1000; /* this value is chosen arbitrarily. this gives an error of about 1.74909e-20 */ - - for (i = 0; i < table_size; i++) - if (table[i].error < tolerance) - return table[i].angle; - - ++i; -+ - do { - angle = M_PI / i++; - error = _arc_error_normalized (angle); -- } while (error > tolerance); -+ } while (error > tolerance && i < max_segments); - - return angle; - } --- -2.38.1 -
package/cairo/0004-Fix-mask-usage-in-image-compositor.patch deleted +0 -56
56 lines not on this page · raw message
package/cairo/Config.in +18 -16
@@ -4,6 +4,7 @@ config BR2_PACKAGE_CAIRO select BR2_PACKAGE_FONTCONFIG select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_XORG7 help Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include
@@ -15,34 +16,35 @@ config BR2_PACKAGE_CAIRO if BR2_PACKAGE_CAIRO -config BR2_PACKAGE_CAIRO_PS - bool "postscript support" - select BR2_PACKAGE_ZLIB - select BR2_PACKAGE_CAIRO_PDF - -config BR2_PACKAGE_CAIRO_PDF - bool "pdf support" - select BR2_PACKAGE_ZLIB - config BR2_PACKAGE_CAIRO_PNG bool "png support" select BR2_PACKAGE_LIBPNG - select BR2_PACKAGE_ZLIB - -config BR2_PACKAGE_CAIRO_SCRIPT - bool "script support" - select BR2_PACKAGE_CAIRO_PNG config BR2_PACKAGE_CAIRO_SVG bool "svg support" select BR2_PACKAGE_CAIRO_PNG - select BR2_PACKAGE_CAIRO_PDF config BR2_PACKAGE_CAIRO_TEE bool "tee support" +config BR2_PACKAGE_CAIRO_ZLIB + bool "zlib support" + select BR2_PACKAGE_ZLIB + +config BR2_PACKAGE_CAIRO_SCRIPT + bool "script support" + select BR2_PACKAGE_CAIRO_ZLIB + +config BR2_PACKAGE_CAIRO_PS + bool "postscript support" + select BR2_PACKAGE_CAIRO_ZLIB + +config BR2_PACKAGE_CAIRO_PDF + bool "pdf support" + select BR2_PACKAGE_CAIRO_ZLIB + config BR2_PACKAGE_CAIRO_XML bool "xml support" - select BR2_PACKAGE_CAIRO_PNG + select BR2_PACKAGE_CAIRO_ZLIB endif
package/cairo/cairo.hash +2 -4
@@ -1,7 +1,5 @@ -# From https://www.cairographics.org/releases/cairo-1.16.0.tar.xz.sha1 -sha1 00e81842ae5e81bb0343108884eb5205be0eac14 cairo-1.16.0.tar.xz -# Calculated based on the hash above -sha256 5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331 cairo-1.16.0.tar.xz +# From https://www.cairographics.org/releases/cairo-1.18.0.tar.xz.sha256sum +sha256 243a0736b978a33dee29f9cca7521733b78a65b5418206fef7bd1c3d4cf10b64 cairo-1.18.0.tar.xz # Hash for license files: sha256 67228a9f7c5f9b67c58f556f1be178f62da4d9e2e6285318d8c74d567255abdf COPYING
package/cairo/cairo.mk +52 -127
232 lines not on this page · raw message
Signature · 6 lines
2.34.1 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 1/1 package/cairo: bump to 1.18.0
News:
- https://www.cairographics.org/news/cairo-1.17.2/
- https://www.cairographics.org/news/cairo-1.17.4/
- https://www.cairographics.org/news/cairo-1.17.8/
- https://www.cairographics.org/news/cairo-1.18.0/
Support for the meson build system was added in 1.17.4, while support for autotools was dropped in 1.17.8.
Some options are renamed/dropped so fix that along.
- GL and GLES drawing has been dropped in 1.17.8.
- The XML surface has been removed in 1.18.0.
Patches:
- drop 0001-fix-nofork-build.patch, upstream: [1]
- drop 0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch, upstream: [2]
- drop 0003-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch, upstream: [3]
- drop 0004-Fix-mask-usage-in-image-compositor.patch, upstream: [4]
- add 0001-cairo-ft-private.h-fix-missing-FT_Color-error.patch, upstream: [5]
- add 0002-meson.build-fix-x11-build.patch, upstream: [6]
[1]: https://gitlab.freedesktop.org/cairo/cairo/-/commit/cb2357f481396820ec954dc4b69eafc01a8d162a
[2]: https://gitlab.freedesktop.org/cairo/cairo/-/commit/90e85c2493fdfa3551f202ff10282463f1e36645
[3]: https://gitlab.freedesktop.org/cairo/cairo/-/commit/ab2c5ee21e5f3d3ee4b3f67cfcd5811a4f99c3a0
[4]: https://gitlab.freedesktop.org/cairo/cairo/-/commit/03a820b173ed1fdef6ff14b4468f5dbc02ff59be
[5]: https://gitlab.freedesktop.org/cairo/cairo/-/issues/792
[6]: https://gitlab.freedesktop.org/cairo/cairo/-/issues/613
---
v2: added -std=gnu11 (allow inline int declaration in if loop, 99 caused some directives problems)
--- ...private.h-fix-missing-FT_Color-error.patch | 32 ++++ package/cairo/0001-fix-nofork-build.patch | 29 --- ...vailable-in-cairo_ft_apply_variation.patch | 33 ---- .../0002-meson.build-fix-x11-build.patch | 29 +++ ...or_tolerance_normalized-fix-infinite.patch | 39 ---- ...4-Fix-mask-usage-in-image-compositor.patch | 56 ------ package/cairo/Config.in | 34 ++-- package/cairo/cairo.hash | 6 +- package/cairo/cairo.mk | 179 +++++------------- 9 files changed, 133 insertions(+), 304 deletions(-) create mode 100644 package/cairo/0001-cairo-ft-private.h-fix-missing-FT_Color-error.patch delete mode 100644 package/cairo/0001-fix-nofork-build.patch delete mode 100644 package/cairo/0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch create mode 100644 package/cairo/0002-meson.build-fix-x11-build.patch delete mode 100644 package/cairo/0003-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch delete mode 100644 package/cairo/0004-Fix-mask-usage-in-image-compositor.patch
package/cairo/0001-cairo-ft-private.h-fix-missing-FT_Color-error.patch new file +32 -0
@@ -0,0 +1,32 @@ +From da698db0c20507f0e07492cbe40dbaf1c9053f71 Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt <[email protected]> +Date: Sun, 12 Nov 2023 09:58:05 +0100 +Subject: [PATCH] cairo-ft-private.h: fix missing FT_Color error + +In file included from ../src/cairo-colr-glyph-render.c:37: +../src/cairo-ft-private.h:87:30: error: unknown type name 'FT_Color' + 87 | FT_Color *palette, + | ^~~~~~~~ + +Upstream: https://gitlab.freedesktop.org/cairo/cairo/-/issues/792 +Signed-off-by: Thomas Devoogdt <[email protected]> +--- + src/cairo-ft-private.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/cairo-ft-private.h b/src/cairo-ft-private.h +index 836f7e523..6b0e30223 100644 +--- a/src/cairo-ft-private.h ++++ b/src/cairo-ft-private.h +@@ -43,6 +43,8 @@ + + #if CAIRO_HAS_FT_FONT + ++#include FT_COLOR_H ++ + CAIRO_BEGIN_DECLS + + typedef struct _cairo_ft_unscaled_font cairo_ft_unscaled_font_t; +-- +2.34.1 +
package/cairo/0001-fix-nofork-build.patch deleted +0 -29
@@ -1,29 +0,0 @@ -test: fix build when SHOULD_FORK is false - -The code in test/cairo-test-runner.c properly takes into account -platforms that do have fork() support, and uses the SHOULD_FORK define -to know whether fork is available or not. - -However, this SHOULD_FORK macro is used to guard the inclusion of -<unistd.h>, which is needed to get the prototype of other functions -(namely readlink and getppid), that are used in portions of this file -not guarded by SHOULD_FORK. - -Signed-off-by: Thomas Petazzoni <[email protected]> - -Index: b/test/cairo-test-runner.c -=================================================================== ---- a/test/cairo-test-runner.c -+++ b/test/cairo-test-runner.c -@@ -36,10 +36,10 @@ - #include <pixman.h> /* for version information */ - - #define SHOULD_FORK HAVE_FORK && HAVE_WAITPID --#if SHOULD_FORK - #if HAVE_UNISTD_H - #include <unistd.h> - #endif -+#if SHOULD_FORK - #if HAVE_SIGNAL_H - #include <signal.h> - #endif
package/cairo/0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch deleted +0 -33
@@ -1,33 +0,0 @@ -From 90e85c2493fdfa3551f202ff10282463f1e36645 Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos <[email protected]> -Date: Mon, 19 Nov 2018 12:33:07 +0100 -Subject: [PATCH] ft: Use FT_Done_MM_Var instead of free when available in - cairo_ft_apply_variations - -Fixes a crash when using freetype >= 2.9 -[Retrieved from: -https://gitlab.freedesktop.org/cairo/cairo/-/commit/90e85c2493fdfa3551f202ff10282463f1e36645] -Signed-off-by: Fabrice Fontaine <[email protected]> ---- - src/cairo-ft-font.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c -index 325dd61b4..981973f78 100644 ---- a/src/cairo-ft-font.c -+++ b/src/cairo-ft-font.c -@@ -2393,7 +2393,11 @@ skip: - done: - free (coords); - free (current_coords); -+#if HAVE_FT_DONE_MM_VAR -+ FT_Done_MM_Var (face->glyph->library, ft_mm_var); -+#else - free (ft_mm_var); -+#endif - } - } - --- -2.24.1 -
package/cairo/0002-meson.build-fix-x11-build.patch new file +29 -0
@@ -0,0 +1,29 @@ +From 840e3ad20f8536d9857876ca2f5161896b68ab9b Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt <[email protected]> +Date: Sun, 12 Nov 2023 10:44:13 +0100 +Subject: [PATCH] meson.build: fix x11 build + +../../br-test-pkg/arm-aarch64/build/cairo-1.18.0/meson.build:381:13: ERROR: Can not run test applications in this cross environment. + +Upstream: https://gitlab.freedesktop.org/cairo/cairo/-/issues/613 +Signed-off-by: Thomas Devoogdt <[email protected]> +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 9efe91978..9864b8699 100644 +--- a/meson.build ++++ b/meson.build +@@ -369,7 +369,7 @@ if x11_dep.found() and xext_dep.found() + + # Can skip the run check by providing the result in a cross file or + # native file as bool property value. +- prop = meson.get_external_property('ipc_rmid_deferred_release', 'auto') ++ prop = meson.get_external_property('ipc_rmid_deferred_release', 'false') + # We don't know the type of prop (bool, string) but need to differentiate + # between a set value (bool) or the fallback value (string), so convert to + # a string and check the string value. +-- +2.34.1 +
package/cairo/0003-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch deleted +0 -39
@@ -1,39 +0,0 @@ -From ab2c5ee21e5f3d3ee4b3f67cfcd5811a4f99c3a0 Mon Sep 17 00:00:00 2001 -From: Heiko Lewin <[email protected]> -Date: Sun, 1 Aug 2021 11:16:03 +0000 -Subject: [PATCH] _arc_max_angle_for_tolerance_normalized: fix infinite loop - -[Retrieved from: -https://gitlab.freedesktop.org/cairo/cairo/-/commit/ab2c5ee21e5f3d3ee4b3f67cfcd5811a4f99c3a0] -Signed-off-by: Quentin Schulz <[email protected]> ---- - src/cairo-arc.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/cairo-arc.c b/src/cairo-arc.c -index 390397bae..1c891d1a0 100644 ---- a/src/cairo-arc.c -+++ b/src/cairo-arc.c -@@ -90,16 +90,18 @@ _arc_max_angle_for_tolerance_normalized (double tolerance) - { M_PI / 11.0, 9.81410988043554039085e-09 }, - }; - int table_size = ARRAY_LENGTH (table); -+ const int max_segments = 1000; /* this value is chosen arbitrarily. this gives an error of about 1.74909e-20 */ - - for (i = 0; i < table_size; i++) - if (table[i].error < tolerance) - return table[i].angle; - - ++i; -+ - do { - angle = M_PI / i++; - error = _arc_error_normalized (angle); -- } while (error > tolerance); -+ } while (error > tolerance && i < max_segments); - - return angle; - } --- -2.38.1 -
package/cairo/0004-Fix-mask-usage-in-image-compositor.patch deleted +0 -56
56 lines not on this page · raw message
package/cairo/Config.in +18 -16
@@ -4,6 +4,7 @@ config BR2_PACKAGE_CAIRO select BR2_PACKAGE_FONTCONFIG select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_XORG7 help Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include
@@ -15,34 +16,35 @@ config BR2_PACKAGE_CAIRO if BR2_PACKAGE_CAIRO -config BR2_PACKAGE_CAIRO_PS - bool "postscript support" - select BR2_PACKAGE_ZLIB - select BR2_PACKAGE_CAIRO_PDF - -config BR2_PACKAGE_CAIRO_PDF - bool "pdf support" - select BR2_PACKAGE_ZLIB - config BR2_PACKAGE_CAIRO_PNG bool "png support" select BR2_PACKAGE_LIBPNG - select BR2_PACKAGE_ZLIB - -config BR2_PACKAGE_CAIRO_SCRIPT - bool "script support" - select BR2_PACKAGE_CAIRO_PNG config BR2_PACKAGE_CAIRO_SVG bool "svg support" select BR2_PACKAGE_CAIRO_PNG - select BR2_PACKAGE_CAIRO_PDF config BR2_PACKAGE_CAIRO_TEE bool "tee support" +config BR2_PACKAGE_CAIRO_ZLIB + bool "zlib support" + select BR2_PACKAGE_ZLIB + +config BR2_PACKAGE_CAIRO_SCRIPT + bool "script support" + select BR2_PACKAGE_CAIRO_ZLIB + +config BR2_PACKAGE_CAIRO_PS + bool "postscript support" + select BR2_PACKAGE_CAIRO_ZLIB + +config BR2_PACKAGE_CAIRO_PDF + bool "pdf support" + select BR2_PACKAGE_CAIRO_ZLIB + config BR2_PACKAGE_CAIRO_XML bool "xml support" - select BR2_PACKAGE_CAIRO_PNG + select BR2_PACKAGE_CAIRO_ZLIB endif
package/cairo/cairo.hash +2 -4
@@ -1,7 +1,5 @@ -# From https://www.cairographics.org/releases/cairo-1.16.0.tar.xz.sha1 -sha1 00e81842ae5e81bb0343108884eb5205be0eac14 cairo-1.16.0.tar.xz -# Calculated based on the hash above -sha256 5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331 cairo-1.16.0.tar.xz +# From https://www.cairographics.org/releases/cairo-1.18.0.tar.xz.sha256sum +sha256 243a0736b978a33dee29f9cca7521733b78a65b5418206fef7bd1c3d4cf10b64 cairo-1.18.0.tar.xz # Hash for license files: sha256 67228a9f7c5f9b67c58f556f1be178f62da4d9e2e6285318d8c74d567255abdf COPYING
package/cairo/cairo.mk +52 -127
232 lines not on this page · raw message
Signature · 6 lines
2.34.1 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v3 1/1 package/cairo: bump to 1.18.0
From: Thomas Devoogdt <[email protected]>
News:
- https://www.cairographics.org/news/cairo-1.17.2/
- https://www.cairographics.org/news/cairo-1.17.4/
- https://www.cairographics.org/news/cairo-1.17.8/
- https://www.cairographics.org/news/cairo-1.18.0/
Support for the meson build system was added in 1.17.4, while support for autotools was dropped in 1.17.8.
Some options are renamed/dropped so fix that along.
- GL and GLES drawing has been dropped in 1.17.8.
- The XML surface has been removed in 1.18.0.
Patches:
- drop 0001-fix-nofork-build.patch, upstream: [1]
- drop 0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch, upstream: [2]
- drop 0003-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch, upstream: [3]
- drop 0004-Fix-mask-usage-in-image-compositor.patch, upstream: [4]
- add 0001-cairo-ft-private.h-fix-missing-FT_Color-error.patch, upstream: [5]
- add 0002-meson.build-fix-x11-build.patch, upstream: [6]
[1]: https://gitlab.freedesktop.org/cairo/cairo/-/commit/cb2357f481396820ec954dc4b69eafc01a8d162a
[2]: https://gitlab.freedesktop.org/cairo/cairo/-/commit/90e85c2493fdfa3551f202ff10282463f1e36645
[3]: https://gitlab.freedesktop.org/cairo/cairo/-/commit/ab2c5ee21e5f3d3ee4b3f67cfcd5811a4f99c3a0
[4]: https://gitlab.freedesktop.org/cairo/cairo/-/commit/03a820b173ed1fdef6ff14b4468f5dbc02ff59be
[5]: https://gitlab.freedesktop.org/cairo/cairo/-/issues/792
[6]: https://gitlab.freedesktop.org/cairo/cairo/-/issues/613
---
v2: added -std=gnu11 (allow inline int declaration in if loop, 99 caused some directives problems)
v3: enabled host-zlib, needed for librsvg
--- ...private.h-fix-missing-FT_Color-error.patch | 32 +++ package/cairo/0001-fix-nofork-build.patch | 29 --- ...vailable-in-cairo_ft_apply_variation.patch | 33 ---- .../0002-meson.build-fix-x11-build.patch | 29 +++ ...or_tolerance_normalized-fix-infinite.patch | 39 ---- ...4-Fix-mask-usage-in-image-compositor.patch | 56 ------ package/cairo/Config.in | 34 ++-- package/cairo/cairo.hash | 6 +- package/cairo/cairo.mk | 182 ++++++------------ 9 files changed, 135 insertions(+), 305 deletions(-) create mode 100644 package/cairo/0001-cairo-ft-private.h-fix-missing-FT_Color-error.patch delete mode 100644 package/cairo/0001-fix-nofork-build.patch delete mode 100644 package/cairo/0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch create mode 100644 package/cairo/0002-meson.build-fix-x11-build.patch delete mode 100644 package/cairo/0003-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch delete mode 100644 package/cairo/0004-Fix-mask-usage-in-image-compositor.patch
package/cairo/0001-cairo-ft-private.h-fix-missing-FT_Color-error.patch new file +32 -0
@@ -0,0 +1,32 @@ +From da698db0c20507f0e07492cbe40dbaf1c9053f71 Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt <[email protected]> +Date: Sun, 12 Nov 2023 09:58:05 +0100 +Subject: [PATCH] cairo-ft-private.h: fix missing FT_Color error + +In file included from ../src/cairo-colr-glyph-render.c:37: +../src/cairo-ft-private.h:87:30: error: unknown type name 'FT_Color' + 87 | FT_Color *palette, + | ^~~~~~~~ + +Upstream: https://gitlab.freedesktop.org/cairo/cairo/-/issues/792 +Signed-off-by: Thomas Devoogdt <[email protected]> +--- + src/cairo-ft-private.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/cairo-ft-private.h b/src/cairo-ft-private.h +index 836f7e523..6b0e30223 100644 +--- a/src/cairo-ft-private.h ++++ b/src/cairo-ft-private.h +@@ -43,6 +43,8 @@ + + #if CAIRO_HAS_FT_FONT + ++#include FT_COLOR_H ++ + CAIRO_BEGIN_DECLS + + typedef struct _cairo_ft_unscaled_font cairo_ft_unscaled_font_t; +-- +2.34.1 +
package/cairo/0001-fix-nofork-build.patch deleted +0 -29
@@ -1,29 +0,0 @@ -test: fix build when SHOULD_FORK is false - -The code in test/cairo-test-runner.c properly takes into account -platforms that do have fork() support, and uses the SHOULD_FORK define -to know whether fork is available or not. - -However, this SHOULD_FORK macro is used to guard the inclusion of -<unistd.h>, which is needed to get the prototype of other functions -(namely readlink and getppid), that are used in portions of this file -not guarded by SHOULD_FORK. - -Signed-off-by: Thomas Petazzoni <[email protected]> - -Index: b/test/cairo-test-runner.c -=================================================================== ---- a/test/cairo-test-runner.c -+++ b/test/cairo-test-runner.c -@@ -36,10 +36,10 @@ - #include <pixman.h> /* for version information */ - - #define SHOULD_FORK HAVE_FORK && HAVE_WAITPID --#if SHOULD_FORK - #if HAVE_UNISTD_H - #include <unistd.h> - #endif -+#if SHOULD_FORK - #if HAVE_SIGNAL_H - #include <signal.h> - #endif
package/cairo/0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch deleted +0 -33
@@ -1,33 +0,0 @@ -From 90e85c2493fdfa3551f202ff10282463f1e36645 Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos <[email protected]> -Date: Mon, 19 Nov 2018 12:33:07 +0100 -Subject: [PATCH] ft: Use FT_Done_MM_Var instead of free when available in - cairo_ft_apply_variations - -Fixes a crash when using freetype >= 2.9 -[Retrieved from: -https://gitlab.freedesktop.org/cairo/cairo/-/commit/90e85c2493fdfa3551f202ff10282463f1e36645] -Signed-off-by: Fabrice Fontaine <[email protected]> ---- - src/cairo-ft-font.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c -index 325dd61b4..981973f78 100644 ---- a/src/cairo-ft-font.c -+++ b/src/cairo-ft-font.c -@@ -2393,7 +2393,11 @@ skip: - done: - free (coords); - free (current_coords); -+#if HAVE_FT_DONE_MM_VAR -+ FT_Done_MM_Var (face->glyph->library, ft_mm_var); -+#else - free (ft_mm_var); -+#endif - } - } - --- -2.24.1 -
package/cairo/0002-meson.build-fix-x11-build.patch new file +29 -0
@@ -0,0 +1,29 @@ +From 840e3ad20f8536d9857876ca2f5161896b68ab9b Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt <[email protected]> +Date: Sun, 12 Nov 2023 10:44:13 +0100 +Subject: [PATCH] meson.build: fix x11 build + +../../br-test-pkg/arm-aarch64/build/cairo-1.18.0/meson.build:381:13: ERROR: Can not run test applications in this cross environment. + +Upstream: https://gitlab.freedesktop.org/cairo/cairo/-/issues/613 +Signed-off-by: Thomas Devoogdt <[email protected]> +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 9efe91978..9864b8699 100644 +--- a/meson.build ++++ b/meson.build +@@ -369,7 +369,7 @@ if x11_dep.found() and xext_dep.found() + + # Can skip the run check by providing the result in a cross file or + # native file as bool property value. +- prop = meson.get_external_property('ipc_rmid_deferred_release', 'auto') ++ prop = meson.get_external_property('ipc_rmid_deferred_release', 'false') + # We don't know the type of prop (bool, string) but need to differentiate + # between a set value (bool) or the fallback value (string), so convert to + # a string and check the string value. +-- +2.34.1 +
package/cairo/0003-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch deleted +0 -39
@@ -1,39 +0,0 @@ -From ab2c5ee21e5f3d3ee4b3f67cfcd5811a4f99c3a0 Mon Sep 17 00:00:00 2001 -From: Heiko Lewin <[email protected]> -Date: Sun, 1 Aug 2021 11:16:03 +0000 -Subject: [PATCH] _arc_max_angle_for_tolerance_normalized: fix infinite loop - -[Retrieved from: -https://gitlab.freedesktop.org/cairo/cairo/-/commit/ab2c5ee21e5f3d3ee4b3f67cfcd5811a4f99c3a0] -Signed-off-by: Quentin Schulz <[email protected]> ---- - src/cairo-arc.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/cairo-arc.c b/src/cairo-arc.c -index 390397bae..1c891d1a0 100644 ---- a/src/cairo-arc.c -+++ b/src/cairo-arc.c -@@ -90,16 +90,18 @@ _arc_max_angle_for_tolerance_normalized (double tolerance) - { M_PI / 11.0, 9.81410988043554039085e-09 }, - }; - int table_size = ARRAY_LENGTH (table); -+ const int max_segments = 1000; /* this value is chosen arbitrarily. this gives an error of about 1.74909e-20 */ - - for (i = 0; i < table_size; i++) - if (table[i].error < tolerance) - return table[i].angle; - - ++i; -+ - do { - angle = M_PI / i++; - error = _arc_error_normalized (angle); -- } while (error > tolerance); -+ } while (error > tolerance && i < max_segments); - - return angle; - } --- -2.38.1 -
package/cairo/0004-Fix-mask-usage-in-image-compositor.patch deleted +0 -56
56 lines not on this page · raw message
package/cairo/Config.in +18 -16
@@ -4,6 +4,7 @@ config BR2_PACKAGE_CAIRO select BR2_PACKAGE_FONTCONFIG select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_XORG7 help Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include
@@ -15,34 +16,35 @@ config BR2_PACKAGE_CAIRO if BR2_PACKAGE_CAIRO -config BR2_PACKAGE_CAIRO_PS - bool "postscript support" - select BR2_PACKAGE_ZLIB - select BR2_PACKAGE_CAIRO_PDF - -config BR2_PACKAGE_CAIRO_PDF - bool "pdf support" - select BR2_PACKAGE_ZLIB - config BR2_PACKAGE_CAIRO_PNG bool "png support" select BR2_PACKAGE_LIBPNG - select BR2_PACKAGE_ZLIB - -config BR2_PACKAGE_CAIRO_SCRIPT - bool "script support" - select BR2_PACKAGE_CAIRO_PNG config BR2_PACKAGE_CAIRO_SVG bool "svg support" select BR2_PACKAGE_CAIRO_PNG - select BR2_PACKAGE_CAIRO_PDF config BR2_PACKAGE_CAIRO_TEE bool "tee support" +config BR2_PACKAGE_CAIRO_ZLIB + bool "zlib support" + select BR2_PACKAGE_ZLIB + +config BR2_PACKAGE_CAIRO_SCRIPT + bool "script support" + select BR2_PACKAGE_CAIRO_ZLIB + +config BR2_PACKAGE_CAIRO_PS + bool "postscript support" + select BR2_PACKAGE_CAIRO_ZLIB + +config BR2_PACKAGE_CAIRO_PDF + bool "pdf support" + select BR2_PACKAGE_CAIRO_ZLIB + config BR2_PACKAGE_CAIRO_XML bool "xml support" - select BR2_PACKAGE_CAIRO_PNG + select BR2_PACKAGE_CAIRO_ZLIB endif
package/cairo/cairo.hash +2 -4
@@ -1,7 +1,5 @@ -# From https://www.cairographics.org/releases/cairo-1.16.0.tar.xz.sha1 -sha1 00e81842ae5e81bb0343108884eb5205be0eac14 cairo-1.16.0.tar.xz -# Calculated based on the hash above -sha256 5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331 cairo-1.16.0.tar.xz +# From https://www.cairographics.org/releases/cairo-1.18.0.tar.xz.sha256sum +sha256 243a0736b978a33dee29f9cca7521733b78a65b5418206fef7bd1c3d4cf10b64 cairo-1.18.0.tar.xz # Hash for license files: sha256 67228a9f7c5f9b67c58f556f1be178f62da4d9e2e6285318d8c74d567255abdf COPYING
package/cairo/cairo.mk +54 -128
236 lines not on this page · raw message
Signature · 6 lines
2.42.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot