aboutsummaryrefslogtreecommitdiff
path: root/graphics/cairo
diff options
context:
space:
mode:
authorKoop Mast <kwm@FreeBSD.org>2014-09-12 06:34:28 +0000
committerKoop Mast <kwm@FreeBSD.org>2014-09-12 06:34:28 +0000
commitaf3711b2f722eb3009f52b50a55bafff981ce06d (patch)
tree589c5ce8d8fe5b0ba64bbcf2301dceae6bcf8830 /graphics/cairo
parentca47fd0169e94341f6c295a9c4fde773f7868692 (diff)
Notes
Diffstat (limited to 'graphics/cairo')
-rw-r--r--graphics/cairo/Makefile95
-rw-r--r--graphics/cairo/distinfo4
-rw-r--r--graphics/cairo/files/patch-src_cairo-xcb-surface-render.c25
-rw-r--r--graphics/cairo/pkg-plist25
4 files changed, 86 insertions, 63 deletions
diff --git a/graphics/cairo/Makefile b/graphics/cairo/Makefile
index bdf8205ee34d..878bfab32259 100644
--- a/graphics/cairo/Makefile
+++ b/graphics/cairo/Makefile
@@ -1,97 +1,82 @@
# Created by: Michael Johnson <ahze@FreeBSD.org>
# $FreeBSD$
-# $MCom: ports/graphics/cairo/Makefile,v 1.101 2010/10/29 15:40:04 kwm Exp $
+# $MCom: ports/trunk/graphics/cairo/Makefile 18928 2013-11-30 02:00:25Z marcus $
PORTNAME= cairo
-PORTVERSION= 1.10.2
-PORTREVISION= 10
-PORTEPOCH?= 2
+PORTVERSION= 1.12.16
+PORTREVISION= 1
+PORTEPOCH= 2
CATEGORIES= graphics
MASTER_SITES= http://cairographics.org/releases/
MAINTAINER= gnome@FreeBSD.org
COMMENT= Vector graphics library with cross-device output support
+USES= tar:xz
+
.if !defined(REFERENCE_PORT)
LIB_DEPENDS= libfreetype.so:${PORTSDIR}/print/freetype2 \
libpng15.so:${PORTSDIR}/graphics/png \
libfontconfig.so:${PORTSDIR}/x11-fonts/fontconfig
+PORTSCOUT= skipv:5c-1.1,5c-1.2,5c-1.5
+
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-html-dir=${DOCSDIR} \
--disable-directfb \
--enable-tee
-USES= libtool:keepla pathfix pkgconfig
-USE_XORG= pixman
+USES+= libtool:keepla pathfix pkgconfig
+USE_XORG= pixman xext
USE_GNOME= referencehack
USE_LDCONFIG= yes
INSTALL_TARGET= install-strip
-CPPFLAGS+= ${PTHREAD_CFLAGS}
-LDFLAGS+= ${PTHREAD_LIBS}
+CONFIGURE_ARGS= --with-html-dir=${DOCSDIR} \
+ --disable-directfb \
+ --disable-gallium \
+ --disable-glesv2 \
+ --disable-wgl \
+ --disable-egl \
+ --enable-tee
-OPTIONS_DEFINE= OPENGL XCB GLIB X11
-OPTIONS_DEFAULT= XCB GLIB X11
+OPTIONS_DEFINE= OPENGL XCB GLIB X11
+OPTIONS_DEFAULT=XCB GLIB X11
XCB_DESC= Enable XCB (X C-language Binding) Support
GLIB_DESC= Enable GObject Functions Feature
-
-.include <bsd.port.pre.mk>
-
-.if ${ARCH} == "arm"
-BROKEN= Does not compile on arm
-.endif
-
-.if ${PORT_OPTIONS:MX11}
-USE_XORG+= xrender
-PLIST_SUB+= X11=""
-.else
-CONFIGURE_ARGS+=--disable-xlib
-PLIST_SUB+= X11="@comment "
-.endif
-
-.if ${PORT_OPTIONS:MOPENGL}
-USE_GL= gl
-USE_XORG+= glproto:both dri2proto:both
-CONFIGURE_ARGS+= --enable-gl
-PLIST_SUB+= GL=""
-.else
-CONFIGURE_ARGS+= --disable-gl
-PLIST_SUB+= GL="@comment "
-.endif
-
-.if ${PORT_OPTIONS:MXCB}
-BUILD_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/xcb-renderutil.pc:${PORTSDIR}/x11/xcb-util-renderutil
-RUN_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/xcb-renderutil.pc:${PORTSDIR}/x11/xcb-util-renderutil
-CONFIGURE_ARGS+= --enable-xcb
-# this option exposes a bug --enable-xlib-xcb=auto
-PLIST_SUB+= XCB=""
-.else
-CONFIGURE_ARGS+= --disable-xcb
-PLIST_SUB+= XCB="@comment "
-.endif
-
-.if ${PORT_OPTIONS:MGLIB}
-USE_GNOME+= glib20
-PLIST_SUB+= GLIB=""
-.else
-CONFIGURE_ARGS+= --enable-gobject=no
-PLIST_SUB+= GLIB="@comment "
-.endif
+OPTIONS_SUB= yes
+X11_USE= xorg=xrender
+X11_CONFIGURE_ENABLE=xlib
+OPENGL_USE= gl=gl xorg=glproto:both,dri2proto:both
+OPENGL_CONFIGURE_ENABLE=gl
+GLIB_USE= gnome=glib20
+GLIB_CONFIGURE_ENABLE= gobject
+XCB_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xcb-renderutil.pc:${PORTSDIR}/x11/xcb-util-renderutil
+XCB_RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xcb-renderutil.pc:${PORTSDIR}/x11/xcb-util-renderutil
+XCB_CONFIGURE_ENABLE= xcb
+# this has another option --enable-xlib-xcb=auto but it is buggy.
+
+PLIST_SUB+= LIBVER=2.11200.16
+
+.include <bsd.port.options.mk>
post-patch:
@${REINPLACE_CMD} -e '/test/s/==/=/g' \
- -e '/LIBS/s/-lrt//' \
+ -e '/LIBS/s/-lrt//' -e '/LIBS/s|-ldld||' \
+ -e '/LIBS/s|-ldl||' \
${WRKSRC}/configure
@${REINPLACE_CMD} -e 's|-lcairo|-lcairo ${PTHREAD_LIBS}|' \
${WRKSRC}/src/*.pc.in
@${REINPLACE_CMD} -e '/@CAIRO_HAS_PNG_FUNCTIONS_TRUE@.*=/d' \
${WRKSRC}/Makefile.in
+ @${REINPLACE_CMD} -e 's|-ldl||g' \
+ ${WRKSRC}/util/*/Makefile.in \
+ ${WRKSRC}/boilerplate/Makefile.in
.if ${PORT_OPTIONS:MOPENGL}
@${REINPLACE_CMD} 's|@CAIRO_CFLAGS@|-I$$(top_srcdir)/src/glew &|' \
${WRKSRC}/src/Makefile.in
.endif
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
.endif
diff --git a/graphics/cairo/distinfo b/graphics/cairo/distinfo
index 695495df3aa8..20509015d18c 100644
--- a/graphics/cairo/distinfo
+++ b/graphics/cairo/distinfo
@@ -1,2 +1,2 @@
-SHA256 (cairo-1.10.2.tar.gz) = 32018c7998358eebc2ad578ff8d8559d34fc80252095f110a572ed23d989fc41
-SIZE (cairo-1.10.2.tar.gz) = 23558405
+SHA256 (cairo-1.12.16.tar.xz) = 2505959eb3f1de3e1841023b61585bfd35684b9733c7b6a3643f4f4cbde6d846
+SIZE (cairo-1.12.16.tar.xz) = 35889824
diff --git a/graphics/cairo/files/patch-src_cairo-xcb-surface-render.c b/graphics/cairo/files/patch-src_cairo-xcb-surface-render.c
new file mode 100644
index 000000000000..63d5c8d403de
--- /dev/null
+++ b/graphics/cairo/files/patch-src_cairo-xcb-surface-render.c
@@ -0,0 +1,25 @@
+From 18b3cce2f5812c357e4b6310e72d72dd9ec92ed4 Mon Sep 17 00:00:00 2001
+From: Bryce Harrington <b.harrington@samsung.com>
+Date: Tue, 06 May 2014 17:18:19 +0000
+Subject: 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>
+---
+diff --git a/src/cairo-xcb-surface-render.c b/src/cairo-xcb-surface-render.c
+index 9625953..75455e5 100644
+--- src/cairo-xcb-surface-render.c
++++ 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);
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/graphics/cairo/pkg-plist b/graphics/cairo/pkg-plist
index f04c01910520..7b2046a42607 100644
--- a/graphics/cairo/pkg-plist
+++ b/graphics/cairo/pkg-plist
@@ -1,12 +1,14 @@
+bin/cairo-sphinx
bin/cairo-trace
include/cairo/cairo-deprecated.h
include/cairo/cairo-features.h
include/cairo/cairo-ft.h
-%%GL%%include/cairo/cairo-gl.h
+%%OPENGL%%include/cairo/cairo-gl.h
%%GLIB%%include/cairo/cairo-gobject.h
include/cairo/cairo-pdf.h
include/cairo/cairo-ps.h
include/cairo/cairo-script-interpreter.h
+include/cairo/cairo-script.h
include/cairo/cairo-svg.h
include/cairo/cairo-tee.h
include/cairo/cairo-version.h
@@ -14,6 +16,16 @@ include/cairo/cairo-version.h
%%X11%%include/cairo/cairo-xlib-xrender.h
%%X11%%include/cairo/cairo-xlib.h
include/cairo/cairo.h
+lib/cairo/cairo-fdr.a
+lib/cairo/cairo-fdr.la
+lib/cairo/cairo-fdr.so
+lib/cairo/cairo-fdr.so.0
+lib/cairo/cairo-fdr.so.0.0.0
+lib/cairo/cairo-sphinx.a
+lib/cairo/cairo-sphinx.la
+lib/cairo/cairo-sphinx.so
+lib/cairo/cairo-sphinx.so.0
+lib/cairo/cairo-sphinx.so.0.0.0
lib/cairo/libcairo-trace.a
lib/cairo/libcairo-trace.la
lib/cairo/libcairo-trace.so
@@ -23,26 +35,27 @@ lib/cairo/libcairo-trace.so.0.0.0
%%GLIB%%lib/libcairo-gobject.la
%%GLIB%%lib/libcairo-gobject.so
%%GLIB%%lib/libcairo-gobject.so.2
-%%GLIB%%lib/libcairo-gobject.so.2.11000.2
+%%GLIB%%lib/libcairo-gobject.so.%%LIBVER%%
lib/libcairo-script-interpreter.a
lib/libcairo-script-interpreter.la
lib/libcairo-script-interpreter.so
lib/libcairo-script-interpreter.so.2
-lib/libcairo-script-interpreter.so.2.11000.2
+lib/libcairo-script-interpreter.so.%%LIBVER%%
lib/libcairo.a
lib/libcairo.la
lib/libcairo.so
lib/libcairo.so.2
-lib/libcairo.so.2.11000.2
+lib/libcairo.so.%%LIBVER%%
libdata/pkgconfig/cairo.pc
libdata/pkgconfig/cairo-fc.pc
libdata/pkgconfig/cairo-ft.pc
-%%GL%%libdata/pkgconfig/cairo-gl.pc
-%%GL%%libdata/pkgconfig/cairo-glx.pc
+%%OPENGL%%libdata/pkgconfig/cairo-gl.pc
+%%OPENGL%%libdata/pkgconfig/cairo-glx.pc
%%GLIB%%libdata/pkgconfig/cairo-gobject.pc
libdata/pkgconfig/cairo-pdf.pc
libdata/pkgconfig/cairo-png.pc
libdata/pkgconfig/cairo-ps.pc
+libdata/pkgconfig/cairo-script.pc
libdata/pkgconfig/cairo-svg.pc
libdata/pkgconfig/cairo-tee.pc
%%XCB%%libdata/pkgconfig/cairo-xcb.pc