aboutsummaryrefslogtreecommitdiff
path: root/x11-toolkits/libgdiplus/files
diff options
context:
space:
mode:
authorDavid Naylor <dbn@FreeBSD.org>2017-04-09 08:07:00 +0000
committerDavid Naylor <dbn@FreeBSD.org>2017-04-09 08:07:00 +0000
commit7fed8ad129cf4ae1014cc9b2c9730fdb3c5c9d94 (patch)
tree55814f269a79dd3fa2c5852adff7391745326d72 /x11-toolkits/libgdiplus/files
parent478e6b70ca2d8ccb1126154a4db2c214acea681c (diff)
downloadports-7fed8ad129cf4ae1014cc9b2c9730fdb3c5c9d94.tar.gz
ports-7fed8ad129cf4ae1014cc9b2c9730fdb3c5c9d94.zip
Notes
Diffstat (limited to 'x11-toolkits/libgdiplus/files')
-rw-r--r--x11-toolkits/libgdiplus/files/extrapatch-nox11295
1 files changed, 295 insertions, 0 deletions
diff --git a/x11-toolkits/libgdiplus/files/extrapatch-nox11 b/x11-toolkits/libgdiplus/files/extrapatch-nox11
new file mode 100644
index 000000000000..07ef7763e361
--- /dev/null
+++ b/x11-toolkits/libgdiplus/files/extrapatch-nox11
@@ -0,0 +1,295 @@
+https://github.com/mono/libgdiplus/pull/46
+
+--- configure.ac.orig 2015-12-20 17:33:10 UTC
++++ configure.ac
+@@ -19,8 +19,8 @@ fi
+ GLIB_REQUIRED_VERSION="2.2.3"
+ PKG_CHECK_MODULES(BASE_DEPENDENCIES, glib-2.0 >= $GLIB_REQUIRED_VERSION)
+
+-GDIPLUS_LIBS="`pkg-config --libs glib-2.0 `"
+-GDIPLUS_CFLAGS="`pkg-config --cflags glib-2.0 `"
++GDIPLUS_LIBS="`$PKG_CONFIG --libs glib-2.0 `"
++GDIPLUS_CFLAGS="`$PKG_CONFIG --cflags glib-2.0 `"
+
+ CAIRO_REQUIRED_VERSION="1.6.4"
+ PKG_CHECK_MODULES(CAIRO, cairo >= $CAIRO_REQUIRED_VERSION)
+@@ -120,12 +120,6 @@ case "$host" in
+ ;;
+ esac
+
+-# Add xrender here so that we don't fail to find glib if we won't have xrender.pc
+-if test "x$no_x" != "xyes"; then
+- GDIPLUS_LIBS="$GDIPLUS_LIBS `pkg-config --libs xrender `"
+- GDIPLUS_CFLAGS="$GDIPLUS_CFLAGS `pkg-config --cflags xrender `"
+-fi
+-
+ # Apparently for BSD special handling needs to happen
+ # See http://archives/neohapsis.com/archives/openbsd/2001-11/2142.html
+ # by Miod Vallat <miod@online.fr>
+@@ -348,6 +342,44 @@ dnl Test for libpng
+ GDIPLUS_LIBS="$GDIPLUS_LIBS $LIBPNG"
+ AC_DEFINE(HAVE_LIBPNG, 1, Define if png support is available. Always defined.)
+
++dnl
++dnl Test for X11. Allow compiling without x11 support using the without-x11
++dnl flag
++dnl
++
++AC_ARG_WITH(x11,
++ [AC_HELP_STRING([--without-x11], [Disable X11 support])],
++ [disable_x11=yes])
++
++if test x$disable_x11 != xyes; then
++ AC_MSG_CHECKING(X11 support)
++ AC_TRY_COMPILE(
++ [#include <X11/Xlib.h>],
++ [],
++ [x11_available=yes],
++ [x11_available=no])
++
++ if test "x$x11_available" != "xyes"; then
++ AC_MSG_ERROR( [ Failed to compile with X11/Xlib.h include. You must fix your compiler paths ])
++ else
++ AC_MSG_RESULT(yes)
++ fi
++else
++ x11_available=no
++fi
++
++AS_IF(
++ [test x$x11_available = xyes],
++ [AC_DEFINE([HAS_X11], [1], [Define X11 support])],
++ [AC_DEFINE([HAS_X11], [0], [Skip X11 support])])
++AM_CONDITIONAL([HAS_X11], [test x$x11_available = xyes])
++
++# Add xrender here so that we don't fail to find glib if we won't have xrender.pc
++if test "x$no_x" != "xyes" && "x$x11_available" = "xyes"; then
++ GDIPLUS_LIBS="$GDIPLUS_LIBS `$PKG_CONFIG --libs xrender `"
++ GDIPLUS_CFLAGS="$GDIPLUS_CFLAGS `$PKG_CONFIG --cflags xrender `"
++fi
++
+ dnl Test for libexif
+ if test x$with_libexif != xno && test -z "$LIBEXIF"; then
+ PKG_CHECK_MODULES(LIBEXIF, libexif, [libexif_pkgconfig=yes], libexif_pkgconfig=no])
+@@ -363,15 +395,6 @@ else
+ fi
+ AM_CONDITIONAL(HAVE_LIBEXIF, test x$libexif_pkgconfig = xyes)
+
+-dnl
+-dnl Produce a diagnostic, to reduce support time
+-dnl
+-AC_TRY_COMPILE([#include <X11/Xlib.h>],
+- [],[x11_failed=false],[x11_failed=true])
+-if $x11_failed; then
+- AC_ERROR("Failed to compile with X11/Xlib.h include. You must fix your compiler paths")
+-fi
+-
+ GDIPLUS_PKG_LIBS="$GDIPLUS_LIBS"
+ GDIPLUS_PKG_CFLAGS="$GDIPLUS_CFLAGS"
+
+@@ -396,6 +419,7 @@ echo " * Installation prefix = $prefix
+ echo " * Cairo = $cairo_info"
+ echo " * Text = $text_v"
+ echo " * EXIF tags = $libexif_pkgconfig"
++echo " * X11 = $x11_available"
+ echo " * Codecs supported:"
+ echo ""
+ echo " - TIFF: $tiff_ok"
+--- src/gdiplus-private.h.orig 2014-08-27 16:45:05 UTC
++++ src/gdiplus-private.h
+@@ -40,7 +40,7 @@
+ #if HAVE_VISIBILITY_HIDDEN
+ #define GDIP_INTERNAL __attribute__((visibility ("hidden")))
+ #else
+- #define GDIP_INTERNAL
++ #define GDIP_INTERNAL
+ #endif
+
+ #ifdef USE_INCLUDED_CAIRO
+@@ -51,20 +51,27 @@
+ #include "cairo-ft.h"
+ #endif
+
++ #if HAS_X11
+ #ifdef CAIRO_HAS_XLIB_SURFACE
+ #include "cairo-xlib.h"
+ #endif
++ #endif
+ #else
+ #include <cairo/cairo.h>
+ #ifdef CAIRO_HAS_FT_FONT
+ #include <cairo/cairo-ft.h>
+ #endif
++
++ #if HAS_X11
+ #ifdef CAIRO_HAS_XLIB_SURFACE
+ #include <cairo/cairo-xlib.h>
+ #endif
++ #endif
+ #endif
+
++#if HAS_X11
+ #include <X11/Xlib.h>
++#endif
+
+ #include "win32structs.h"
+ #include "gdipenums.h"
+--- src/general.c.orig 2014-08-27 16:45:05 UTC
++++ src/general.c
+@@ -23,6 +23,7 @@
+ * Alexandre Pigolkine(pigolkine@gmx.de)
+ * Duncan Mak (duncan@ximian.com)
+ * Sebastien Pouliot <sebastien@ximian.com>
++ * Frederik Carlier <frederik.carlier@quamotion.mobi>
+ */
+
+ #include "general-private.h"
+@@ -123,7 +124,6 @@ float
+ gdip_get_display_dpi ()
+ {
+ static float dpis = 0;
+- Display* display;
+
+ if (dpis == 0) {
+ #if __APPLE__
+@@ -132,9 +132,10 @@ gdip_get_display_dpi ()
+
+ dpis = h_dpi;
+ return dpis;
+-#else
++#elif HAS_X11 && CAIRO_HAS_XLIB_SURFACE
+ char *val;
+
++ Display* display;
+ display = XOpenDisplay (0);
+ /* If the display is openable lets try to read dpi from it; otherwise use a default of 96.0f */
+ if (display) {
+@@ -148,6 +149,8 @@ gdip_get_display_dpi ()
+ } else {
+ dpis = 96.0f;
+ }
++#else
++ dpis = 96.0f;
+ #endif
+ }
+
+--- src/graphics-private.h.orig 2014-08-27 16:45:05 UTC
++++ src/graphics-private.h
+@@ -24,6 +24,7 @@
+ * Geoff Norton (gnorton@customerdna.com)
+ * Jonathan Gilbert (logic@deltaq.org)
+ * Sebastien Pouliot <sebastien@ximian.com>
++ * Frederik Carlier <frederik.carlier@quamotion.mobi>
+ *
+ * Copyright (C) 2003-2007 Novell, Inc (http://www.novell.com)
+ */
+@@ -105,8 +106,12 @@ typedef struct _Graphics {
+ cairo_t *ct;
+ GpMatrix *copy_of_ctm;
+ cairo_matrix_t previous_matrix;
++#if HAS_X11
++#ifdef CAIRO_HAS_XLIB_SURFACE
+ Display *display;
+ Drawable drawable;
++#endif
++#endif
+ void *image;
+ int type;
+ GpPen* last_pen; /* caching pen and brush to avoid unnecessary sets */
+--- src/graphics.c.orig 2014-08-27 16:45:05 UTC
++++ src/graphics.c
+@@ -23,6 +23,7 @@
+ * Alexandre Pigolkine (pigolkine@gmx.de)
+ * Duncan Mak (duncan@ximian.com)
+ * Sebastien Pouliot <sebastien@ximian.com>
++ * Frederik Carlier <frederik.carlier@quamotion.mobi>
+ */
+
+ #include "graphics-private.h"
+@@ -151,8 +152,10 @@ gdip_graphics_common_init (GpGraphics *g
+ graphics->render_origin_y = 0;
+ graphics->dpi_x = graphics->dpi_y = 0;
+
++#if HAS_X11 && CAIRO_HAS_XLIB_SURFACE
+ graphics->display = NULL;
+ graphics->drawable = NULL;
++#endif
+
+ gdip_graphics_reset (graphics);
+ }
+@@ -216,7 +219,6 @@ GdipCreateFromHDC (void *hDC, GpGraphics
+ cairo_surface_t *surface;
+ int x, y;
+ unsigned int w, h, border_w, depth;
+- Window root;
+
+ if (!hDC)
+ return OutOfMemory;
+@@ -232,7 +234,8 @@ GdipCreateFromHDC (void *hDC, GpGraphics
+ if (clone->type == gtMemoryBitmap)
+ return GdipGetImageGraphicsContext (clone->image, graphics);
+
+-#ifdef CAIRO_HAS_XLIB_SURFACE
++#if HAS_X11 && CAIRO_HAS_XLIB_SURFACE
++ Window root;
+ XGetGeometry (clone->display, clone->drawable, &root,
+ &x, &y, &w, &h, &border_w, &depth);
+
+@@ -292,7 +295,7 @@ GdipCreateFromContext_macosx (void *ctx,
+
+ #endif
+
+-#ifdef CAIRO_HAS_XLIB_SURFACE
++#if HAS_X11 && CAIRO_HAS_XLIB_SURFACE
+
+ // coverity[+alloc : arg-*2]
+ GpStatus
+@@ -329,7 +332,7 @@ GdipCreateFromXDrawable_linux(Drawable d
+
+ #endif
+
+-#ifdef CAIRO_HAS_XLIB_SURFACE
++#if HAS_X11 && CAIRO_HAS_XLIB_SURFACE
+ static int
+ ignore_error_handler (Display *dpy, XErrorEvent *event)
+ {
+@@ -360,7 +363,7 @@ GdipDeleteGraphics (GpGraphics *graphics
+ }
+
+ if (graphics->ct) {
+-#ifdef CAIRO_HAS_XLIB_SURFACE
++#if HAS_X11 && CAIRO_HAS_XLIB_SURFACE
+ int (*old_error_handler)(Display *dpy, XErrorEvent *ev) = NULL;
+ if (graphics->type == gtX11Drawable)
+ old_error_handler = XSetErrorHandler (ignore_error_handler);
+@@ -369,7 +372,7 @@ GdipDeleteGraphics (GpGraphics *graphics
+ cairo_destroy (graphics->ct);
+ graphics->ct = NULL;
+
+-#ifdef CAIRO_HAS_XLIB_SURFACE
++#if HAS_X11 && CAIRO_HAS_XLIB_SURFACE
+ if (graphics->type == gtX11Drawable)
+ XSetErrorHandler (old_error_handler);
+ #endif
+--- tests/Makefile.am.orig 2015-10-29 09:48:39 UTC
++++ tests/Makefile.am
+@@ -17,13 +17,18 @@ LDADDS = \
+ -lm
+
+ noinst_PROGRAMS = \
+- testgdi testbits testclip testreversepath
++ testbits testclip testreversepath
++
++if HAS_X11
++noinst_PROGRAMS =
++ testgdi ${noinst_PROGRAMS}
+
+ testgdi_DEPENDENCIES = $(TEST_DEPS)
+ testgdi_LDADD = $(LDADDS)
+
+ testgdi_SOURCES = \
+ testgdi.c
++endif HAS_X11
+
+ testbits_DEPENDENCIES = $(TEST_DEPS)
+ testbits_LDADD = $(LDADDS)