23169079 Move cairo to Userland and update to 1.14.2
authorAlan Coopersmith <Alan.Coopersmith@Oracle.COM>
Fri, 29 Apr 2016 15:06:23 -0700
changeset 5887 67654f7c51e7
parent 5886 abaafa90488e
child 5888 09b82e3ff500
23169079 Move cairo to Userland and update to 1.14.2 22960254 problem in LIBRARY/CAIRO PSARC/2016/229 Cairo 1.14
components/desktop/cairo/Makefile
components/desktop/cairo/cairo.p5m
components/desktop/cairo/files/libcairo.3lib
components/desktop/cairo/patches/01-studio-pthread.patch
components/desktop/cairo/patches/02-configure-libs.patch
components/desktop/cairo/patches/03-doc-test.patch
components/meta-packages/incorporation-cache
transforms/docs
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/desktop/cairo/Makefile	Fri Apr 29 15:06:23 2016 -0700
@@ -0,0 +1,99 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+#
+
+# Cairo uses atomic intrinsics not supported in Studio 12.4 (ER 19201298)
+COMPILER =              gcc
+BUILD_BITS =            64_and_32
+include ../../../make-rules/shared-macros.mk
+
+COMPONENT_NAME=		cairo
+COMPONENT_VERSION=	1.14.2
+COMPONENT_PROJECT_URL=	http://cairographics.org
+COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.xz
+COMPONENT_ARCHIVE_HASH= \
+    sha256:c919d999ddb1bbbecd4bbe65299ca2abd2079c7e13d224577895afa7005ecceb
+COMPONENT_ARCHIVE_URL=	http://cairographics.org/releases/$(COMPONENT_ARCHIVE)
+COMPONENT_BUGDB=	library/cairo
+
+TPNO=			24139
+
+# Cairo tests currently require an X display & require more work to run properly
+TEST_TARGET= $(NO_TESTS)
+include $(WS_MAKE_RULES)/common.mk
+
+ASLR_MODE = $(ASLR_ENABLE)
+
+LDFLAGS += $(CC_BITS)
+
+# Needed for "gmake test" to work successfully.
+unexport SHELLOPTS
+
+# Needs update to work with latest cogl; optional.
+CONFIGURE_OPTIONS += --disable-cogl
+CONFIGURE_OPTIONS += --disable-static
+# Requires bfd (a newer version?); optional.
+CONFIGURE_OPTIONS += --disable-symbol-lookup
+CONFIGURE_OPTIONS += --enable-atomic
+CONFIGURE_OPTIONS += --enable-ft
+CONFIGURE_OPTIONS += --enable-gl
+CONFIGURE_OPTIONS += --enable-glx
+CONFIGURE_OPTIONS += --enable-gobject
+CONFIGURE_OPTIONS += --enable-gtk-doc
+CONFIGURE_OPTIONS += --enable-interpreter
+CONFIGURE_OPTIONS += --enable-largefile
+CONFIGURE_OPTIONS += --enable-pdf
+CONFIGURE_OPTIONS += --enable-png
+CONFIGURE_OPTIONS += --enable-ps
+CONFIGURE_OPTIONS += --enable-shared
+CONFIGURE_OPTIONS += --enable-svg
+CONFIGURE_OPTIONS += --enable-tee
+CONFIGURE_OPTIONS += --enable-xcb
+CONFIGURE_OPTIONS += --enable-xcb-shm
+CONFIGURE_OPTIONS += --enable-xlib
+CONFIGURE_OPTIONS += --enable-xlib-xrender
+CONFIGURE_OPTIONS += --with-pic
+CONFIGURE_OPTIONS += --with-x
+
+# Required due to patches.
+COMPONENT_PREP_ACTION += (cd $(@D); autoreconf -fiv);
+
+REQUIRED_PACKAGES += developer/documentation-tool/gtk-doc
+REQUIRED_PACKAGES += image/library/libpng
+REQUIRED_PACKAGES += library/glib2
+# Requires pixman >= 0.30
+REQUIRED_PACKAGES += library/graphics/pixman
+REQUIRED_PACKAGES += library/libspectre
+REQUIRED_PACKAGES += library/zlib
+REQUIRED_PACKAGES += service/opengl/ogl-select
+REQUIRED_PACKAGES += shell/ksh93
+REQUIRED_PACKAGES += system/library/gcc/gcc-c-runtime
+REQUIRED_PACKAGES += system/library/fontconfig
+REQUIRED_PACKAGES += system/library/freetype-2
+REQUIRED_PACKAGES += system/library/math
+REQUIRED_PACKAGES += x11/library/libx11
+REQUIRED_PACKAGES += x11/library/libxcb
+REQUIRED_PACKAGES += x11/library/libxext
+REQUIRED_PACKAGES += x11/library/libxrender
+REQUIRED_PACKAGES += x11/library/mesa
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/desktop/cairo/cairo.p5m	Fri Apr 29 15:06:23 2016 -0700
@@ -0,0 +1,202 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+#
+
+<transform file path=usr.*/man/.+ -> \
+    default mangler.man.stability uncommitted>
+set name=pkg.fmri \
+    value=pkg:/library/desktop/cairo@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="Cairo vector graphics library"
+# pkgdepend needs help to follow the runtime generated symlinks to libGL
+set name=pkg.depend.runpath \
+    value=$PKGDEPEND_RUNPATH:usr/lib/mesa:usr/lib/mesa/$(MACH64)
+set name=com.oracle.info.description value="Cairo vector graphics library"
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification \
+    value="org.opensolaris.category.2008:Desktop (GNOME)/Libraries"
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=PSARC/2012/339 value=PSARC/2016/229
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+#
+file path=usr/bin/cairo-sphinx
+file path=usr/bin/cairo-trace
+file path=usr/include/cairo/cairo-deprecated.h
+file path=usr/include/cairo/cairo-features.h
+file path=usr/include/cairo/cairo-ft.h
+file path=usr/include/cairo/cairo-gl.h
+file path=usr/include/cairo/cairo-gobject.h
+file path=usr/include/cairo/cairo-pdf.h
+file path=usr/include/cairo/cairo-ps.h
+file path=usr/include/cairo/cairo-script-interpreter.h
+file path=usr/include/cairo/cairo-script.h
+file path=usr/include/cairo/cairo-svg.h
+file path=usr/include/cairo/cairo-tee.h
+file path=usr/include/cairo/cairo-version.h
+file path=usr/include/cairo/cairo-xcb.h
+file path=usr/include/cairo/cairo-xlib-xrender.h
+file path=usr/include/cairo/cairo-xlib.h
+file path=usr/include/cairo/cairo.h
+link path=usr/lib/$(MACH64)/cairo/cairo-fdr.so target=cairo-fdr.so.0.0.0
+link path=usr/lib/$(MACH64)/cairo/cairo-fdr.so.0 target=cairo-fdr.so.0.0.0
+file path=usr/lib/$(MACH64)/cairo/cairo-fdr.so.0.0.0
+link path=usr/lib/$(MACH64)/cairo/cairo-sphinx.so target=cairo-sphinx.so.0.0.0
+link path=usr/lib/$(MACH64)/cairo/cairo-sphinx.so.0 target=cairo-sphinx.so.0.0.0
+file path=usr/lib/$(MACH64)/cairo/cairo-sphinx.so.0.0.0
+link path=usr/lib/$(MACH64)/cairo/libcairo-trace.so \
+    target=libcairo-trace.so.0.0.0
+link path=usr/lib/$(MACH64)/cairo/libcairo-trace.so.0 \
+    target=libcairo-trace.so.0.0.0
+file path=usr/lib/$(MACH64)/cairo/libcairo-trace.so.0.0.0
+link path=usr/lib/$(MACH64)/libcairo-gobject.so \
+    target=libcairo-gobject.so.2.11400.2
+link path=usr/lib/$(MACH64)/libcairo-gobject.so.2 \
+    target=libcairo-gobject.so.2.11400.2
+file path=usr/lib/$(MACH64)/libcairo-gobject.so.2.11400.2
+link path=usr/lib/$(MACH64)/libcairo-script-interpreter.so \
+    target=libcairo-script-interpreter.so.2.11400.2
+link path=usr/lib/$(MACH64)/libcairo-script-interpreter.so.2 \
+    target=libcairo-script-interpreter.so.2.11400.2
+file path=usr/lib/$(MACH64)/libcairo-script-interpreter.so.2.11400.2
+link path=usr/lib/$(MACH64)/libcairo.so target=libcairo.so.2.11400.2
+link path=usr/lib/$(MACH64)/libcairo.so.2 target=libcairo.so.2.11400.2
+file path=usr/lib/$(MACH64)/libcairo.so.2.11400.2
+file path=usr/lib/$(MACH64)/pkgconfig/cairo-fc.pc
+file path=usr/lib/$(MACH64)/pkgconfig/cairo-ft.pc
+file path=usr/lib/$(MACH64)/pkgconfig/cairo-gl.pc
+file path=usr/lib/$(MACH64)/pkgconfig/cairo-glx.pc
+file path=usr/lib/$(MACH64)/pkgconfig/cairo-gobject.pc
+file path=usr/lib/$(MACH64)/pkgconfig/cairo-pdf.pc
+file path=usr/lib/$(MACH64)/pkgconfig/cairo-png.pc
+file path=usr/lib/$(MACH64)/pkgconfig/cairo-ps.pc
+file path=usr/lib/$(MACH64)/pkgconfig/cairo-script.pc
+file path=usr/lib/$(MACH64)/pkgconfig/cairo-svg.pc
+file path=usr/lib/$(MACH64)/pkgconfig/cairo-tee.pc
+file path=usr/lib/$(MACH64)/pkgconfig/cairo-xcb-shm.pc
+file path=usr/lib/$(MACH64)/pkgconfig/cairo-xcb.pc
+file path=usr/lib/$(MACH64)/pkgconfig/cairo-xlib-xrender.pc
+file path=usr/lib/$(MACH64)/pkgconfig/cairo-xlib.pc
+file path=usr/lib/$(MACH64)/pkgconfig/cairo.pc
+link path=usr/lib/cairo/cairo-fdr.so target=cairo-fdr.so.0.0.0
+link path=usr/lib/cairo/cairo-fdr.so.0 target=cairo-fdr.so.0.0.0
+file path=usr/lib/cairo/cairo-fdr.so.0.0.0
+link path=usr/lib/cairo/cairo-sphinx.so target=cairo-sphinx.so.0.0.0
+link path=usr/lib/cairo/cairo-sphinx.so.0 target=cairo-sphinx.so.0.0.0
+file path=usr/lib/cairo/cairo-sphinx.so.0.0.0
+link path=usr/lib/cairo/libcairo-trace.so target=libcairo-trace.so.0.0.0
+link path=usr/lib/cairo/libcairo-trace.so.0 target=libcairo-trace.so.0.0.0
+file path=usr/lib/cairo/libcairo-trace.so.0.0.0
+link path=usr/lib/libcairo-gobject.so target=libcairo-gobject.so.2.11400.2
+link path=usr/lib/libcairo-gobject.so.2 target=libcairo-gobject.so.2.11400.2
+file path=usr/lib/libcairo-gobject.so.2.11400.2
+link path=usr/lib/libcairo-script-interpreter.so \
+    target=libcairo-script-interpreter.so.2.11400.2
+link path=usr/lib/libcairo-script-interpreter.so.2 \
+    target=libcairo-script-interpreter.so.2.11400.2
+file path=usr/lib/libcairo-script-interpreter.so.2.11400.2
+link path=usr/lib/libcairo.so target=libcairo.so.2.11400.2
+link path=usr/lib/libcairo.so.2 target=libcairo.so.2.11400.2
+file path=usr/lib/libcairo.so.2.11400.2
+file path=usr/lib/pkgconfig/cairo-fc.pc
+file path=usr/lib/pkgconfig/cairo-ft.pc
+file path=usr/lib/pkgconfig/cairo-gl.pc
+file path=usr/lib/pkgconfig/cairo-glx.pc
+file path=usr/lib/pkgconfig/cairo-gobject.pc
+file path=usr/lib/pkgconfig/cairo-pdf.pc
+file path=usr/lib/pkgconfig/cairo-png.pc
+file path=usr/lib/pkgconfig/cairo-ps.pc
+file path=usr/lib/pkgconfig/cairo-script.pc
+file path=usr/lib/pkgconfig/cairo-svg.pc
+file path=usr/lib/pkgconfig/cairo-tee.pc
+file path=usr/lib/pkgconfig/cairo-xcb-shm.pc
+file path=usr/lib/pkgconfig/cairo-xcb.pc
+file path=usr/lib/pkgconfig/cairo-xlib-xrender.pc
+file path=usr/lib/pkgconfig/cairo-xlib.pc
+file path=usr/lib/pkgconfig/cairo.pc
+file path=usr/share/gtk-doc/html/cairo/bindings-errors.html
+file path=usr/share/gtk-doc/html/cairo/bindings-fonts.html
+file path=usr/share/gtk-doc/html/cairo/bindings-memory.html
+file path=usr/share/gtk-doc/html/cairo/bindings-overloading.html
+file path=usr/share/gtk-doc/html/cairo/bindings-path.html
+file path=usr/share/gtk-doc/html/cairo/bindings-patterns.html
+file path=usr/share/gtk-doc/html/cairo/bindings-return-values.html
+file path=usr/share/gtk-doc/html/cairo/bindings-streams.html
+file path=usr/share/gtk-doc/html/cairo/bindings-surfaces.html
+file path=usr/share/gtk-doc/html/cairo/cairo-Error-handling.html
+file path=usr/share/gtk-doc/html/cairo/cairo-FreeType-Fonts.html
+file path=usr/share/gtk-doc/html/cairo/cairo-Image-Surfaces.html
+file path=usr/share/gtk-doc/html/cairo/cairo-PDF-Surfaces.html
+file path=usr/share/gtk-doc/html/cairo/cairo-PNG-Support.html
+file path=usr/share/gtk-doc/html/cairo/cairo-Paths.html
+file path=usr/share/gtk-doc/html/cairo/cairo-PostScript-Surfaces.html
+file path=usr/share/gtk-doc/html/cairo/cairo-Quartz-(CGFont)-Fonts.html
+file path=usr/share/gtk-doc/html/cairo/cairo-Quartz-Surfaces.html
+file path=usr/share/gtk-doc/html/cairo/cairo-Raster-Sources.html
+file path=usr/share/gtk-doc/html/cairo/cairo-Recording-Surfaces.html
+file path=usr/share/gtk-doc/html/cairo/cairo-Regions.html
+file path=usr/share/gtk-doc/html/cairo/cairo-SVG-Surfaces.html
+file path=usr/share/gtk-doc/html/cairo/cairo-Script-Surfaces.html
+file path=usr/share/gtk-doc/html/cairo/cairo-Transformations.html
+file path=usr/share/gtk-doc/html/cairo/cairo-Types.html
+file path=usr/share/gtk-doc/html/cairo/cairo-User-Fonts.html
+file path=usr/share/gtk-doc/html/cairo/cairo-Version-Information.html
+file path=usr/share/gtk-doc/html/cairo/cairo-Win32-Fonts.html
+file path=usr/share/gtk-doc/html/cairo/cairo-Win32-Surfaces.html
+file path=usr/share/gtk-doc/html/cairo/cairo-XCB-Surfaces.html
+file path=usr/share/gtk-doc/html/cairo/cairo-XLib-Surfaces.html
+file path=usr/share/gtk-doc/html/cairo/cairo-XLib-XRender-Backend.html
+file path=usr/share/gtk-doc/html/cairo/cairo-cairo-device-t.html
+file path=usr/share/gtk-doc/html/cairo/cairo-cairo-font-face-t.html
+file path=usr/share/gtk-doc/html/cairo/cairo-cairo-font-options-t.html
+file path=usr/share/gtk-doc/html/cairo/cairo-cairo-matrix-t.html
+file path=usr/share/gtk-doc/html/cairo/cairo-cairo-pattern-t.html
+file path=usr/share/gtk-doc/html/cairo/cairo-cairo-scaled-font-t.html
+file path=usr/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html
+file path=usr/share/gtk-doc/html/cairo/cairo-cairo-t.html
+file path=usr/share/gtk-doc/html/cairo/cairo-drawing.html
+file path=usr/share/gtk-doc/html/cairo/cairo-fonts.html
+file path=usr/share/gtk-doc/html/cairo/cairo-support.html
+file path=usr/share/gtk-doc/html/cairo/cairo-surfaces.html
+file path=usr/share/gtk-doc/html/cairo/cairo-text.html
+file path=usr/share/gtk-doc/html/cairo/cairo.devhelp2
+file path=usr/share/gtk-doc/html/cairo/home.png
+file path=usr/share/gtk-doc/html/cairo/index-1.10.html
+file path=usr/share/gtk-doc/html/cairo/index-1.12.html
+file path=usr/share/gtk-doc/html/cairo/index-1.2.html
+file path=usr/share/gtk-doc/html/cairo/index-1.4.html
+file path=usr/share/gtk-doc/html/cairo/index-1.6.html
+file path=usr/share/gtk-doc/html/cairo/index-1.8.html
+file path=usr/share/gtk-doc/html/cairo/index-all.html
+file path=usr/share/gtk-doc/html/cairo/index.html
+file path=usr/share/gtk-doc/html/cairo/index.sgml
+file path=usr/share/gtk-doc/html/cairo/language-bindings.html
+file path=usr/share/gtk-doc/html/cairo/left-insensitive.png
+file path=usr/share/gtk-doc/html/cairo/left.png
+file path=usr/share/gtk-doc/html/cairo/right-insensitive.png
+file path=usr/share/gtk-doc/html/cairo/right.png
+file path=usr/share/gtk-doc/html/cairo/style.css
+file path=usr/share/gtk-doc/html/cairo/up-insensitive.png
+file path=usr/share/gtk-doc/html/cairo/up.png
+file files/libcairo.3lib path=usr/share/man/man3lib/libcairo.3lib
+license COPYING-LGPL-2.1 license=LGPLv2.1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/desktop/cairo/files/libcairo.3lib	Fri Apr 29 15:06:23 2016 -0700
@@ -0,0 +1,26 @@
+.TH libcairo 3lib "15 April 2016"
+.SH "NAME"
+libcairo \- FreeDesktop vector graphics library
+.SH "DESCRIPTION"
+.PP
+Cairo is a vector graphics library used by GTK+\&.
+.PP
+To access the API documentation, the \fBpkg\fR(7) facet of facet.doc.html
+must not be set to False.
+.SH "FILES"
+.PP
+The following files are used by this application:
+.TP
+.B /usr/lib/libcairo\&.so
+32-bit library
+.TP
+.B /usr/lib/64/libcairo\&.so
+64-bit library
+.TP
+.B /usr/share/gtk-doc/html/cairo
+Location of developer documentation
+.SH "SEE ALSO"
+.PP
+\fBlibgtk-x11-2\&.0\fR(3lib),
+\fBattributes\fR(7),
+\fBgnome-interfaces\fR(7)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/desktop/cairo/patches/01-studio-pthread.patch	Fri Apr 29 15:06:23 2016 -0700
@@ -0,0 +1,41 @@
+Patch configure; it assumes gcc -pthread option when testing for pthread
+support.  Even more silly, the various configure tests will fail if there's
+any output to stderr -- warnings or not.
+
+This patch is not appropriate for upstream; a bug needs to be filed as
+their configure check needs to be completely reworked.
+
+--- cairo-1.14.2/build/configure.ac.pthread	2015-03-10 15:21:07.000000000 -0700
++++ cairo-1.14.2/build/configure.ac.pthread	2015-07-09 20:42:12.984139231 -0700
+@@ -205,7 +205,7 @@
+ 	if test "x$have_real_pthread" != "xyes"; then
+ 		dnl Give -pthread a go.
+ 		CAIRO_CHECK_PTHREAD(
+-			[real_pthread], [-pthread], [],
++			[real_pthread], [], [],
+ 			[testsuite_pthread_program],
+ 			[have_real_pthread=yes],
+ 			[have_real_pthread="no (can't link with -lpthread or -pthread)"])
+--- cairo-1.14.2/build/aclocal.cairo.m4	2015-03-10 15:21:07.000000000 -0700
++++ cairo-1.14.2/build/aclocal.cairo.m4	2015-07-10 19:47:09.816089024 -0700
+@@ -80,8 +80,7 @@
+ dnl
+ dnl Compile and link the program with the given environment setup.
+ dnl The global cairo_cc_flag is set to "yes" or "no" according as
+-dnl the link succeeded or not.  The link step must complete without
+-dnl warnings or errors to stderr.
++dnl the link succeeded or not.
+ dnl
+ dnl Perform true-action on success and false-action on failure.
+ dnl The values of CFLAGS, LIBS, LDFLAGS are saved before env-setup
+@@ -106,10 +105,6 @@
+ 		[cairo_cc_stderr=`test -f conftest.err && cat conftest.err`
+ 		 cairo_cc_flag=no])
+ 
+-	if test "x$cairo_cc_stderr" != "x"; then
+-		cairo_cc_flag=no
+-	fi
+-
+ 	if test "x$cairo_cc_flag" = "xyes"; then
+ 		ifelse([$3], , :, [$3])
+ 	else
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/desktop/cairo/patches/02-configure-libs.patch	Fri Apr 29 15:06:23 2016 -0700
@@ -0,0 +1,45 @@
+The Solaris linker fails during the build process for 64-bit builds only
+since it attempts to link to both the build area version of libcairo
+(object file) and the installed library at the same time (because -lcairo
+shows up in various pkg-config libs and therefore is included in various
+flags at link time).
+
+Either the Solaris linker is too strict and determines duplicates in way
+that is different than the GNU linker, or libtool is failing to remove the
+'-lcairo' from the link line because it doesn't think it's the same library
+and that is the real issue.  I say this because libtool appears to remove
+the '-lcairo' from the link line for 32-bit builds, but not for 64-bit
+builds.
+
+--- cairo-1.14.2/configure.ac	2015-03-10 15:21:07.000000000 -0700
++++ cairo-1.14.2/configure.ac	2015-07-10 20:43:25.628136754 -0700
+@@ -614,6 +614,9 @@
+ 		    [test_pdf="no (requires $poppler_DEPENDENCY)"])
+   if test "x$test_pdf" = "xyes"; then
+     AC_DEFINE([CAIRO_CAN_TEST_PDF_SURFACE], 1, [Define to 1 if the PDF backend can be tested (need poppler and other dependencies for pdf2png)])
++    # Ensure cairo is omitted so that no attempt is made to link to any
++    # system-installed versions causing a multiple inclusion build failure.
++    POPPLER_LIBS=$(echo "$POPPLER_LIBS" | $SED -e 's/-lcairo //')
+   else
+     AC_MSG_WARN([PDF backend will not be tested since poppler >= $POPPLER_VERSION_REQUIRED is not available])
+   fi
+@@ -645,6 +648,9 @@
+ 		    [test_svg="no (requires $librsvg_DEPENDENCY)"])
+   if test "x$test_svg" = "xyes"; then
+     AC_DEFINE([CAIRO_CAN_TEST_SVG_SURFACE], 1, [Define to 1 if the SVG backend can be tested])
++    # Ensure cairo is omitted so that no attempt is made to link to any
++    # system-installed versions causing a multiple inclusion build failure.
++    LIBRSVG_LIBS=$(echo "$LIBRSVG_LIBS" | $SED -e 's/-lcairo //')
+   else
+     AC_MSG_WARN([SVG backend will not be tested since librsvg >= $LIBRSVG_VERSION_REQUIRED is not available])
+   fi
+@@ -850,6 +856,9 @@
+ # We use GTK+ for some utility/debugging tools
+ PKG_CHECK_MODULES(gtk, "gtk+-2.0",have_gtk=yes, have_gtk=no)
+ AM_CONDITIONAL(HAVE_GTK, test "x$have_gtk" = "xyes")
++# Ensure cairo is omitted so that no attempt is made to link to any
++# system-installed versions causing a multiple inclusion build failure.
++gtk_LIBS=$(echo "$gtk_LIBS" | $SED -e 's/-lcairo //')
+ 
+ AC_CONFIG_FILES([
+ Makefile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/desktop/cairo/patches/03-doc-test.patch	Fri Apr 29 15:06:23 2016 -0700
@@ -0,0 +1,17 @@
+Needed to avoid gmake test from failing with complaints that it
+Can't open source directory $(pwd)/build/i86/doc/public//$(pwd)/cairo-1.14.2/src
+(i.e., two complete absolute paths all run together as one).
+
+Need to investigate how to make work upstream.
+
+--- a/build/Makefile.am.gtk-doc
++++ b/build/Makefile.am.gtk-doc
+@@ -110,7 +110,7 @@ tmpl/*.sgml:
+ sgml-build.stamp: tmpl.stamp $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
+ 	@echo 'gtk-doc: Building XML'
+ 	@-chmod -R u+w $(srcdir)
+-	_srcdir="`pwd`/$(DOC_SOURCE_DIR)"; \
++	_srcdir="$(DOC_SOURCE_DIR)"; \
+ 	cd $(srcdir) && gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$$_srcdir --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $(MKDB_OPTIONS)
+ 	touch sgml-build.stamp
+ 
--- a/components/meta-packages/incorporation-cache	Fri Apr 29 22:16:02 2016 +0100
+++ b/components/meta-packages/incorporation-cache	Fri Apr 29 15:06:23 2016 -0700
@@ -70,7 +70,6 @@
 consolidation/desktop/gnome-incorporation:library/desktop/c++/[email protected]
 consolidation/desktop/gnome-incorporation:library/desktop/c++/[email protected]
 consolidation/desktop/gnome-incorporation:library/desktop/c++/[email protected]
-consolidation/desktop/gnome-incorporation:library/desktop/[email protected]
 consolidation/desktop/gnome-incorporation:library/desktop/clutter/[email protected]
 consolidation/desktop/gnome-incorporation:library/desktop/clutter/[email protected]
 consolidation/desktop/gnome-incorporation:library/desktop/[email protected]
--- a/transforms/docs	Fri Apr 29 22:16:02 2016 +0100
+++ b/transforms/docs	Fri Apr 29 15:06:23 2016 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
 #
 
 # man pages
@@ -50,6 +50,9 @@
     default facet.doc.html all>
 <transform dir file link hardlink path=usr/lib/help/.*\.html$ -> \
     default facet.doc.html all>
+<transform dir file link hardlink path=usr/share/gtk-doc/html/.* -> \
+    default facet.doc.html all>
+
 # Ruby API html docs
 <transform file path=usr/ruby/.*/lib/ruby/vendor_ruby/.*/doc/.*/rdoc/* -> \
     default facet.doc.html all>