diff options
Diffstat (limited to 'graphics/cairo')
-rw-r--r-- | graphics/cairo/Makefile | 109 | ||||
-rw-r--r-- | graphics/cairo/distinfo | 2 | ||||
-rw-r--r-- | graphics/cairo/files/patch-src_cairo-wideint-type-private.h | 14 | ||||
-rw-r--r-- | graphics/cairo/files/patch-src_cairo-xlib-display.c | 14 | ||||
-rw-r--r-- | graphics/cairo/files/patch-src_cairoint.h | 14 | ||||
-rw-r--r-- | graphics/cairo/pkg-descr | 13 | ||||
-rw-r--r-- | graphics/cairo/pkg-plist | 61 |
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 |