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 |
} |