diff options
author | Alexandre Rostovtsev <tetromino@gentoo.org> | 2015-05-24 19:47:09 +0000 |
---|---|---|
committer | Alexandre Rostovtsev <tetromino@gentoo.org> | 2015-05-24 19:47:09 +0000 |
commit | f0fb6a2b7ca9e710968bcd8904b213e10af75107 (patch) | |
tree | 3ff2dceb95f91d515db12f6c1502ecbb3816b3ee /x11-libs | |
parent | Replace dev-java/servletapi slot with java-virtuals/servlet-api. Fix bug 398689. (diff) | |
download | gentoo-2-f0fb6a2b7ca9e710968bcd8904b213e10af75107.tar.gz gentoo-2-f0fb6a2b7ca9e710968bcd8904b213e10af75107.tar.bz2 gentoo-2-f0fb6a2b7ca9e710968bcd8904b213e10af75107.zip |
Clean up old ebuilds and patches.
(Portage version: 2.2.20/cvs/Linux x86_64, signed Manifest commit with key 0x18E5B6F2D8D5EC8D)
Diffstat (limited to 'x11-libs')
21 files changed, 19 insertions, 1617 deletions
diff --git a/x11-libs/cairo/ChangeLog b/x11-libs/cairo/ChangeLog index 57ef42fb8514..e10a28fd65b9 100644 --- a/x11-libs/cairo/ChangeLog +++ b/x11-libs/cairo/ChangeLog @@ -1,6 +1,24 @@ # ChangeLog for x11-libs/cairo # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/ChangeLog,v 1.414 2015/04/22 13:55:04 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/ChangeLog,v 1.415 2015/05/24 19:47:09 tetromino Exp $ + + 24 May 2015; Alexandre Rostovtsev <tetromino@gentoo.org> + -cairo-1.10.2-r3.ebuild, -cairo-1.12.16.ebuild, -cairo-1.12.16-r4.ebuild, + -cairo-1.14.0-r2.ebuild, -files/cairo-1.8.8-interix.patch, + -files/cairo-1.10.0-buggy_gradients.patch, + -files/cairo-1.10.2-export-symbols.patch, -files/cairo-1.10.2-interix.patch, + -files/cairo-1.10.2-qt-surface.patch, -files/cairo-1.10.2-ubuntu.patch, + -files/cairo-1.12.16-all-clipped-1.patch, + -files/cairo-1.12.16-all-clipped-2.patch, + -files/cairo-1.12.16-all-clipped-3.patch, + -files/cairo-1.12.16-lto-optional.patch, + -files/cairo-1.14.0-CFF-unaligned-access.patch, + -files/cairo-1.14.0-align-64bit-types.patch, + -files/cairo-1.14.0-image-negative-span-length.patch, + -files/cairo-1.14.0-tor-scan-converter-do_fullrow-intersection.patch, + -files/cairo-1.14.0-xcb-0-sized-glyph.patch, + -files/cairo-1.14.0-xlib-0-sized-glyph.patch: + Clean up old ebuilds and patches. 22 Apr 2015; Mike Frysinger <vapier@gentoo.org> cairo-1.10.2-r3.ebuild: Only add -finline-limit=1200 to CFLAGS when the compiler supports it to fix diff --git a/x11-libs/cairo/cairo-1.10.2-r3.ebuild b/x11-libs/cairo/cairo-1.10.2-r3.ebuild deleted file mode 100644 index 907a938e7fd5..000000000000 --- a/x11-libs/cairo/cairo-1.10.2-r3.ebuild +++ /dev/null @@ -1,162 +0,0 @@ -# Copyright 1999-2015 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-r3.ebuild,v 1.16 2015/04/22 13:55:04 vapier 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? ( || ( media-libs/mesa[egl] media-libs/opengl-apple ) ) - openvg? ( media-libs/mesa[gallium] ) - qt4? ( >=dev-qt/qtgui-4.8:4 ) - X? ( - >=x11-libs/libXrender-0.6 - x11-libs/libX11 - drm? ( - virtual/libudev - 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 "${FILESDIR}"/${P}-export-symbols.patch - epatch "${FILESDIR}"/${P}-ubuntu.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 - - # 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 $(test-flags-CC -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.16-r4.ebuild b/x11-libs/cairo/cairo-1.12.16-r4.ebuild deleted file mode 100644 index ca66f6377746..000000000000 --- a/x11-libs/cairo/cairo-1.12.16-r4.ebuild +++ /dev/null @@ -1,191 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/cairo-1.12.16-r4.ebuild,v 1.5 2015/01/31 14:12:14 ago Exp $ - -EAPI=5 - -inherit eutils flag-o-matic autotools multilib-minimal - -if [[ ${PV} == *9999* ]]; then - inherit git-2 - EGIT_REPO_URI="git://anongit.freedesktop.org/git/cairo" - SRC_URI="" -else - SRC_URI="http://cairographics.org/releases/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-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 drm gallium gles2 +glib legacy-drivers opengl openvg qt4 static-libs +svg valgrind xcb xlib-xcb" -# gtk-doc regeneration doesn't seem to work with out-of-source builds -#[[ ${PV} == *9999* ]] && IUSE="${IUSE} doc" # API docs are provided in tarball, no need to regenerate - -# Test causes a circular depend on gtk+... since gtk+ needs cairo but test needs gtk+ so we need to block it -RESTRICT="test" - -RDEPEND=">=dev-libs/lzo-2.06-r1[${MULTILIB_USEDEP}] - >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] - >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] - >=media-libs/libpng-1.6.10:0=[${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] - >=x11-libs/pixman-0.32.4[${MULTILIB_USEDEP}] - directfb? ( dev-libs/DirectFB ) - gles2? ( >=media-libs/mesa-9.1.6[gles2,${MULTILIB_USEDEP}] ) - glib? ( >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}] ) - opengl? ( || ( >=media-libs/mesa-9.1.6[egl,${MULTILIB_USEDEP}] media-libs/opengl-apple ) ) - openvg? ( >=media-libs/mesa-9.1.6[openvg,${MULTILIB_USEDEP}] ) - qt4? ( >=dev-qt/qtgui-4.8:4[${MULTILIB_USEDEP}] ) - X? ( - >=x11-libs/libXrender-0.9.8[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - drm? ( - >=virtual/libudev-208:=[${MULTILIB_USEDEP}] - gallium? ( >=media-libs/mesa-9.1.6[gallium,${MULTILIB_USEDEP}] ) - ) - ) - xcb? ( - >=x11-libs/libxcb-1.9.1[${MULTILIB_USEDEP}] - ) - abi_x86_32? ( - !<=app-emulation/emul-linux-x86-gtklibs-20131008-r1 - !app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)] - )" -DEPEND="${RDEPEND} - virtual/pkgconfig - >=sys-devel/libtool-2 - X? ( - >=x11-proto/renderproto-0.11.1-r1[${MULTILIB_USEDEP}] - drm? ( - >=x11-proto/xproto-7.0.24[${MULTILIB_USEDEP}] - >=x11-proto/xextproto-7.2.1-r1[${MULTILIB_USEDEP}] - ) - )" -#[[ ${PV} == *9999* ]] && DEPEND="${DEPEND} -# doc? ( -# >=dev-util/gtk-doc-1.6 -# ~app-text/docbook-xml-dtd-4.2 -# )" - -# drm module requires X -# for gallium we need to enable drm -REQUIRED_USE=" - drm? ( X ) - gallium? ( drm ) - gles2? ( !opengl ) - openvg? ( || ( gles2 opengl ) ) - xlib-xcb? ( xcb ) -" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/cairo/cairo-directfb.h -) - -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}-respect-fontconfig.patch - - # all-clipped handling from 1.13 - epatch "${FILESDIR}"/${PN}-1.12.16-all-clipped-{1,2}.patch - # bug #507478, https://bugs.freedesktop.org/show_bug.cgi?id=77931 - epatch "${FILESDIR}"/${PN}-1.12.16-all-clipped-3.patch - - # allow the automagically injected -flto flag to be not injected - epatch "${FILESDIR}"/${PN}-1.12.16-lto-optional.patch - - # tests and perf tools require X, bug #483574 - if ! use X; then - sed -e '/^SUBDIRS/ s#boilerplate test perf# #' -i Makefile.am || die - fi - - 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 -} - -multilib_src_configure() { - local myopts - - [[ ${CHOST} == *-interix* ]] && append-flags -D_REENTRANT - - use elibc_FreeBSD && myopts+=" --disable-symbol-lookup" - - # TODO: remove this (and add USE-dep) when DirectFB is converted, - # bug #484248 -- but beware of the circular dep. - if ! multilib_is_native_abi; then - myopts+=" --disable-directfb" - fi - - # TODO: remove this (and add USE-dep) when qtgui is converted, bug #498010 - if ! multilib_is_native_abi; then - myopts+=" --disable-qt" - fi - - # [[ ${PV} == *9999* ]] && myopts+=" $(use_enable doc gtk-doc)" - - ECONF_SOURCE="${S}" \ - econf \ - --disable-dependency-tracking \ - $(use_with X x) \ - $(use_enable X tee) \ - $(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 drm) \ - $(use_enable directfb) \ - $(use_enable gallium) \ - $(use_enable gles2 glesv2) \ - $(use_enable glib gobject) \ - $(use_enable openvg vg) \ - $(use_enable opengl gl) \ - $(use_enable qt4 qt) \ - $(use_enable static-libs static) \ - $(use_enable svg) \ - $(use_enable valgrind) \ - $(use_enable xcb) \ - $(use_enable xcb xcb-shm) \ - $(use_enable xlib-xcb) \ - --enable-ft \ - --enable-pdf \ - --enable-png \ - --enable-ps \ - --disable-lto \ - ${myopts} -} - -multilib_src_install() { - # parallel make install fails - emake -j1 DESTDIR="${D}" install -} - -multilib_src_install_all() { - prune_libtool_files --all - einstalldocs -} - -pkg_postinst() { - if use !xlib-xcb; then - if has_version net-misc/nxserver-freenx \ - || has_version net-misc/x2goserver; then - ewarn "cairo-1.12 is known to cause GTK+ errors with NX servers." - ewarn "Enable USE=\"xlib-xcb\" if you notice incorrect behavior in GTK+" - ewarn "applications that are running inside NX sessions. For details, see" - ewarn "https://bugs.gentoo.org/441878 or https://bugs.freedesktop.org/59173" - fi - fi -} diff --git a/x11-libs/cairo/cairo-1.12.16.ebuild b/x11-libs/cairo/cairo-1.12.16.ebuild deleted file mode 100644 index 36fb6f6bbeac..000000000000 --- a/x11-libs/cairo/cairo-1.12.16.ebuild +++ /dev/null @@ -1,150 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/cairo-1.12.16.ebuild,v 1.13 2014/06/10 01:03:13 vapier Exp $ - -EAPI=5 - -inherit eutils flag-o-matic autotools - -if [[ ${PV} == *9999* ]]; then - inherit git-2 - EGIT_REPO_URI="git://anongit.freedesktop.org/git/cairo" - SRC_URI="" -else - SRC_URI="http://cairographics.org/releases/${P}.tar.xz" - KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-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 gles2 +glib legacy-drivers opengl openvg qt4 static-libs +svg valgrind xcb xlib-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="dev-libs/lzo - media-libs/fontconfig - media-libs/freetype:2 - media-libs/libpng:0= - sys-libs/zlib - >=x11-libs/pixman-0.28.0 - directfb? ( dev-libs/DirectFB ) - gles2? ( media-libs/mesa[gles2] ) - glib? ( >=dev-libs/glib-2.28.6:2 ) - opengl? ( || ( media-libs/mesa[egl] media-libs/opengl-apple ) ) - openvg? ( media-libs/mesa[openvg] ) - qt4? ( >=dev-qt/qtgui-4.8:4 ) - X? ( - >=x11-libs/libXrender-0.6 - x11-libs/libXext - 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 ) - gles2? ( !opengl ) - openvg? ( || ( gles2 opengl ) ) - xlib-xcb? ( xcb ) -" - -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}-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 - - [[ ${CHOST} == *-interix* ]] && append-flags -D_REENTRANT - - use elibc_FreeBSD && myopts+=" --disable-symbol-lookup" - - econf \ - --disable-dependency-tracking \ - $(use_with X x) \ - $(use_enable X tee) \ - $(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 drm) \ - $(use_enable directfb) \ - $(use_enable gallium) \ - $(use_enable gles2 glesv2) \ - $(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 valgrind) \ - $(use_enable xcb) \ - $(use_enable xcb xcb-shm) \ - $(use_enable xlib-xcb) \ - --enable-ft \ - --enable-pdf \ - --enable-png \ - --enable-ps \ - ${myopts} -} - -src_install() { - # parallel make install fails - emake -j1 DESTDIR="${D}" install - find "${ED}" -name '*.la' -exec rm -f {} + - dodoc AUTHORS ChangeLog NEWS README -} - -pkg_postinst() { - if use !xlib-xcb; then - if has_version net-misc/nxserver-freenx \ - || has_version net-misc/x2goserver; then - ewarn "cairo-1.12 is known to cause GTK+ errors with NX servers." - ewarn "Enable USE=\"xlib-xcb\" if you notice incorrect behavior in GTK+" - ewarn "applications that are running inside NX sessions. For details, see" - ewarn "https://bugs.gentoo.org/441878 or https://bugs.freedesktop.org/59173" - fi - fi -} diff --git a/x11-libs/cairo/cairo-1.14.0-r2.ebuild b/x11-libs/cairo/cairo-1.14.0-r2.ebuild deleted file mode 100644 index e7a40cf9eacb..000000000000 --- a/x11-libs/cairo/cairo-1.14.0-r2.ebuild +++ /dev/null @@ -1,184 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/cairo-1.14.0-r2.ebuild,v 1.1 2015/03/05 18:22:53 tetromino Exp $ - -EAPI=5 - -inherit eutils flag-o-matic autotools multilib-minimal - -if [[ ${PV} == *9999* ]]; then - inherit git-2 - EGIT_REPO_URI="git://anongit.freedesktop.org/git/cairo" - SRC_URI="" -else - SRC_URI="http://cairographics.org/releases/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-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 drm gallium gles2 +glib opengl openvg qt4 static-libs +svg valgrind xcb xlib-xcb" -# gtk-doc regeneration doesn't seem to work with out-of-source builds -#[[ ${PV} == *9999* ]] && IUSE="${IUSE} doc" # API docs are provided in tarball, no need to regenerate - -# Test causes a circular depend on gtk+... since gtk+ needs cairo but test needs gtk+ so we need to block it -RESTRICT="test" - -RDEPEND=">=dev-libs/lzo-2.06-r1[${MULTILIB_USEDEP}] - >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] - >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] - >=media-libs/libpng-1.6.10:0=[${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] - >=x11-libs/pixman-0.32.4[${MULTILIB_USEDEP}] - directfb? ( dev-libs/DirectFB ) - gles2? ( >=media-libs/mesa-9.1.6[gles2,${MULTILIB_USEDEP}] ) - glib? ( >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}] ) - opengl? ( || ( >=media-libs/mesa-9.1.6[egl,${MULTILIB_USEDEP}] media-libs/opengl-apple ) ) - openvg? ( >=media-libs/mesa-9.1.6[openvg,${MULTILIB_USEDEP}] ) - qt4? ( >=dev-qt/qtgui-4.8:4[${MULTILIB_USEDEP}] ) - X? ( - >=x11-libs/libXrender-0.9.8[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - drm? ( - >=virtual/libudev-208:=[${MULTILIB_USEDEP}] - gallium? ( >=media-libs/mesa-9.1.6[gallium,${MULTILIB_USEDEP}] ) - ) - ) - xcb? ( - >=x11-libs/libxcb-1.9.1[${MULTILIB_USEDEP}] - ) - abi_x86_32? ( - !<=app-emulation/emul-linux-x86-gtklibs-20131008-r1 - !app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)] - )" -DEPEND="${RDEPEND} - virtual/pkgconfig - >=sys-devel/libtool-2 - X? ( - >=x11-proto/renderproto-0.11.1-r1[${MULTILIB_USEDEP}] - drm? ( - >=x11-proto/xproto-7.0.24[${MULTILIB_USEDEP}] - >=x11-proto/xextproto-7.2.1-r1[${MULTILIB_USEDEP}] - ) - )" -#[[ ${PV} == *9999* ]] && DEPEND="${DEPEND} -# doc? ( -# >=dev-util/gtk-doc-1.6 -# ~app-text/docbook-xml-dtd-4.2 -# )" - -# drm module requires X -# for gallium we need to enable drm -REQUIRED_USE=" - drm? ( X ) - gallium? ( drm ) - gles2? ( !opengl ) - openvg? ( || ( gles2 opengl ) ) - xlib-xcb? ( xcb ) -" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/cairo/cairo-directfb.h -) - -src_prepare() { - epatch "${FILESDIR}"/${PN}-1.12.18-disable-test-suite.patch - epatch "${FILESDIR}"/${PN}-respect-fontconfig.patch - - # fixed in 1.14 branch - epatch "${FILESDIR}"/${P}-align-64bit-types.patch - - # fixed in master branch - epatch "${FILESDIR}"/${PN}-1.14.0-CFF-unaligned-access.patch - epatch "${FILESDIR}"/${PN}-1.14.0-tor-scan-converter-do_fullrow-intersection.patch #541326 - epatch "${FILESDIR}"/${PN}-1.14.0-xlib-0-sized-glyph.patch - epatch "${FILESDIR}"/${PN}-1.14.0-xcb-0-sized-glyph.patch - epatch "${FILESDIR}"/${PN}-1.14.0-image-negative-span-length.patch - - # tests and perf tools require X, bug #483574 - if ! use X; then - sed -e '/^SUBDIRS/ s#boilerplate test perf# #' -i Makefile.am || die - fi - - epatch_user - - # Slightly messed build system YAY - if [[ ${PV} == *9999* ]]; then - touch boilerplate/Makefile.am.features - touch src/Makefile.am.features - touch ChangeLog - fi - - eautoreconf -} - -multilib_src_configure() { - local myopts - - [[ ${CHOST} == *-interix* ]] && append-flags -D_REENTRANT - - use elibc_FreeBSD && myopts+=" --disable-symbol-lookup" - - # TODO: remove this (and add USE-dep) when DirectFB is converted, - # bug #484248 -- but beware of the circular dep. - if ! multilib_is_native_abi; then - myopts+=" --disable-directfb" - fi - - # TODO: remove this (and add USE-dep) when qtgui is converted, bug #498010 - if ! multilib_is_native_abi; then - myopts+=" --disable-qt" - fi - - # [[ ${PV} == *9999* ]] && myopts+=" $(use_enable doc gtk-doc)" - - ECONF_SOURCE="${S}" \ - econf \ - --disable-dependency-tracking \ - $(use_with X x) \ - $(use_enable X tee) \ - $(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 drm) \ - $(use_enable directfb) \ - $(use_enable gallium) \ - $(use_enable gles2 glesv2) \ - $(use_enable glib gobject) \ - $(use_enable openvg vg) \ - $(use_enable opengl gl) \ - $(use_enable qt4 qt) \ - $(use_enable static-libs static) \ - $(use_enable svg) \ - $(use_enable valgrind) \ - $(use_enable xcb) \ - $(use_enable xcb xcb-shm) \ - $(use_enable xlib-xcb) \ - --enable-ft \ - --enable-pdf \ - --enable-png \ - --enable-ps \ - ${myopts} -} - -multilib_src_install_all() { - prune_libtool_files --all - einstalldocs -} - -pkg_postinst() { - if use !xlib-xcb; then - if has_version net-misc/nxserver-freenx \ - || has_version net-misc/x2goserver; then - ewarn "cairo-1.12 is known to cause GTK+ errors with NX servers." - ewarn "Enable USE=\"xlib-xcb\" if you notice incorrect behavior in GTK+" - ewarn "applications that are running inside NX sessions. For details, see" - ewarn "https://bugs.gentoo.org/441878 or https://bugs.freedesktop.org/59173" - fi - fi -} 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 deleted file mode 100644 index a58c2f8f4138..000000000000 --- a/x11-libs/cairo/files/cairo-1.10.0-buggy_gradients.patch +++ /dev/null @@ -1,17 +0,0 @@ -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-export-symbols.patch b/x11-libs/cairo/files/cairo-1.10.2-export-symbols.patch deleted file mode 100644 index 5f1c2d484ebf..000000000000 --- a/x11-libs/cairo/files/cairo-1.10.2-export-symbols.patch +++ /dev/null @@ -1,38 +0,0 @@ -Index: cairo/src/Makefile.am -=================================================================== ---- cairo.orig/src/Makefile.am 2011-02-08 10:11:46.879538772 +0100 -+++ cairo/src/Makefile.am 2011-02-08 10:12:36.381915666 +0100 -@@ -46,7 +46,7 @@ - $(enabled_cairo_private) \ - $(enabled_cairo_sources) \ - $(NULL) --libcairo_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols) -+libcairo_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols) -export-symbols-regex \^cairo_.* - libcairo_la_LIBADD = $(CAIRO_LIBS) \ - $(cairo_cxx_lib) - libcairo_la_DEPENDENCIES = $(cairo_def_dependency) $(cairo_cxx_lib) -diff --git a/util/cairo-gobject/Makefile.am b/util/cairo-gobject/Makefile.am -index 22c1a27..5a15950 100644 ---- a/util/cairo-gobject/Makefile.am -+++ b/util/cairo-gobject/Makefile.am -@@ -10,6 +10,6 @@ libcairo_gobject_la_SOURCES = \ - $(NULL) - - libcairo_gobject_la_CFLAGS = $(CAIRO_CFLAGS) $(GOBJECT_CFLAGS) --libcairo_gobject_la_LDFLAGS = -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols) -+libcairo_gobject_la_LDFLAGS = -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols) -export-symbols-regex \^cairo_.* - libcairo_gobject_la_LIBADD = $(top_builddir)/src/libcairo.la $(CAIRO_LIBS) $(GOBJECT_LIBS) - -diff --git a/util/cairo-script/Makefile.am b/util/cairo-script/Makefile.am -index d7e4427..8d4181b 100644 ---- a/util/cairo-script/Makefile.am -+++ b/util/cairo-script/Makefile.am -@@ -18,7 +18,7 @@ libcairo_script_interpreter_la_SOURCES = \ - cairo-script-stack.c \ - $(NULL) - libcairo_script_interpreter_la_CFLAGS = $(CAIRO_CFLAGS) --libcairo_script_interpreter_la_LDFLAGS = -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols) -+libcairo_script_interpreter_la_LDFLAGS = -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols) -export-symbols-regex \^cairo_.* - libcairo_script_interpreter_la_LIBADD = $(top_builddir)/src/libcairo.la $(CAIRO_LIBS) -lz - - csi_replay_SOURCES = csi-replay.c diff --git a/x11-libs/cairo/files/cairo-1.10.2-interix.patch b/x11-libs/cairo/files/cairo-1.10.2-interix.patch deleted file mode 100644 index 3333e3ee5256..000000000000 --- a/x11-libs/cairo/files/cairo-1.10.2-interix.patch +++ /dev/null @@ -1,36 +0,0 @@ -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 deleted file mode 100644 index cf0b57a1c252..000000000000 --- a/x11-libs/cairo/files/cairo-1.10.2-qt-surface.patch +++ /dev/null @@ -1,55 +0,0 @@ -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 deleted file mode 100644 index 751bbd47ea4e..000000000000 --- a/x11-libs/cairo/files/cairo-1.10.2-ubuntu.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- 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.12.16-all-clipped-1.patch b/x11-libs/cairo/files/cairo-1.12.16-all-clipped-1.patch deleted file mode 100644 index cef9e2928154..000000000000 --- a/x11-libs/cairo/files/cairo-1.12.16-all-clipped-1.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 3b261bea7d8e8094ff3899aefab6bbc8628a3585 Mon Sep 17 00:00:00 2001 -From: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu, 06 Mar 2014 08:34:10 +0000 -Subject: clip: Do not modify the special all-clipped cairo_clip_t - -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75819 ---- -diff --git a/src/cairo-clip-boxes.c b/src/cairo-clip-boxes.c -index bbb4197..352654f 100644 ---- a/src/cairo-clip-boxes.c -+++ b/src/cairo-clip-boxes.c -@@ -173,7 +173,7 @@ _cairo_clip_intersect_rectangle_box (cairo_clip_t *clip, - clip->extents = *r; - } else { - if (! _cairo_rectangle_intersect (&clip->extents, r)) -- clip = _cairo_clip_set_all_clipped (clip); -+ return _cairo_clip_set_all_clipped (clip); - } - if (clip->path == NULL) - clip->is_region = _cairo_box_is_pixel_aligned (box); -@@ -312,10 +312,12 @@ _cairo_clip_intersect_boxes (cairo_clip_t *clip, - _cairo_boxes_extents (boxes, &limits); - - _cairo_box_round_to_rectangle (&limits, &extents); -- if (clip->path == NULL) -+ if (clip->path == NULL) { - clip->extents = extents; -- else if (! _cairo_rectangle_intersect (&clip->extents, &extents)) -+ } else if (! _cairo_rectangle_intersect (&clip->extents, &extents)) { - clip = _cairo_clip_set_all_clipped (clip); -+ goto out; -+ } - - if (clip->region) { - cairo_region_destroy (clip->region); --- -cgit v0.9.0.2-2-gbebe diff --git a/x11-libs/cairo/files/cairo-1.12.16-all-clipped-2.patch b/x11-libs/cairo/files/cairo-1.12.16-all-clipped-2.patch deleted file mode 100644 index df537da1ab70..000000000000 --- a/x11-libs/cairo/files/cairo-1.12.16-all-clipped-2.patch +++ /dev/null @@ -1,28 +0,0 @@ -From ed175b2a2bebb6def85133257bc11a875d13b0dd Mon Sep 17 00:00:00 2001 -From: Uli Schlachter <psychon@znc.in> -Date: Thu, 06 Mar 2014 08:45:08 +0000 -Subject: clip: Fix handling of special all-clipped cairo_clip_t - -_cairo_clip_intersect_box() wasn't checking if it was called with the special, -read-only all-clipped clip and thus could have ended up writing to read-only -memory. - -References: https://bugs.freedesktop.org/show_bug.cgi?id=75819 -Signed-off-by: Uli Schlachter <psychon@znc.in> ---- -diff --git a/src/cairo-clip-boxes.c b/src/cairo-clip-boxes.c -index 352654f..7bcbeb1 100644 ---- a/src/cairo-clip-boxes.c -+++ b/src/cairo-clip-boxes.c -@@ -258,6 +258,9 @@ _cairo_clip_intersect_box (cairo_clip_t *clip, - { - cairo_rectangle_int_t r; - -+ if (_cairo_clip_is_all_clipped (clip)) -+ return clip; -+ - _cairo_box_round_to_rectangle (box, &r); - if (r.width == 0 || r.height == 0) - return _cairo_clip_set_all_clipped (clip); --- -cgit v0.9.0.2-2-gbebe diff --git a/x11-libs/cairo/files/cairo-1.12.16-all-clipped-3.patch b/x11-libs/cairo/files/cairo-1.12.16-all-clipped-3.patch deleted file mode 100644 index 8b796faaf554..000000000000 --- a/x11-libs/cairo/files/cairo-1.12.16-all-clipped-3.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 18b3cce2f5812c357e4b6310e72d72dd9ec92ed4 Mon Sep 17 00:00:00 2001 -From: Bryce Harrington <b.harrington@samsung.com> -Date: Tue, 6 May 2014 10:18:19 -0700 -Subject: [PATCH] Fix segfault in firefox when scrolling on certain pages - -Bug discovered by thorsten <fly_a320@gmx.de> - -Patch from Chris Wilson <chris@chris-wilson.co.uk> ---- - src/cairo-xcb-surface-render.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/cairo-xcb-surface-render.c b/src/cairo-xcb-surface-render.c -index 9625953..75455e5 100644 ---- a/src/cairo-xcb-surface-render.c -+++ b/src/cairo-xcb-surface-render.c -@@ -3121,6 +3121,9 @@ _clip_and_composite_boxes (cairo_xcb_surface_t *dst, - - clip = _cairo_clip_copy (extents->clip); - clip = _cairo_clip_intersect_boxes (clip, boxes); -+ if (_cairo_clip_is_all_clipped (clip)) -+ return CAIRO_INT_STATUS_NOTHING_TO_DO; -+ - status = _cairo_clip_get_polygon (clip, &polygon, - &fill_rule, &antialias); - _cairo_clip_path_destroy (clip->path); --- -1.9.2 - diff --git a/x11-libs/cairo/files/cairo-1.12.16-lto-optional.patch b/x11-libs/cairo/files/cairo-1.12.16-lto-optional.patch deleted file mode 100644 index 641cceaae99c..000000000000 --- a/x11-libs/cairo/files/cairo-1.12.16-lto-optional.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/build/configure.ac.warnings b/build/configure.ac.warnings -index f984eb2..15b3da2 100644 ---- a/build/configure.ac.warnings -+++ b/build/configure.ac.warnings -@@ -38,13 +38,18 @@ dnl options. Namely, the following: - - dnl -flto working really needs a test link, not just a compile - --safe_MAYBE_WARN="$MAYBE_WARN" --MAYBE_WARN="$MAYBE_WARN -flto" --AC_TRY_LINK([],[ -+AC_ARG_ENABLE(lto, -+ AS_HELP_STRING([--disable-lto], -+ [Do not try to use Link-Time Optimization])) -+if test "x$enable_lto" != "xno"; then -+ safe_MAYBE_WARN="$MAYBE_WARN" -+ MAYBE_WARN="$MAYBE_WARN -flto" -+ AC_TRY_LINK([],[ - int main(int argc, char **argv) { return 0; } --],[],[ -+ ],[],[ - MAYBE_WARN="$safe_MAYBE_WARN" --]) -+ ]) -+fi - - MAYBE_WARN="$MAYBE_WARN -fno-strict-aliasing -fno-common" - diff --git a/x11-libs/cairo/files/cairo-1.14.0-CFF-unaligned-access.patch b/x11-libs/cairo/files/cairo-1.14.0-CFF-unaligned-access.patch deleted file mode 100644 index 9fd1ebb8f0a5..000000000000 --- a/x11-libs/cairo/files/cairo-1.14.0-CFF-unaligned-access.patch +++ /dev/null @@ -1,282 +0,0 @@ -From 99a35dd273f3deb4ae54310f1ed1746bfd9fae70 Mon Sep 17 00:00:00 2001 -From: Adrian Johnson <ajohnson@redneon.com> -Date: Sun, 19 Oct 2014 11:34:34 +1030 -Subject: [PATCH] CFF: Fix unaligned access - -Debian bug 712836 reported bus errors in cff subsetting when -running on a sparc. This is because unlike truetype, all data -in the compact font format is not aligned. - -https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=712836 ---- - src/cairo-cff-subset.c | 35 +++++++++++++++++++---------------- - src/cairo-image-info.c | 32 +++++++++++++------------------- - src/cairoint.h | 26 ++++++++++++++++++++++++++ - 3 files changed, 58 insertions(+), 35 deletions(-) - -diff --git a/src/cairo-cff-subset.c b/src/cairo-cff-subset.c -index 4660d6e..f15deb5 100644 ---- a/src/cairo-cff-subset.c -+++ b/src/cairo-cff-subset.c -@@ -433,7 +433,7 @@ cff_index_read (cairo_array_t *index, unsigned char **ptr, unsigned char *end_pt - p = *ptr; - if (p + 2 > end_ptr) - return CAIRO_INT_STATUS_UNSUPPORTED; -- count = be16_to_cpu( *((uint16_t *)p) ); -+ count = get_unaligned_be16 (p); - p += 2; - if (count > 0) { - offset_size = *p++; -@@ -984,14 +984,14 @@ cairo_cff_font_read_fdselect (cairo_cff_font_t *font, unsigned char *p) - for (i = 0; i < font->num_glyphs; i++) - font->fdselect[i] = *p++; - } else if (type == 3) { -- num_ranges = be16_to_cpu( *((uint16_t *)p) ); -+ num_ranges = get_unaligned_be16 (p); - p += 2; - for (i = 0; i < num_ranges; i++) - { -- first = be16_to_cpu( *((uint16_t *)p) ); -+ first = get_unaligned_be16 (p); - p += 2; - fd = *p++; -- last = be16_to_cpu( *((uint16_t *)p) ); -+ last = get_unaligned_be16 (p); - for (j = first; j < last; j++) - font->fdselect[j] = fd; - } -@@ -1722,7 +1722,7 @@ cairo_cff_font_get_gid_for_cid (cairo_cff_font_t *font, unsigned long cid, unsi - p = font->charset + 1; - g = 1; - while (g <= (unsigned)font->num_glyphs && p < font->data_end) { -- c = be16_to_cpu( *((uint16_t *)p) ); -+ c = get_unaligned_be16 (p); - if (c == cid) { - *gid = g; - return CAIRO_STATUS_SUCCESS; -@@ -1737,7 +1737,7 @@ cairo_cff_font_get_gid_for_cid (cairo_cff_font_t *font, unsigned long cid, unsi - first_gid = 1; - p = font->charset + 1; - while (first_gid <= (unsigned)font->num_glyphs && p + 2 < font->data_end) { -- first_cid = be16_to_cpu( *((uint16_t *)p) ); -+ first_cid = get_unaligned_be16 (p); - num_left = p[2]; - if (cid >= first_cid && cid <= first_cid + num_left) { - *gid = first_gid + cid - first_cid; -@@ -1753,8 +1753,8 @@ cairo_cff_font_get_gid_for_cid (cairo_cff_font_t *font, unsigned long cid, unsi - first_gid = 1; - p = font->charset + 1; - while (first_gid <= (unsigned)font->num_glyphs && p + 3 < font->data_end) { -- first_cid = be16_to_cpu( *((uint16_t *)p) ); -- num_left = be16_to_cpu( *((uint16_t *)(p+2)) ); -+ first_cid = get_unaligned_be16 (p); -+ num_left = get_unaligned_be16 (p+2); - if (cid >= first_cid && cid <= first_cid + num_left) { - *gid = first_gid + cid - first_cid; - return CAIRO_STATUS_SUCCESS; -@@ -2328,7 +2328,7 @@ cairo_cff_font_write_cid_fontdict (cairo_cff_font_t *font) - unsigned int i; - cairo_int_status_t status; - unsigned int offset_array; -- uint32_t *offset_array_ptr; -+ unsigned char *offset_array_ptr; - int offset_base; - uint16_t count; - uint8_t offset_size = 4; -@@ -2349,7 +2349,7 @@ cairo_cff_font_write_cid_fontdict (cairo_cff_font_t *font) - if (unlikely (status)) - return status; - offset_base = _cairo_array_num_elements (&font->output) - 1; -- *offset_array_ptr = cpu_to_be32(1); -+ put_unaligned_be32(1, offset_array_ptr); - offset_array += sizeof(uint32_t); - for (i = 0; i < font->num_subset_fontdicts; i++) { - status = cff_dict_write (font->fd_dict[font->fd_subset_map[i]], -@@ -2357,8 +2357,9 @@ cairo_cff_font_write_cid_fontdict (cairo_cff_font_t *font) - if (unlikely (status)) - return status; - -- offset_array_ptr = (uint32_t *) _cairo_array_index (&font->output, offset_array); -- *offset_array_ptr = cpu_to_be32(_cairo_array_num_elements (&font->output) - offset_base); -+ offset_array_ptr = _cairo_array_index (&font->output, offset_array); -+ put_unaligned_be32 (_cairo_array_num_elements (&font->output) - offset_base, -+ offset_array_ptr); - offset_array += sizeof(uint32_t); - } - -@@ -2609,7 +2610,7 @@ cairo_cff_font_create_set_widths (cairo_cff_font_t *font) - unsigned int i; - tt_hhea_t hhea; - int num_hmetrics; -- unsigned char buf[10]; -+ uint16_t short_entry; - int glyph_index; - cairo_int_status_t status; - -@@ -2629,7 +2630,8 @@ cairo_cff_font_create_set_widths (cairo_cff_font_t *font) - status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font, - TT_TAG_hmtx, - glyph_index * long_entry_size, -- buf, &short_entry_size); -+ (unsigned char *) &short_entry, -+ &short_entry_size); - if (unlikely (status)) - return status; - } -@@ -2638,11 +2640,12 @@ cairo_cff_font_create_set_widths (cairo_cff_font_t *font) - status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font, - TT_TAG_hmtx, - (num_hmetrics - 1) * long_entry_size, -- buf, &short_entry_size); -+ (unsigned char *) &short_entry, -+ &short_entry_size); - if (unlikely (status)) - return status; - } -- font->widths[i] = be16_to_cpu (*((int16_t*)buf)); -+ font->widths[i] = be16_to_cpu (short_entry); - } - - return CAIRO_STATUS_SUCCESS; -diff --git a/src/cairo-image-info.c b/src/cairo-image-info.c -index 64053a2..26e7ae5 100644 ---- a/src/cairo-image-info.c -+++ b/src/cairo-image-info.c -@@ -39,12 +39,6 @@ - #include "cairo-error-private.h" - #include "cairo-image-info-private.h" - --static uint32_t --_get_be32 (const unsigned char *p) --{ -- return p[0] << 24 | p[1] << 16 | p[2] << 8 | p[3]; --} -- - /* JPEG (image/jpeg) - * - * http://www.w3.org/Graphics/JPEG/itu-t81.pdf -@@ -170,7 +164,7 @@ static const unsigned char _jpx_signature[] = { - static const unsigned char * - _jpx_next_box (const unsigned char *p) - { -- return p + _get_be32 (p); -+ return p + get_unaligned_be32 (p); - } - - static const unsigned char * -@@ -185,8 +179,8 @@ _jpx_match_box (const unsigned char *p, const unsigned char *end, uint32_t type) - uint32_t length; - - if (p + 8 < end) { -- length = _get_be32 (p); -- if (_get_be32 (p + 4) == type && p + length < end) -+ length = get_unaligned_be32 (p); -+ if (get_unaligned_be32 (p + 4) == type && p + length < end) - return TRUE; - } - -@@ -208,8 +202,8 @@ _jpx_find_box (const unsigned char *p, const unsigned char *end, uint32_t type) - static void - _jpx_extract_info (const unsigned char *p, cairo_image_info_t *info) - { -- info->height = _get_be32 (p); -- info->width = _get_be32 (p + 4); -+ info->height = get_unaligned_be32 (p); -+ info->width = get_unaligned_be32 (p + 4); - info->num_components = (p[8] << 8) + p[9]; - info->bits_per_component = p[10]; - } -@@ -281,13 +275,13 @@ _cairo_image_info_get_png_info (cairo_image_info_t *info, - return CAIRO_INT_STATUS_UNSUPPORTED; - - p += 4; -- if (_get_be32 (p) != PNG_IHDR) -+ if (get_unaligned_be32 (p) != PNG_IHDR) - return CAIRO_INT_STATUS_UNSUPPORTED; - - p += 4; -- info->width = _get_be32 (p); -+ info->width = get_unaligned_be32 (p); - p += 4; -- info->height = _get_be32 (p); -+ info->height = get_unaligned_be32 (p); - - return CAIRO_STATUS_SUCCESS; - } -@@ -347,14 +341,14 @@ _jbig2_get_next_segment (const unsigned char *p, - if (p + 6 >= end) - return NULL; - -- seg_num = _get_be32 (p); -+ seg_num = get_unaligned_be32 (p); - *type = p[4] & 0x3f; - big_page_size = (p[4] & 0x40) != 0; - p += 5; - - num_segs = p[0] >> 5; - if (num_segs == 7) { -- num_segs = _get_be32 (p) & 0x1fffffff; -+ num_segs = get_unaligned_be32 (p) & 0x1fffffff; - ref_seg_bytes = 4 + ((num_segs + 1)/8); - } else { - ref_seg_bytes = 1; -@@ -373,7 +367,7 @@ _jbig2_get_next_segment (const unsigned char *p, - if (p + 4 >= end) - return NULL; - -- *data_len = _get_be32 (p); -+ *data_len = get_unaligned_be32 (p); - p += 4; - *data = p; - -@@ -397,8 +391,8 @@ _jbig2_get_next_segment (const unsigned char *p, - static void - _jbig2_extract_info (cairo_image_info_t *info, const unsigned char *p) - { -- info->width = _get_be32 (p); -- info->height = _get_be32 (p + 4); -+ info->width = get_unaligned_be32 (p); -+ info->height = get_unaligned_be32 (p + 4); - info->num_components = 1; - info->bits_per_component = 1; - } -diff --git a/src/cairoint.h b/src/cairoint.h -index b4e8ac8..07ced42 100644 ---- a/src/cairoint.h -+++ b/src/cairoint.h -@@ -240,6 +240,32 @@ be32_to_cpu(uint32_t v) - - #endif - -+/* Unaligned big endian access -+ */ -+ -+static inline uint16_t get_unaligned_be16 (const unsigned char *p) -+{ -+ return p[0] << 8 | p[1]; -+} -+ -+static inline uint32_t get_unaligned_be32 (const unsigned char *p) -+{ -+ return p[0] << 24 | p[1] << 16 | p[2] << 8 | p[3]; -+} -+ -+static inline void put_unaligned_be16 (uint16_t v, unsigned char *p) -+{ -+ p[0] = (v >> 8) & 0xff; -+ p[1] = v & 0xff; -+} -+ -+static inline void put_unaligned_be32 (uint32_t v, unsigned char *p) -+{ -+ p[0] = (v >> 24) & 0xff; -+ p[1] = (v >> 16) & 0xff; -+ p[2] = (v >> 8) & 0xff; -+ p[3] = v & 0xff; -+} - - /* The glibc versions of ispace() and isdigit() are slow in UTF-8 locales. - */ --- -2.3.1 - diff --git a/x11-libs/cairo/files/cairo-1.14.0-align-64bit-types.patch b/x11-libs/cairo/files/cairo-1.14.0-align-64bit-types.patch deleted file mode 100644 index 82fd50092aa0..000000000000 --- a/x11-libs/cairo/files/cairo-1.14.0-align-64bit-types.patch +++ /dev/null @@ -1,152 +0,0 @@ -From fe1b2b92075f1a5849900cdbfa4089b10946c689 Mon Sep 17 00:00:00 2001 -From: Uli Schlachter <psychon@znc.in> -Date: Fri, 5 Dec 2014 14:43:26 +0100 -Subject: [PATCH] tor-scan-converter: Correctly align 64bit types - -On 32bit SPARC the scan converter was causing a SIGBUS due to an unaligned -memory access while accessing an int64_t. This memory accessing was to struct -quorem's rem member. - -This crash occurred because the tor-scan-converter contains its own -implementation of a memory pool. This implementation only guarantees an -alignment of sizeof(void *), which is less than what a 64 bit type requires on -32bit platforms. This 4 byte alignment is guaranteed, because struct _pool_chunk -(which is the struct that is used for managing free space) contains elements of -that size and so the size of that struct is a multiple of this size as well. - -This problem was introduced with commit 03c3d4b7c15. - -To fix this problem, this commit introduces a int64_t member to struct -_pool_chunk that marks the beginning of the free data space. Thanks to this, the -compiler ensures proper alignment and sizeof(struct _pool_chunk) becomes a -multiple of 8. - -However, previously the end of the struct marked the beginning of the data and -sizeof() was used for correctly calculating offsets to the data section. So, -just adding such a member would work, but would also waste some memory. To avoid -this, this commit also changes the rest of the pool implementation to -accommodate. - -Reported-by: Nicolas Setton <setton@adacore.com> -Signed-off-by: Uli Schlachter <psychon@znc.in> -Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> ---- - src/cairo-tor-scan-converter.c | 38 +++++++++++++++++++++++--------------- - 1 file changed, 23 insertions(+), 15 deletions(-) - -diff --git a/src/cairo-tor-scan-converter.c b/src/cairo-tor-scan-converter.c -index 4adcafb..bd90266 100644 ---- a/src/cairo-tor-scan-converter.c -+++ b/src/cairo-tor-scan-converter.c -@@ -277,9 +277,14 @@ struct _pool_chunk { - * chunk in the pool header. */ - struct _pool_chunk *prev_chunk; - -- /* Actual data starts here. Well aligned for pointers. */ -+ /* Actual data starts here. Well aligned even for 64 bit types. */ -+ int64_t data; - }; - -+/* The int64_t data member of _pool_chunk just exists to enforce alignment, -+ * it shouldn't be included in the allocated size for the struct. */ -+#define SIZEOF_POOL_CHUNK (sizeof(struct _pool_chunk) - sizeof(int64_t)) -+ - /* A memory pool. This is supposed to be embedded on the stack or - * within some other structure. It may optionally be followed by an - * embedded array from which requests are fulfilled until -@@ -299,8 +304,11 @@ struct pool { - - /* Header for the sentinel chunk. Directly following the pool - * struct should be some space for embedded elements from which -- * the sentinel chunk allocates from. */ -- struct _pool_chunk sentinel[1]; -+ * the sentinel chunk allocates from. This is expressed as a char -+ * array so that the 'int64_t data' member of _pool_chunk isn't -+ * included. This way embedding struct pool in other structs works -+ * without wasting space. */ -+ char sentinel[SIZEOF_POOL_CHUNK]; - }; - - /* A polygon edge. */ -@@ -475,7 +483,7 @@ _pool_chunk_create(struct pool *pool, size_t size) - { - struct _pool_chunk *p; - -- p = malloc(size + sizeof(struct _pool_chunk)); -+ p = malloc(SIZEOF_POOL_CHUNK + size); - if (unlikely (NULL == p)) - longjmp (*pool->jmp, _cairo_error (CAIRO_STATUS_NO_MEMORY)); - -@@ -489,10 +497,10 @@ pool_init(struct pool *pool, - size_t embedded_capacity) - { - pool->jmp = jmp; -- pool->current = pool->sentinel; -+ pool->current = (void*) pool->sentinel; - pool->first_free = NULL; - pool->default_capacity = default_capacity; -- _pool_chunk_init(pool->sentinel, NULL, embedded_capacity); -+ _pool_chunk_init(pool->current, NULL, embedded_capacity); - } - - static void -@@ -502,7 +510,7 @@ pool_fini(struct pool *pool) - do { - while (NULL != p) { - struct _pool_chunk *prev = p->prev_chunk; -- if (p != pool->sentinel) -+ if (p != (void *) pool->sentinel) - free(p); - p = prev; - } -@@ -542,14 +550,14 @@ _pool_alloc_from_new_chunk( - chunk = _pool_chunk_create (pool, capacity); - pool->current = chunk; - -- obj = ((unsigned char*)chunk + sizeof(*chunk) + chunk->size); -+ obj = ((unsigned char*)&chunk->data + chunk->size); - chunk->size += size; - return obj; - } - - /* Allocate size bytes from the pool. The first allocated address -- * returned from a pool is aligned to sizeof(void*). Subsequent -- * addresses will maintain alignment as long as multiples of void* are -+ * returned from a pool is aligned to 8 bytes. Subsequent -+ * addresses will maintain alignment as long as multiples of 8 are - * allocated. Returns the address of a new memory area or %NULL on - * allocation failures. The pool retains ownership of the returned - * memory. */ -@@ -559,7 +567,7 @@ pool_alloc (struct pool *pool, size_t size) - struct _pool_chunk *chunk = pool->current; - - if (size <= chunk->capacity - chunk->size) { -- void *obj = ((unsigned char*)chunk + sizeof(*chunk) + chunk->size); -+ void *obj = ((unsigned char*)&chunk->data + chunk->size); - chunk->size += size; - return obj; - } else { -@@ -573,16 +581,16 @@ pool_reset (struct pool *pool) - { - /* Transfer all used chunks to the chunk free list. */ - struct _pool_chunk *chunk = pool->current; -- if (chunk != pool->sentinel) { -- while (chunk->prev_chunk != pool->sentinel) { -+ if (chunk != (void *) pool->sentinel) { -+ while (chunk->prev_chunk != (void *) pool->sentinel) { - chunk = chunk->prev_chunk; - } - chunk->prev_chunk = pool->first_free; - pool->first_free = pool->current; - } - /* Reset the sentinel as the current chunk. */ -- pool->current = pool->sentinel; -- pool->sentinel->size = 0; -+ pool->current = (void *) pool->sentinel; -+ pool->current->size = 0; - } - - /* Rewinds the cell list's cursor to the beginning. After rewinding --- -2.3.0 - diff --git a/x11-libs/cairo/files/cairo-1.14.0-image-negative-span-length.patch b/x11-libs/cairo/files/cairo-1.14.0-image-negative-span-length.patch deleted file mode 100644 index d3edb7401c66..000000000000 --- a/x11-libs/cairo/files/cairo-1.14.0-image-negative-span-length.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 5c82d91a5e15d29b1489dcb413b24ee7fdf59934 Mon Sep 17 00:00:00 2001 -From: Bryce Harrington <bryce@osg.samsung.com> -Date: Wed, 3 Dec 2014 19:28:15 -0800 -Subject: [PATCH] image: Fix crash in _fill_xrgb32_lerp_opaque_spans - -If a span length is negative don't go out of bounds processing the fill -data. - -Patch thanks to Ilya Sakhnenko <ilia.softway@gmail.com> on mailing list. - -Signed-off-by: Bryce Harrington <bryce@osg.samsung.com> ---- - src/cairo-image-compositor.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/cairo-image-compositor.c b/src/cairo-image-compositor.c -index 6ff0f09..48072f8 100644 ---- a/src/cairo-image-compositor.c -+++ b/src/cairo-image-compositor.c -@@ -2242,10 +2242,10 @@ _fill_xrgb32_lerp_opaque_spans (void *abstract_renderer, int y, int h, - spans[0].x, y, len, 1, r->u.fill.pixel); - } else { - uint32_t *d = (uint32_t*)(r->u.fill.data + r->u.fill.stride*y + spans[0].x*4); -- while (len--) -+ while (len-- > 0) - *d++ = r->u.fill.pixel; - } -- } else while (len--) { -+ } else while (len-- > 0) { - *d = lerp8x4 (r->u.fill.pixel, a, *d); - d++; - } --- -2.3.1 - diff --git a/x11-libs/cairo/files/cairo-1.14.0-tor-scan-converter-do_fullrow-intersection.patch b/x11-libs/cairo/files/cairo-1.14.0-tor-scan-converter-do_fullrow-intersection.patch deleted file mode 100644 index f8e67e5a7248..000000000000 --- a/x11-libs/cairo/files/cairo-1.14.0-tor-scan-converter-do_fullrow-intersection.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 2de69581c28bf115852037ca41eba13cb7335976 Mon Sep 17 00:00:00 2001 -From: Massimo Valentini <mvalentini@src.gnome.org> -Date: Sun, 19 Oct 2014 09:19:10 +0200 -Subject: [PATCH] tor-scan-converter: can't do_fullrow when intersection in row - + 0.5subrow - -the active edges list must be left sorted at the next possible use -and since full_row does not deal with intersections it is not usable -when there is an intersection in the top half of the next row first -subrow - -Reported-and-tested-by: Matthew Leach -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=85151 -Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> ---- - src/cairo-tor-scan-converter.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/cairo-tor-scan-converter.c b/src/cairo-tor-scan-converter.c -index 4adcafb..14922d0 100644 ---- a/src/cairo-tor-scan-converter.c -+++ b/src/cairo-tor-scan-converter.c -@@ -1167,8 +1167,8 @@ can_do_full_row (struct active_list *active) - - if (e->dy) { - struct quorem x = e->x; -- x.quo += e->dxdy_full.quo - e->dxdy.quo/2; -- x.rem += e->dxdy_full.rem - e->dxdy.rem/2; -+ x.quo += e->dxdy_full.quo; -+ x.rem += e->dxdy_full.rem; - if (x.rem < 0) { - x.quo--; - x.rem += e->dy; --- -2.3.1 - diff --git a/x11-libs/cairo/files/cairo-1.14.0-xcb-0-sized-glyph.patch b/x11-libs/cairo/files/cairo-1.14.0-xcb-0-sized-glyph.patch deleted file mode 100644 index 8e85395f3bbd..000000000000 --- a/x11-libs/cairo/files/cairo-1.14.0-xcb-0-sized-glyph.patch +++ /dev/null @@ -1,43 +0,0 @@ -From a03f2ff72054c9530f98738aac729354a3f56102 Mon Sep 17 00:00:00 2001 -From: Adam Jackson <ajax@redhat.com> -Date: Fri, 31 Oct 2014 13:21:15 -0400 -Subject: [PATCH 2/2] xcb: Don't crash when swapping a 0-sized glyph - -malloc(0) needn't return NULL, and on glibc, doesn't. Then we encounter -a loop of the form do { ... } while (--c), which doesn't do quite what -you were hoping for when c is initially 0. - -Since there's nothing to swap in this case, just bomb out. - -Signed-off-by: Adam Jackson <ajax@redhat.com> ---- - src/cairo-xcb-surface-render.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/src/cairo-xcb-surface-render.c b/src/cairo-xcb-surface-render.c -index 21a89cc..1a086a2 100644 ---- a/src/cairo-xcb-surface-render.c -+++ b/src/cairo-xcb-surface-render.c -@@ -4467,6 +4467,9 @@ _cairo_xcb_surface_add_glyph (cairo_xcb_connection_t *connection, - const uint8_t *d; - uint8_t *new, *n; - -+ if (c == 0) -+ break; -+ - new = malloc (c); - if (unlikely (new == NULL)) { - status = _cairo_error (CAIRO_STATUS_NO_MEMORY); -@@ -4495,6 +4498,9 @@ _cairo_xcb_surface_add_glyph (cairo_xcb_connection_t *connection, - const uint32_t *d; - uint32_t *new, *n; - -+ if (c == 0) -+ break; -+ - new = malloc (4 * c); - if (unlikely (new == NULL)) { - status = _cairo_error (CAIRO_STATUS_NO_MEMORY); --- -2.3.1 - diff --git a/x11-libs/cairo/files/cairo-1.14.0-xlib-0-sized-glyph.patch b/x11-libs/cairo/files/cairo-1.14.0-xlib-0-sized-glyph.patch deleted file mode 100644 index c8e408494100..000000000000 --- a/x11-libs/cairo/files/cairo-1.14.0-xlib-0-sized-glyph.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 3cf862f6d973755cd9824c2224fbe0a623c47ff1 Mon Sep 17 00:00:00 2001 -From: Adam Jackson <ajax@redhat.com> -Date: Fri, 31 Oct 2014 13:21:14 -0400 -Subject: [PATCH 1/2] xlib: Don't crash when swapping a 0-sized glyph - -malloc(0) needn't return NULL, and on glibc, doesn't. Then we encounter -a loop of the form do { ... } while (--c), which doesn't do quite what -you were hoping for when c is initially 0. - -Since there's nothing to swap in this case, just bomb out. - -Signed-off-by: Adam Jackson <ajax@redhat.com> ---- - src/cairo-xlib-render-compositor.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/src/cairo-xlib-render-compositor.c b/src/cairo-xlib-render-compositor.c -index e90df09..8a1ec7b 100644 ---- a/src/cairo-xlib-render-compositor.c -+++ b/src/cairo-xlib-render-compositor.c -@@ -1287,6 +1287,9 @@ _cairo_xlib_surface_add_glyph (cairo_xlib_display_t *display, - unsigned char *d; - unsigned char *new, *n; - -+ if (c == 0) -+ break; -+ - new = malloc (c); - if (!new) { - status = _cairo_error (CAIRO_STATUS_NO_MEMORY); -@@ -1312,6 +1315,9 @@ _cairo_xlib_surface_add_glyph (cairo_xlib_display_t *display, - const uint32_t *d; - uint32_t *new, *n; - -+ if (c == 0) -+ break; -+ - new = malloc (4 * c); - if (unlikely (new == NULL)) { - status = _cairo_error (CAIRO_STATUS_NO_MEMORY); --- -2.3.1 - diff --git a/x11-libs/cairo/files/cairo-1.8.8-interix.patch b/x11-libs/cairo/files/cairo-1.8.8-interix.patch deleted file mode 100644 index dc20714ae26b..000000000000 --- a/x11-libs/cairo/files/cairo-1.8.8-interix.patch +++ /dev/null @@ -1,16 +0,0 @@ -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) - |