Gentoo Archives: gentoo-commits

From: "Alexandre Rostovtsev (tetromino)" <tetromino@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in x11-libs/cairo: metadata.xml ChangeLog cairo-9999.ebuild cairo-1.12.16-r3.ebuild
Date: Fri, 02 May 2014 21:51:16
Message-Id: 20140502215112.6D0BE2004E@flycatcher.gentoo.org
1 tetromino 14/05/02 21:51:12
2
3 Modified: metadata.xml ChangeLog cairo-9999.ebuild
4 Added: cairo-1.12.16-r3.ebuild
5 Log:
6 Fix firefox crash (bug #507478, thanks to Jaak Ristioja and Patrice Levesque). Make lto optional (but enabled by default because cairo is a performance-critical library) and check for enough memory for it (bug #467278, thanks to Alex). Fix build with USE="opengl -X" (bug #483574, thanks to Sergey Popov).
7
8 (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key CF0ADD61)
9
10 Revision Changes Path
11 1.29 x11-libs/cairo/metadata.xml
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-libs/cairo/metadata.xml?rev=1.29&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-libs/cairo/metadata.xml?rev=1.29&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-libs/cairo/metadata.xml?r1=1.28&r2=1.29
16
17 Index: metadata.xml
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/x11-libs/cairo/metadata.xml,v
20 retrieving revision 1.28
21 retrieving revision 1.29
22 diff -u -r1.28 -r1.29
23 --- metadata.xml 20 Apr 2014 18:00:01 -0000 1.28
24 +++ metadata.xml 2 May 2014 21:51:12 -0000 1.29
25 @@ -19,6 +19,9 @@
26 <flag name="gles2">Use OpenGL ES 2 backend for acceleration.</flag>
27 <flag name="glib">Compile with GLib Object System support</flag>
28 <flag name="legacy-drivers">Include the buggy gradients patch (for legacy drivers, such as nvidia-drivers older than 304.30)</flag>
29 + <flag name="lto">Try to build with Link-Time Optimization if supported by
30 + the compiler. This is recommended by upstream, but can cause build
31 + failure in some environments and on machines with little memory.</flag>
32 <flag name="openvg">Use OpenVG for backend acceleration</flag>
33 <flag name="valgrind">Built-in support to mark memory regions</flag>
34 <flag name="xlib-xcb">Use XCB renderer backend for acceleration over xlib</flag>
35
36
37
38 1.376 x11-libs/cairo/ChangeLog
39
40 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-libs/cairo/ChangeLog?rev=1.376&view=markup
41 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-libs/cairo/ChangeLog?rev=1.376&content-type=text/plain
42 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-libs/cairo/ChangeLog?r1=1.375&r2=1.376
43
44 Index: ChangeLog
45 ===================================================================
46 RCS file: /var/cvsroot/gentoo-x86/x11-libs/cairo/ChangeLog,v
47 retrieving revision 1.375
48 retrieving revision 1.376
49 diff -u -r1.375 -r1.376
50 --- ChangeLog 2 May 2014 09:51:49 -0000 1.375
51 +++ ChangeLog 2 May 2014 21:51:12 -0000 1.376
52 @@ -1,6 +1,20 @@
53 # ChangeLog for x11-libs/cairo
54 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
55 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/ChangeLog,v 1.375 2014/05/02 09:51:49 tommy Exp $
56 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/ChangeLog,v 1.376 2014/05/02 21:51:12 tetromino Exp $
57 +
58 +*cairo-1.12.16-r3 (02 May 2014)
59 +
60 + 02 May 2014; Alexandre Rostovtsev <tetromino@g.o>
61 + +cairo-1.12.16-r3.ebuild, cairo-9999.ebuild,
62 + +files/cairo-1.12.16-all-clipped-1.patch,
63 + +files/cairo-1.12.16-all-clipped-2.patch,
64 + +files/cairo-1.12.16-all-clipped-3.patch,
65 + +files/cairo-1.12.16-lto-optional.patch, metadata.xml:
66 + Fix firefox crash (bug #507478, thanks to Jaak Ristioja and Patrice
67 + Levesque). Make lto optional (but enabled by default because cairo is a
68 + performance-critical library) and check for enough memory for it (bug
69 + #467278, thanks to Alex). Fix build with USE="opengl -X" (bug #483574, thanks
70 + to Sergey Popov).
71
72 02 May 2014; Thomas Sachau (Tommy[D]) <tommy@g.o>
73 cairo-1.10.2-r3.ebuild, cairo-1.12.14-r4.ebuild, cairo-1.12.16-r2.ebuild,
74
75
76
77 1.42 x11-libs/cairo/cairo-9999.ebuild
78
79 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-libs/cairo/cairo-9999.ebuild?rev=1.42&view=markup
80 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-libs/cairo/cairo-9999.ebuild?rev=1.42&content-type=text/plain
81 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-libs/cairo/cairo-9999.ebuild?r1=1.41&r2=1.42
82
83 Index: cairo-9999.ebuild
84 ===================================================================
85 RCS file: /var/cvsroot/gentoo-x86/x11-libs/cairo/cairo-9999.ebuild,v
86 retrieving revision 1.41
87 retrieving revision 1.42
88 diff -u -r1.41 -r1.42
89 --- cairo-9999.ebuild 2 May 2014 09:51:49 -0000 1.41
90 +++ cairo-9999.ebuild 2 May 2014 21:51:12 -0000 1.42
91 @@ -1,10 +1,10 @@
92 # Copyright 1999-2014 Gentoo Foundation
93 # Distributed under the terms of the GNU General Public License v2
94 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/cairo-9999.ebuild,v 1.41 2014/05/02 09:51:49 tommy Exp $
95 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/cairo-9999.ebuild,v 1.42 2014/05/02 21:51:12 tetromino Exp $
96
97 EAPI=5
98
99 -inherit eutils flag-o-matic autotools multilib-minimal
100 +inherit check-reqs eutils flag-o-matic autotools multilib-minimal
101
102 if [[ ${PV} == *9999* ]]; then
103 inherit git-2
104 @@ -20,7 +20,7 @@
105 HOMEPAGE="http://cairographics.org/"
106 LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
107 SLOT="0"
108 -IUSE="X aqua debug directfb drm gallium gles2 +glib legacy-drivers opengl openvg qt4 static-libs +svg valgrind xcb xlib-xcb"
109 +IUSE="X aqua debug directfb drm gallium gles2 +glib legacy-drivers +lto opengl openvg qt4 static-libs +svg valgrind xcb xlib-xcb"
110 # gtk-doc regeneration doesn't seem to work with out-of-source builds
111 #[[ ${PV} == *9999* ]] && IUSE="${IUSE} doc" # API docs are provided in tarball, no need to regenerate
112
113 @@ -86,10 +86,37 @@
114 /usr/include/cairo/cairo-directfb.h
115 )
116
117 +CHECKREQS_MEMORY="768M"
118 +
119 +pkg_pretend() {
120 + if [[ ${MERGE_TYPE} != "binary" ]] && use lto; then
121 + einfo "Checking for sufficient memory to build $PN with USE=lto"
122 + check-reqs_pkg_pretend
123 + fi
124 +}
125 +
126 +pkg_setup() {
127 + if [[ ${MERGE_TYPE} != "binary" ]] && use lto; then
128 + check-reqs_pkg_setup
129 + fi
130 +}
131 +
132 src_prepare() {
133 epatch "${FILESDIR}"/${PN}-1.8.8-interix.patch
134 use legacy-drivers && epatch "${FILESDIR}"/${PN}-1.10.0-buggy_gradients.patch
135 epatch "${FILESDIR}"/${PN}-respect-fontconfig.patch
136 +
137 + # bug #507478, https://bugs.freedesktop.org/show_bug.cgi?id=77931
138 + epatch "${FILESDIR}"/${PN}-1.12.16-all-clipped-3.patch
139 +
140 + # allow the automagically injected -flto flag to be not injected
141 + epatch "${FILESDIR}"/${PN}-1.12.16-lto-optional.patch
142 +
143 + # tests and perf tools require X, bug #483574
144 + if ! use X; then
145 + sed -e '/^SUBDIRS/ s#boilerplate test perf# #' -i Makefile.am || die
146 + fi
147 +
148 epatch_user
149
150 # Slightly messed build system YAY
151 @@ -139,6 +166,7 @@
152 $(use_enable gallium) \
153 $(use_enable gles2 glesv2) \
154 $(use_enable glib gobject) \
155 + $(use_enable lto) \
156 $(use_enable openvg vg) \
157 $(use_enable opengl gl) \
158 $(use_enable qt4 qt) \
159
160
161
162 1.1 x11-libs/cairo/cairo-1.12.16-r3.ebuild
163
164 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-libs/cairo/cairo-1.12.16-r3.ebuild?rev=1.1&view=markup
165 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-libs/cairo/cairo-1.12.16-r3.ebuild?rev=1.1&content-type=text/plain
166
167 Index: cairo-1.12.16-r3.ebuild
168 ===================================================================
169 # Copyright 1999-2014 Gentoo Foundation
170 # Distributed under the terms of the GNU General Public License v2
171 # $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/cairo-1.12.16-r3.ebuild,v 1.1 2014/05/02 21:51:12 tetromino Exp $
172
173 EAPI=5
174
175 inherit check-reqs eutils flag-o-matic autotools multilib-minimal
176
177 if [[ ${PV} == *9999* ]]; then
178 inherit git-2
179 EGIT_REPO_URI="git://anongit.freedesktop.org/git/cairo"
180 SRC_URI=""
181 KEYWORDS=""
182 else
183 SRC_URI="http://cairographics.org/releases/${P}.tar.xz"
184 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
185 fi
186
187 DESCRIPTION="A vector graphics library with cross-device output support"
188 HOMEPAGE="http://cairographics.org/"
189 LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
190 SLOT="0"
191 IUSE="X aqua debug directfb drm gallium gles2 +glib legacy-drivers +lto opengl openvg qt4 static-libs +svg valgrind xcb xlib-xcb"
192 # gtk-doc regeneration doesn't seem to work with out-of-source builds
193 #[[ ${PV} == *9999* ]] && IUSE="${IUSE} doc" # API docs are provided in tarball, no need to regenerate
194
195 # Test causes a circular depend on gtk+... since gtk+ needs cairo but test needs gtk+ so we need to block it
196 RESTRICT="test"
197
198 RDEPEND="dev-libs/lzo[${MULTILIB_USEDEP}]
199 media-libs/fontconfig[${MULTILIB_USEDEP}]
200 media-libs/freetype:2[${MULTILIB_USEDEP}]
201 media-libs/libpng:0=[${MULTILIB_USEDEP}]
202 sys-libs/zlib[${MULTILIB_USEDEP}]
203 >=x11-libs/pixman-0.28.0[${MULTILIB_USEDEP}]
204 directfb? ( dev-libs/DirectFB )
205 gles2? ( media-libs/mesa[gles2,${MULTILIB_USEDEP}] )
206 glib? ( >=dev-libs/glib-2.28.6:2[${MULTILIB_USEDEP}] )
207 opengl? ( || ( media-libs/mesa[egl,${MULTILIB_USEDEP}] media-libs/opengl-apple ) )
208 openvg? ( media-libs/mesa[openvg,${MULTILIB_USEDEP}] )
209 qt4? ( >=dev-qt/qtgui-4.8:4 )
210 X? (
211 >=x11-libs/libXrender-0.6[${MULTILIB_USEDEP}]
212 x11-libs/libXext[${MULTILIB_USEDEP}]
213 x11-libs/libX11[${MULTILIB_USEDEP}]
214 drm? (
215 >=virtual/udev-136[${MULTILIB_USEDEP}]
216 gallium? ( media-libs/mesa[gallium,${MULTILIB_USEDEP}] )
217 )
218 )
219 xcb? (
220 x11-libs/libxcb[${MULTILIB_USEDEP}]
221 )
222 abi_x86_32? (
223 !<=app-emulation/emul-linux-x86-gtklibs-20131008-r1
224 !app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)]
225 )"
226 DEPEND="${RDEPEND}
227 virtual/pkgconfig
228 >=sys-devel/libtool-2
229 X? (
230 x11-proto/renderproto[${MULTILIB_USEDEP}]
231 drm? (
232 x11-proto/xproto[${MULTILIB_USEDEP}]
233 >=x11-proto/xextproto-7.1[${MULTILIB_USEDEP}]
234 )
235 )"
236 #[[ ${PV} == *9999* ]] && DEPEND="${DEPEND}
237 # doc? (
238 # >=dev-util/gtk-doc-1.6
239 # ~app-text/docbook-xml-dtd-4.2
240 # )"
241
242 # drm module requires X
243 # for gallium we need to enable drm
244 REQUIRED_USE="
245 drm? ( X )
246 gallium? ( drm )
247 gles2? ( !opengl )
248 openvg? ( || ( gles2 opengl ) )
249 xlib-xcb? ( xcb )
250 "
251
252 MULTILIB_WRAPPED_HEADERS=(
253 /usr/include/cairo/cairo-features.h
254 /usr/include/cairo/cairo-directfb.h
255 )
256
257 CHECKREQS_MEMORY="768M"
258
259 pkg_pretend() {
260 if [[ ${MERGE_TYPE} != "binary" ]] && use lto; then
261 einfo "Checking for sufficient memory to build $PN with USE=lto"
262 check-reqs_pkg_pretend
263 fi
264 }
265
266 pkg_setup() {
267 if [[ ${MERGE_TYPE} != "binary" ]] && use lto; then
268 check-reqs_pkg_setup
269 fi
270 }
271
272 src_prepare() {
273 epatch "${FILESDIR}"/${PN}-1.8.8-interix.patch
274 use legacy-drivers && epatch "${FILESDIR}"/${PN}-1.10.0-buggy_gradients.patch
275 epatch "${FILESDIR}"/${PN}-respect-fontconfig.patch
276
277 # all-clipped handling from 1.13
278 epatch "${FILESDIR}"/${PN}-1.12.16-all-clipped-{1,2}.patch
279 # bug #507478, https://bugs.freedesktop.org/show_bug.cgi?id=77931
280 epatch "${FILESDIR}"/${PN}-1.12.16-all-clipped-3.patch
281
282 # allow the automagically injected -flto flag to be not injected
283 epatch "${FILESDIR}"/${PN}-1.12.16-lto-optional.patch
284
285 # tests and perf tools require X, bug #483574
286 if ! use X; then
287 sed -e '/^SUBDIRS/ s#boilerplate test perf# #' -i Makefile.am || die
288 fi
289
290 epatch_user
291
292 # Slightly messed build system YAY
293 if [[ ${PV} == *9999* ]]; then
294 touch boilerplate/Makefile.am.features
295 touch src/Makefile.am.features
296 touch ChangeLog
297 fi
298
299 # We need to run elibtoolize to ensure correct so versioning on FreeBSD
300 # upgraded to an eautoreconf for the above interix patch.
301 eautoreconf
302 }
303
304 multilib_src_configure() {
305 local myopts
306
307 [[ ${CHOST} == *-interix* ]] && append-flags -D_REENTRANT
308
309 use elibc_FreeBSD && myopts+=" --disable-symbol-lookup"
310
311 # TODO: remove this (and add USE-dep) when DirectFB is converted,
312 # bug #484248 -- but beware of the circular dep.
313 if ! multilib_is_native_abi; then
314 myopts+=" --disable-directfb"
315 fi
316
317 # TODO: remove this (and add USE-dep) when qtgui is converted, bug #498010
318 if ! multilib_is_native_abi; then
319 myopts+=" --disable-qt"
320 fi
321
322 # [[ ${PV} == *9999* ]] && myopts+=" $(use_enable doc gtk-doc)"
323
324 ECONF_SOURCE="${S}" \
325 econf \
326 --disable-dependency-tracking \
327 $(use_with X x) \
328 $(use_enable X tee) \
329 $(use_enable X xlib) \
330 $(use_enable X xlib-xrender) \
331 $(use_enable aqua quartz) \
332 $(use_enable aqua quartz-image) \
333 $(use_enable debug test-surfaces) \
334 $(use_enable drm) \
335 $(use_enable directfb) \
336 $(use_enable gallium) \
337 $(use_enable gles2 glesv2) \
338 $(use_enable glib gobject) \
339 $(use_enable lto) \
340 $(use_enable openvg vg) \
341 $(use_enable opengl gl) \
342 $(use_enable qt4 qt) \
343 $(use_enable static-libs static) \
344 $(use_enable svg) \
345 $(use_enable valgrind) \
346 $(use_enable xcb) \
347 $(use_enable xcb xcb-shm) \
348 $(use_enable xlib-xcb) \
349 --enable-ft \
350 --enable-pdf \
351 --enable-png \
352 --enable-ps \
353 ${myopts}
354 }
355
356 multilib_src_install() {
357 # parallel make install fails
358 emake -j1 DESTDIR="${D}" install
359 }
360
361 multilib_src_install_all() {
362 prune_libtool_files --all
363 einstalldocs
364 }
365
366 pkg_postinst() {
367 if use !xlib-xcb; then
368 if has_version net-misc/nxserver-freenx \
369 || has_version net-misc/x2goserver; then
370 ewarn "cairo-1.12 is known to cause GTK+ errors with NX servers."
371 ewarn "Enable USE=\"xlib-xcb\" if you notice incorrect behavior in GTK+"
372 ewarn "applications that are running inside NX sessions. For details, see"
373 ewarn "https://bugs.gentoo.org/441878 or https://bugs.freedesktop.org/59173"
374 fi
375 fi
376 }