summaryrefslogtreecommitdiff
path: root/graphics/cairo
diff options
context:
space:
mode:
authorwiz <wiz@pkgsrc.org>2012-10-30 23:30:19 +0000
committerwiz <wiz@pkgsrc.org>2012-10-30 23:30:19 +0000
commit92e0e126e33a0edd70a748e303f01bc6ef42269e (patch)
tree8c9684effb4eff1074cc6e530f2071f1c7563224 /graphics/cairo
parenta5bcbd2b3254d3e79ce2c869c1805db63d218e93 (diff)
downloadpkgsrc-92e0e126e33a0edd70a748e303f01bc6ef42269e.tar.gz
Add more patches from upstream to get further in build on NetBSD-5.
Diffstat (limited to 'graphics/cairo')
-rw-r--r--graphics/cairo/distinfo5
-rw-r--r--graphics/cairo/patches/patch-configure29
-rw-r--r--graphics/cairo/patches/patch-src_cairo-xlib-surface-shm.c130
3 files changed, 160 insertions, 4 deletions
diff --git a/graphics/cairo/distinfo b/graphics/cairo/distinfo
index b771e17e759..42f4c535fca 100644
--- a/graphics/cairo/distinfo
+++ b/graphics/cairo/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.67 2012/10/26 21:49:23 wiz Exp $
+$NetBSD: distinfo,v 1.68 2012/10/30 23:30:19 wiz Exp $
SHA1 (cairo-1.12.6.tar.xz) = a383c6cb4495e18848ea43e1031c294aa9417a43
RMD160 (cairo-1.12.6.tar.xz) = 78d3cc6200bd3f5a288843a6b360f44d7756fa2e
@@ -7,4 +7,5 @@ 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-configure) = a3fc6d897bf6103b6bbdf79c6a57dc27d96dac8e
+SHA1 (patch-src_cairo-xlib-surface-shm.c) = 7cac06cf0af9b38e5ddce345165dd6c4dcdb8fc2
diff --git a/graphics/cairo/patches/patch-configure b/graphics/cairo/patches/patch-configure
new file mode 100644
index 00000000000..e7f9676d49e
--- /dev/null
+++ b/graphics/cairo/patches/patch-configure
@@ -0,0 +1,29 @@
+$NetBSD: patch-configure,v 1.3 2012/10/30 23:30:19 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 d60d25dfb50..e018dd1add5 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.5 2012/10/26 21:49:23 wiz Exp $
+$NetBSD: patch-src_cairo-xlib-surface-shm.c,v 1.6 2012/10/30 23:30:19 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