summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen de Groot <yngwin@gentoo.org>2012-07-25 08:44:33 +0000
committerBen de Groot <yngwin@gentoo.org>2012-07-25 08:44:33 +0000
commit66e04d96f6cf8e7002ece2cf59cb5b9a1efb6d34 (patch)
tree55bd29dfc969af64734365810ce71457d1d85ecf /x11-libs/cairo
parentPass to vm instead of catalina in init script. Thanks to Märt Bakhoff <spam... (diff)
downloadgentoo-2-66e04d96f6cf8e7002ece2cf59cb5b9a1efb6d34.tar.gz
gentoo-2-66e04d96f6cf8e7002ece2cf59cb5b9a1efb6d34.tar.bz2
gentoo-2-66e04d96f6cf8e7002ece2cf59cb5b9a1efb6d34.zip
Fix bugs #369593, #410213, #416507
(Portage version: 2.2.0_alpha120/cvs/Linux x86_64)
Diffstat (limited to 'x11-libs/cairo')
-rw-r--r--x11-libs/cairo/ChangeLog10
-rw-r--r--x11-libs/cairo/cairo-1.10.2-r3.ebuild162
-rw-r--r--x11-libs/cairo/cairo-1.12.2-r2.ebuild142
-rw-r--r--x11-libs/cairo/cairo-9999.ebuild5
-rw-r--r--x11-libs/cairo/files/cairo-1.10.2-export-symbols.patch38
-rw-r--r--x11-libs/cairo/files/cairo-1.10.2-ubuntu.patch53
6 files changed, 408 insertions, 2 deletions
diff --git a/x11-libs/cairo/ChangeLog b/x11-libs/cairo/ChangeLog
index b1bae4b7ba0f..e8ed01f0a7e1 100644
--- a/x11-libs/cairo/ChangeLog
+++ b/x11-libs/cairo/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for x11-libs/cairo
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/ChangeLog,v 1.302 2012/07/24 14:12:30 yngwin Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/ChangeLog,v 1.303 2012/07/25 08:44:33 yngwin Exp $
+
+*cairo-1.10.2-r3 (25 Jul 2012)
+*cairo-1.12.2-r2 (25 Jul 2012)
+
+ 25 Jul 2012; Ben de Groot <yngwin@gentoo.org> +cairo-1.10.2-r3.ebuild,
+ +cairo-1.12.2-r2.ebuild, +files/cairo-1.10.2-export-symbols.patch,
+ +files/cairo-1.10.2-ubuntu.patch, cairo-9999.ebuild:
+ Fix bugs #369593, #410213, #416507
24 Jul 2012; Ben de Groot <yngwin@gentoo.org> cairo-1.10.2-r2.ebuild,
cairo-1.12.2-r1.ebuild:
diff --git a/x11-libs/cairo/cairo-1.10.2-r3.ebuild b/x11-libs/cairo/cairo-1.10.2-r3.ebuild
new file mode 100644
index 000000000000..ac52926f3a15
--- /dev/null
+++ b/x11-libs/cairo/cairo-1.10.2-r3.ebuild
@@ -0,0 +1,162 @@
+# 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-r3.ebuild,v 1.1 2012/07/25 08:44:33 yngwin 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? ( >=x11-libs/qt-gui-4.8:4 )
+ X? (
+ >=x11-libs/libXrender-0.6
+ x11-libs/libX11
+ drm? (
+ >=sys-fs/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 "${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 -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.2-r2.ebuild b/x11-libs/cairo/cairo-1.12.2-r2.ebuild
new file mode 100644
index 000000000000..caa7a64f8cd7
--- /dev/null
+++ b/x11-libs/cairo/cairo-1.12.2-r2.ebuild
@@ -0,0 +1,142 @@
+# 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.1 2012/07/25 08:44:33 yngwin 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.18.4
+ 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? (
+ >=sys-fs/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-9999.ebuild b/x11-libs/cairo/cairo-9999.ebuild
index 697f2c0d95e4..68f51fd9d5db 100644
--- a/x11-libs/cairo/cairo-9999.ebuild
+++ b/x11-libs/cairo/cairo-9999.ebuild
@@ -1,6 +1,6 @@
# 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-9999.ebuild,v 1.20 2012/07/14 20:01:53 cardoe Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/cairo-9999.ebuild,v 1.21 2012/07/25 08:44:33 yngwin Exp $
EAPI=4
@@ -74,6 +74,9 @@ REQUIRED_USE="
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
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
new file mode 100644
index 000000000000..5f1c2d484ebf
--- /dev/null
+++ b/x11-libs/cairo/files/cairo-1.10.2-export-symbols.patch
@@ -0,0 +1,38 @@
+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-ubuntu.patch b/x11-libs/cairo/files/cairo-1.10.2-ubuntu.patch
new file mode 100644
index 000000000000..751bbd47ea4e
--- /dev/null
+++ b/x11-libs/cairo/files/cairo-1.10.2-ubuntu.patch
@@ -0,0 +1,53 @@
+--- 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 \