summaryrefslogtreecommitdiffstats
path: root/source/d/vala/disable-graphviz.patch
diff options
context:
space:
mode:
Diffstat (limited to 'source/d/vala/disable-graphviz.patch')
-rw-r--r--source/d/vala/disable-graphviz.patch224
1 files changed, 224 insertions, 0 deletions
diff --git a/source/d/vala/disable-graphviz.patch b/source/d/vala/disable-graphviz.patch
new file mode 100644
index 000000000..477504dca
--- /dev/null
+++ b/source/d/vala/disable-graphviz.patch
@@ -0,0 +1,224 @@
+From 57f6b661d7865e8cecd17be36fab68f7f8447998 Mon Sep 17 00:00:00 2001
+From: Rico Tzschichholz <ricotz@ubuntu.com>
+Date: Wed, 6 Sep 2017 18:52:55 +0200
+Subject: [PATCH] libvaladoc: Allow disabling the graphviz dependency of
+
+ valadoc
+
+https://bugzilla.gnome.org/show_bug.cgi?id=787375
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+Upstream-Status: Submitted [bugzilla link above]
+
+---
+ configure.ac | 60 +++++++++++++++++++----------------
+ libvaladoc/Makefile.am | 25 +++++++++++----
+ libvaladoc/html/basicdoclet.vala | 8 +++++
+ libvaladoc/html/htmlmarkupwriter.vala | 4 +++
+ 4 files changed, 63 insertions(+), 34 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 730c72d..af81986 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -119,34 +119,38 @@ PKG_CHECK_MODULES(GMODULE, gmodule-2.0 >= $GLIB_REQUIRED)
+ AC_SUBST(GMODULE_CFLAGS)
+ AC_SUBST(GMODULE_LIBS)
+
+-PKG_CHECK_MODULES(LIBGVC, libgvc >= $LIBGVC_REQUIRED)
+-AC_MSG_CHECKING([for CGRAPH])
+-cgraph_tmp_LIBADD="$LIBADD"
+-cgraph_tmp_CFLAGS="$CFLAGS"
+-LIBADD="$LIBADD $LIBGVC_LIBS"
+-CFLAGS="$CFLAGS $LIBGVC_CFLAGS"
+-AC_RUN_IFELSE(
+- [AC_LANG_SOURCE([
+- #include <gvc.h>
+-
+- int main(void) {
+- #ifdef WITH_CGRAPH
+- return 0;
+- #else
+- return -1;
+- #endif
+- }
+- ])], [
+- AC_MSG_RESULT([yes])
+- VALAFLAGS="$VALAFLAGS -D WITH_CGRAPH"
+- have_cgraph=yes
+- ], [
+- AC_MSG_RESULT([no])
+- have_cgraph=no
+- ]
+-)
+-LIBADD="$cgraph_tmp_LIBADD"
+-CFLAGS="$cgraph_tmp_CFLAGS"
++AC_ARG_ENABLE(graphviz, AS_HELP_STRING([--disable-graphviz], [Disable graphviz usage for valadoc]), enable_graphviz=$enableval, enable_graphviz=yes)
++if test x$enable_graphviz = xyes; then
++ PKG_CHECK_MODULES(LIBGVC, libgvc >= $LIBGVC_REQUIRED)
++ AC_MSG_CHECKING([for CGRAPH])
++ VALAFLAGS="$VALAFLAGS -D HAVE_GRAPHVIZ"
++ cgraph_tmp_LIBADD="$LIBADD"
++ cgraph_tmp_CFLAGS="$CFLAGS"
++ LIBADD="$LIBADD $LIBGVC_LIBS"
++ CFLAGS="$CFLAGS $LIBGVC_CFLAGS"
++ AC_RUN_IFELSE(
++ [AC_LANG_SOURCE([
++ #include <gvc.h>
++ int main(void) {
++ #ifdef WITH_CGRAPH
++ return 0;
++ #else
++ return -1;
++ #endif
++ }
++ ])], [
++ AC_MSG_RESULT([yes])
++ VALAFLAGS="$VALAFLAGS -D WITH_CGRAPH"
++ have_cgraph=yes
++ ], [
++ AC_MSG_RESULT([no])
++ have_cgraph=no
++ ]
++ )
++ LIBADD="$cgraph_tmp_LIBADD"
++ CFLAGS="$cgraph_tmp_CFLAGS"
++fi
++AM_CONDITIONAL(ENABLE_GRAPHVIZ, test x$enable_graphviz = xyes)
+ AM_CONDITIONAL(HAVE_CGRAPH, test "$have_cgraph" = "yes")
+
+ AC_PATH_PROG([XSLTPROC], [xsltproc], :)
+diff --git a/libvaladoc/Makefile.am b/libvaladoc/Makefile.am
+index 384292f..cce50d8 100644
+--- a/libvaladoc/Makefile.am
++++ b/libvaladoc/Makefile.am
+@@ -126,10 +126,6 @@ libvaladoc_la_VALASOURCES = \
+ content/tablerow.vala \
+ content/taglet.vala \
+ content/text.vala \
+- charts/chart.vala \
+- charts/chartfactory.vala \
+- charts/hierarchychart.vala \
+- charts/simplechartfactory.vala \
+ parser/manyrule.vala \
+ parser/oneofrule.vala \
+ parser/optionalrule.vala \
+@@ -156,13 +152,24 @@ libvaladoc_la_VALASOURCES = \
+ highlighter/codetoken.vala \
+ highlighter/highlighter.vala \
+ html/basicdoclet.vala \
+- html/htmlchartfactory.vala \
+ html/linkhelper.vala \
+ html/cssclassresolver.vala \
+ html/htmlmarkupwriter.vala \
+ html/htmlrenderer.vala \
+ $(NULL)
+
++if ENABLE_GRAPHVIZ
++libvaladoc_la_VALASOURCES += \
++ charts/chart.vala \
++ charts/chartfactory.vala \
++ charts/hierarchychart.vala \
++ charts/simplechartfactory.vala \
++ html/htmlchartfactory.vala \
++ $(NULL)
++
++LIBGVC_PKG = --vapidir $(top_srcdir)/vapi --pkg libgvc
++endif
++
+ libvaladoc@PACKAGE_SUFFIX@_la_SOURCES = \
+ libvaladoc.vala.stamp \
+ $(libvaladoc_la_VALASOURCES:.vala=.c) \
+@@ -182,9 +189,9 @@ libvaladoc.vala.stamp: $(libvaladoc_la_VALASOURCES)
+ --library valadoc \
+ --vapi valadoc@PACKAGE_SUFFIX@.vapi \
+ --vapidir $(top_srcdir)/vapi --pkg gmodule-2.0 \
+- --vapidir $(top_srcdir)/vapi --pkg libgvc \
+ --vapidir $(top_srcdir)/gee --pkg gee \
+ --vapidir $(top_srcdir)/vala --pkg vala \
++ $(LIBGVC_PKG) \
+ --pkg config \
+ $(filter %.vala %.c,$^)
+ touch $@
+@@ -211,6 +218,9 @@ nodist_pkgconfig_DATA = valadoc@PACKAGE_SUFFIX@.pc
+
+ valadoc@PACKAGE_SUFFIX@.pc: valadoc.pc
+ cp $< $@
++if !ENABLE_GRAPHVIZ
++ sed -i "s/libgvc //g" $@
++endif
+
+ vapidir = $(datadir)/vala/vapi
+ dist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.vapi
+@@ -218,6 +228,9 @@ nodist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.deps
+
+ valadoc@PACKAGE_SUFFIX@.deps: valadoc.deps
+ cp $< $@
++if !ENABLE_GRAPHVIZ
++ sed -i "s/libgvc//g" $@
++endif
+
+ EXTRA_DIST = \
+ $(libvaladoc_la_VALASOURCES) \
+diff --git a/libvaladoc/html/basicdoclet.vala b/libvaladoc/html/basicdoclet.vala
+index 37c731c..e0326ef 100644
+--- a/libvaladoc/html/basicdoclet.vala
++++ b/libvaladoc/html/basicdoclet.vala
+@@ -46,7 +46,11 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
+ protected HtmlRenderer _renderer;
+ protected Html.MarkupWriter writer;
+ protected Html.CssClassResolver cssresolver;
++#if HAVE_GRAPHVIZ
+ protected Charts.Factory image_factory;
++#else
++ protected void* image_factory;
++#endif
+ protected ErrorReporter reporter;
+ protected string package_list_link = "../index.html";
+
+@@ -120,7 +124,9 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
+ this.linker = new LinkHelper ();
+
+ _renderer = new HtmlRenderer (settings, this.linker, this.cssresolver);
++#if HAVE_GRAPHVIZ
+ this.image_factory = new SimpleChartFactory (settings, linker);
++#endif
+ }
+
+
+@@ -1025,6 +1031,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
+ }
+
+ protected void write_image_block (Api.Node element) {
++#if HAVE_GRAPHVIZ
+ if (element is Class || element is Interface || element is Struct) {
+ unowned string format = (settings.use_svg_images ? "svg" : "png");
+ var chart = new Charts.Hierarchy (image_factory, element);
+@@ -1044,6 +1051,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
+ this.get_img_path_html (element, format)});
+ writer.add_usemap (chart);
+ }
++#endif
+ }
+
+ public void write_namespace_content (Namespace node, Api.Node? parent) {
+diff --git a/libvaladoc/html/htmlmarkupwriter.vala b/libvaladoc/html/htmlmarkupwriter.vala
+index 5aa4afd..e79b0b8 100644
+--- a/libvaladoc/html/htmlmarkupwriter.vala
++++ b/libvaladoc/html/htmlmarkupwriter.vala
+@@ -51,12 +51,16 @@ public class Valadoc.Html.MarkupWriter : Valadoc.MarkupWriter {
+ }
+ }
+
++#if HAVE_GRAPHVIZ
+ public unowned MarkupWriter add_usemap (Charts.Chart chart) {
+ string? buf = (string?) chart.write_buffer ("cmapx");
+ if (buf != null) {
+ raw_text ("\n");
+ raw_text ((!) buf);
+ }
++#else
++ public unowned MarkupWriter add_usemap (void* chart) {
++#endif
+
+ return this;
+ }