summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--graphics/cairo/Makefile70
-rw-r--r--graphics/cairo/distinfo3
-rw-r--r--graphics/cairo/files/patch-src_cairo-ft-font.c28
-rw-r--r--graphics/cairo/files/patch-src_cairo-xlib-surface.c11
-rw-r--r--graphics/cairo/files/patch-src_cairoint.h14
-rw-r--r--graphics/cairo/pkg-descr13
-rw-r--r--graphics/cairo/pkg-plist24
7 files changed, 163 insertions, 0 deletions
diff --git a/graphics/cairo/Makefile b/graphics/cairo/Makefile
new file mode 100644
index 000000000..c23152981
--- /dev/null
+++ b/graphics/cairo/Makefile
@@ -0,0 +1,70 @@
+# New ports collection makefile for: cairo
+# Date created: 2004-10-06
+# Whom: Michael Johnson <ahze@FreeBSD.org>
+#
+# $FreeBSD$
+# $MCom: ports/graphics/cairo/Makefile,v 1.45 2006/08/19 16:29:11 marcus Exp $
+#
+
+PORTNAME= cairo
+PORTVERSION= 1.3.2
+PORTREVISION?= 0
+CATEGORIES= graphics
+#MASTER_SITES= http://cairographics.org/releases/
+MASTER_SITES= http://cairographics.org/snapshots/
+
+MAINTAINER= gnome@FreeBSD.org
+COMMENT= Vector graphics library with cross-device output support
+
+.if !defined(REFERENCE_PORT)
+
+LIB_DEPENDS= freetype.9:${PORTSDIR}/print/freetype2 \
+ png.5:${PORTSDIR}/graphics/png \
+ fontconfig.1:${PORTSDIR}/x11-fonts/fontconfig
+
+CONFIGURE_ARGS= --with-html-dir=${DOCSDIR} \
+ --enable-pdf \
+ --enable-ps
+USE_GNOME= gnometarget gnomehack ltverhack referencehack
+USE_AUTOTOOLS= libtool:15
+USE_LDCONFIG= yes
+
+CONFIGURE_ENV= CPPFLAGS="${PTHREAD_CFLAGS} -I${X11BASE}/include" \
+ LDFLAGS="${PTHREAD_LIBS}"
+
+OPTIONS+= GLITZ "Enable Glitz OpenGL Support" Off
+
+.include <bsd.port.pre.mk>
+
+.if defined(WITH_GLITZ)
+LIB_DEPENDS+= glitz-glx.1:${PORTSDIR}/graphics/glitz
+CONFIGURE_ARGS+= --enable-glitz
+PLIST_SUB+= GLITZ=""
+.else
+CONFIGURE_ARGS+= --disable-glitz
+PLIST_SUB+= GLITZ="@comment "
+.endif
+
+.if defined(WITHOUT_X11)
+CONFIGURE_ARGS+=--disable-xlib
+PLIST_SUB+= X11="@comment "
+.else
+USE_XLIB= yes
+PLIST_SUB+= X11=""
+.endif
+
+post-patch:
+.if ${OSVERSION} < 500000
+ @${REINPLACE_CMD} -e 's|stdint.h|inttypes.h|' \
+ ${WRKSRC}/src/*.* \
+ ${WRKSRC}/pixman/src/*.*
+.endif
+ @${REINPLACE_CMD} -e 's|-lpthread|${PTHREAD_LIBS}|' \
+ ${WRKSRC}/test/Makefile.in
+ @${REINPLACE_CMD} -e 's|src test doc|src doc|; \
+ s|@CAIRO_HAS_PNG_FUNCTIONS_TRUE@am__append_1 = test||' \
+ ${WRKSRC}/Makefile.in
+
+.include <bsd.port.post.mk>
+
+.endif
diff --git a/graphics/cairo/distinfo b/graphics/cairo/distinfo
new file mode 100644
index 000000000..a1eb70181
--- /dev/null
+++ b/graphics/cairo/distinfo
@@ -0,0 +1,3 @@
+MD5 (cairo-1.3.2.tar.gz) = fc0be151284d78b2916a1fab870a4a95
+SHA256 (cairo-1.3.2.tar.gz) = 42d0207e9f6e0d263a1628af01b24754eda35af8ac58c387d5669962c54d78a1
+SIZE (cairo-1.3.2.tar.gz) = 2842486
diff --git a/graphics/cairo/files/patch-src_cairo-ft-font.c b/graphics/cairo/files/patch-src_cairo-ft-font.c
new file mode 100644
index 000000000..8cd60665f
--- /dev/null
+++ b/graphics/cairo/files/patch-src_cairo-ft-font.c
@@ -0,0 +1,28 @@
+--- src/cairo-ft-font.c.orig Tue Aug 16 14:46:46 2005
++++ src/cairo-ft-font.c Tue Aug 16 14:46:59 2005
+@@ -44,6 +44,11 @@
+ #include <fontconfig/fontconfig.h>
+ #include <fontconfig/fcfreetype.h>
+
++#include <sys/types.h>
++#include <stdlib.h>
++#include <time.h>
++#include <unistd.h>
++
+ #include <ft2build.h>
+ #include FT_FREETYPE_H
+ #include FT_OUTLINE_H
+@@ -257,7 +262,12 @@ _cairo_ft_unscaled_font_init_key (cairo_
+ key->id = id;
+
+ /* 1607 is just an arbitrary prime. */
+- hash = _cairo_hash_string (filename);
++ if (filename != NULL) {
++ hash = _cairo_hash_string (filename);
++ } else {
++ srandom(time(NULL) * getpid());
++ hash = random();
++ }
+ hash += ((unsigned long) id) * 1607;
+
+ key->base.hash_entry.hash = hash;
diff --git a/graphics/cairo/files/patch-src_cairo-xlib-surface.c b/graphics/cairo/files/patch-src_cairo-xlib-surface.c
new file mode 100644
index 000000000..396ac3e29
--- /dev/null
+++ b/graphics/cairo/files/patch-src_cairo-xlib-surface.c
@@ -0,0 +1,11 @@
+--- src/cairo-xlib-surface.c.orig Mon Oct 3 22:44:43 2005
++++ src/cairo-xlib-surface.c Wed Nov 16 18:59:40 2005
+@@ -1758,7 +1758,7 @@
+
+ surface->buggy_repeat = FALSE;
+ if (strstr (ServerVendor (dpy), "X.Org") != NULL) {
+- if (VendorRelease (dpy) <= 60802000)
++ if (VendorRelease (dpy) < 60900000)
+ surface->buggy_repeat = TRUE;
+ } else if (strstr (ServerVendor (dpy), "XFree86") != NULL) {
+ if (VendorRelease (dpy) <= 40500000)
diff --git a/graphics/cairo/files/patch-src_cairoint.h b/graphics/cairo/files/patch-src_cairoint.h
new file mode 100644
index 000000000..a9b3ce480
--- /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 000000000..4fd137a19
--- /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 000000000..c81b6e936
--- /dev/null
+++ b/graphics/cairo/pkg-plist
@@ -0,0 +1,24 @@
+include/cairo/cairo-deprecated.h
+include/cairo/cairo-features.h
+include/cairo/cairo-ft.h
+%%GLITZ%%include/cairo/cairo-glitz.h
+include/cairo/cairo-pdf.h
+include/cairo/cairo-ps.h
+include/cairo/cairo-svg.h
+%%X11%%include/cairo/cairo-xlib-xrender.h
+%%X11%%include/cairo/cairo-xlib.h
+include/cairo/cairo.h
+lib/libcairo.a
+lib/libcairo.la
+lib/libcairo.so
+lib/libcairo.so.2
+libdata/pkgconfig/cairo.pc
+libdata/pkgconfig/cairo-ft.pc
+%%GLITZ%%libdata/pkgconfig/cairo-glitz.pc
+libdata/pkgconfig/cairo-pdf.pc
+libdata/pkgconfig/cairo-png.pc
+libdata/pkgconfig/cairo-ps.pc
+libdata/pkgconfig/cairo-svg.pc
+%%X11%%libdata/pkgconfig/cairo-xlib.pc
+%%X11%%libdata/pkgconfig/cairo-xlib-xrender.pc
+@dirrm include/cairo