summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2010-09-10 09:47:46 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2010-09-10 09:47:46 +0000
commit66860891a989d15de8353cfe38f21edb34dd3e3e (patch)
tree59bdb7bcee7c459e0434c5411cf039a949fe0c81 /x11-libs
parentVersion bump (diff)
downloadhistorical-66860891a989d15de8353cfe38f21edb34dd3e3e.tar.gz
historical-66860891a989d15de8353cfe38f21edb34dd3e3e.tar.bz2
historical-66860891a989d15de8353cfe38f21edb34dd3e3e.zip
Do not use server-side gradients. It hurts performance, and causes bad rendering on at least nvidia. Bug 336696.
Package-Manager: portage-2.2_rc78/cvs/Linux x86_64
Diffstat (limited to 'x11-libs')
-rw-r--r--x11-libs/cairo/ChangeLog9
-rw-r--r--x11-libs/cairo/Manifest4
-rw-r--r--x11-libs/cairo/cairo-1.10.0-r2.ebuild147
-rw-r--r--x11-libs/cairo/files/cairo-1.10.0-buggy_gradients.patch16
4 files changed, 174 insertions, 2 deletions
diff --git a/x11-libs/cairo/ChangeLog b/x11-libs/cairo/ChangeLog
index 0dafa8c74030..56a815008337 100644
--- a/x11-libs/cairo/ChangeLog
+++ b/x11-libs/cairo/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for x11-libs/cairo
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/ChangeLog,v 1.259 2010/09/09 20:24:27 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/ChangeLog,v 1.260 2010/09/10 09:47:45 ssuominen Exp $
+
+*cairo-1.10.0-r2 (10 Sep 2010)
+
+ 10 Sep 2010; Samuli Suominen <ssuominen@gentoo.org>
+ +cairo-1.10.0-r2.ebuild, +files/cairo-1.10.0-buggy_gradients.patch:
+ Do not use server-side gradients. It hurts performance, and causes bad
+ rendering on at least nvidia. Bug 336696.
09 Sep 2010; Tomáš Chvátal <scarabeus@gentoo.org> metadata.xml:
Drop unused local use desc.
diff --git a/x11-libs/cairo/Manifest b/x11-libs/cairo/Manifest
index 5c6ceeb7e1bf..657b6ac2c9a5 100644
--- a/x11-libs/cairo/Manifest
+++ b/x11-libs/cairo/Manifest
@@ -1,3 +1,4 @@
+AUX cairo-1.10.0-buggy_gradients.patch 595 RMD160 431b0172cbaa8b5aef1182667648c8bfca41a6b7 SHA1 068ef7f9a64dea084152dc02e1de0707d847bedb SHA256 d1e45d791f1546b3b82c3f95e54f95a2a96647e4b536f7a957b9b7e7a47d30d3
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
@@ -7,9 +8,10 @@ DIST cairo-1.8-lcd_filter.patch.bz2 7067 RMD160 5c2ee470022788df88425da24cebea3b
DIST cairo-1.8.10.tar.gz 7102657 RMD160 9538baf30f812b950beeb93893f46d1223fb44ce SHA1 fd5e8ca82ff0e8542ea4c51612cad387f2a49df3 SHA256 572bada15596ec8708392db1af8b93a1af75ca47690348154e2841f3a6f08439
DIST cairo-1.8.8.tar.gz 6646082 RMD160 78af536ebaaffc608114b626b22fc9a20cff3750 SHA1 e4b8b219427d1ca3dc95f5f44914dce1ae0c3766 SHA256 3c51d3de5dc4596e01a6675acd3c86c2c99c00f02e8fad5493758a29fe451c90
EBUILD cairo-1.10.0-r1.ebuild 3779 RMD160 9081d0f735f929ab601643a6b23a40e79ca34b23 SHA1 708243e958ea8c03bf1e15d10a54d07c44303c20 SHA256 7fad7be4f8e78e59f8424cec023312bafcd059f85a7660d9c06c3ad2a219fe84
+EBUILD cairo-1.10.0-r2.ebuild 3847 RMD160 cc55c71e71d01a8b410ba7b878ec9bc15bfd01b3 SHA1 ec9b48d9181ec4824aa4f5a1f2c8eb582e19ddde SHA256 1cb2595ea70de114683822266694867e68a74c316f36404e783cbc50e07be2f7
EBUILD cairo-1.8.10.ebuild 3586 RMD160 2b7d00410f705027e45aeba848d72a15c728a727 SHA1 fd90d5e499e57fecf6ae5a68754e49810204d128 SHA256 a122307a37eba3abff7fb58676255800918b7d89404ad1bf67d4d89c974f6fbd
EBUILD cairo-1.8.8-r1.ebuild 3579 RMD160 a0bbaa9a2748d30bc408ad06b55d20ffdb3bb1be SHA1 ec55a981033137daf85a1c78ba16b3bdef23b7e4 SHA256 859054fa4543bc0d6fd0069f227c270cd7c505dafee3e20e85d25857ccbbf2aa
EBUILD cairo-1.8.8.ebuild 3268 RMD160 93e9229cfa92173c2941f22a59960b52f3841cbc SHA1 f505952d4df79f73f95e90c0415c1bd58f51df10 SHA256 c50936f777d7a29b223ed4f80e192e11759c6a0f35779e2eaaa18aa9bbf89bbc
EBUILD cairo-9999.ebuild 3774 RMD160 71e914b204c111ffc3b318714678d4c0f827c242 SHA1 ffcee912331485391734389e52f21243d8667401 SHA256 b3a82b1a97b9a199a3167a3c81ff36a8793493fafa3e77d40104368518ff1bc2
-MISC ChangeLog 36197 RMD160 d382a80092323dc0a260490a2d258175eb6f6cb5 SHA1 6f066ad605a1bd0abdca858bb2aa827648bbf587 SHA256 3701f31dfe72505478277ecb49f523c0cf7403fb9b8c41da75f53dec7e48378e
+MISC ChangeLog 36471 RMD160 6ee66b58dcc57214ea8b38990206528794b79f19 SHA1 725f807dc08e601d0ca1d7ec02e0ac4cb6d8653b SHA256 25b74d262e607e18a28b48a02ed8fac7728a31fb436fcc4a73f2afe8b7fd0342
MISC metadata.xml 1225 RMD160 0bcce59c006a84503e127b87439a006ce5b8b72d SHA1 67211092fe3e250141cd18bb38c29065025d4325 SHA256 3dc2eab1d6ee36a322501d54ba49e87b7d56c85ca8ae4c7edae2ce30014a7dc1
diff --git a/x11-libs/cairo/cairo-1.10.0-r2.ebuild b/x11-libs/cairo/cairo-1.10.0-r2.ebuild
new file mode 100644
index 000000000000..912b9b857915
--- /dev/null
+++ b/x11-libs/cairo/cairo-1.10.0-r2.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/cairo-1.10.0-r2.ebuild,v 1.1 2010/09/10 09:47:45 ssuominen 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 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 )
+ opengl? ( virtual/opengl )
+ 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 #336696
+
+ # 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
+
+ [[ ${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
+
+ if use X; then
+ myopts+="
+ $(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 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 "Installation failed"
+ dodoc AUTHORS ChangeLog NEWS README || die
+
+ use static-libs || find "${D}" -type f -name '*.la' -exec rm -f '{}' \;
+}
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 000000000000..db1bb4c92ac6
--- /dev/null
+++ b/x11-libs/cairo/files/cairo-1.10.0-buggy_gradients.patch
@@ -0,0 +1,16 @@
+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;