diff options
author | Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org> | 2013-01-31 13:35:51 +0000 |
---|---|---|
committer | Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org> | 2013-01-31 13:35:51 +0000 |
commit | 9c57f1b7abf56ce46f07bb7f2d7bac89c4ae75fb (patch) | |
tree | 7f9e63a6fc97444e0e13d6f92b3a5e2de13340a6 /x11-libs | |
parent | Initial commit. Ebuild based on the one by Wang Jiajun in gentoo-zh overlay. (diff) | |
download | gentoo-2-9c57f1b7abf56ce46f07bb7f2d7bac89c4ae75fb.tar.gz gentoo-2-9c57f1b7abf56ce46f07bb7f2d7bac89c4ae75fb.tar.bz2 gentoo-2-9c57f1b7abf56ce46f07bb7f2d7bac89c4ae75fb.zip |
Add patch to fix graphics corruption, bug #454468.
(Portage version: 2.1.11.31/cvs/Linux x86_64, unsigned Manifest commit)
Diffstat (limited to 'x11-libs')
-rw-r--r-- | x11-libs/cairo/ChangeLog | 16 | ||||
-rw-r--r-- | x11-libs/cairo/cairo-1.10.2-r2.ebuild | 162 | ||||
-rw-r--r-- | x11-libs/cairo/cairo-1.12.10-r2.ebuild (renamed from x11-libs/cairo/cairo-1.12.10-r1.ebuild) | 3 | ||||
-rw-r--r-- | x11-libs/cairo/cairo-1.12.2-r2.ebuild | 142 | ||||
-rw-r--r-- | x11-libs/cairo/cairo-1.12.2-r3.ebuild | 143 | ||||
-rw-r--r-- | x11-libs/cairo/cairo-1.12.2-r4.ebuild | 146 | ||||
-rw-r--r-- | x11-libs/cairo/cairo-1.12.6.ebuild | 143 | ||||
-rw-r--r-- | x11-libs/cairo/cairo-1.8.10.ebuild | 102 | ||||
-rw-r--r-- | x11-libs/cairo/files/cairo-1.12.10-xshm-corruption.patch | 28 | ||||
-rw-r--r-- | x11-libs/cairo/files/cairo-1.12.2-fdr-nodl.patch | 19 | ||||
-rw-r--r-- | x11-libs/cairo/files/cairo-1.12.2-sphinx-nodl.patch | 22 | ||||
-rw-r--r-- | x11-libs/cairo/files/cairo-1.12.2-surfaceless-extension.patch | 37 | ||||
-rw-r--r-- | x11-libs/cairo/files/cairo-1.2.4-lcd-cleartype-like.diff | 275 | ||||
-rw-r--r-- | x11-libs/cairo/files/cairo-1.8.10-libpng14.patch | 11 | ||||
-rw-r--r-- | x11-libs/cairo/metadata.xml | 5 |
15 files changed, 45 insertions, 1209 deletions
diff --git a/x11-libs/cairo/ChangeLog b/x11-libs/cairo/ChangeLog index 9a8ebd53640c..021a8d0edac5 100644 --- a/x11-libs/cairo/ChangeLog +++ b/x11-libs/cairo/ChangeLog @@ -1,6 +1,20 @@ # ChangeLog for x11-libs/cairo # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/ChangeLog,v 1.324 2013/01/27 11:20:15 chithanh Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/ChangeLog,v 1.325 2013/01/31 13:35:51 chithanh Exp $ + +*cairo-1.12.10-r2 (31 Jan 2013) + + 31 Jan 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org> + +cairo-1.12.10-r2.ebuild, +files/cairo-1.12.10-xshm-corruption.patch, + -cairo-1.10.2-r2.ebuild, -cairo-1.12.10-r1.ebuild, -cairo-1.12.2-r2.ebuild, + -cairo-1.12.2-r3.ebuild, -cairo-1.12.2-r4.ebuild, -cairo-1.12.6.ebuild, + -cairo-1.8.10.ebuild, -files/cairo-1.12.2-fdr-nodl.patch, + -files/cairo-1.12.2-sphinx-nodl.patch, + -files/cairo-1.12.2-surfaceless-extension.patch, + -files/cairo-1.2.4-lcd-cleartype-like.diff, + -files/cairo-1.8.10-libpng14.patch, files/cairo-1.8.8-interix.patch, + metadata.xml: + Add patch to fix graphics corruption, bug #454468. *cairo-1.12.10-r1 (27 Jan 2013) diff --git a/x11-libs/cairo/cairo-1.10.2-r2.ebuild b/x11-libs/cairo/cairo-1.10.2-r2.ebuild deleted file mode 100644 index 5440fad5d0a6..000000000000 --- a/x11-libs/cairo/cairo-1.10.2-r2.ebuild +++ /dev/null @@ -1,162 +0,0 @@ -# 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.14 2012/11/28 10:27:31 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 ~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 ) - 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? ( - >=virtual/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}"/${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 - epatch_user - - # 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.10-r1.ebuild b/x11-libs/cairo/cairo-1.12.10-r2.ebuild index 2f9d968091b7..cbf04af0af83 100644 --- a/x11-libs/cairo/cairo-1.12.10-r1.ebuild +++ b/x11-libs/cairo/cairo-1.12.10-r2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/cairo-1.12.10-r1.ebuild,v 1.1 2013/01/27 11:20:15 chithanh Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/cairo-1.12.10-r2.ebuild,v 1.1 2013/01/31 13:35:51 chithanh Exp $ EAPI=5 @@ -76,6 +76,7 @@ src_prepare() { epatch "${FILESDIR}"/${PN}-1.10.2-qt-surface.patch epatch "${FILESDIR}"/${PN}-respect-fontconfig.patch epatch "${FILESDIR}"/${P}-xlib-corruption.patch + epatch "${FILESDIR}"/${P}-xshm-corruption.patch epatch_user # Slightly messed build system YAY diff --git a/x11-libs/cairo/cairo-1.12.2-r2.ebuild b/x11-libs/cairo/cairo-1.12.2-r2.ebuild deleted file mode 100644 index 724f1c83110c..000000000000 --- a/x11-libs/cairo/cairo-1.12.2-r2.ebuild +++ /dev/null @@ -1,142 +0,0 @@ -# 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.12.2-r2.ebuild,v 1.3 2012/11/28 10:27:31 ssuominen Exp $ - -EAPI=4 - -inherit eutils flag-o-matic autotools - -if [[ ${PV} == *9999* ]]; then - inherit git-2 - EGIT_REPO_URI="git://anongit.freedesktop.org/git/cairo" - SRC_URI="" - KEYWORDS="" -else - SRC_URI="http://cairographics.org/releases/${P}.tar.xz" - 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" -fi - -DESCRIPTION="A vector graphics library with cross-device output support" -HOMEPAGE="http://cairographics.org/" -LICENSE="|| ( LGPL-2.1 MPL-1.1 )" -SLOT="0" -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.22.0 - directfb? ( dev-libs/DirectFB ) - glib? ( >=dev-libs/glib-2.28.6:2 ) - opengl? ( || ( media-libs/mesa[egl] media-libs/opengl-apple ) ) - openvg? ( media-libs/mesa[openvg] ) - qt4? ( >=x11-libs/qt-gui-4.8:4 ) - X? ( - >=x11-libs/libXrender-0.6 - x11-libs/libX11 - drm? ( - >=virtual/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}-1.8.8-interix.patch - epatch "${FILESDIR}"/${PN}-1.10.2-qt-surface.patch - epatch "${FILESDIR}"/${PN}-respect-fontconfig.patch - epatch_user - - # 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/cairo-1.12.2-r3.ebuild b/x11-libs/cairo/cairo-1.12.2-r3.ebuild deleted file mode 100644 index 768a2233972e..000000000000 --- a/x11-libs/cairo/cairo-1.12.2-r3.ebuild +++ /dev/null @@ -1,143 +0,0 @@ -# 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.12.2-r3.ebuild,v 1.3 2012/11/28 10:27:31 ssuominen Exp $ - -EAPI=4 - -inherit eutils flag-o-matic autotools - -if [[ ${PV} == *9999* ]]; then - inherit git-2 - EGIT_REPO_URI="git://anongit.freedesktop.org/git/cairo" - SRC_URI="" - KEYWORDS="" -else - SRC_URI="http://cairographics.org/releases/${P}.tar.xz" - 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" -fi - -DESCRIPTION="A vector graphics library with cross-device output support" -HOMEPAGE="http://cairographics.org/" -LICENSE="|| ( LGPL-2.1 MPL-1.1 )" -SLOT="0" -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.22.0 - directfb? ( dev-libs/DirectFB ) - glib? ( >=dev-libs/glib-2.28.6:2 ) - opengl? ( || ( media-libs/mesa[egl] media-libs/opengl-apple ) ) - openvg? ( media-libs/mesa[openvg] ) - qt4? ( >=x11-libs/qt-gui-4.8:4 ) - X? ( - >=x11-libs/libXrender-0.6 - x11-libs/libX11 - drm? ( - >=virtual/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}-1.8.8-interix.patch - epatch "${FILESDIR}"/${PN}-1.10.0-buggy_gradients.patch - epatch "${FILESDIR}"/${PN}-1.10.2-qt-surface.patch - epatch "${FILESDIR}"/${PN}-respect-fontconfig.patch - epatch_user - - # 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/cairo-1.12.2-r4.ebuild b/x11-libs/cairo/cairo-1.12.2-r4.ebuild deleted file mode 100644 index b5d97d04e522..000000000000 --- a/x11-libs/cairo/cairo-1.12.2-r4.ebuild +++ /dev/null @@ -1,146 +0,0 @@ -# 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.12.2-r4.ebuild,v 1.4 2012/11/28 10:27:31 ssuominen Exp $ - -EAPI=4 - -inherit eutils flag-o-matic autotools - -if [[ ${PV} == *9999* ]]; then - inherit git-2 - EGIT_REPO_URI="git://anongit.freedesktop.org/git/cairo" - SRC_URI="" - KEYWORDS="" -else - SRC_URI="http://cairographics.org/releases/${P}.tar.xz" - 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" -fi - -DESCRIPTION="A vector graphics library with cross-device output support" -HOMEPAGE="http://cairographics.org/" -LICENSE="|| ( LGPL-2.1 MPL-1.1 )" -SLOT="0" -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.22.0 - directfb? ( dev-libs/DirectFB ) - glib? ( >=dev-libs/glib-2.28.6:2 ) - opengl? ( || ( media-libs/mesa[egl] media-libs/opengl-apple ) ) - openvg? ( media-libs/mesa[openvg] ) - qt4? ( >=x11-libs/qt-gui-4.8:4 ) - X? ( - >=x11-libs/libXrender-0.6 - x11-libs/libX11 - drm? ( - >=virtual/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}-1.8.8-interix.patch - epatch "${FILESDIR}"/${PN}-1.10.0-buggy_gradients.patch - epatch "${FILESDIR}"/${PN}-1.10.2-qt-surface.patch - epatch "${FILESDIR}"/${PN}-respect-fontconfig.patch - epatch "${FILESDIR}"/${PN}-1.12.2-surfaceless-extension.patch - epatch "${FILESDIR}"/${PN}-1.12.2-fdr-nodl.patch - epatch "${FILESDIR}"/${PN}-1.12.2-sphinx-nodl.patch - epatch_user - - # 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/cairo-1.12.6.ebuild b/x11-libs/cairo/cairo-1.12.6.ebuild deleted file mode 100644 index ea5a54a50cb7..000000000000 --- a/x11-libs/cairo/cairo-1.12.6.ebuild +++ /dev/null @@ -1,143 +0,0 @@ -# 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.12.6.ebuild,v 1.3 2012/11/28 10:27:31 ssuominen Exp $ - -EAPI=4 - -inherit eutils flag-o-matic autotools - -if [[ ${PV} == *9999* ]]; then - inherit git-2 - EGIT_REPO_URI="git://anongit.freedesktop.org/git/cairo" - SRC_URI="" - KEYWORDS="" -else - SRC_URI="http://cairographics.org/releases/${P}.tar.xz" - 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" -fi - -DESCRIPTION="A vector graphics library with cross-device output support" -HOMEPAGE="http://cairographics.org/" -LICENSE="|| ( LGPL-2.1 MPL-1.1 )" -SLOT="0" -IUSE="X aqua debug directfb doc drm gallium +glib legacy-drivers 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.22.0 - directfb? ( dev-libs/DirectFB ) - glib? ( >=dev-libs/glib-2.28.6:2 ) - opengl? ( || ( media-libs/mesa[egl] media-libs/opengl-apple ) ) - openvg? ( media-libs/mesa[openvg] ) - qt4? ( >=x11-libs/qt-gui-4.8:4 ) - X? ( - >=x11-libs/libXrender-0.6 - x11-libs/libX11 - drm? ( - >=virtual/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}-1.8.8-interix.patch - use legacy-drivers && epatch "${FILESDIR}"/${PN}-1.10.0-buggy_gradients.patch - epatch "${FILESDIR}"/${PN}-1.10.2-qt-surface.patch - epatch "${FILESDIR}"/${PN}-respect-fontconfig.patch - epatch_user - - # 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/cairo-1.8.10.ebuild b/x11-libs/cairo/cairo-1.8.10.ebuild deleted file mode 100644 index 004278b303d7..000000000000 --- a/x11-libs/cairo/cairo-1.8.10.ebuild +++ /dev/null @@ -1,102 +0,0 @@ -# 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.8.10.ebuild,v 1.13 2012/05/05 03:52:24 jdhore Exp $ - -EAPI=2 - -inherit eutils flag-o-matic autotools - -DESCRIPTION="A vector graphics library with cross-device output support" -HOMEPAGE="http://cairographics.org/" -SRC_URI="http://cairographics.org/releases/${P}.tar.gz - mirror://gentoo/${PN}-1.8-lcd_filter.patch.bz2" - -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="aqua cleartype debug directfb doc lcdfilter opengl +svg X 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.1.9 - sys-libs/zlib - >=media-libs/libpng-1.2.43-r2:0 - >=x11-libs/pixman-0.12.0 - directfb? ( >=dev-libs/DirectFB-0.9.24 ) - svg? ( dev-libs/libxml2 ) - X? ( >=x11-libs/libXrender-0.6 - x11-libs/libXext - x11-libs/libX11 - x11-libs/libXft ) - xcb? ( >=x11-libs/libxcb-0.92 - x11-libs/xcb-util )" -# test? ( -# pdf test -# x11-libs/pango -# >=x11-libs/gtk+-2.0 -# >=app-text/poppler-bindings-0.9.2[gtk] -# ps test -# app-text/ghostscript-gpl -# svg test -# >=x11-libs/gtk+-2.0 -# >=gnome-base/librsvg-2.15.0 - -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 )" - -src_prepare() { - if use lcdfilter; then - # LCD filter patch from Ubuntu, taken from: - # http://bazaar.launchpad.net/%7Eubuntu-branches/ubuntu/lucid/cairo/lucid/files/head%3A/debian/patches/ - epatch "${WORKDIR}"/${PN}-1.8-lcd_filter.patch - elif use cleartype; then - # ClearType-like patches applied by ArchLinux - epatch "${FILESDIR}"/${PN}-1.2.4-lcd-cleartype-like.diff - fi - - epatch "${FILESDIR}"/${PN}-1.8.8-interix.patch \ - "${FILESDIR}"/${P}-libpng14.patch - - # We need to run elibtoolize to ensure correct so versioning on FreeBSD - # upgraded to an eautoreconf for the above interix patch. - eautoreconf -} - -src_configure() { - [[ ${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 - - econf $(use_enable X xlib) $(use_enable doc gtk-doc) \ - $(use_enable directfb) $(use_enable xcb) \ - $(use_enable svg) --disable-glitz $(use_enable X xlib-xrender) \ - $(use_enable debug test-surfaces) --enable-pdf --enable-png \ - --enable-ft --enable-ps \ - $(use_enable aqua quartz) $(use_enable aqua quartz-image) \ - || die "configure failed" -} - -src_install() { - make DESTDIR="${D}" install || die "Installation failed" - dodoc AUTHORS ChangeLog NEWS README -} - -pkg_postinst() { - if use xcb; then - ewarn "You have enabled the Cairo XCB backend which is used only by" - ewarn "a select few apps. The Cairo XCB backend is presently" - ewarn "un-maintained and needs a lot of work to get it caught up" - ewarn "to the Xrender and Xlib backends, which are the backends used" - ewarn "by most applications. See:" - ewarn "http://lists.freedesktop.org/archives/xcb/2008-December/004139.html" - fi -} diff --git a/x11-libs/cairo/files/cairo-1.12.10-xshm-corruption.patch b/x11-libs/cairo/files/cairo-1.12.10-xshm-corruption.patch new file mode 100644 index 000000000000..92bf13496a4e --- /dev/null +++ b/x11-libs/cairo/files/cairo-1.12.10-xshm-corruption.patch @@ -0,0 +1,28 @@ +From c006b886d28a772d7a62cec52ab7e0c8196c36f6 Mon Sep 17 00:00:00 2001 +From: Chris Wilson <chris@chris-wilson.co.uk> +Date: Tue, 29 Jan 2013 03:01:31 +0000 +Subject: xlib/shm: Force synchronisation for scratch SHM image buffers + +The scratch image buffers are used for uploads to the xserver and so we +must be careful not to overwrite active SHM segments. Unfortunately we +told the core SHM allocator that we would sync before using the images, +which was a lie. + +Reported-by: Michael Natterer <mitch@gimp.org> +Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> +--- +diff --git a/src/cairo-xlib-surface-shm.c b/src/cairo-xlib-surface-shm.c +index 43cecdf..32c7033 100644 +--- a/src/cairo-xlib-surface-shm.c ++++ b/src/cairo-xlib-surface-shm.c +@@ -1155,7 +1155,7 @@ _cairo_xlib_surface_create_shm__image (cairo_xlib_surface_t *surface, + return NULL; + + return &_cairo_xlib_shm_surface_create (surface, format, width, height, +- TRUE, 0)->image.base; ++ FALSE, 0)->image.base; + } + + cairo_surface_t * +-- +cgit v0.9.0.2-2-gbebe diff --git a/x11-libs/cairo/files/cairo-1.12.2-fdr-nodl.patch b/x11-libs/cairo/files/cairo-1.12.2-fdr-nodl.patch deleted file mode 100644 index b2ad8ed8b64c..000000000000 --- a/x11-libs/cairo/files/cairo-1.12.2-fdr-nodl.patch +++ /dev/null @@ -1,19 +0,0 @@ -commit 3d2712d56a22f2a86fb80da94c3e55be8d26a330 -Author: Alexis Ballier <aballier@gentoo.org> -Date: Fri Sep 21 08:22:54 2012 -0300 - - cairo-fdr: protect -ldl link with CAIRO_HAS_DL like in cairo-trace. - - Signed-off-by: Uli Schlachter <psychon@znc.in> - -diff --git a/util/cairo-fdr/Makefile.am b/util/cairo-fdr/Makefile.am -index 5cd5798..34215a6 100644 ---- a/util/cairo-fdr/Makefile.am -+++ b/util/cairo-fdr/Makefile.am -@@ -10,4 +10,6 @@ cairo_fdr_la_SOURCES = fdr.c - cairo_fdr_la_CPPFLAGS = $(AM_CPPFLAGS) - cairo_fdr_la_CFLAGS = $(CAIRO_CFLAGS) - cairo_fdr_la_LDFLAGS = -module -no-undefined -+if CAIRO_HAS_DL - cairo_fdr_la_LIBADD = -ldl -+endif diff --git a/x11-libs/cairo/files/cairo-1.12.2-sphinx-nodl.patch b/x11-libs/cairo/files/cairo-1.12.2-sphinx-nodl.patch deleted file mode 100644 index 5ca14cac0145..000000000000 --- a/x11-libs/cairo/files/cairo-1.12.2-sphinx-nodl.patch +++ /dev/null @@ -1,22 +0,0 @@ -commit f78a9269228f2f48e8eb496e341ef990db39c6c3 -Author: Alexis Ballier <aballier@gentoo.org> -Date: Fri Sep 21 08:22:55 2012 -0300 - - cairo-sphinx: protect -ldl link with CAIRO_HAS_DL like in cairo-trace. - - Signed-off-by: Uli Schlachter <psychon@znc.in> - -diff --git a/util/cairo-sphinx/Makefile.am b/util/cairo-sphinx/Makefile.am -index b25bd23..10bc10c 100644 ---- a/util/cairo-sphinx/Makefile.am -+++ b/util/cairo-sphinx/Makefile.am -@@ -12,7 +12,9 @@ cairo_sphinx_la_SOURCES = fdr.c - cairo_sphinx_la_CPPFLAGS = $(AM_CPPFLAGS) - cairo_sphinx_la_CFLAGS = $(CAIRO_CFLAGS) - cairo_sphinx_la_LDFLAGS = -module -no-undefined -+if CAIRO_HAS_DL - cairo_sphinx_la_LIBADD = -ldl -+endif - - cairo_sphinx_SOURCES = sphinx.c - cairo_sphinx_CPPFLAGS = $(AM_CPPFLAGS) -DLIBDIR="\"$(cairolibdir)\"" diff --git a/x11-libs/cairo/files/cairo-1.12.2-surfaceless-extension.patch b/x11-libs/cairo/files/cairo-1.12.2-surfaceless-extension.patch deleted file mode 100644 index 4222d8935ab2..000000000000 --- a/x11-libs/cairo/files/cairo-1.12.2-surfaceless-extension.patch +++ /dev/null @@ -1,37 +0,0 @@ -commit f59b0914f4ddbff0d116c918343a6726d5f4317b -Author: Chris Wilson <chris@chris-wilson.co.uk> -Date: Sat Aug 11 17:38:36 2012 +0100 - - egl: s/EGL_KHR_surfaceless_opengl/EGL_KHR_surfaceless_context/ - - Mesa changed the name of the extension it invented, so check for the - real name and the old name before falling back to pbuffers which are not - supported by most EGL implementations. - - References: https://bugs.freedesktop.org/show_bug.cgi?id=53361 - Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> - -diff --git a/src/cairo-egl-context.c b/src/cairo-egl-context.c -index eb1ef29..b24bc80 100644 ---- a/src/cairo-egl-context.c -+++ b/src/cairo-egl-context.c -@@ -122,8 +122,10 @@ _egl_make_current_surfaceless(cairo_egl_context_t *ctx) - const char *extensions; - - extensions = eglQueryString(ctx->display, EGL_EXTENSIONS); -- if (!strstr(extensions, "EGL_KHR_surfaceless_opengl")) -+ if (strstr(extensions, "EGL_KHR_surfaceless_context") == NULL && -+ strstr(extensions, "EGL_KHR_surfaceless_opengl") == NULL) - return FALSE; -+ - if (!eglMakeCurrent(ctx->display, - EGL_NO_SURFACE, EGL_NO_SURFACE, ctx->context)) - return FALSE; -@@ -174,7 +176,6 @@ cairo_egl_device_create (EGLDisplay dpy, EGLContext egl) - eglChooseConfig (dpy, config_attribs, &config, 1, &numConfigs); - - ctx->dummy_surface = eglCreatePbufferSurface (dpy, config, attribs); -- - if (ctx->dummy_surface == NULL) { - free (ctx); - return _cairo_gl_context_create_in_error (CAIRO_STATUS_NO_MEMORY); 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 deleted file mode 100644 index 2f908b855387..000000000000 --- a/x11-libs/cairo/files/cairo-1.2.4-lcd-cleartype-like.diff +++ /dev/null @@ -1,275 +0,0 @@ -diff -rup libcairo-1.2.4.orig/src/cairo-ft-font.c libcairo-1.2.4/src/cairo-ft-font.c ---- libcairo-1.2.4.orig/src/cairo-ft-font.c 2006-08-22 21:40:02.802247352 +0800 -+++ libcairo-1.2.4/src/cairo-ft-font.c 2006-08-22 21:40:39.443677008 +0800 -@@ -53,6 +53,8 @@ - #include FT_SYNTHESIS_H - #endif - -+#define FIR_FILTER 1 -+ - #define DOUBLE_TO_26_6(d) ((FT_F26Dot6)((d) * 64.0)) - #define DOUBLE_FROM_26_6(t) ((double)(t) / 64.0) - #define DOUBLE_TO_16_16(d) ((FT_Fixed)((d) * 65536.0)) -@@ -492,6 +494,8 @@ _cairo_ft_unscaled_font_destroy (void *a - } - } - -+static const int fir_filter[5] = { 0x1C, 0x38, 0x55, 0x38, 0x1C }; -+ - static cairo_bool_t - _has_unlocked_face (void *entry) - { -@@ -779,7 +783,220 @@ _get_bitmap_surface (FT_Bitmap *bi - } - format = CAIRO_FORMAT_A8; - break; -- case CAIRO_ANTIALIAS_SUBPIXEL: { -+ case CAIRO_ANTIALIAS_SUBPIXEL: -+#ifdef FIR_FILTER -+ { -+ unsigned char* line; -+ unsigned char* bufBitmap; -+ int pitch; -+ unsigned char *data_rgba; -+ unsigned int width_rgba, stride_rgba; -+ int vmul = 1; -+ int hmul = 1; -+ -+ switch (font_options->subpixel_order) { -+ case CAIRO_SUBPIXEL_ORDER_DEFAULT: -+ case CAIRO_SUBPIXEL_ORDER_RGB: -+ case CAIRO_SUBPIXEL_ORDER_BGR: -+ default: -+ width /= 3; -+ hmul = 3; -+ break; -+ case CAIRO_SUBPIXEL_ORDER_VRGB: -+ case CAIRO_SUBPIXEL_ORDER_VBGR: -+ vmul = 3; -+ height /= 3; -+ break; -+ } -+ /* -+ * Filter the glyph to soften the color fringes -+ */ -+ width_rgba = width; -+ stride = bitmap->pitch; -+ stride_rgba = (width_rgba * 4 + 3) & ~3; -+ data_rgba = calloc (1, stride_rgba * height); -+ -+ /* perform in-place FIR filtering in either the horizontal or -+ * vertical direction. We're going to modify the RGB graymap, -+ * but that's ok, because we either own it, or its part of -+ * the FreeType glyph slot, which will not be used anymore. -+ */ -+ pitch = bitmap->pitch; -+ line = (unsigned char*)bitmap->buffer; -+ if ( pitch < 0 ) -+ line -= pitch*(height-1); -+ -+ bufBitmap = line; -+ -+ switch (font_options->subpixel_order) { -+ case CAIRO_SUBPIXEL_ORDER_DEFAULT: -+ case CAIRO_SUBPIXEL_ORDER_RGB: -+ case CAIRO_SUBPIXEL_ORDER_BGR: -+ { -+ int h; -+ -+ for ( h = height; h > 0; h--, line += pitch ) { -+ int pix[6] = { 0, 0, 0, 0, 0, 0 }; -+ unsigned char* p = line; -+ unsigned char* limit = line + width*3; -+ int nn, val, val2; -+ -+ val = p[0]; -+ for (nn = 0; nn < 3; nn++) -+ pix[2 + nn] += val * fir_filter[nn]; -+ -+ val = p[1]; -+ for (nn = 0; nn < 4; nn++) -+ pix[1 + nn] += val * fir_filter[nn]; -+ -+ p += 2; -+ -+ for ( ; p < limit; p++ ) { -+ val = p[0]; -+ for (nn = 0; nn < 5; nn++) -+ pix[nn] += val * fir_filter[nn]; -+ -+ val2 = pix[0] / 256; -+ val2 |= -(val2 >> 8); -+ p[-2] = (unsigned char)val2; -+ -+ for (nn = 0; nn < 5; nn++) -+ pix[nn] = pix[nn + 1]; -+ } -+ for (nn = 0; nn < 2; nn++ ) { -+ val2 = pix[nn] / 256; -+ val2 |= -(val2 >> 8); -+ p[nn - 2] = (unsigned char)val2; -+ } -+ } -+ } -+ break; -+ case CAIRO_SUBPIXEL_ORDER_VRGB: -+ case CAIRO_SUBPIXEL_ORDER_VBGR: -+ { -+ int w; -+ -+ for (w = 0; w < width; w++ ) { -+ int pix[6] = { 0, 0, 0, 0, 0, 0 }; -+ unsigned char* p = bufBitmap + w; -+ unsigned char* limit = bufBitmap + w + height*3*pitch; -+ int nn, val, val2; -+ -+ val = p[0]; -+ for (nn = 0; nn < 3; nn++) -+ pix[2 + nn] += val*fir_filter[nn]; -+ -+ val = p[pitch]; -+ for (nn = 0; nn < 4; nn++ ) -+ pix[1 + nn] += val * fir_filter[nn]; -+ -+ p += 2*pitch; -+ for ( ; p < limit; p += pitch ) { -+ val = p[0]; -+ for (nn = 0; nn < 5; nn++ ) -+ pix[nn] += val * fir_filter[nn]; -+ -+ val2 = pix[0] / 256; -+ val2 |= -(val2 >> 8); -+ p[-2 * pitch] = (unsigned char)val2; -+ -+ for (nn = 0; nn < 5; nn++) -+ pix[nn] = pix[nn+1]; -+ } -+ -+ for (nn = 0; nn < 2; nn++) { -+ val2 = pix[nn] / 256; -+ val2 |= -(val2 >> 8); -+ p[(nn - 2) * pitch] = (unsigned char)val2; -+ } -+ } -+ } -+ break; -+ default: /* shouldn't happen */ -+ break; -+ } -+ -+ /* now copy the resulting graymap into an ARGB32 image */ -+ { -+ unsigned char* in_line = bufBitmap; -+ unsigned char* out_line = data_rgba; -+ int h = height; -+ -+ switch (font_options->subpixel_order) { -+ case CAIRO_SUBPIXEL_ORDER_DEFAULT: -+ case CAIRO_SUBPIXEL_ORDER_RGB: -+ for ( ; h > 0; h--, in_line += pitch, out_line += stride_rgba) { -+ unsigned char* in = in_line; -+ int* out = (int*)out_line; -+ int w; -+ -+ for (w = width; w > 0; w--, in += 3, out += 1) { -+ int r = in[0]; -+ int g = in[1]; -+ int b = in[2]; -+ -+ out[0] = (g << 24) | (r << 16) | (g << 8) | b; -+ } -+ } -+ break; -+ case CAIRO_SUBPIXEL_ORDER_BGR: -+ for ( ; h > 0; h--, in_line += pitch, out_line += stride_rgba) { -+ unsigned char* in = in_line; -+ int* out = (int*)out_line; -+ int w; -+ -+ for (w = width; w > 0; w--, in += 3, out += 1) { -+ int r = in[2]; -+ int g = in[1]; -+ int b = in[0]; -+ -+ out[0] = (g << 24) | (r << 16) | (g << 8) | b; -+ } -+ } -+ break; -+ case CAIRO_SUBPIXEL_ORDER_VRGB: -+ for ( ; h > 0; h--, in_line += pitch*3, out_line += stride_rgba) { -+ unsigned char* in = in_line; -+ int* out = (int*)out_line; -+ int w; -+ -+ for (w = width; w > 0; w--, in += 1, out += 1) { -+ int r = in[0]; -+ int g = in[pitch]; -+ int b = in[pitch*2]; -+ -+ out[0] = (g << 24) | (r << 16) | (g << 8) | b; -+ } -+ } -+ break; -+ case CAIRO_SUBPIXEL_ORDER_VBGR: -+ for ( ; h > 0; h--, in_line += pitch*3, out_line += stride_rgba) { -+ unsigned char* in = in_line; -+ int* out = (int*)out_line; -+ int w; -+ -+ for (w = width; w > 0; w--, in += 1, out += 1) { -+ int r = in[2*pitch]; -+ int g = in[pitch]; -+ int b = in[0]; -+ -+ out[0] = (g << 24) | (r << 16) | (g << 8) | b; -+ } -+ } -+ break; -+ } -+ } -+ -+ if (own_buffer) -+ free (bitmap->buffer); -+ data = data_rgba; -+ stride = stride_rgba; -+ format = CAIRO_FORMAT_ARGB32; -+ subpixel = TRUE; -+ break; -+ } -+#else /* !FIR_FILTER */ -+ { - int x, y; - unsigned char *in_line, *out_line, *in; - unsigned int *out; -@@ -871,6 +1088,7 @@ _get_bitmap_surface (FT_Bitmap *bi - subpixel = TRUE; - break; - } -+#endif /* !FIR_FILTER */ - } - break; - case FT_PIXEL_MODE_GRAY2: -@@ -986,12 +1204,22 @@ _render_glyph_outline (FT_Face - matrix.xx *= 3; - hmul = 3; - subpixel = TRUE; -+#ifdef FIR_FILTER -+ cbox.xMin -= 64; -+ cbox.xMax += 64; -+ width += 2; -+#endif - break; - case CAIRO_SUBPIXEL_ORDER_VRGB: - case CAIRO_SUBPIXEL_ORDER_VBGR: - matrix.yy *= 3; - vmul = 3; - subpixel = TRUE; -+#ifdef FIR_FILTER -+ cbox.yMin -= 64; -+ cbox.yMax += 64; -+ height += 2; -+#endif - break; - } - FT_Outline_Transform (outline, &matrix); -Only in libcairo-1.2.4/src: cairo-ft-font.c.orig diff --git a/x11-libs/cairo/files/cairo-1.8.10-libpng14.patch b/x11-libs/cairo/files/cairo-1.8.10-libpng14.patch deleted file mode 100644 index 18723675f8cb..000000000000 --- a/x11-libs/cairo/files/cairo-1.8.10-libpng14.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- configure.ac -+++ configure.ac -@@ -161,7 +161,7 @@ - AC_ARG_VAR([png_REQUIRES], [module name for libpng to search for using pkg-config]) - if test "x$png_REQUIRES" = x; then - # libpng13 is GnuWin32's libpng-1.2.8 :-( -- for l in libpng12 libpng13 libpng10 libpng; do -+ for l in libpng14 libpng12 libpng13 libpng10 libpng; do - if $PKG_CONFIG --exists $l ; then - png_REQUIRES=$l - use_png=yes diff --git a/x11-libs/cairo/metadata.xml b/x11-libs/cairo/metadata.xml index 30bed9b241cc..b5a25ce7d0be 100644 --- a/x11-libs/cairo/metadata.xml +++ b/x11-libs/cairo/metadata.xml @@ -7,11 +7,6 @@ <name>Ben de Groot</name> </maintainer> <use> - <flag name='cleartype'>Add ClearType-style behavior for sub-pixel hinting. - Patch taken from Arch Linux</flag> - <flag name='lcdfilter'>Add FreeType LCD filtering, ClearType-style behavior - for sub-pixel-hinting. Overrides cleartype USE flag. Patch taken from - Ubuntu</flag> <flag name='opengl' restrict=">=x11-libs/cairo-1.10.0"> Use Mesa backend for acceleration</flag> <flag name='drm'>Use Linux DRM for backend acceleration</flag> |