summaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authorwiz <wiz@pkgsrc.org>2012-11-01 08:54:46 +0000
committerwiz <wiz@pkgsrc.org>2012-11-01 08:54:46 +0000
commitf74eb1924949213038ed10598dc2fdcb1b547e46 (patch)
treeb25ed227b1306f9f6d9177604beb4b8c0dafe4b9 /graphics
parent66d115a781572d85d9bbe1093ef9f4d8d955b54c (diff)
downloadpkgsrc-f74eb1924949213038ed10598dc2fdcb1b547e46.tar.gz
Bring back previous patch in correct version to fix SHM part of
build on NetBSD-5 with native Xorg. Additionally, disable GL support since NetBSD-5's MesaLib is too old and, according to upstream, cairo-gl "is only really being experimented with currently by toy applications". Bump PKGREVISION. Tested by Andreas Gustafsson and David Brownlee.
Diffstat (limited to 'graphics')
-rw-r--r--graphics/cairo/Makefile4
-rw-r--r--graphics/cairo/PLIST5
-rw-r--r--graphics/cairo/distinfo6
-rw-r--r--graphics/cairo/options.mk6
-rw-r--r--graphics/cairo/patches/patch-config.h.in22
-rw-r--r--graphics/cairo/patches/patch-configure29
-rw-r--r--graphics/cairo/patches/patch-src_cairo-xlib-surface-shm.c130
7 files changed, 190 insertions, 12 deletions
diff --git a/graphics/cairo/Makefile b/graphics/cairo/Makefile
index 97935d7020a..6d56c74bedb 100644
--- a/graphics/cairo/Makefile
+++ b/graphics/cairo/Makefile
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.118 2012/10/31 13:06:22 wiz Exp $
+# $NetBSD: Makefile,v 1.119 2012/11/01 08:54:46 wiz Exp $
DISTNAME= cairo-1.12.6
-PKGREVISION= 2
+PKGREVISION= 3
CATEGORIES= graphics
MASTER_SITES= http://cairographics.org/releases/
EXTRACT_SUFX= .tar.xz
diff --git a/graphics/cairo/PLIST b/graphics/cairo/PLIST
index fb3e5711372..d4ad23aebb4 100644
--- a/graphics/cairo/PLIST
+++ b/graphics/cairo/PLIST
@@ -1,9 +1,8 @@
-@comment $NetBSD: PLIST,v 1.32 2012/09/07 15:24:03 adam Exp $
+@comment $NetBSD: PLIST,v 1.33 2012/11/01 08:54:46 wiz Exp $
bin/cairo-trace
include/cairo/cairo-deprecated.h
include/cairo/cairo-features.h
include/cairo/cairo-ft.h
-${PLIST.x11}include/cairo/cairo-gl.h
include/cairo/cairo-pdf.h
include/cairo/cairo-ps.h
${PLIST.carbon}include/cairo/cairo-quartz.h
@@ -23,8 +22,6 @@ lib/libcairo-script-interpreter.la
lib/libcairo.la
lib/pkgconfig/cairo-fc.pc
lib/pkgconfig/cairo-ft.pc
-${PLIST.x11}lib/pkgconfig/cairo-gl.pc
-${PLIST.x11}lib/pkgconfig/cairo-glx.pc
lib/pkgconfig/cairo-pdf.pc
lib/pkgconfig/cairo-png.pc
lib/pkgconfig/cairo-ps.pc
diff --git a/graphics/cairo/distinfo b/graphics/cairo/distinfo
index 6cb5cf6c4c9..c8cb66902e3 100644
--- a/graphics/cairo/distinfo
+++ b/graphics/cairo/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.69 2012/10/31 13:06:22 wiz Exp $
+$NetBSD: distinfo,v 1.70 2012/11/01 08:54:46 wiz Exp $
SHA1 (cairo-1.12.6.tar.xz) = a383c6cb4495e18848ea43e1031c294aa9417a43
RMD160 (cairo-1.12.6.tar.xz) = 78d3cc6200bd3f5a288843a6b360f44d7756fa2e
@@ -7,4 +7,6 @@ SHA1 (patch-aa) = 474f44c1c8d4017137fe59b160afca8f16ad7287
SHA1 (patch-ab) = 62ff361d52742bba0f49c6a32149269b958fa24a
SHA1 (patch-ac) = 151c682245004902cf42ba141e3743592691dfb9
SHA1 (patch-ad) = a1068a37113b162ccfe14d7f1bd0baa9df7e5530
-SHA1 (patch-src_cairo-xlib-surface-shm.c) = 76ae8b94319e7ca7c0bf7f14e53512684f386778
+SHA1 (patch-config.h.in) = 321b76320810d58ba810fd99232b77671880066a
+SHA1 (patch-configure) = a3fc6d897bf6103b6bbdf79c6a57dc27d96dac8e
+SHA1 (patch-src_cairo-xlib-surface-shm.c) = 7cac06cf0af9b38e5ddce345165dd6c4dcdb8fc2
diff --git a/graphics/cairo/options.mk b/graphics/cairo/options.mk
index 5672b40ec34..d219fd790af 100644
--- a/graphics/cairo/options.mk
+++ b/graphics/cairo/options.mk
@@ -1,4 +1,4 @@
-# $NetBSD: options.mk,v 1.11 2012/10/20 00:55:06 wiz Exp $
+# $NetBSD: options.mk,v 1.12 2012/11/01 08:54:46 wiz Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.cairo
PKG_SUPPORTED_OPTIONS= x11 xcb
@@ -14,7 +14,9 @@ PLIST_VARS+= carbon x11 xcb
.if !empty(PKG_OPTIONS:Mx11) || !empty(PKG_OPTIONS:Mxcb)
CONFIGURE_ARGS+= --enable-xlib
CONFIGURE_ARGS+= --enable-xlib-xrender
-PLIST.gl= yes
+# does not build against NetBSD-5's MesaLib, and is according
+# to upstream, only used by "toy applications"
+CONFIGURE_ARGS+= --disable-gl
PLIST.x11= yes
.include "../../graphics/MesaLib/buildlink3.mk"
.include "../../x11/libXext/buildlink3.mk"
diff --git a/graphics/cairo/patches/patch-config.h.in b/graphics/cairo/patches/patch-config.h.in
new file mode 100644
index 00000000000..6169a1dc653
--- /dev/null
+++ b/graphics/cairo/patches/patch-config.h.in
@@ -0,0 +1,22 @@
+$NetBSD: patch-config.h.in,v 1.1 2012/11/01 08:54:47 wiz Exp $
+
+Detect old-style shm headers. From upstream.
+
+--- config.h.in.orig 2012-10-22 12:09:27.000000000 +0200
++++ config.h.in 2012-10-31 14:29:24.000000000 +0100
+@@ -255,6 +255,15 @@
+ /* Define to 1 if you have the <windows.h> header file. */
+ #undef HAVE_WINDOWS_H
+
++/* Define to 1 if you have the <X11/extensions/shmproto.h> header file. */
++#undef HAVE_X11_EXTENSIONS_SHMPROTO_H
++
++/* Define to 1 if you have the <X11/extensions/shmstr.h> header file. */
++#undef HAVE_X11_EXTENSIONS_SHMSTR_H
++
++/* Define to 1 if you have the <X11/extensions/XShm.h> header file. */
++#undef HAVE_X11_EXTENSIONS_XSHM_H
++
+ /* Define to 1 if you have the `XRenderCreateConicalGradient' function. */
+ #undef HAVE_XRENDERCREATECONICALGRADIENT
+
diff --git a/graphics/cairo/patches/patch-configure b/graphics/cairo/patches/patch-configure
new file mode 100644
index 00000000000..851ca1858bc
--- /dev/null
+++ b/graphics/cairo/patches/patch-configure
@@ -0,0 +1,29 @@
+$NetBSD: patch-configure,v 1.5 2012/11/01 08:54:47 wiz Exp $
+
+Detect old-style shm headers. From upstream.
+
+--- configure.orig 2012-10-22 10:08:43.000000000 +0000
++++ configure
+@@ -21799,6 +21799,22 @@ fi
+
+ fi
+
++ for ac_header in X11/extensions/XShm.h X11/extensions/shmproto.h X11/extensions/shmstr.h
++do :
++ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
++ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#include <X11/Xlibint.h>
++ #include <X11/Xproto.h>
++"
++if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
++ cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cairo's Xlib surface backend feature could be enabled" >&5
+ $as_echo_n "checking whether cairo's Xlib surface backend feature could be enabled... " >&6; }
diff --git a/graphics/cairo/patches/patch-src_cairo-xlib-surface-shm.c b/graphics/cairo/patches/patch-src_cairo-xlib-surface-shm.c
index 947e5c2e135..f720df169f5 100644
--- a/graphics/cairo/patches/patch-src_cairo-xlib-surface-shm.c
+++ b/graphics/cairo/patches/patch-src_cairo-xlib-surface-shm.c
@@ -1,11 +1,130 @@
-$NetBSD: patch-src_cairo-xlib-surface-shm.c,v 1.7 2012/10/31 13:06:22 wiz Exp $
+$NetBSD: patch-src_cairo-xlib-surface-shm.c,v 1.8 2012/11/01 08:54:47 wiz Exp $
Recognize Xorg servers as well as X.org servers. From Chris Wilson (upstream);
fixes some more firefox issues.
+Also, handle old-style shm headers, also from upstream.
+
--- src/cairo-xlib-surface-shm.c.orig 2012-10-21 08:13:41.000000000 +0000
+++ src/cairo-xlib-surface-shm.c
-@@ -1141,7 +1141,8 @@ xorg_has_buggy_send_shm_completion_event
+@@ -41,17 +41,114 @@
+
+ #include "cairo-xlib-private.h"
+ #include "cairo-xlib-surface-private.h"
+-#include "cairo-image-surface-private.h"
+-#include "cairo-mempool-private.h"
++
++#if !HAVE_X11_EXTENSIONS_XSHM_H || !(HAVE_X11_EXTENSIONS_SHMPROTO_H || HAVE_X11_EXTENSIONS_SHMSTR_H)
++void _cairo_xlib_display_init_shm (cairo_xlib_display_t *display) {}
++
++cairo_surface_t *
++_cairo_xlib_surface_get_shm (cairo_xlib_surface_t *surface,
++ cairo_bool_t overwrite)
++{
++ return NULL;
++}
++
++cairo_int_status_t
++_cairo_xlib_surface_put_shm (cairo_xlib_surface_t *surface)
++{
++ ASSERT_NOT_REACHED;
++ return CAIRO_INT_STATUS_SUCCESS;
++}
++
++cairo_surface_t *
++_cairo_xlib_surface_create_shm (cairo_xlib_surface_t *other,
++ pixman_format_code_t format,
++ int width, int height)
++{
++ return NULL;
++}
++
++cairo_surface_t *
++_cairo_xlib_surface_create_shm__image (cairo_xlib_surface_t *surface,
++ pixman_format_code_t format,
++ int width, int height)
++{
++ return NULL;
++}
++
++cairo_surface_t *
++_cairo_xlib_surface_create_similar_shm (void *other,
++ cairo_format_t format,
++ int width, int height)
++{
++ return cairo_image_surface_create (format, width, height);
++}
++
++void
++_cairo_xlib_shm_surface_mark_active (cairo_surface_t *_shm)
++{
++ ASSERT_NOT_REACHED;
++}
++
++void
++_cairo_xlib_shm_surface_get_ximage (cairo_surface_t *surface,
++ XImage *ximage)
++{
++ ASSERT_NOT_REACHED;
++}
++
++void *
++_cairo_xlib_shm_surface_get_obdata (cairo_surface_t *surface)
++{
++ ASSERT_NOT_REACHED;
++ return NULL;
++}
++
++Pixmap
++_cairo_xlib_shm_surface_get_pixmap (cairo_surface_t *surface)
++{
++ ASSERT_NOT_REACHED;
++ return 0;
++}
++
++XRenderPictFormat *
++_cairo_xlib_shm_surface_get_xrender_format (cairo_surface_t *surface)
++{
++ ASSERT_NOT_REACHED;
++ return NULL;
++}
++
++cairo_bool_t
++_cairo_xlib_shm_surface_is_active (cairo_surface_t *surface)
++{
++ ASSERT_NOT_REACHED;
++ return FALSE;
++}
++
++cairo_bool_t
++_cairo_xlib_shm_surface_is_idle (cairo_surface_t *surface)
++{
++ ASSERT_NOT_REACHED;
++ return TRUE;
++}
++
++void _cairo_xlib_display_fini_shm (cairo_xlib_display_t *display) {}
++
++#else
+
+ #include "cairo-damage-private.h"
+ #include "cairo-default-context-private.h"
++#include "cairo-image-surface-private.h"
+ #include "cairo-list-inline.h"
++#include "cairo-mempool-private.h"
+
+ #include <X11/Xlibint.h>
+ #include <X11/Xproto.h>
+ #include <X11/extensions/XShm.h>
++#if HAVE_X11_EXTENSIONS_SHMPROTO_H
+ #include <X11/extensions/shmproto.h>
++#elif HAVE_X11_EXTENSIONS_SHMSTR_H
++#include <X11/extensions/shmstr.h>
++#endif
+ #include <sys/ipc.h>
+ #include <sys/shm.h>
+
+@@ -1141,7 +1238,8 @@ xorg_has_buggy_send_shm_completion_event
*
* Remove the SendEvent bit (0x80) before doing range checks on event type.
*/
@@ -15,3 +134,10 @@ fixes some more firefox issues.
VendorRelease (dpy) < XORG_VERSION_ENCODE(1,11,0,1));
}
+@@ -1220,5 +1318,5 @@ _cairo_xlib_display_fini_shm (cairo_xlib
+ free (shm);
+ display->shm = NULL;
+ }
+-
++#endif
+ #endif