diff options
author | Samuli Suominen <ssuominen@gentoo.org> | 2010-09-10 09:47:46 +0000 |
---|---|---|
committer | Samuli Suominen <ssuominen@gentoo.org> | 2010-09-10 09:47:46 +0000 |
commit | 66860891a989d15de8353cfe38f21edb34dd3e3e (patch) | |
tree | 59bdb7bcee7c459e0434c5411cf039a949fe0c81 /x11-libs | |
parent | Version bump (diff) | |
download | historical-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/ChangeLog | 9 | ||||
-rw-r--r-- | x11-libs/cairo/Manifest | 4 | ||||
-rw-r--r-- | x11-libs/cairo/cairo-1.10.0-r2.ebuild | 147 | ||||
-rw-r--r-- | x11-libs/cairo/files/cairo-1.10.0-buggy_gradients.patch | 16 |
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;
|