diff options
author | Alex Alexander <wired@gentoo.org> | 2012-01-29 15:53:24 +0000 |
---|---|---|
committer | Alex Alexander <wired@gentoo.org> | 2012-01-29 15:53:24 +0000 |
commit | 722bda625b777ab42798110c3e40527f5c38f25d (patch) | |
tree | 4cf2462ada9cfcc00eb66d3bf5ad685e6c42d5b8 /x11-libs/cairo | |
parent | masked new revbump of cairo, will unmask it together with new Qt (diff) | |
download | historical-722bda625b777ab42798110c3e40527f5c38f25d.tar.gz historical-722bda625b777ab42798110c3e40527f5c38f25d.tar.bz2 historical-722bda625b777ab42798110c3e40527f5c38f25d.zip |
revbump with patch for Qt-4.8. bug #380013
Package-Manager: portage-2.2.0_alpha84/cvs/Linux x86_64
Diffstat (limited to 'x11-libs/cairo')
-rw-r--r-- | x11-libs/cairo/ChangeLog | 10 | ||||
-rw-r--r-- | x11-libs/cairo/Manifest | 24 | ||||
-rw-r--r-- | x11-libs/cairo/cairo-1.10.2-r2.ebuild | 159 | ||||
-rw-r--r-- | x11-libs/cairo/files/cairo-1.10.2-qt-surface.patch | 55 |
4 files changed, 239 insertions, 9 deletions
diff --git a/x11-libs/cairo/ChangeLog b/x11-libs/cairo/ChangeLog index d45233b8042a..f67162ac8fa4 100644 --- a/x11-libs/cairo/ChangeLog +++ b/x11-libs/cairo/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for x11-libs/cairo -# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/ChangeLog,v 1.284 2011/08/14 06:48:39 mgorny Exp $ +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/ChangeLog,v 1.285 2012/01/29 15:53:24 wired Exp $ + +*cairo-1.10.2-r2 (29 Jan 2012) + + 29 Jan 2012; Alex Alexander <wired@gentoo.org> +cairo-1.10.2-r2.ebuild, + +files/cairo-1.10.2-qt-surface.patch: + revbump with patch for Qt-4.8. bug #380013 14 Aug 2011; Michał Górny <mgorny@gentoo.org> cairo-9999.ebuild: Remove unnecessary --{en,dis}able-xcb-drm wrt bug #379097. diff --git a/x11-libs/cairo/Manifest b/x11-libs/cairo/Manifest index 57ce13eab6e8..11fbb839512e 100644 --- a/x11-libs/cairo/Manifest +++ b/x11-libs/cairo/Manifest @@ -1,8 +1,9 @@ -----BEGIN PGP SIGNED MESSAGE----- -Hash: SHA256 +Hash: SHA512 AUX cairo-1.10.0-buggy_gradients.patch 581 RMD160 077fb7a18c2840c0d637d2161ca9d244cb69608b SHA1 45f4b6a834cb9f1c153f092fba18416d257d71c7 SHA256 3b622bb250b996ea5f5adc5c899af343e0efba5c477fa0e51fdbb720a8dd1b18 AUX cairo-1.10.2-interix.patch 1235 RMD160 83803df650e8381649b11bd3c81dd0c6ee5f8e53 SHA1 d6b731fc8aa0c9461e62a9afc1431782d3af433b SHA256 d915d69e2eb96f6a4bef1de0c493ed9face7b5d6a79194ab9f2a7f3d85b799ea +AUX cairo-1.10.2-qt-surface.patch 2687 RMD160 9ffc2924070a7dfa917a2b05b11de1fcca571dab SHA1 6ce6a6047d6f8420ea3044d036e7d10c6ac98c61 SHA256 fb96199ec7a4cf8527726be8d0333ed883183b56960832218eca1c9ef2e05dbd AUX cairo-1.2.4-lcd-cleartype-like.diff 7244 RMD160 e50d5bf17cbead688a8b808a78fe4104c09af52e SHA1 f63131fd75bb496db59e3ce6bc755bbfb70baacb SHA256 4926d20d2b6b5071a5bf9ee9a12a36fef69510ebebd717c1dab151fe650f173a AUX cairo-1.8.10-libpng14.patch 426 RMD160 f97e4f2d1e65e2c6a90c5fddbce66caeb4337bba SHA1 bb029f710432af7b24175aa941fc7cd3187ef767 SHA256 b090f829d3b9fb69b83bfa094552335b8382988d60ce7e46558c4069b8bca532 AUX cairo-1.8.8-interix.patch 619 RMD160 9bb28c5a88aa1f2776d32ac7020aef4ba93872b5 SHA1 857a4d2be0118a6d2d0d80388b5963a5f768341d SHA256 505be82a1a0b7f963cb49ff85ecf1fa1389a4e43621df76b91fc1529616b2299 @@ -10,16 +11,25 @@ DIST cairo-1.10.2.tar.gz 23558405 RMD160 8c8de00120398fe2b3a60a08ff59a464b2eebf4 DIST cairo-1.8-lcd_filter.patch.bz2 7067 RMD160 5c2ee470022788df88425da24cebea3baed69298 SHA1 9202c14967a633a9e57dd203695896d0197fea8b SHA256 6965d46df45d8382d122170a0f1dfaeb25bd68adc998b42f62397123e5795d1d DIST cairo-1.8.10.tar.gz 7102657 RMD160 9538baf30f812b950beeb93893f46d1223fb44ce SHA1 fd5e8ca82ff0e8542ea4c51612cad387f2a49df3 SHA256 572bada15596ec8708392db1af8b93a1af75ca47690348154e2841f3a6f08439 EBUILD cairo-1.10.2-r1.ebuild 4143 RMD160 a133b34322130bcc37bf24dcc47d4d0f2ee53586 SHA1 df64a3fe568a9c799927af4c47846bf4e833461c SHA256 0d23e478717f6221da9ede8781815e6d4c95520ecf514d2aba62c076b4238278 +EBUILD cairo-1.10.2-r2.ebuild 4197 RMD160 3fd25943fc8b1405ff243d00e532c22da79bf267 SHA1 9ce860a71fd906ce07f8b0fb7c378055dc8acb06 SHA256 64959f442d5a8578d86dc1ab3a981cca2e61bbdf44c7d8424cdc08d64cada514 EBUILD cairo-1.8.10.ebuild 3451 RMD160 c9205d9e45a024a67c3a7acb247a4f6feb21f4e2 SHA1 84ca8d3e011c476dc899e7f850d6885277643d15 SHA256 0fd58c9f5c9255f94864d9b137d6b4d940281d088a2f4f498a6b1495daca438c EBUILD cairo-9999.ebuild 3631 RMD160 ac3d210f7bd2ec6f74762bfd76ae5a0adad5474e SHA1 46ca6078237a8e1396d3ec15665b0b42554224db SHA256 f5ab90012d7fd824c4e22b9487f42e5711b8f07f074f8c0f0a260d5c14f14d2f -MISC ChangeLog 39980 RMD160 dd15ed7dc4ff99a8adc340cadc94b490f219d224 SHA1 19a906e522dfdebb7d2a117df87c343f755234dd SHA256 e7fa77e741d94068bfa1028c20b07728fc770373a4e38a31af90fabe89f09893 +MISC ChangeLog 40171 RMD160 896ee9748775453f90d856de533af0d7f143e00c SHA1 9b76d51e5baaee4aa4ca1ad4538a78bbc51413b5 SHA256 1bb3ecd93c86b03b9936e0a4ccb172fbd9462533195c7a0ffd624d8f102b95e7 MISC metadata.xml 998 RMD160 2a4f5df13bc9d39c91e12e80924465450d758e32 SHA1 f4e943a00531a6f6a5ca2945a05ab95233b63e3b SHA256 325e1f55131748f3840ed1cfec421fe27aa6a621568135e4f6ce1d517b5d3cd8 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) -iJwEAQEIAAYFAk5HcC0ACgkQfXuS5UK5QB00FAQAq8OxZXOeEquXpN6SJtNRmHbb -anH8wIDM2AhAfP5bAMeatpoOav8bdSyco4FcTXR8g7WwPVcpoHovb3srszgd9re4 -cCFbLbNX4zRNz6V9Y7+AnUWnfyxYLqH2nQg0ndgod1/tZUG+3JllMOxfC4qA5jd2 -W1PpSxqqJnxgzXiJvjo= -=EbGU +iQIcBAEBCgAGBQJPJWwbAAoJEDZF8K7rm0r68+cP/j8XQ5NJP9T4EKLql+HQMTRe +CkMhuOZm2LkPcAwNrfA7q1gAIU6GGPKCRhfMz4HDhkhEqyLjZR5CBlbkiVIZN74y +yvzWMDTtVIHEojebO622vvXO2BFHpgqTTkucn99wVyFyDSoXGxChTp5JFiwlCsBQ +SXLdTabY+YXMdE8J2NnetDM0i5j0mqawtGtjp+iKwS3M2ogF9k2SJsglhNyOfkyW +AACCNvLyMKRf6SRK7MkD9tV9YQa5O/ZMXqgjSBv5hqw4z/p8lHa5dPDi85lK10Ks +eaUc408TXHQJTfJvNs0BAiQ4bl6GgZmzVLSfRQ7MxPDhvc+iOIz8QkswWeeLH160 +WCa/4qz+AgoAZPsxIVJzrtrXlA8qS8y+uzTWPypxflglmZeWzZdyYItKXj5xznvE +GOfRPFZ/jEW2/SL5+nPqkMTo9k3neIB3gvt99syWWJa+VbVETjSptANObZlbOKs2 +8yTmH6kKrGbDRUTUXVR+DWeV9s/aBw271+NWZxL9+4iuDmew96NhFKmqLCgDk3IY +3kKdeBQ5mdTecWc3LR2MD+h/JZwgP68CVzwdHV9MONyil8bztcweiy/TC5nxgquu +5Wv7MMwYRKIMOzkai9QMtH1+zccKLNv6wDobv4VFbiY9U0Tdiede1gA24ZxL+O4Y +7Tz3w6BimoXMWExUJ6Vd +=B3J2 -----END PGP SIGNATURE----- diff --git a/x11-libs/cairo/cairo-1.10.2-r2.ebuild b/x11-libs/cairo/cairo-1.10.2-r2.ebuild new file mode 100644 index 000000000000..476536c0a9c8 --- /dev/null +++ b/x11-libs/cairo/cairo-1.10.2-r2.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/cairo-1.10.2-r2.ebuild,v 1.1 2012/01/29 15:53:24 wired Exp $ + +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="~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" +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 ) + opengl? ( virtual/opengl ) + openvg? ( media-libs/mesa[gallium] ) + qt4? ( >=x11-libs/qt-gui-4.4: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} + dev-util/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}"/${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 + + # --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/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 000000000000..cf0b57a1c252 --- /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 |