summaryrefslogtreecommitdiffstats
path: root/graphics/cairo
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/cairo')
-rw-r--r--graphics/cairo/Makefile109
-rw-r--r--graphics/cairo/distinfo2
-rw-r--r--graphics/cairo/files/patch-src_cairo-wideint-type-private.h14
-rw-r--r--graphics/cairo/files/patch-src_cairo-xlib-display.c14
-rw-r--r--graphics/cairo/files/patch-src_cairoint.h14
-rw-r--r--graphics/cairo/pkg-descr13
-rw-r--r--graphics/cairo/pkg-plist61
7 files changed, 227 insertions, 0 deletions
diff --git a/graphics/cairo/Makefile b/graphics/cairo/Makefile
new file mode 100644
index 0000000..58d0965
--- /dev/null
+++ b/graphics/cairo/Makefile
@@ -0,0 +1,109 @@
+# Created by: Michael Johnson <ahze@FreeBSD.org>
+# $FreeBSD$
+# $MCom$
+
+PORTNAME= cairo
+PORTVERSION= 1.12.16
+PORTEPOCH?= 2
+CATEGORIES= graphics
+MASTER_SITES= http://cairographics.org/releases/
+
+MAINTAINER= gnome@FreeBSD.org
+COMMENT= Vector graphics library with cross-device output support
+
+PORTSCOUT= skipv:5c-1.*
+
+.if !defined(REFERENCE_PORT)
+
+LIB_DEPENDS= libfreetype.so:${PORTSDIR}/print/freetype2 \
+ libpng15.so:${PORTSDIR}/graphics/png \
+ libfontconfig.so:${PORTSDIR}/x11-fonts/fontconfig
+
+USE_XZ= yes
+USES= pathfix pkgconfig
+USE_XORG= pixman xext
+USE_GNOME= ltverhack referencehack
+GNU_CONFIGURE= yes
+USE_LDCONFIG= yes
+ltverhack_PATCH_FILES= build/ltmain.sh
+
+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
+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
+
+post-patch:
+ @${REINPLACE_CMD} -e '/test/s/==/=/g' \
+ -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
+
+post-install:
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libcairo*.so.2
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/cairo/*.so.0
+
+.include <bsd.port.post.mk>
+
+.endif
diff --git a/graphics/cairo/distinfo b/graphics/cairo/distinfo
new file mode 100644
index 0000000..2050901
--- /dev/null
+++ b/graphics/cairo/distinfo
@@ -0,0 +1,2 @@
+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-wideint-type-private.h b/graphics/cairo/files/patch-src_cairo-wideint-type-private.h
new file mode 100644
index 0000000..00f10fb
--- /dev/null
+++ b/graphics/cairo/files/patch-src_cairo-wideint-type-private.h
@@ -0,0 +1,14 @@
+--- src/cairo-wideint-type-private.h.orig 2010-11-26 02:41:47.000000000 -0500
++++ src/cairo-wideint-type-private.h 2010-11-26 02:42:07.000000000 -0500
+@@ -121,6 +121,11 @@ typedef struct _cairo_quorem64 {
+ cairo_int64_t rem;
+ } cairo_quorem64_t;
+
++/* Intrinsic __uint128_t support is broken on gcc 3.4/sparc. */
++#if __GNUC__ == 3 && __GNUC_MINOR__ == 4
++#undef HAVE___UINT128_T
++#endif
++
+ /* gcc has a non-standard name. */
+ #if HAVE___UINT128_T && !HAVE_UINT128_T
+ typedef __uint128_t uint128_t;
diff --git a/graphics/cairo/files/patch-src_cairo-xlib-display.c b/graphics/cairo/files/patch-src_cairo-xlib-display.c
new file mode 100644
index 0000000..fce8103
--- /dev/null
+++ b/graphics/cairo/files/patch-src_cairo-xlib-display.c
@@ -0,0 +1,14 @@
+--- src/cairo-xlib-display.c.orig 2010-11-21 14:41:31.000000000 -0500
++++ src/cairo-xlib-display.c 2010-11-21 14:42:12.000000000 -0500
+@@ -353,11 +353,7 @@ _cairo_xlib_device_create (Display *dpy)
+ /* 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/graphics/cairo/files/patch-src_cairoint.h b/graphics/cairo/files/patch-src_cairoint.h
new file mode 100644
index 0000000..a9b3ce4
--- /dev/null
+++ b/graphics/cairo/files/patch-src_cairoint.h
@@ -0,0 +1,14 @@
+--- src/cairoint.h.orig Sun Oct 15 18:02:35 2006
++++ src/cairoint.h Sun Oct 15 18:10:11 2006
+@@ -50,6 +50,11 @@
+ #include "config.h"
+ #endif
+
++#ifndef INT16_MAX
++#define INT16_MAX 0x7fff
++#define INT16_MIN (-0x7fff-1)
++#endif
++
+ #include <assert.h>
+ #include <stdlib.h>
+ #include <string.h>
diff --git a/graphics/cairo/pkg-descr b/graphics/cairo/pkg-descr
new file mode 100644
index 0000000..4fd137a
--- /dev/null
+++ b/graphics/cairo/pkg-descr
@@ -0,0 +1,13 @@
+Cairo is a vector graphics library with cross-device output
+support. Currently supported output targets include the X Window
+System and in-memory image buffers. PostScript and PDF file output is
+planned. Cairo is designed to produce identical output on all output
+media while taking advantage of display hardware acceleration when
+available (eg. through the X Render Extension).
+
+Cairo provides a stateful user-level API with capabilities similar to
+the PDF 1.4 imaging model. Cairo provides operations including stroking
+and filling Bezier cubic splines, transforming and compositing translucent
+images, and antialiased text rendering.
+
+WWW: http://www.cairographics.org
diff --git a/graphics/cairo/pkg-plist b/graphics/cairo/pkg-plist
new file mode 100644
index 0000000..b9f0375
--- /dev/null
+++ b/graphics/cairo/pkg-plist
@@ -0,0 +1,61 @@
+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
+%%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
+%%XCB%%include/cairo/cairo-xcb.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-sphinx.a
+lib/cairo/cairo-sphinx.la
+lib/cairo/cairo-sphinx.so
+lib/cairo/cairo-sphinx.so.0
+lib/cairo/libcairo-trace.a
+lib/cairo/libcairo-trace.la
+lib/cairo/libcairo-trace.so
+lib/cairo/libcairo-trace.so.0
+%%GLIB%%lib/libcairo-gobject.a
+%%GLIB%%lib/libcairo-gobject.la
+%%GLIB%%lib/libcairo-gobject.so
+%%GLIB%%lib/libcairo-gobject.so.2
+lib/libcairo-script-interpreter.a
+lib/libcairo-script-interpreter.la
+lib/libcairo-script-interpreter.so
+lib/libcairo-script-interpreter.so.2
+lib/libcairo.a
+lib/libcairo.la
+lib/libcairo.so
+lib/libcairo.so.2
+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
+%%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
+%%XCB%%libdata/pkgconfig/cairo-xcb-shm.pc
+%%X11%%libdata/pkgconfig/cairo-xlib.pc
+@comment %%X11%%%%XCB%%libdata/pkgconfig/cairo-xlib-xcb.pc
+%%X11%%libdata/pkgconfig/cairo-xlib-xrender.pc
+@dirrm include/cairo
+@dirrm lib/cairo