summaryrefslogtreecommitdiff
path: root/graphics/cairo/patches
diff options
context:
space:
mode:
authorwiz <wiz>2012-10-30 23:30:19 +0000
committerwiz <wiz>2012-10-30 23:30:19 +0000
commitc846f8d2c5a6252706e44b803dec8c88901036b5 (patch)
tree8c9684effb4eff1074cc6e530f2071f1c7563224 /graphics/cairo/patches
parenta7f2ec2f8ac7099cdec5dc01d6fae4315e345ab3 (diff)
downloadpkgsrc-c846f8d2c5a6252706e44b803dec8c88901036b5.tar.gz
Add more patches from upstream to get further in build on NetBSD-5.
Diffstat (limited to 'graphics/cairo/patches')
-rw-r--r--graphics/cairo/patches/patch-configure29
-rw-r--r--graphics/cairo/patches/patch-src_cairo-xlib-surface-shm.c130
2 files changed, 157 insertions, 2 deletions
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