diff options
Diffstat (limited to 'x11-libs/cairo')
-rw-r--r-- | x11-libs/cairo/ChangeLog | 10 | ||||
-rw-r--r-- | x11-libs/cairo/cairo-1.10.2-r3.ebuild | 162 | ||||
-rw-r--r-- | x11-libs/cairo/cairo-1.12.2-r2.ebuild | 142 | ||||
-rw-r--r-- | x11-libs/cairo/cairo-9999.ebuild | 5 | ||||
-rw-r--r-- | x11-libs/cairo/files/cairo-1.10.2-export-symbols.patch | 38 | ||||
-rw-r--r-- | x11-libs/cairo/files/cairo-1.10.2-ubuntu.patch | 53 |
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 \ |