commit:     19503f976ef7032187350847b70aace960173ec8
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Wed Mar  1 19:27:47 2023 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Wed Mar  1 20:43:51 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=19503f97

x11-libs/cairo: Version bump to 1.17.8

Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 x11-libs/cairo/Manifest                            |   1 +
 x11-libs/cairo/cairo-1.17.8.ebuild                 |  86 ++++++++++++++++
 .../1.17.8-tee-Fix-cairo-wrapper-functions.patch   | 109 +++++++++++++++++++++
 3 files changed, 196 insertions(+)

diff --git a/x11-libs/cairo/Manifest b/x11-libs/cairo/Manifest
index 7a62019cb85a..8de7a387b7f5 100644
--- a/x11-libs/cairo/Manifest
+++ b/x11-libs/cairo/Manifest
@@ -1 +1,2 @@
 DIST cairo-1.17.6.tar.bz2 43700076 BLAKE2B 
05ac766d33e9bdfc5df0347e9a80611554d64886715d1620fbe6f05f36f0134e46e1e6107738d260b380fab5ef2ac609922dce9ebcac01234710d8e2a76e9724
 SHA512 
1537b34ca49b853f4f60a7ceac0c1b878e7e2874f1ca3a37ab6ccbb704a37872314447016ad07b82312b302bb6df86b71265232a802ccdb9fb8cd18f211ff185
+DIST cairo-1.17.8.tar.bz2 43730163 BLAKE2B 
6089b3488425c577ad70896bb82eaad1d26cbbb38b4b38902d1eaf82a47c11170a2b0f0a6439e2cf0efa53db1f49ed74d801f7023de25d381d17e26a185a7bf9
 SHA512 
86d59c60c0436dde1cced60f11774e08bc483b3310faa066f9cb1cd60e64c4b7d61a27d1f5d4781187b1a3839c7b3e490a7503d09f25dbdcd5be21290f066cf8

diff --git a/x11-libs/cairo/cairo-1.17.8.ebuild 
b/x11-libs/cairo/cairo-1.17.8.ebuild
new file mode 100644
index 000000000000..a27acb5ec771
--- /dev/null
+++ b/x11-libs/cairo/cairo-1.17.8.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib
+
+if [[ ${PV} == *9999* ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="https://gitlab.freedesktop.org/cairo/cairo.git";
+       SRC_URI=""
+else
+       
SRC_URI="https://gitlab.freedesktop.org/cairo/cairo/-/archive/${PV}/cairo-${PV}.tar.bz2";
+       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc 
~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+DESCRIPTION="A vector graphics library with cross-device output support"
+HOMEPAGE="https://www.cairographics.org/ 
https://gitlab.freedesktop.org/cairo/cairo";
+LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
+SLOT="0"
+IUSE="X aqua debug +glib gtk-doc test"
+RESTRICT="!test? ( test ) test" # Requires poppler-glib, which isn't available 
in multilib
+
+RDEPEND="
+       >=dev-libs/lzo-2.06-r1:2[${MULTILIB_USEDEP}]
+       >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}]
+       >=media-libs/freetype-2.5.0.1:2[png,${MULTILIB_USEDEP}]
+       >=media-libs/libpng-1.6.10:0=[${MULTILIB_USEDEP}]
+       >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+       >=x11-libs/pixman-0.36[${MULTILIB_USEDEP}]
+       debug? ( sys-libs/binutils-libs:0=[${MULTILIB_USEDEP}] )
+       glib? ( >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}] )
+       X? (
+               >=x11-libs/libXrender-0.9.8[${MULTILIB_USEDEP}]
+               >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+               >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+               >=x11-libs/libxcb-1.9.1:=[${MULTILIB_USEDEP}]
+       )"
+DEPEND="${RDEPEND}
+       X? ( x11-base/xorg-proto )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-respect-fontconfig.patch
+
+       # Upstream
+       "${FILESDIR}"/${PV}-tee-Fix-cairo-wrapper-functions.patch
+)
+
+multilib_src_configure() {
+       local emesonargs=(
+               -Ddwrite=disabled
+               -Dfontconfig=enabled
+               -Dfreetype=enabled
+               -Dpng=enabled
+               $(meson_feature aqua quartz)
+               $(meson_feature X tee)
+               $(meson_feature X xcb)
+               $(meson_feature X xlib)
+               -Dxlib-xcb=disabled
+               -Dxml=disabled
+               -Dzlib=enabled
+
+               $(meson_feature test tests)
+
+               -Dgtk2-utils=disabled
+
+               $(meson_feature glib)
+               -Dspectre=disabled # only used for tests
+               $(meson_feature debug symbol-lookup)
+
+               $(meson_use gtk-doc gtk_doc)
+       )
+
+       meson_src_configure
+}
+
+multilib_src_install_all() {
+       einstalldocs
+
+       if use gtk-doc; then
+               mkdir -p "${ED}"/usr/share/gtk-doc/cairo || die
+               mv "${ED}"/usr/share/gtk-doc/{html/cairo,cairo/html} || die
+               rmdir "${ED}"/usr/share/gtk-doc/html || die
+       fi
+}

diff --git a/x11-libs/cairo/files/1.17.8-tee-Fix-cairo-wrapper-functions.patch 
b/x11-libs/cairo/files/1.17.8-tee-Fix-cairo-wrapper-functions.patch
new file mode 100644
index 000000000000..a9bf577f9616
--- /dev/null
+++ b/x11-libs/cairo/files/1.17.8-tee-Fix-cairo-wrapper-functions.patch
@@ -0,0 +1,109 @@
+From 5e42a5277eddafd312a73e355d7775a4401dae4e Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <eba...@gnome.org>
+Date: Fri, 3 Feb 2023 15:40:12 +0100
+Subject: [PATCH] tee: Fix cairo wrapper functions
+
+Follow-up to !391 to apply the same changes to the (disabled by default)
+tee surface.
+
+Fixes: #634
+---
+ src/cairo-tee-surface.c | 24 ++++++++++++++----------
+ 1 file changed, 14 insertions(+), 10 deletions(-)
+
+diff --git a/src/cairo-tee-surface.c b/src/cairo-tee-surface.c
+index 7a94c9bca..4994a5a60 100644
+--- a/src/cairo-tee-surface.c
++++ b/src/cairo-tee-surface.c
+@@ -220,12 +220,12 @@ _cairo_tee_surface_paint (void                   
*abstract_surface,
+     num_slaves = _cairo_array_num_elements (&surface->slaves);
+     slaves = _cairo_array_index (&surface->slaves, 0);
+     for (n = 0; n < num_slaves; n++) {
+-      status = _cairo_surface_wrapper_paint (&slaves[n], op, source, clip);
++      status = _cairo_surface_wrapper_paint (&slaves[n], op, source, 0, clip);
+       if (unlikely (status))
+           return status;
+     }
+ 
+-    return _cairo_surface_wrapper_paint (&surface->master, op, source, clip);
++    return _cairo_surface_wrapper_paint (&surface->master, op, source, 0, 
clip);
+ }
+ 
+ static cairo_int_status_t
+@@ -244,13 +244,17 @@ _cairo_tee_surface_mask (void                    
*abstract_surface,
+     slaves = _cairo_array_index (&surface->slaves, 0);
+     for (n = 0; n < num_slaves; n++) {
+       status = _cairo_surface_wrapper_mask (&slaves[n],
+-                                            op, source, mask, clip);
++                                            op, source, 0,
++                                              mask, 0,
++                                              clip);
+       if (unlikely (status))
+           return status;
+     }
+ 
+     return _cairo_surface_wrapper_mask (&surface->master,
+-                                      op, source, mask, clip);
++                                      op, source, 0,
++                                        mask, 0,
++                                        clip);
+ }
+ 
+ static cairo_int_status_t
+@@ -274,7 +278,7 @@ _cairo_tee_surface_stroke (void                            
*abstract_surface,
+     slaves = _cairo_array_index (&surface->slaves, 0);
+     for (n = 0; n < num_slaves; n++) {
+       status = _cairo_surface_wrapper_stroke (&slaves[n],
+-                                              op, source,
++                                              op, source, 0,
+                                               path, style,
+                                               ctm, ctm_inverse,
+                                               tolerance, antialias,
+@@ -284,7 +288,7 @@ _cairo_tee_surface_stroke (void                            
*abstract_surface,
+     }
+ 
+     return _cairo_surface_wrapper_stroke (&surface->master,
+-                                        op, source,
++                                        op, source, 0,
+                                         path, style,
+                                         ctm, ctm_inverse,
+                                         tolerance, antialias,
+@@ -310,7 +314,7 @@ _cairo_tee_surface_fill (void                              
*abstract_surface,
+     slaves = _cairo_array_index (&surface->slaves, 0);
+     for (n = 0; n < num_slaves; n++) {
+       status = _cairo_surface_wrapper_fill (&slaves[n],
+-                                            op, source,
++                                            op, source, 0,
+                                             path, fill_rule,
+                                             tolerance, antialias,
+                                             clip);
+@@ -319,7 +323,7 @@ _cairo_tee_surface_fill (void                              
*abstract_surface,
+     }
+ 
+     return _cairo_surface_wrapper_fill (&surface->master,
+-                                      op, source,
++                                      op, source, 0,
+                                       path, fill_rule,
+                                       tolerance, antialias,
+                                       clip);
+@@ -361,7 +365,7 @@ _cairo_tee_surface_show_text_glyphs (void              
*abstract_surface,
+     for (n = 0; n < num_slaves; n++) {
+       memcpy (glyphs_copy, glyphs, sizeof (cairo_glyph_t) * num_glyphs);
+       status = _cairo_surface_wrapper_show_text_glyphs (&slaves[n], op,
+-                                                        source,
++                                                        source, 0,
+                                                         utf8, utf8_len,
+                                                         glyphs_copy, 
num_glyphs,
+                                                         clusters, 
num_clusters,
+@@ -374,7 +378,7 @@ _cairo_tee_surface_show_text_glyphs (void              
*abstract_surface,
+ 
+     memcpy (glyphs_copy, glyphs, sizeof (cairo_glyph_t) * num_glyphs);
+     status = _cairo_surface_wrapper_show_text_glyphs (&surface->master, op,
+-                                                    source,
++                                                    source, 0,
+                                                     utf8, utf8_len,
+                                                     glyphs_copy, num_glyphs,
+                                                     clusters, num_clusters,
+-- 
+2.39.2
+

Reply via email to