diff options
author | Ben de Groot <yngwin@gmail.com> | 2012-07-23 18:50:58 +0800 |
---|---|---|
committer | Ben de Groot <yngwin@gmail.com> | 2012-07-23 18:50:58 +0800 |
commit | 7f54602764865c6bebda162b10a5b3cd49ec3f8b (patch) | |
tree | 1b3de380546f2e503f77c3a0774c864bdb6514d5 /x11-libs | |
parent | media-sound/coquillo has been moved to official tree (diff) | |
download | betagarden-7f54602764865c6bebda162b10a5b3cd49ec3f8b.tar.gz betagarden-7f54602764865c6bebda162b10a5b3cd49ec3f8b.tar.bz2 betagarden-7f54602764865c6bebda162b10a5b3cd49ec3f8b.zip |
Add infinality font patches and eselect module
Diffstat (limited to 'x11-libs')
-rw-r--r-- | x11-libs/cairo/Manifest | 10 | ||||
-rw-r--r-- | x11-libs/cairo/cairo-1.10.2-r3.ebuild | 165 | ||||
-rw-r--r-- | x11-libs/cairo/cairo-1.12.2-r1.ebuild | 140 | ||||
-rw-r--r-- | x11-libs/cairo/files/cairo-1.10.0-buggy_gradients.patch | 17 | ||||
-rw-r--r-- | x11-libs/cairo/files/cairo-1.10.2-interix.patch | 36 | ||||
-rw-r--r-- | x11-libs/cairo/files/cairo-1.10.2-qt-surface.patch | 55 | ||||
-rw-r--r-- | x11-libs/cairo/files/cairo-1.10.2-ubuntu.patch | 53 | ||||
-rw-r--r-- | x11-libs/cairo/files/cairo-1.8.8-interix.patch | 16 | ||||
-rw-r--r-- | x11-libs/cairo/files/cairo-respect-fontconfig.patch | 13 |
9 files changed, 505 insertions, 0 deletions
diff --git a/x11-libs/cairo/Manifest b/x11-libs/cairo/Manifest new file mode 100644 index 0000000..99a1c5b --- /dev/null +++ b/x11-libs/cairo/Manifest @@ -0,0 +1,10 @@ +AUX cairo-1.10.0-buggy_gradients.patch 581 SHA256 3b622bb250b996ea5f5adc5c899af343e0efba5c477fa0e51fdbb720a8dd1b18 SHA512 c602992dd962586f9de09d2a838f828901845a02ba7afa1bc0cb434393aa05e98f02dc2342299b0b09f7cfbabb0295a22874023b68e1312982df2b71e3030442 WHIRLPOOL 55c72b55b1d378653204e1c8e0db463d12254ffa7a52e5c4b86eca9b67607bdcbb545b1589fa9a6df781d230d17264c67a018cece4030aac90eda7c68c41f5ea +AUX cairo-1.10.2-interix.patch 1235 SHA256 d915d69e2eb96f6a4bef1de0c493ed9face7b5d6a79194ab9f2a7f3d85b799ea SHA512 fbc524c2f359b489dc337a2aa70fbfc21e4cea0e306d144f45f520875471a66b65cd7687730461bff16c47792a30d81ed2be48895e2809cc24996a2dc26c560e WHIRLPOOL d25a09cb9c53b553690e865385be90cd696ed6135734d4d2f3814bd30e386c5f0bff05e7cd4f34c737dd2db2e35f590023b4dd7a00e767abdad9acf60775d684 +AUX cairo-1.10.2-qt-surface.patch 2687 SHA256 fb96199ec7a4cf8527726be8d0333ed883183b56960832218eca1c9ef2e05dbd SHA512 1263f129f96ecf0277ba436cac0229b6245bed273594b2199d6b0f36711e323c966c43d9264e4cc8b69a299c8e9c1ec4af09ae2284bf5ca59a72486b31439c48 WHIRLPOOL 1ec6c56a6e1de3c838fb2dfa541e062e3f63630910a5609fe211bab8c8bbdb1968af021954020b4da208ba43cde18795e6114fccdd13ee0de2e0edd285d7996a +AUX cairo-1.10.2-ubuntu.patch 1777 SHA256 150d5b9f7f842d574a6e10e579bc8f27ca7b2055af8e0dd455aa0832bc3f4dae SHA512 8d9144fe809c4135f0dbd271d580620da769e2f946386e345783cf2379db458ed5ef964785b66d70b4e44a007c85a9209c85366144ad057d3ac5b60ee80383bc WHIRLPOOL c0754ccdeacc91ee2d222a945d8787ae3379a2881c36d8f0f6c545262baeb8f9fc866dba657f5d706c0b658efd5834c06725c2b942473b8755af10662f8ec088 +AUX cairo-1.8.8-interix.patch 619 SHA256 505be82a1a0b7f963cb49ff85ecf1fa1389a4e43621df76b91fc1529616b2299 SHA512 651b73124ee5b65e2735deefde36727122e9c513da134441be923fb875aedfd3dbd81de8652e3919f3fa04d1de13dee6ec28e4fcd687aaec427d3b0dd94ac703 WHIRLPOOL a1803cbd8f32a8e926a8af932e099c5275920e3e09f7a53ee49898823e81ee7a2533a4db8d2125f200fa409d98fb8e2cbdeb01f00f64b7ba64ba8dffb8487bc3 +AUX cairo-respect-fontconfig.patch 538 SHA256 1732f21adfe5ab291d987b7537b13470266253f599901a4707d27fd2b3d66734 SHA512 4d4d473f956b56f11b31f513de06751dcc77342e0f04ecf37064a74b8217f9d3536c0a8a41b09e580f34576ff2d06815b4cbc2bc091c201f947965509677415e WHIRLPOOL c7d8f364a787b095054507a6dceafe08e8112322853e261303adc07b79a9070be63200dbd4ff465943e2303126bcd7eec51b0f6c53f1d4e9a49fd363acbccde2 +DIST cairo-1.10.2.tar.gz 23558405 SHA256 32018c7998358eebc2ad578ff8d8559d34fc80252095f110a572ed23d989fc41 SHA512 8be4b9ce002f039014d747cc2b48c6a6dfac78df74ebc5ad711a8f36572b819b2c6da3cc4732d0ca93e9052b4b3bb42a146f5e7e346b75dde695d44477b19c9a WHIRLPOOL 8ee0e6f2f520a8e5e046a311926f07a49dd7b730b66b49684ce0ea296b9b5822a80a194b8eff56c73d92da850faa15fed925a1df41b3ea28e3841530548d4ef5 +DIST cairo-1.12.2.tar.xz 42051584 SHA256 b786bc4a70542bcb09f2d9d13e5e6a0c86408cbf6d1edde5f0de807eecf93f96 SHA512 149e55e206175220448c520624980ba0081a3e2336202f6c5d5ba9098a51c01f6d89843c3c3f0d5bed3473a5ff49dee6530e2cacec93a94c9d78767cb881f847 WHIRLPOOL 89c773c1b82909a02332731a4e16e401ec20779205189503c08a1bf25946733c2b02415555f520ab3ca64202fb7e0ef3a5fbea39676436aafeb42d977a6e3897 +EBUILD cairo-1.10.2-r3.ebuild 4052 SHA256 78d81007f31d5f5aa5a6af2df9590655af96f6854d78fe9e6b4f18be903b473a SHA512 14875d8a82da1810da30c5e332a7cd9b7b33a76a6b25f45829d225e2972b47701114b0d68b501cf7b2d28269d8d131c9a5c99e44b2924d29e250410568652585 WHIRLPOOL b056750da32e89698fe1028dff65976b1a3aac0704d61dd15840e52cad6687337907ed4dc7b1bd45ecffa8e7db081bc1cdfe7bfe1ccb43daf52cfa3fd7363615 +EBUILD cairo-1.12.2-r1.ebuild 3709 SHA256 ea40f468cca6c66682dbecacc55c08136049e5f6e50deb5e9f86bba345add1d2 SHA512 13b23402a48aa8292dea557c81a42ff2c9f16cea713d511dc8749cdad243d99d4a18b432dd29ecbdfafd7454a7d4e55d18b6d33cc7009f00d73f3923e2e74311 WHIRLPOOL 8e61e66cae015804841e84e8740f4973c9e27c3eef4b6c0416755478710c1aaad263d9cc54b4a188f65f01c53fd8bcf3b45c77e80048074b6b47ea448fba355c diff --git a/x11-libs/cairo/cairo-1.10.2-r3.ebuild b/x11-libs/cairo/cairo-1.10.2-r3.ebuild new file mode 100644 index 0000000..747f27c --- /dev/null +++ b/x11-libs/cairo/cairo-1.10.2-r3.ebuild @@ -0,0 +1,165 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +EGIT_REPO_URI="git://anongit.freedesktop.org/git/cairo" +[[ ${PV} == *9999 ]] && GIT_ECLASS="git" + +inherit eutils flag-o-matic autotools ${GIT_ECLASS} + +DESCRIPTION="A vector graphics library with cross-device output support" +HOMEPAGE="http://cairographics.org/" +[[ ${PV} == *9999 ]] || SRC_URI="http://cairographics.org/releases/${P}.tar.gz" + +LICENSE="|| ( LGPL-2.1 MPL-1.1 )" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="X aqua debug directfb doc drm gallium +glib opengl openvg qt4 static-libs +svg xcb" + +# Test causes a circular depend on gtk+... since gtk+ needs cairo but test needs gtk+ so we need to block it +RESTRICT="test" + +RDEPEND="media-libs/fontconfig + media-libs/freetype:2[lcdfilter] + media-libs/libpng:0 + sys-libs/zlib + >=x11-libs/pixman-0.18.4 + directfb? ( dev-libs/DirectFB ) + glib? ( dev-libs/glib:2 ) + opengl? ( virtual/opengl ) + openvg? ( media-libs/mesa[gallium] ) + qt4? ( >=x11-libs/qt-gui-4.8:4 ) + svg? ( dev-libs/libxml2 ) + X? ( + >=x11-libs/libXrender-0.6 + x11-libs/libXext + x11-libs/libX11 + x11-libs/libXft + drm? ( + >=sys-fs/udev-136 + gallium? ( media-libs/mesa[gallium] ) + ) + ) + xcb? ( + x11-libs/libxcb + x11-libs/xcb-util + )" +DEPEND="${RDEPEND} + virtual/pkgconfig + >=sys-devel/libtool-2 + doc? ( + >=dev-util/gtk-doc-1.6 + ~app-text/docbook-xml-dtd-4.2 + ) + X? ( + x11-proto/renderproto + drm? ( + x11-proto/xproto + >=x11-proto/xextproto-7.1 + ) + )" + +src_prepare() { + + epatch "${FILESDIR}"/${P}-ubuntu.patch + epatch "${FILESDIR}"/${PN}-respect-fontconfig.patch + + epatch "${FILESDIR}"/${PN}-1.8.8-interix.patch + epatch "${FILESDIR}"/${PN}-1.10.0-buggy_gradients.patch + epatch "${FILESDIR}"/${P}-interix.patch + epatch "${FILESDIR}"/${P}-qt-surface.patch + + # Slightly messed build system YAY + if [[ ${PV} == *9999* ]]; then + touch boilerplate/Makefile.am.features + touch src/Makefile.am.features + touch ChangeLog + fi + + # We need to run elibtoolize to ensure correct so versioning on FreeBSD + # upgraded to an eautoreconf for the above interix patch. + eautoreconf +} + +src_configure() { + local myopts + + # SuperH doesn't have native atomics yet + use sh && myopts+=" --disable-atomic" + + [[ ${CHOST} == *-interix* ]] && append-flags -D_REENTRANT + + # tracing fails to compile, because Solaris' libelf doesn't do large files + [[ ${CHOST} == *-solaris* ]] && myopts+=" --disable-trace" + + # 128-bits long arithemetic functions are missing + [[ ${CHOST} == powerpc*-*-darwin* ]] && filter-flags -mcpu=* + + #gets rid of fbmmx.c inlining warnings + append-flags -finline-limit=1200 + + if use X; then + myopts+=" + --enable-tee=yes + $(use_enable drm) + " + + if use drm; then + myopts+=" + $(use_enable gallium) + $(use_enable xcb xcb-drm) + " + else + use gallium && ewarn "Gallium use requires drm use enabled. So disabling for now." + myopts+=" + --disable-gallium + --disable-xcb-drm + " + fi + else + use drm && ewarn "drm use requires X use enabled. So disabling for now." + myopts+=" + --disable-drm + --disable-gallium + --disable-xcb-drm + " + fi + + use elibc_FreeBSD && myopts+=" --disable-symbol-lookup" + + # --disable-xcb-lib: + # do not override good xlib backed by hardforcing rendering over xcb + econf \ + --disable-dependency-tracking \ + $(use_with X x) \ + $(use_enable X xlib) \ + $(use_enable X xlib-xrender) \ + $(use_enable aqua quartz) \ + $(use_enable aqua quartz-image) \ + $(use_enable debug test-surfaces) \ + $(use_enable directfb) \ + $(use_enable glib gobject) \ + $(use_enable doc gtk-doc) \ + $(use_enable openvg vg) \ + $(use_enable opengl gl) \ + $(use_enable qt4 qt) \ + $(use_enable static-libs static) \ + $(use_enable svg) \ + $(use_enable xcb) \ + $(use_enable xcb xcb-shm) \ + --enable-ft \ + --enable-pdf \ + --enable-png \ + --enable-ps \ + --disable-xlib-xcb \ + ${myopts} +} + +src_install() { + # parallel make install fails + emake -j1 DESTDIR="${D}" install || die + find "${ED}" -name '*.la' -exec rm -f {} + + dodoc AUTHORS ChangeLog NEWS README || die +} diff --git a/x11-libs/cairo/cairo-1.12.2-r1.ebuild b/x11-libs/cairo/cairo-1.12.2-r1.ebuild new file mode 100644 index 0000000..5b003b4 --- /dev/null +++ b/x11-libs/cairo/cairo-1.12.2-r1.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +EGIT_REPO_URI="git://anongit.freedesktop.org/git/cairo" +[[ ${PV} == *9999 ]] && GIT_ECLASS="git-2" + +inherit eutils flag-o-matic autotools ${GIT_ECLASS} + +DESCRIPTION="A vector graphics library with cross-device output support" +HOMEPAGE="http://cairographics.org/" +[[ ${PV} == *9999 ]] || SRC_URI="http://cairographics.org/releases/${P}.tar.xz" + +LICENSE="|| ( LGPL-2.1 MPL-1.1 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="X aqua debug directfb doc drm gallium +glib opengl openvg qt4 static-libs +svg xcb" + +# Test causes a circular depend on gtk+... since gtk+ needs cairo but test needs gtk+ so we need to block it +RESTRICT="test" + +RDEPEND="media-libs/fontconfig + media-libs/freetype:2 + media-libs/libpng:0 + sys-libs/zlib + >=x11-libs/pixman-0.18.4 + directfb? ( dev-libs/DirectFB ) + glib? ( >=dev-libs/glib-2.28.6:2 ) + opengl? ( virtual/opengl ) + openvg? ( media-libs/mesa[openvg] ) + qt4? ( >=x11-libs/qt-gui-4.8:4 ) + svg? ( dev-libs/libxml2 ) + X? ( + >=x11-libs/libXrender-0.6 + x11-libs/libXext + x11-libs/libX11 + x11-libs/libXft + drm? ( + >=sys-fs/udev-136 + gallium? ( media-libs/mesa[gallium] ) + ) + ) + xcb? ( + x11-libs/libxcb + x11-libs/xcb-util + )" +DEPEND="${RDEPEND} + virtual/pkgconfig + >=sys-devel/libtool-2 + doc? ( + >=dev-util/gtk-doc-1.6 + ~app-text/docbook-xml-dtd-4.2 + ) + X? ( + x11-proto/renderproto + drm? ( + x11-proto/xproto + >=x11-proto/xextproto-7.1 + ) + )" + +# drm module requires X +# for gallium we need to enable drm +REQUIRED_USE=" + drm? ( X ) + gallium? ( drm ) +" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-respect-fontconfig.patch + epatch "${FILESDIR}"/${PN}-1.8.8-interix.patch + epatch "${FILESDIR}"/${PN}-1.10.2-qt-surface.patch + + # Slightly messed build system YAY + if [[ ${PV} == *9999* ]]; then + touch boilerplate/Makefile.am.features + touch src/Makefile.am.features + touch ChangeLog + fi + + # We need to run elibtoolize to ensure correct so versioning on FreeBSD + # upgraded to an eautoreconf for the above interix patch. + eautoreconf +} + +src_configure() { + local myopts + + # SuperH doesn't have native atomics yet + use sh && myopts+=" --disable-atomic" + + [[ ${CHOST} == *-interix* ]] && append-flags -D_REENTRANT + # http://bugs.freedesktop.org/show_bug.cgi?id=15463 + [[ ${CHOST} == *-solaris* ]] && append-flags -D_POSIX_PTHREAD_SEMANTICS + + #gets rid of fbmmx.c inlining warnings + append-flags -finline-limit=1200 + + use X && myopts+=" --enable-tee=yes" + + use elibc_FreeBSD && myopts+=" --disable-symbol-lookup" + + # --disable-xcb-lib: + # do not override good xlib backed by hardforcing rendering over xcb + econf \ + --disable-dependency-tracking \ + $(use_with X x) \ + $(use_enable X xlib) \ + $(use_enable X xlib-xrender) \ + $(use_enable aqua quartz) \ + $(use_enable aqua quartz-image) \ + $(use_enable debug test-surfaces) \ + $(use_enable directfb) \ + $(use_enable glib gobject) \ + $(use_enable doc gtk-doc) \ + $(use_enable openvg vg) \ + $(use_enable opengl gl) \ + $(use_enable qt4 qt) \ + $(use_enable static-libs static) \ + $(use_enable svg) \ + $(use_enable xcb) \ + $(use_enable xcb xcb-shm) \ + $(use_enable drm) \ + $(use_enable gallium) \ + --enable-ft \ + --enable-pdf \ + --enable-png \ + --enable-ps \ + --disable-xlib-xcb \ + ${myopts} +} + +src_install() { + # parallel make install fails + emake -j1 DESTDIR="${D}" install + find "${ED}" -name '*.la' -exec rm -f {} + + dodoc AUTHORS ChangeLog NEWS README +} 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 new file mode 100644 index 0000000..a58c2f8 --- /dev/null +++ b/x11-libs/cairo/files/cairo-1.10.0-buggy_gradients.patch @@ -0,0 +1,17 @@ +http://repos.archlinux.org/wsvn/packages/cairo/trunk/cairo-1.10.0-buggy_gradients.patch +http://bugs.gentoo.org/336696 + +--- src/cairo-xlib-display.c ++++ src/cairo-xlib-display.c +@@ -353,11 +353,7 @@ + /* Prior to Render 0.10, there is no protocol support for gradients and + * we call function stubs instead, which would silently consume the drawing. + */ +-#if RENDER_MAJOR == 0 && RENDER_MINOR < 10 + display->buggy_gradients = TRUE; +-#else +- display->buggy_gradients = FALSE; +-#endif + display->buggy_pad_reflect = FALSE; + display->buggy_repeat = FALSE; + diff --git a/x11-libs/cairo/files/cairo-1.10.2-interix.patch b/x11-libs/cairo/files/cairo-1.10.2-interix.patch new file mode 100644 index 0000000..3333e3e --- /dev/null +++ b/x11-libs/cairo/files/cairo-1.10.2-interix.patch @@ -0,0 +1,36 @@ +commit 95f6f7a174ca096a3d3dbe84ff220d166d1e2baa +Author: Uli Schlachter <psychon@znc.in> +Date: Fri Oct 22 11:54:57 2010 +0200 + + Make both versions of _cairo_lround consistent again + + Commit c0008242b0f made cairo use libm's lround instead of its own _cairo_lround + by default. However, since commit ce58f874 from 2006, _cairo_lround does + arithmetic rounding instead of away-from-zero rounding (before said commit, it + was using baker's rounding). + + So to make the rounding of _cairo_lround be independent from + DISABLE_SOME_FLOATING_POINT, we have to use another function. Turns out that + _cairo_round already does the same thing that _cairo_lround does. Their only + difference is the return type. + + Signed-off-by: Uli Schlachter <psychon@znc.in> + Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> + +diff --git a/src/cairoint.h b/src/cairoint.h +index 53c87e5..539d92e 100644 +--- a/src/cairoint.h ++++ b/src/cairoint.h +@@ -968,7 +968,11 @@ _cairo_round (double r) + cairo_private int + _cairo_lround (double d) cairo_const; + #else +-#define _cairo_lround lround ++static inline int cairo_const ++_cairo_lround (double r) ++{ ++ return _cairo_round (r); ++} + #endif + + cairo_private uint16_t 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 new file mode 100644 index 0000000..cf0b57a --- /dev/null +++ b/x11-libs/cairo/files/cairo-1.10.2-qt-surface.patch @@ -0,0 +1,55 @@ +diff -ruN cairo-1.10.2-0-vanilla/src/cairo-qt-surface.cpp cairo-1.10.2/src/cairo-qt-surface.cpp +--- cairo-1.10.2-0-vanilla/src/cairo-qt-surface.cpp 2010-12-25 15:21:34.000000000 +0100 ++++ cairo-1.10.2/src/cairo-qt-surface.cpp 2011-12-20 22:59:30.000000000 +0100 +@@ -61,7 +61,9 @@ + #include <QtGui/QX11Info> + #include <QtCore/QVarLengthArray> + +-#if (QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)) || defined(QT_GLYPHS_API_BACKPORT) ++#if (QT_VERSION >= QT_VERSION_CHECK(4, 8, 0)) ++#include <QtGui/QGlyphRun> ++#elif (QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)) || defined(QT_GLYPHS_API_BACKPORT) + extern void qt_draw_glyphs(QPainter *, const quint32 *glyphs, const QPointF *positions, int count); + #endif + +@@ -1370,7 +1372,39 @@ + cairo_clip_t *clip, + int *remaining_glyphs) + { +-#if (QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)) || defined(QT_GLYPHS_API_BACKPORT) ++#if (QT_VERSION >= QT_VERSION_CHECK(4, 8, 0)) && !defined(QT_NO_RAWFONT) ++ cairo_qt_surface_t *qs = (cairo_qt_surface_t *) abstract_surface; ++ ++ // pick out the colour to use from the cairo source ++ cairo_solid_pattern_t *solid = (cairo_solid_pattern_t*) source; ++ // documentation says you have to freeze the cache, but I don't believe it ++ _cairo_scaled_font_freeze_cache(scaled_font); ++ ++ QColor tempColour(solid->color.red * 255, solid->color.green * 255, solid->color.blue * 255); ++ QVector<QPointF> positions(num_glyphs); ++ QVector<unsigned int> glyphss(num_glyphs); ++ FT_Face face = cairo_ft_scaled_font_lock_face (scaled_font); ++ const FT_Size_Metrics& ftMetrics = face->size->metrics; ++ QFont font(face->family_name); ++ font.setStyleStrategy(QFont::NoFontMerging); ++ font.setBold(face->style_flags & FT_STYLE_FLAG_BOLD); ++ font.setItalic(face->style_flags & FT_STYLE_FLAG_ITALIC); ++ font.setKerning(face->face_flags & FT_FACE_FLAG_KERNING); ++ font.setPixelSize(ftMetrics.y_ppem); ++ cairo_ft_scaled_font_unlock_face(scaled_font); ++ qs->p->setFont(font); ++ qs->p->setPen(tempColour); ++ for (int currentGlyph = 0; currentGlyph < num_glyphs; currentGlyph++) { ++ positions.append(QPointF(glyphs[currentGlyph].x, glyphs[currentGlyph].y)); ++ glyphss.append(glyphs[currentGlyph].index); ++ } ++ QGlyphRun qglyphs; ++ qglyphs.setGlyphIndexes(glyphss); ++ qglyphs.setPositions(positions); ++ qs->p->drawGlyphRun(QPointF(), qglyphs); ++ _cairo_scaled_font_thaw_cache(scaled_font); ++ return CAIRO_INT_STATUS_SUCCESS; ++#elif (QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)) || defined(QT_GLYPHS_API_BACKPORT) + cairo_qt_surface_t *qs = (cairo_qt_surface_t *) abstract_surface; + + // pick out the colour to use from the cairo source diff --git a/x11-libs/cairo/files/cairo-1.10.2-ubuntu.patch b/x11-libs/cairo/files/cairo-1.10.2-ubuntu.patch new file mode 100644 index 0000000..751bbd4 --- /dev/null +++ b/x11-libs/cairo/files/cairo-1.10.2-ubuntu.patch @@ -0,0 +1,53 @@ +--- cairo.orig/build/configure.ac.features 2010-12-28 14:41:21.487225155 +0100 ++++ cairo/build/configure.ac.features 2010-12-28 14:42:06.166239606 +0100 +@@ -407,6 +407,7 @@ + echo "The following features and utilities:" + echo " cairo-trace: $use_trace" + echo " cairo-script-interpreter: $use_interpreter" ++ echo " cairo-perf-utils: $use_perf_utils" + echo "" + echo "And the following internal features:" + echo " pthread: $use_pthread" +--- cairo.orig/configure.ac 2010-12-28 14:43:02.291226995 +0100 ++++ cairo/configure.ac 2010-12-28 14:43:18.191141863 +0100 +@@ -10,6 +10,7 @@ + AC_CONFIG_SRCDIR(src/cairo.h) + AC_CONFIG_HEADERS(config.h) + AM_INIT_AUTOMAKE([1.9.6 gnu -Wall no-define]) ++AM_MAINTAINER_MODE + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + AC_LIBTOOL_WIN32_DLL dnl Must be called before AC_PROG_LIBTOOL + AC_PROG_LIBTOOL dnl ([1.4]) Don't remove! +@@ -796,6 +796,11 @@ + PKG_CHECK_MODULES(gtk, "gtk+-2.0",have_gtk=yes, have_gtk=no) + AM_CONDITIONAL(HAVE_GTK, test "x$have_gtk" = "xyes") + ++dnl =========================================================================== ++ ++CAIRO_ENABLE(perf_utils, cairo-perf-utils, no, [use_perf_utils=yes]) ++ ++ + AC_CONFIG_FILES([ + Makefile + boilerplate/Makefile +--- cairo.orig/perf/Makefile.am 2010-06-18 13:47:11.000000000 +0200 ++++ cairo/perf/Makefile.am 2010-12-28 14:42:06.162226875 +0100 +@@ -10,6 +10,18 @@ + + AM_LDFLAGS = $(CAIRO_LDFLAGS) + ++if CAIRO_HAS_PERF_UTILS ++bin_PROGRAMS = cairo-perf-micro \ ++ cairo-perf-trace \ ++ cairo-perf-diff-files \ ++ cairo-perf-print \ ++ cairo-perf-chart \ ++ cairo-perf-compare-backends ++if HAVE_GTK ++bin_PROGRAMS += cairo-perf-graph-files ++endif ++endif ++ + EXTRA_PROGRAMS += cairo-perf-micro \ + cairo-perf-trace \ + cairo-perf-diff-files \ diff --git a/x11-libs/cairo/files/cairo-1.8.8-interix.patch b/x11-libs/cairo/files/cairo-1.8.8-interix.patch new file mode 100644 index 0000000..dc20714 --- /dev/null +++ b/x11-libs/cairo/files/cairo-1.8.8-interix.patch @@ -0,0 +1,16 @@ +diff -ru cairo-1.8.8.orig/build/configure.ac.tools cairo-1.8.8/build/configure.ac.tools +--- cairo-1.8.8.orig/build/configure.ac.tools 2009-09-30 13:36:42 +0200 ++++ cairo-1.8.8/build/configure.ac.tools 2009-09-30 13:50:50 +0200 +@@ -21,5 +21,12 @@ + *) PKGCONFIG_REQUIRES="Requires.private"; ;; + esac + ++dnl hmm... on interix, things go really bad with Requires.private, since libpng12 ++dnl is missing on the final link commands, so gtk+'s configure checks for cairo ++dnl fail miserably with unresolved symbols to it. ++case "$host_os" in ++interix*) PKGCONFIG_REQUIRES="Requires" ;; ++esac ++ + AC_SUBST(PKGCONFIG_REQUIRES) + diff --git a/x11-libs/cairo/files/cairo-respect-fontconfig.patch b/x11-libs/cairo/files/cairo-respect-fontconfig.patch new file mode 100644 index 0000000..b0a1b29 --- /dev/null +++ b/x11-libs/cairo/files/cairo-respect-fontconfig.patch @@ -0,0 +1,13 @@ +--- cairo-1.7.6-orig/src/cairo-ft-font.c 2008-09-29 21:43:13.000000000 +0100 ++++ cairo-1.7.6/src/cairo-ft-font.c 2008-09-29 21:52:19.000000000 +0100 +@@ -1705,7 +1705,9 @@ + options->base.subpixel_order = other->base.subpixel_order; + } + +- if (options->base.hint_style == CAIRO_HINT_STYLE_DEFAULT) ++ options->base.hint_style = CAIRO_HINT_STYLE_DEFAULT; ++ ++ if (other->base.hint_style != CAIRO_HINT_STYLE_DEFAULT) + options->base.hint_style = other->base.hint_style; + + if (other->base.hint_style == CAIRO_HINT_STYLE_NONE) |