Gentoo Archives: gentoo-commits

From: "Andreas Hüttel" <dilfridge@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] dev/dilfridge:master commit in: x11-libs/cairo/, x11-libs/cairo/files/
Date: Tue, 03 Jan 2012 22:46:19
Message-Id: 44f2c3d7518d1468f1fdd4fc3b25307fbdaffaf5.dilfridge@gentoo
1 commit: 44f2c3d7518d1468f1fdd4fc3b25307fbdaffaf5
2 Author: Andreas K. Huettel (dilfridge) <dilfridge <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jan 3 22:44:27 2012 +0000
4 Commit: Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
5 CommitDate: Tue Jan 3 22:44:27 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=dev/dilfridge.git;a=commit;h=44f2c3d7
7
8 [x11-libs/cairo] Not needed here anymore
9
10 ---
11 x11-libs/cairo/Manifest | 29 --
12 x11-libs/cairo/cairo-1.10.2-r2.ebuild | 159 -----------
13 .../cairo/files/cairo-1.10.0-buggy_gradients.patch | 17 --
14 x11-libs/cairo/files/cairo-1.10.2-interix.patch | 36 ---
15 x11-libs/cairo/files/cairo-1.10.2-qt-surface.patch | 55 ----
16 .../files/cairo-1.2.4-lcd-cleartype-like.diff | 275 --------------------
17 x11-libs/cairo/files/cairo-1.8.10-libpng14.patch | 11 -
18 x11-libs/cairo/files/cairo-1.8.8-interix.patch | 16 --
19 x11-libs/cairo/metadata.xml | 27 --
20 9 files changed, 0 insertions(+), 625 deletions(-)
21
22 diff --git a/x11-libs/cairo/Manifest b/x11-libs/cairo/Manifest
23 deleted file mode 100644
24 index a598954..0000000
25 --- a/x11-libs/cairo/Manifest
26 +++ /dev/null
27 @@ -1,29 +0,0 @@
28 ------BEGIN PGP SIGNED MESSAGE-----
29 -Hash: SHA512
30 -
31 -AUX cairo-1.10.0-buggy_gradients.patch 581 RMD160 077fb7a18c2840c0d637d2161ca9d244cb69608b SHA1 45f4b6a834cb9f1c153f092fba18416d257d71c7 SHA256 3b622bb250b996ea5f5adc5c899af343e0efba5c477fa0e51fdbb720a8dd1b18
32 -AUX cairo-1.10.2-interix.patch 1235 RMD160 83803df650e8381649b11bd3c81dd0c6ee5f8e53 SHA1 d6b731fc8aa0c9461e62a9afc1431782d3af433b SHA256 d915d69e2eb96f6a4bef1de0c493ed9face7b5d6a79194ab9f2a7f3d85b799ea
33 -AUX cairo-1.10.2-qt-surface.patch 2687 RMD160 9ffc2924070a7dfa917a2b05b11de1fcca571dab SHA1 6ce6a6047d6f8420ea3044d036e7d10c6ac98c61 SHA256 fb96199ec7a4cf8527726be8d0333ed883183b56960832218eca1c9ef2e05dbd
34 -AUX cairo-1.2.4-lcd-cleartype-like.diff 7244 RMD160 e50d5bf17cbead688a8b808a78fe4104c09af52e SHA1 f63131fd75bb496db59e3ce6bc755bbfb70baacb SHA256 4926d20d2b6b5071a5bf9ee9a12a36fef69510ebebd717c1dab151fe650f173a
35 -AUX cairo-1.8.10-libpng14.patch 426 RMD160 f97e4f2d1e65e2c6a90c5fddbce66caeb4337bba SHA1 bb029f710432af7b24175aa941fc7cd3187ef767 SHA256 b090f829d3b9fb69b83bfa094552335b8382988d60ce7e46558c4069b8bca532
36 -AUX cairo-1.8.8-interix.patch 619 RMD160 9bb28c5a88aa1f2776d32ac7020aef4ba93872b5 SHA1 857a4d2be0118a6d2d0d80388b5963a5f768341d SHA256 505be82a1a0b7f963cb49ff85ecf1fa1389a4e43621df76b91fc1529616b2299
37 -DIST cairo-1.10.2.tar.gz 23558405 RMD160 8c8de00120398fe2b3a60a08ff59a464b2eebf47 SHA1 ccce5ae03f99c505db97c286a0c9a90a926d3c6e SHA256 32018c7998358eebc2ad578ff8d8559d34fc80252095f110a572ed23d989fc41
38 -EBUILD cairo-1.10.2-r2.ebuild 4198 RMD160 fd014de4730fe58f96f223e67b69f7488a1f4129 SHA1 2007dcd723dd78071998cc9baeafbaa88908bed2 SHA256 4adaba8bace8c0b4058c1136a58b9a832bf0fe7b30d12491632456f5e3cd8e1a
39 -MISC metadata.xml 998 RMD160 2a4f5df13bc9d39c91e12e80924465450d758e32 SHA1 f4e943a00531a6f6a5ca2945a05ab95233b63e3b SHA256 325e1f55131748f3840ed1cfec421fe27aa6a621568135e4f6ce1d517b5d3cd8
40 ------BEGIN PGP SIGNATURE-----
41 -Version: GnuPG v2.0.17 (GNU/Linux)
42 -
43 -iQIcBAEBCgAGBQJO8aD7AAoJENwGBM22xffe17gP+gJhHkBahmisQx69En53miQU
44 -1WSNx3gjiRvA6nnMoHsrGvhMZSkvfOACxfy0COp2w8+pojDHVyBJ/alJdw65Y2sn
45 -UfklPT5EgrV90b4P8dkCgq7/3C1O84yjDviroDayODjhjz5Lp2oASTYqrOQtm+yt
46 -cWUgdTOmtCYaEt/+TBUta1xnLM0qEkKxwIvHzgjY9c79ifwFkxvoV/vIsPJw9IAp
47 -rgXhd/nyLvEHQHADrBfoYtGgMnXYci4nNmnqXpVE2+PLWRdox4o8q0oqlHTK8Sey
48 -3+suF1FJPWHUD37vQUU2oNSi/bbvEePFlaBlHwfGe7ux2RQxYfvBc0KLLQHXFL9b
49 -dfH0eCZEuk3qlYHHR4jKpCIwJUXH7UBByi4O7H27lACxwH3usoy+tMMG2Btvgugm
50 -4E5+fIvt+v1Oohf2p8HjOPJ92hFzef6VdJ10MKNpx8gzR+5QlxKMAp1W5R7vZSoh
51 -8pG7mWG3EzQrXB4DXOM4LD+JtRTPts3e4NWo4G17kZS0tNIyDkd+GmObQaoZ97iz
52 -WMJmxrKN2zGamtowCiK0G/Iq7Lba+qQtGQ8qdKJkj0vLkFVjBNeEp3OcfXAcTKeP
53 -2k/Arnuu6elD4NNGCmPO3q0/aJQNebmQ4YxXjvHc1ZkTD16tO5i1Y2qAEligb00G
54 -UBHv7gStQeSAiy18YdKi
55 -=MPY2
56 ------END PGP SIGNATURE-----
57
58 diff --git a/x11-libs/cairo/cairo-1.10.2-r2.ebuild b/x11-libs/cairo/cairo-1.10.2-r2.ebuild
59 deleted file mode 100644
60 index cc6fdae..0000000
61 --- a/x11-libs/cairo/cairo-1.10.2-r2.ebuild
62 +++ /dev/null
63 @@ -1,159 +0,0 @@
64 -# Copyright 1999-2011 Gentoo Foundation
65 -# Distributed under the terms of the GNU General Public License v2
66 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/cairo-1.10.2-r1.ebuild,v 1.13 2011/07/13 09:05:48 mduft Exp $
67 -
68 -EAPI=3
69 -
70 -EGIT_REPO_URI="git://anongit.freedesktop.org/git/cairo"
71 -[[ ${PV} == *9999 ]] && GIT_ECLASS="git"
72 -
73 -inherit eutils flag-o-matic autotools ${GIT_ECLASS}
74 -
75 -DESCRIPTION="A vector graphics library with cross-device output support"
76 -HOMEPAGE="http://cairographics.org/"
77 -[[ ${PV} == *9999 ]] || SRC_URI="http://cairographics.org/releases/${P}.tar.gz"
78 -
79 -LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
80 -SLOT="0"
81 -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
82 -IUSE="X aqua debug directfb doc drm gallium +glib opengl openvg qt4 static-libs +svg xcb"
83 -
84 -# Test causes a circular depend on gtk+... since gtk+ needs cairo but test needs gtk+ so we need to block it
85 -RESTRICT="test"
86 -
87 -RDEPEND="media-libs/fontconfig
88 - media-libs/freetype:2
89 - media-libs/libpng:0
90 - sys-libs/zlib
91 - >=x11-libs/pixman-0.18.4
92 - directfb? ( dev-libs/DirectFB )
93 - glib? ( dev-libs/glib:2 )
94 - opengl? ( virtual/opengl )
95 - openvg? ( media-libs/mesa[gallium] )
96 - qt4? ( >=x11-libs/qt-gui-4.4:4 )
97 - svg? ( dev-libs/libxml2 )
98 - X? (
99 - >=x11-libs/libXrender-0.6
100 - x11-libs/libXext
101 - x11-libs/libX11
102 - x11-libs/libXft
103 - drm? (
104 - >=sys-fs/udev-136
105 - gallium? ( media-libs/mesa[gallium] )
106 - )
107 - )
108 - xcb? (
109 - x11-libs/libxcb
110 - x11-libs/xcb-util
111 - )"
112 -DEPEND="${RDEPEND}
113 - dev-util/pkgconfig
114 - >=sys-devel/libtool-2
115 - doc? (
116 - >=dev-util/gtk-doc-1.6
117 - ~app-text/docbook-xml-dtd-4.2
118 - )
119 - X? (
120 - x11-proto/renderproto
121 - drm? (
122 - x11-proto/xproto
123 - >=x11-proto/xextproto-7.1
124 - )
125 - )"
126 -
127 -src_prepare() {
128 - epatch "${FILESDIR}"/${PN}-1.8.8-interix.patch
129 - epatch "${FILESDIR}"/${PN}-1.10.0-buggy_gradients.patch
130 - epatch "${FILESDIR}"/${P}-interix.patch
131 - epatch "${FILESDIR}"/${P}-qt-surface.patch
132 -
133 - # Slightly messed build system YAY
134 - if [[ ${PV} == *9999* ]]; then
135 - touch boilerplate/Makefile.am.features
136 - touch src/Makefile.am.features
137 - touch ChangeLog
138 - fi
139 -
140 - # We need to run elibtoolize to ensure correct so versioning on FreeBSD
141 - # upgraded to an eautoreconf for the above interix patch.
142 - eautoreconf
143 -}
144 -
145 -src_configure() {
146 - local myopts
147 -
148 - # SuperH doesn't have native atomics yet
149 - use sh && myopts+=" --disable-atomic"
150 -
151 - [[ ${CHOST} == *-interix* ]] && append-flags -D_REENTRANT
152 -
153 - # tracing fails to compile, because Solaris' libelf doesn't do large files
154 - [[ ${CHOST} == *-solaris* ]] && myopts+=" --disable-trace"
155 -
156 - # 128-bits long arithemetic functions are missing
157 - [[ ${CHOST} == powerpc*-*-darwin* ]] && filter-flags -mcpu=*
158 -
159 - #gets rid of fbmmx.c inlining warnings
160 - append-flags -finline-limit=1200
161 -
162 - if use X; then
163 - myopts+="
164 - --enable-tee=yes
165 - $(use_enable drm)
166 - "
167 -
168 - if use drm; then
169 - myopts+="
170 - $(use_enable gallium)
171 - $(use_enable xcb xcb-drm)
172 - "
173 - else
174 - use gallium && ewarn "Gallium use requires drm use enabled. So disabling for now."
175 - myopts+="
176 - --disable-gallium
177 - --disable-xcb-drm
178 - "
179 - fi
180 - else
181 - use drm && ewarn "drm use requires X use enabled. So disabling for now."
182 - myopts+="
183 - --disable-drm
184 - --disable-gallium
185 - --disable-xcb-drm
186 - "
187 - fi
188 -
189 - # --disable-xcb-lib:
190 - # do not override good xlib backed by hardforcing rendering over xcb
191 - econf \
192 - --disable-dependency-tracking \
193 - $(use_with X x) \
194 - $(use_enable X xlib) \
195 - $(use_enable X xlib-xrender) \
196 - $(use_enable aqua quartz) \
197 - $(use_enable aqua quartz-image) \
198 - $(use_enable debug test-surfaces) \
199 - $(use_enable directfb) \
200 - $(use_enable glib gobject) \
201 - $(use_enable doc gtk-doc) \
202 - $(use_enable openvg vg) \
203 - $(use_enable opengl gl) \
204 - $(use_enable qt4 qt) \
205 - $(use_enable static-libs static) \
206 - $(use_enable svg) \
207 - $(use_enable xcb) \
208 - $(use_enable xcb xcb-shm) \
209 - --enable-ft \
210 - --enable-pdf \
211 - --enable-png \
212 - --enable-ps \
213 - --disable-xlib-xcb \
214 - ${myopts}
215 -}
216 -
217 -src_install() {
218 - # parallel make install fails
219 - emake -j1 DESTDIR="${D}" install || die
220 - find "${ED}" -name '*.la' -exec rm -f {} +
221 - dodoc AUTHORS ChangeLog NEWS README || die
222 -}
223
224 diff --git a/x11-libs/cairo/files/cairo-1.10.0-buggy_gradients.patch b/x11-libs/cairo/files/cairo-1.10.0-buggy_gradients.patch
225 deleted file mode 100644
226 index a58c2f8..0000000
227 --- a/x11-libs/cairo/files/cairo-1.10.0-buggy_gradients.patch
228 +++ /dev/null
229 @@ -1,17 +0,0 @@
230 -http://repos.archlinux.org/wsvn/packages/cairo/trunk/cairo-1.10.0-buggy_gradients.patch
231 -http://bugs.gentoo.org/336696
232 -
233 ---- src/cairo-xlib-display.c
234 -+++ src/cairo-xlib-display.c
235 -@@ -353,11 +353,7 @@
236 - /* Prior to Render 0.10, there is no protocol support for gradients and
237 - * we call function stubs instead, which would silently consume the drawing.
238 - */
239 --#if RENDER_MAJOR == 0 && RENDER_MINOR < 10
240 - display->buggy_gradients = TRUE;
241 --#else
242 -- display->buggy_gradients = FALSE;
243 --#endif
244 - display->buggy_pad_reflect = FALSE;
245 - display->buggy_repeat = FALSE;
246 -
247
248 diff --git a/x11-libs/cairo/files/cairo-1.10.2-interix.patch b/x11-libs/cairo/files/cairo-1.10.2-interix.patch
249 deleted file mode 100644
250 index 3333e3e..0000000
251 --- a/x11-libs/cairo/files/cairo-1.10.2-interix.patch
252 +++ /dev/null
253 @@ -1,36 +0,0 @@
254 -commit 95f6f7a174ca096a3d3dbe84ff220d166d1e2baa
255 -Author: Uli Schlachter <psychon@×××.in>
256 -Date: Fri Oct 22 11:54:57 2010 +0200
257 -
258 - Make both versions of _cairo_lround consistent again
259 -
260 - Commit c0008242b0f made cairo use libm's lround instead of its own _cairo_lround
261 - by default. However, since commit ce58f874 from 2006, _cairo_lround does
262 - arithmetic rounding instead of away-from-zero rounding (before said commit, it
263 - was using baker's rounding).
264 -
265 - So to make the rounding of _cairo_lround be independent from
266 - DISABLE_SOME_FLOATING_POINT, we have to use another function. Turns out that
267 - _cairo_round already does the same thing that _cairo_lround does. Their only
268 - difference is the return type.
269 -
270 - Signed-off-by: Uli Schlachter <psychon@×××.in>
271 - Signed-off-by: Chris Wilson <chris@×××××××××××××××.uk>
272 -
273 -diff --git a/src/cairoint.h b/src/cairoint.h
274 -index 53c87e5..539d92e 100644
275 ---- a/src/cairoint.h
276 -+++ b/src/cairoint.h
277 -@@ -968,7 +968,11 @@ _cairo_round (double r)
278 - cairo_private int
279 - _cairo_lround (double d) cairo_const;
280 - #else
281 --#define _cairo_lround lround
282 -+static inline int cairo_const
283 -+_cairo_lround (double r)
284 -+{
285 -+ return _cairo_round (r);
286 -+}
287 - #endif
288 -
289 - cairo_private uint16_t
290
291 diff --git a/x11-libs/cairo/files/cairo-1.10.2-qt-surface.patch b/x11-libs/cairo/files/cairo-1.10.2-qt-surface.patch
292 deleted file mode 100644
293 index cf0b57a..0000000
294 --- a/x11-libs/cairo/files/cairo-1.10.2-qt-surface.patch
295 +++ /dev/null
296 @@ -1,55 +0,0 @@
297 -diff -ruN cairo-1.10.2-0-vanilla/src/cairo-qt-surface.cpp cairo-1.10.2/src/cairo-qt-surface.cpp
298 ---- cairo-1.10.2-0-vanilla/src/cairo-qt-surface.cpp 2010-12-25 15:21:34.000000000 +0100
299 -+++ cairo-1.10.2/src/cairo-qt-surface.cpp 2011-12-20 22:59:30.000000000 +0100
300 -@@ -61,7 +61,9 @@
301 - #include <QtGui/QX11Info>
302 - #include <QtCore/QVarLengthArray>
303 -
304 --#if (QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)) || defined(QT_GLYPHS_API_BACKPORT)
305 -+#if (QT_VERSION >= QT_VERSION_CHECK(4, 8, 0))
306 -+#include <QtGui/QGlyphRun>
307 -+#elif (QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)) || defined(QT_GLYPHS_API_BACKPORT)
308 - extern void qt_draw_glyphs(QPainter *, const quint32 *glyphs, const QPointF *positions, int count);
309 - #endif
310 -
311 -@@ -1370,7 +1372,39 @@
312 - cairo_clip_t *clip,
313 - int *remaining_glyphs)
314 - {
315 --#if (QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)) || defined(QT_GLYPHS_API_BACKPORT)
316 -+#if (QT_VERSION >= QT_VERSION_CHECK(4, 8, 0)) && !defined(QT_NO_RAWFONT)
317 -+ cairo_qt_surface_t *qs = (cairo_qt_surface_t *) abstract_surface;
318 -+
319 -+ // pick out the colour to use from the cairo source
320 -+ cairo_solid_pattern_t *solid = (cairo_solid_pattern_t*) source;
321 -+ // documentation says you have to freeze the cache, but I don't believe it
322 -+ _cairo_scaled_font_freeze_cache(scaled_font);
323 -+
324 -+ QColor tempColour(solid->color.red * 255, solid->color.green * 255, solid->color.blue * 255);
325 -+ QVector<QPointF> positions(num_glyphs);
326 -+ QVector<unsigned int> glyphss(num_glyphs);
327 -+ FT_Face face = cairo_ft_scaled_font_lock_face (scaled_font);
328 -+ const FT_Size_Metrics& ftMetrics = face->size->metrics;
329 -+ QFont font(face->family_name);
330 -+ font.setStyleStrategy(QFont::NoFontMerging);
331 -+ font.setBold(face->style_flags & FT_STYLE_FLAG_BOLD);
332 -+ font.setItalic(face->style_flags & FT_STYLE_FLAG_ITALIC);
333 -+ font.setKerning(face->face_flags & FT_FACE_FLAG_KERNING);
334 -+ font.setPixelSize(ftMetrics.y_ppem);
335 -+ cairo_ft_scaled_font_unlock_face(scaled_font);
336 -+ qs->p->setFont(font);
337 -+ qs->p->setPen(tempColour);
338 -+ for (int currentGlyph = 0; currentGlyph < num_glyphs; currentGlyph++) {
339 -+ positions.append(QPointF(glyphs[currentGlyph].x, glyphs[currentGlyph].y));
340 -+ glyphss.append(glyphs[currentGlyph].index);
341 -+ }
342 -+ QGlyphRun qglyphs;
343 -+ qglyphs.setGlyphIndexes(glyphss);
344 -+ qglyphs.setPositions(positions);
345 -+ qs->p->drawGlyphRun(QPointF(), qglyphs);
346 -+ _cairo_scaled_font_thaw_cache(scaled_font);
347 -+ return CAIRO_INT_STATUS_SUCCESS;
348 -+#elif (QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)) || defined(QT_GLYPHS_API_BACKPORT)
349 - cairo_qt_surface_t *qs = (cairo_qt_surface_t *) abstract_surface;
350 -
351 - // pick out the colour to use from the cairo source
352
353 diff --git a/x11-libs/cairo/files/cairo-1.2.4-lcd-cleartype-like.diff b/x11-libs/cairo/files/cairo-1.2.4-lcd-cleartype-like.diff
354 deleted file mode 100644
355 index 2f908b8..0000000
356 --- a/x11-libs/cairo/files/cairo-1.2.4-lcd-cleartype-like.diff
357 +++ /dev/null
358 @@ -1,275 +0,0 @@
359 -diff -rup libcairo-1.2.4.orig/src/cairo-ft-font.c libcairo-1.2.4/src/cairo-ft-font.c
360 ---- libcairo-1.2.4.orig/src/cairo-ft-font.c 2006-08-22 21:40:02.802247352 +0800
361 -+++ libcairo-1.2.4/src/cairo-ft-font.c 2006-08-22 21:40:39.443677008 +0800
362 -@@ -53,6 +53,8 @@
363 - #include FT_SYNTHESIS_H
364 - #endif
365 -
366 -+#define FIR_FILTER 1
367 -+
368 - #define DOUBLE_TO_26_6(d) ((FT_F26Dot6)((d) * 64.0))
369 - #define DOUBLE_FROM_26_6(t) ((double)(t) / 64.0)
370 - #define DOUBLE_TO_16_16(d) ((FT_Fixed)((d) * 65536.0))
371 -@@ -492,6 +494,8 @@ _cairo_ft_unscaled_font_destroy (void *a
372 - }
373 - }
374 -
375 -+static const int fir_filter[5] = { 0x1C, 0x38, 0x55, 0x38, 0x1C };
376 -+
377 - static cairo_bool_t
378 - _has_unlocked_face (void *entry)
379 - {
380 -@@ -779,7 +783,220 @@ _get_bitmap_surface (FT_Bitmap *bi
381 - }
382 - format = CAIRO_FORMAT_A8;
383 - break;
384 -- case CAIRO_ANTIALIAS_SUBPIXEL: {
385 -+ case CAIRO_ANTIALIAS_SUBPIXEL:
386 -+#ifdef FIR_FILTER
387 -+ {
388 -+ unsigned char* line;
389 -+ unsigned char* bufBitmap;
390 -+ int pitch;
391 -+ unsigned char *data_rgba;
392 -+ unsigned int width_rgba, stride_rgba;
393 -+ int vmul = 1;
394 -+ int hmul = 1;
395 -+
396 -+ switch (font_options->subpixel_order) {
397 -+ case CAIRO_SUBPIXEL_ORDER_DEFAULT:
398 -+ case CAIRO_SUBPIXEL_ORDER_RGB:
399 -+ case CAIRO_SUBPIXEL_ORDER_BGR:
400 -+ default:
401 -+ width /= 3;
402 -+ hmul = 3;
403 -+ break;
404 -+ case CAIRO_SUBPIXEL_ORDER_VRGB:
405 -+ case CAIRO_SUBPIXEL_ORDER_VBGR:
406 -+ vmul = 3;
407 -+ height /= 3;
408 -+ break;
409 -+ }
410 -+ /*
411 -+ * Filter the glyph to soften the color fringes
412 -+ */
413 -+ width_rgba = width;
414 -+ stride = bitmap->pitch;
415 -+ stride_rgba = (width_rgba * 4 + 3) & ~3;
416 -+ data_rgba = calloc (1, stride_rgba * height);
417 -+
418 -+ /* perform in-place FIR filtering in either the horizontal or
419 -+ * vertical direction. We're going to modify the RGB graymap,
420 -+ * but that's ok, because we either own it, or its part of
421 -+ * the FreeType glyph slot, which will not be used anymore.
422 -+ */
423 -+ pitch = bitmap->pitch;
424 -+ line = (unsigned char*)bitmap->buffer;
425 -+ if ( pitch < 0 )
426 -+ line -= pitch*(height-1);
427 -+
428 -+ bufBitmap = line;
429 -+
430 -+ switch (font_options->subpixel_order) {
431 -+ case CAIRO_SUBPIXEL_ORDER_DEFAULT:
432 -+ case CAIRO_SUBPIXEL_ORDER_RGB:
433 -+ case CAIRO_SUBPIXEL_ORDER_BGR:
434 -+ {
435 -+ int h;
436 -+
437 -+ for ( h = height; h > 0; h--, line += pitch ) {
438 -+ int pix[6] = { 0, 0, 0, 0, 0, 0 };
439 -+ unsigned char* p = line;
440 -+ unsigned char* limit = line + width*3;
441 -+ int nn, val, val2;
442 -+
443 -+ val = p[0];
444 -+ for (nn = 0; nn < 3; nn++)
445 -+ pix[2 + nn] += val * fir_filter[nn];
446 -+
447 -+ val = p[1];
448 -+ for (nn = 0; nn < 4; nn++)
449 -+ pix[1 + nn] += val * fir_filter[nn];
450 -+
451 -+ p += 2;
452 -+
453 -+ for ( ; p < limit; p++ ) {
454 -+ val = p[0];
455 -+ for (nn = 0; nn < 5; nn++)
456 -+ pix[nn] += val * fir_filter[nn];
457 -+
458 -+ val2 = pix[0] / 256;
459 -+ val2 |= -(val2 >> 8);
460 -+ p[-2] = (unsigned char)val2;
461 -+
462 -+ for (nn = 0; nn < 5; nn++)
463 -+ pix[nn] = pix[nn + 1];
464 -+ }
465 -+ for (nn = 0; nn < 2; nn++ ) {
466 -+ val2 = pix[nn] / 256;
467 -+ val2 |= -(val2 >> 8);
468 -+ p[nn - 2] = (unsigned char)val2;
469 -+ }
470 -+ }
471 -+ }
472 -+ break;
473 -+ case CAIRO_SUBPIXEL_ORDER_VRGB:
474 -+ case CAIRO_SUBPIXEL_ORDER_VBGR:
475 -+ {
476 -+ int w;
477 -+
478 -+ for (w = 0; w < width; w++ ) {
479 -+ int pix[6] = { 0, 0, 0, 0, 0, 0 };
480 -+ unsigned char* p = bufBitmap + w;
481 -+ unsigned char* limit = bufBitmap + w + height*3*pitch;
482 -+ int nn, val, val2;
483 -+
484 -+ val = p[0];
485 -+ for (nn = 0; nn < 3; nn++)
486 -+ pix[2 + nn] += val*fir_filter[nn];
487 -+
488 -+ val = p[pitch];
489 -+ for (nn = 0; nn < 4; nn++ )
490 -+ pix[1 + nn] += val * fir_filter[nn];
491 -+
492 -+ p += 2*pitch;
493 -+ for ( ; p < limit; p += pitch ) {
494 -+ val = p[0];
495 -+ for (nn = 0; nn < 5; nn++ )
496 -+ pix[nn] += val * fir_filter[nn];
497 -+
498 -+ val2 = pix[0] / 256;
499 -+ val2 |= -(val2 >> 8);
500 -+ p[-2 * pitch] = (unsigned char)val2;
501 -+
502 -+ for (nn = 0; nn < 5; nn++)
503 -+ pix[nn] = pix[nn+1];
504 -+ }
505 -+
506 -+ for (nn = 0; nn < 2; nn++) {
507 -+ val2 = pix[nn] / 256;
508 -+ val2 |= -(val2 >> 8);
509 -+ p[(nn - 2) * pitch] = (unsigned char)val2;
510 -+ }
511 -+ }
512 -+ }
513 -+ break;
514 -+ default: /* shouldn't happen */
515 -+ break;
516 -+ }
517 -+
518 -+ /* now copy the resulting graymap into an ARGB32 image */
519 -+ {
520 -+ unsigned char* in_line = bufBitmap;
521 -+ unsigned char* out_line = data_rgba;
522 -+ int h = height;
523 -+
524 -+ switch (font_options->subpixel_order) {
525 -+ case CAIRO_SUBPIXEL_ORDER_DEFAULT:
526 -+ case CAIRO_SUBPIXEL_ORDER_RGB:
527 -+ for ( ; h > 0; h--, in_line += pitch, out_line += stride_rgba) {
528 -+ unsigned char* in = in_line;
529 -+ int* out = (int*)out_line;
530 -+ int w;
531 -+
532 -+ for (w = width; w > 0; w--, in += 3, out += 1) {
533 -+ int r = in[0];
534 -+ int g = in[1];
535 -+ int b = in[2];
536 -+
537 -+ out[0] = (g << 24) | (r << 16) | (g << 8) | b;
538 -+ }
539 -+ }
540 -+ break;
541 -+ case CAIRO_SUBPIXEL_ORDER_BGR:
542 -+ for ( ; h > 0; h--, in_line += pitch, out_line += stride_rgba) {
543 -+ unsigned char* in = in_line;
544 -+ int* out = (int*)out_line;
545 -+ int w;
546 -+
547 -+ for (w = width; w > 0; w--, in += 3, out += 1) {
548 -+ int r = in[2];
549 -+ int g = in[1];
550 -+ int b = in[0];
551 -+
552 -+ out[0] = (g << 24) | (r << 16) | (g << 8) | b;
553 -+ }
554 -+ }
555 -+ break;
556 -+ case CAIRO_SUBPIXEL_ORDER_VRGB:
557 -+ for ( ; h > 0; h--, in_line += pitch*3, out_line += stride_rgba) {
558 -+ unsigned char* in = in_line;
559 -+ int* out = (int*)out_line;
560 -+ int w;
561 -+
562 -+ for (w = width; w > 0; w--, in += 1, out += 1) {
563 -+ int r = in[0];
564 -+ int g = in[pitch];
565 -+ int b = in[pitch*2];
566 -+
567 -+ out[0] = (g << 24) | (r << 16) | (g << 8) | b;
568 -+ }
569 -+ }
570 -+ break;
571 -+ case CAIRO_SUBPIXEL_ORDER_VBGR:
572 -+ for ( ; h > 0; h--, in_line += pitch*3, out_line += stride_rgba) {
573 -+ unsigned char* in = in_line;
574 -+ int* out = (int*)out_line;
575 -+ int w;
576 -+
577 -+ for (w = width; w > 0; w--, in += 1, out += 1) {
578 -+ int r = in[2*pitch];
579 -+ int g = in[pitch];
580 -+ int b = in[0];
581 -+
582 -+ out[0] = (g << 24) | (r << 16) | (g << 8) | b;
583 -+ }
584 -+ }
585 -+ break;
586 -+ }
587 -+ }
588 -+
589 -+ if (own_buffer)
590 -+ free (bitmap->buffer);
591 -+ data = data_rgba;
592 -+ stride = stride_rgba;
593 -+ format = CAIRO_FORMAT_ARGB32;
594 -+ subpixel = TRUE;
595 -+ break;
596 -+ }
597 -+#else /* !FIR_FILTER */
598 -+ {
599 - int x, y;
600 - unsigned char *in_line, *out_line, *in;
601 - unsigned int *out;
602 -@@ -871,6 +1088,7 @@ _get_bitmap_surface (FT_Bitmap *bi
603 - subpixel = TRUE;
604 - break;
605 - }
606 -+#endif /* !FIR_FILTER */
607 - }
608 - break;
609 - case FT_PIXEL_MODE_GRAY2:
610 -@@ -986,12 +1204,22 @@ _render_glyph_outline (FT_Face
611 - matrix.xx *= 3;
612 - hmul = 3;
613 - subpixel = TRUE;
614 -+#ifdef FIR_FILTER
615 -+ cbox.xMin -= 64;
616 -+ cbox.xMax += 64;
617 -+ width += 2;
618 -+#endif
619 - break;
620 - case CAIRO_SUBPIXEL_ORDER_VRGB:
621 - case CAIRO_SUBPIXEL_ORDER_VBGR:
622 - matrix.yy *= 3;
623 - vmul = 3;
624 - subpixel = TRUE;
625 -+#ifdef FIR_FILTER
626 -+ cbox.yMin -= 64;
627 -+ cbox.yMax += 64;
628 -+ height += 2;
629 -+#endif
630 - break;
631 - }
632 - FT_Outline_Transform (outline, &matrix);
633 -Only in libcairo-1.2.4/src: cairo-ft-font.c.orig
634
635 diff --git a/x11-libs/cairo/files/cairo-1.8.10-libpng14.patch b/x11-libs/cairo/files/cairo-1.8.10-libpng14.patch
636 deleted file mode 100644
637 index 1872367..0000000
638 --- a/x11-libs/cairo/files/cairo-1.8.10-libpng14.patch
639 +++ /dev/null
640 @@ -1,11 +0,0 @@
641 ---- configure.ac
642 -+++ configure.ac
643 -@@ -161,7 +161,7 @@
644 - AC_ARG_VAR([png_REQUIRES], [module name for libpng to search for using pkg-config])
645 - if test "x$png_REQUIRES" = x; then
646 - # libpng13 is GnuWin32's libpng-1.2.8 :-(
647 -- for l in libpng12 libpng13 libpng10 libpng; do
648 -+ for l in libpng14 libpng12 libpng13 libpng10 libpng; do
649 - if $PKG_CONFIG --exists $l ; then
650 - png_REQUIRES=$l
651 - use_png=yes
652
653 diff --git a/x11-libs/cairo/files/cairo-1.8.8-interix.patch b/x11-libs/cairo/files/cairo-1.8.8-interix.patch
654 deleted file mode 100644
655 index dc20714..0000000
656 --- a/x11-libs/cairo/files/cairo-1.8.8-interix.patch
657 +++ /dev/null
658 @@ -1,16 +0,0 @@
659 -diff -ru cairo-1.8.8.orig/build/configure.ac.tools cairo-1.8.8/build/configure.ac.tools
660 ---- cairo-1.8.8.orig/build/configure.ac.tools 2009-09-30 13:36:42 +0200
661 -+++ cairo-1.8.8/build/configure.ac.tools 2009-09-30 13:50:50 +0200
662 -@@ -21,5 +21,12 @@
663 - *) PKGCONFIG_REQUIRES="Requires.private"; ;;
664 - esac
665 -
666 -+dnl hmm... on interix, things go really bad with Requires.private, since libpng12
667 -+dnl is missing on the final link commands, so gtk+'s configure checks for cairo
668 -+dnl fail miserably with unresolved symbols to it.
669 -+case "$host_os" in
670 -+interix*) PKGCONFIG_REQUIRES="Requires" ;;
671 -+esac
672 -+
673 - AC_SUBST(PKGCONFIG_REQUIRES)
674 -
675
676 diff --git a/x11-libs/cairo/metadata.xml b/x11-libs/cairo/metadata.xml
677 deleted file mode 100644
678 index a842180..0000000
679 --- a/x11-libs/cairo/metadata.xml
680 +++ /dev/null
681 @@ -1,27 +0,0 @@
682 -<?xml version="1.0" encoding="UTF-8"?>
683 -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
684 -<pkgmetadata>
685 -<herd>x11</herd>
686 -<maintainer>
687 - <email>cardoe@g.o</email>
688 - <name>Doug Goldstein</name>
689 -</maintainer>
690 -<maintainer>
691 - <email>spatz@g.o</email>
692 - <name>Dror Levin</name>
693 -</maintainer>
694 -<use>
695 - <flag name='cleartype'>Add ClearType-style behavior for sub-pixel hinting.
696 - Patch taken from Arch Linux</flag>
697 - <flag name='lcdfilter'>Add FreeType LCD filtering, ClearType-style behavior
698 - for sub-pixel-hinting. Overrides cleartype USE flag. Patch taken from
699 - Ubuntu</flag>
700 - <flag name='opengl' restrict="&gt;=x11-libs/cairo-1.10.0">
701 - Use Mesa backend for acceleration
702 - </flag>
703 - <flag name='drm'>Use Linux DRM for backend acceleration</flag>
704 - <flag name='gallium'>Use Mesa's Gallium backend for acceleration</flag>
705 - <flag name='glib'>Compile with GLib Object System support</flag>
706 - <flag name='openvg'>Use OpenVG for backend acceleration</flag>
707 -</use>
708 -</pkgmetadata>