Gentoo Archives: gentoo-commits

From: Matt Turner <mattst88@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-libs/cairo/, x11-libs/cairo/files/
Date: Wed, 01 Mar 2023 20:43:59
Message-Id: 1677703431.19503f976ef7032187350847b70aace960173ec8.mattst88@gentoo
1 commit: 19503f976ef7032187350847b70aace960173ec8
2 Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
3 AuthorDate: Wed Mar 1 19:27:47 2023 +0000
4 Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
5 CommitDate: Wed Mar 1 20:43:51 2023 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=19503f97
7
8 x11-libs/cairo: Version bump to 1.17.8
9
10 Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>
11
12 x11-libs/cairo/Manifest | 1 +
13 x11-libs/cairo/cairo-1.17.8.ebuild | 86 ++++++++++++++++
14 .../1.17.8-tee-Fix-cairo-wrapper-functions.patch | 109 +++++++++++++++++++++
15 3 files changed, 196 insertions(+)
16
17 diff --git a/x11-libs/cairo/Manifest b/x11-libs/cairo/Manifest
18 index 7a62019cb85a..8de7a387b7f5 100644
19 --- a/x11-libs/cairo/Manifest
20 +++ b/x11-libs/cairo/Manifest
21 @@ -1 +1,2 @@
22 DIST cairo-1.17.6.tar.bz2 43700076 BLAKE2B 05ac766d33e9bdfc5df0347e9a80611554d64886715d1620fbe6f05f36f0134e46e1e6107738d260b380fab5ef2ac609922dce9ebcac01234710d8e2a76e9724 SHA512 1537b34ca49b853f4f60a7ceac0c1b878e7e2874f1ca3a37ab6ccbb704a37872314447016ad07b82312b302bb6df86b71265232a802ccdb9fb8cd18f211ff185
23 +DIST cairo-1.17.8.tar.bz2 43730163 BLAKE2B 6089b3488425c577ad70896bb82eaad1d26cbbb38b4b38902d1eaf82a47c11170a2b0f0a6439e2cf0efa53db1f49ed74d801f7023de25d381d17e26a185a7bf9 SHA512 86d59c60c0436dde1cced60f11774e08bc483b3310faa066f9cb1cd60e64c4b7d61a27d1f5d4781187b1a3839c7b3e490a7503d09f25dbdcd5be21290f066cf8
24
25 diff --git a/x11-libs/cairo/cairo-1.17.8.ebuild b/x11-libs/cairo/cairo-1.17.8.ebuild
26 new file mode 100644
27 index 000000000000..a27acb5ec771
28 --- /dev/null
29 +++ b/x11-libs/cairo/cairo-1.17.8.ebuild
30 @@ -0,0 +1,86 @@
31 +# Copyright 1999-2023 Gentoo Authors
32 +# Distributed under the terms of the GNU General Public License v2
33 +
34 +EAPI=8
35 +
36 +inherit meson-multilib
37 +
38 +if [[ ${PV} == *9999* ]]; then
39 + inherit git-r3
40 + EGIT_REPO_URI="https://gitlab.freedesktop.org/cairo/cairo.git"
41 + SRC_URI=""
42 +else
43 + SRC_URI="https://gitlab.freedesktop.org/cairo/cairo/-/archive/${PV}/cairo-${PV}.tar.bz2"
44 + 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"
45 +fi
46 +
47 +DESCRIPTION="A vector graphics library with cross-device output support"
48 +HOMEPAGE="https://www.cairographics.org/ https://gitlab.freedesktop.org/cairo/cairo"
49 +LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
50 +SLOT="0"
51 +IUSE="X aqua debug +glib gtk-doc test"
52 +RESTRICT="!test? ( test ) test" # Requires poppler-glib, which isn't available in multilib
53 +
54 +RDEPEND="
55 + >=dev-libs/lzo-2.06-r1:2[${MULTILIB_USEDEP}]
56 + >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}]
57 + >=media-libs/freetype-2.5.0.1:2[png,${MULTILIB_USEDEP}]
58 + >=media-libs/libpng-1.6.10:0=[${MULTILIB_USEDEP}]
59 + >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
60 + >=x11-libs/pixman-0.36[${MULTILIB_USEDEP}]
61 + debug? ( sys-libs/binutils-libs:0=[${MULTILIB_USEDEP}] )
62 + glib? ( >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}] )
63 + X? (
64 + >=x11-libs/libXrender-0.9.8[${MULTILIB_USEDEP}]
65 + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
66 + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
67 + >=x11-libs/libxcb-1.9.1:=[${MULTILIB_USEDEP}]
68 + )"
69 +DEPEND="${RDEPEND}
70 + X? ( x11-base/xorg-proto )"
71 +BDEPEND="virtual/pkgconfig"
72 +
73 +PATCHES=(
74 + "${FILESDIR}"/${PN}-respect-fontconfig.patch
75 +
76 + # Upstream
77 + "${FILESDIR}"/${PV}-tee-Fix-cairo-wrapper-functions.patch
78 +)
79 +
80 +multilib_src_configure() {
81 + local emesonargs=(
82 + -Ddwrite=disabled
83 + -Dfontconfig=enabled
84 + -Dfreetype=enabled
85 + -Dpng=enabled
86 + $(meson_feature aqua quartz)
87 + $(meson_feature X tee)
88 + $(meson_feature X xcb)
89 + $(meson_feature X xlib)
90 + -Dxlib-xcb=disabled
91 + -Dxml=disabled
92 + -Dzlib=enabled
93 +
94 + $(meson_feature test tests)
95 +
96 + -Dgtk2-utils=disabled
97 +
98 + $(meson_feature glib)
99 + -Dspectre=disabled # only used for tests
100 + $(meson_feature debug symbol-lookup)
101 +
102 + $(meson_use gtk-doc gtk_doc)
103 + )
104 +
105 + meson_src_configure
106 +}
107 +
108 +multilib_src_install_all() {
109 + einstalldocs
110 +
111 + if use gtk-doc; then
112 + mkdir -p "${ED}"/usr/share/gtk-doc/cairo || die
113 + mv "${ED}"/usr/share/gtk-doc/{html/cairo,cairo/html} || die
114 + rmdir "${ED}"/usr/share/gtk-doc/html || die
115 + fi
116 +}
117
118 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
119 new file mode 100644
120 index 000000000000..a9bf577f9616
121 --- /dev/null
122 +++ b/x11-libs/cairo/files/1.17.8-tee-Fix-cairo-wrapper-functions.patch
123 @@ -0,0 +1,109 @@
124 +From 5e42a5277eddafd312a73e355d7775a4401dae4e Mon Sep 17 00:00:00 2001
125 +From: Emmanuele Bassi <ebassi@×××××.org>
126 +Date: Fri, 3 Feb 2023 15:40:12 +0100
127 +Subject: [PATCH] tee: Fix cairo wrapper functions
128 +
129 +Follow-up to !391 to apply the same changes to the (disabled by default)
130 +tee surface.
131 +
132 +Fixes: #634
133 +---
134 + src/cairo-tee-surface.c | 24 ++++++++++++++----------
135 + 1 file changed, 14 insertions(+), 10 deletions(-)
136 +
137 +diff --git a/src/cairo-tee-surface.c b/src/cairo-tee-surface.c
138 +index 7a94c9bca..4994a5a60 100644
139 +--- a/src/cairo-tee-surface.c
140 ++++ b/src/cairo-tee-surface.c
141 +@@ -220,12 +220,12 @@ _cairo_tee_surface_paint (void *abstract_surface,
142 + num_slaves = _cairo_array_num_elements (&surface->slaves);
143 + slaves = _cairo_array_index (&surface->slaves, 0);
144 + for (n = 0; n < num_slaves; n++) {
145 +- status = _cairo_surface_wrapper_paint (&slaves[n], op, source, clip);
146 ++ status = _cairo_surface_wrapper_paint (&slaves[n], op, source, 0, clip);
147 + if (unlikely (status))
148 + return status;
149 + }
150 +
151 +- return _cairo_surface_wrapper_paint (&surface->master, op, source, clip);
152 ++ return _cairo_surface_wrapper_paint (&surface->master, op, source, 0, clip);
153 + }
154 +
155 + static cairo_int_status_t
156 +@@ -244,13 +244,17 @@ _cairo_tee_surface_mask (void *abstract_surface,
157 + slaves = _cairo_array_index (&surface->slaves, 0);
158 + for (n = 0; n < num_slaves; n++) {
159 + status = _cairo_surface_wrapper_mask (&slaves[n],
160 +- op, source, mask, clip);
161 ++ op, source, 0,
162 ++ mask, 0,
163 ++ clip);
164 + if (unlikely (status))
165 + return status;
166 + }
167 +
168 + return _cairo_surface_wrapper_mask (&surface->master,
169 +- op, source, mask, clip);
170 ++ op, source, 0,
171 ++ mask, 0,
172 ++ clip);
173 + }
174 +
175 + static cairo_int_status_t
176 +@@ -274,7 +278,7 @@ _cairo_tee_surface_stroke (void *abstract_surface,
177 + slaves = _cairo_array_index (&surface->slaves, 0);
178 + for (n = 0; n < num_slaves; n++) {
179 + status = _cairo_surface_wrapper_stroke (&slaves[n],
180 +- op, source,
181 ++ op, source, 0,
182 + path, style,
183 + ctm, ctm_inverse,
184 + tolerance, antialias,
185 +@@ -284,7 +288,7 @@ _cairo_tee_surface_stroke (void *abstract_surface,
186 + }
187 +
188 + return _cairo_surface_wrapper_stroke (&surface->master,
189 +- op, source,
190 ++ op, source, 0,
191 + path, style,
192 + ctm, ctm_inverse,
193 + tolerance, antialias,
194 +@@ -310,7 +314,7 @@ _cairo_tee_surface_fill (void *abstract_surface,
195 + slaves = _cairo_array_index (&surface->slaves, 0);
196 + for (n = 0; n < num_slaves; n++) {
197 + status = _cairo_surface_wrapper_fill (&slaves[n],
198 +- op, source,
199 ++ op, source, 0,
200 + path, fill_rule,
201 + tolerance, antialias,
202 + clip);
203 +@@ -319,7 +323,7 @@ _cairo_tee_surface_fill (void *abstract_surface,
204 + }
205 +
206 + return _cairo_surface_wrapper_fill (&surface->master,
207 +- op, source,
208 ++ op, source, 0,
209 + path, fill_rule,
210 + tolerance, antialias,
211 + clip);
212 +@@ -361,7 +365,7 @@ _cairo_tee_surface_show_text_glyphs (void *abstract_surface,
213 + for (n = 0; n < num_slaves; n++) {
214 + memcpy (glyphs_copy, glyphs, sizeof (cairo_glyph_t) * num_glyphs);
215 + status = _cairo_surface_wrapper_show_text_glyphs (&slaves[n], op,
216 +- source,
217 ++ source, 0,
218 + utf8, utf8_len,
219 + glyphs_copy, num_glyphs,
220 + clusters, num_clusters,
221 +@@ -374,7 +378,7 @@ _cairo_tee_surface_show_text_glyphs (void *abstract_surface,
222 +
223 + memcpy (glyphs_copy, glyphs, sizeof (cairo_glyph_t) * num_glyphs);
224 + status = _cairo_surface_wrapper_show_text_glyphs (&surface->master, op,
225 +- source,
226 ++ source, 0,
227 + utf8, utf8_len,
228 + glyphs_copy, num_glyphs,
229 + clusters, num_clusters,
230 +--
231 +2.39.2
232 +