diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..6061766
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+SOURCES/graphviz-2.30.1.tar.gz
diff --git a/.graphviz.metadata b/.graphviz.metadata
new file mode 100644
index 0000000..dd3bcc6
--- /dev/null
+++ b/.graphviz.metadata
@@ -0,0 +1 @@
+96739220c4bbcf1bd3bd52e7111f4e60497185c6 SOURCES/graphviz-2.30.1.tar.gz
diff --git a/README.md b/README.md
deleted file mode 100644
index 0e7897f..0000000
--- a/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-The master branch has no content
- 
-Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6
- 
-If you find this file in a distro specific branch, it means that no content has been checked in yet
diff --git a/SOURCES/graphviz-2.26.0-rtest-errout-fix.patch b/SOURCES/graphviz-2.26.0-rtest-errout-fix.patch
new file mode 100644
index 0000000..83f0cb2
--- /dev/null
+++ b/SOURCES/graphviz-2.26.0-rtest-errout-fix.patch
@@ -0,0 +1,22 @@
+--- graphviz-2.26.0/rtest/rtest.sh.old	2009-12-06 00:27:49.000000000 +0100
++++ graphviz-2.26.0/rtest/rtest.sh	2010-10-22 10:37:42.952893435 +0200
+@@ -279,14 +279,16 @@
+     $testcmd 2> errout
+     RVAL=$?
+ 
++    if [[ -s errout ]]
++    then
++      cat errout
++    fi
++    
+     if [[ $RVAL != 0 || ! -s $OUTPATH ]]
+     then
+       (( CRASH_CNT+=1 ))
+       print -u 2 "Test $TESTNAME:$i : == Layout failed =="
+       print -u 2 "  $testcmd"
+-    elif [[ -s errout ]]
+-    then
+-      cat errout
+     elif [[ $GENERATE == 1 ]]
+     then
+       continue
diff --git a/SOURCES/graphviz-2.26.0-testsuite-sigsegv-fix.patch b/SOURCES/graphviz-2.26.0-testsuite-sigsegv-fix.patch
new file mode 100644
index 0000000..d278bc1
--- /dev/null
+++ b/SOURCES/graphviz-2.26.0-testsuite-sigsegv-fix.patch
@@ -0,0 +1,26 @@
+--- graphviz-2.26.0/lib/gvc/gvconfig.c.old	2009-07-08 17:14:20.000000000 +0200
++++ graphviz-2.26.0/lib/gvc/gvconfig.c	2010-10-20 11:51:21.238392202 +0200
+@@ -471,6 +471,7 @@
+         libdir = gvconfig_libdir(gvc);
+         rc = stat(libdir, &libdir_st);
+         if (rc == -1) {
++            gvtextlayout_select(gvc);   /* choose best available textlayout plugin immediately */
+     	    /* if we fail to stat it then it probably doesn't exist so just fail silently */
+ 	    return;
+         }
+@@ -485,6 +486,7 @@
+         if (rescan) {
+     	    config_rescan(gvc, gvc->config_path);
+     	    gvc->config_found = TRUE;
++            gvtextlayout_select(gvc);   /* choose best available textlayout plugin immediately */
+     	    return;
+         }
+     
+@@ -492,6 +494,7 @@
+     
+         rc = stat(gvc->config_path, &config_st);
+         if (rc == -1) {
++            gvtextlayout_select(gvc);   /* choose best available textlayout plugin immediately */
+     	    /* silently return without setting gvc->config_found = TRUE */
+     	    return;
+         }
diff --git a/SOURCES/graphviz-2.30.1-CVE-2014-0978-CVE-2014-1235.patch b/SOURCES/graphviz-2.30.1-CVE-2014-0978-CVE-2014-1235.patch
new file mode 100644
index 0000000..67b051d
--- /dev/null
+++ b/SOURCES/graphviz-2.30.1-CVE-2014-0978-CVE-2014-1235.patch
@@ -0,0 +1,41 @@
+diff --git a/lib/cgraph/scan.l b/lib/cgraph/scan.l
+index e2215d1..f41049d 100644
+--- a/lib/cgraph/scan.l
++++ b/lib/cgraph/scan.l
+@@ -16,6 +16,7 @@
+ %{
+ #include <grammar.h>
+ #include <cghdr.h>
++#include <agxbuf.h>
+ #include <ctype.h>
+ #define GRAPH_EOF_TOKEN		'@'		/* lex class must be defined below */
+ 	/* this is a workaround for linux flex */
+@@ -192,13 +193,22 @@ ID		({NAME}|{NUMBER})
+ %%
+ void yyerror(char *str)
+ {
++	unsigned char	xbuf[BUFSIZ];
+ 	char	buf[BUFSIZ];
+-	if (InputFile)
+-		sprintf(buf,"%s:%d: %s in line %d near '%s'\n",InputFile, line_num,
+-			str,line_num,yytext);
+-	else
+-		sprintf(buf," %s in line %d near '%s'\n", str,line_num,yytext);
+-	agerr(AGWARN,buf);
++	agxbuf  xb;
++
++	agxbinit(&xb, BUFSIZ, xbuf);
++	if (InputFile) {
++		agxbput (&xb, InputFile);
++		agxbput (&xb, ": ");
++	}
++	agxbput (&xb, str);
++	sprintf(buf," in line %d near '", line_num);
++	agxbput (&xb, buf);
++	agxbput (&xb, yytext);
++	agxbput (&xb,"'\n");
++	agerr(AGWARN,agxbuse(&xb));
++	agxbfree(&xb);
+ }
+ /* must be here to see flex's macro defns */
+ void aglexeof() { unput(GRAPH_EOF_TOKEN); }
diff --git a/SOURCES/graphviz-2.30.1-CVE-2014-1236.patch b/SOURCES/graphviz-2.30.1-CVE-2014-1236.patch
new file mode 100644
index 0000000..ad58569
--- /dev/null
+++ b/SOURCES/graphviz-2.30.1-CVE-2014-1236.patch
@@ -0,0 +1,58 @@
+From 1d1bdec6318746f6f19f245db589eddc887ae8ff Mon Sep 17 00:00:00 2001
+From: "Emden R. Gansner" <erg@alum.mit.edu>
+Date: Wed, 8 Jan 2014 11:31:04 -0500
+Subject: [PATCH] Fix possible buffer overflow problem in chkNum of scanner.
+
+---
+ lib/cgraph/scan.l | 35 ++++++++++++++++++++++++++---------
+ 1 file changed, 26 insertions(+), 9 deletions(-)
+
+diff --git a/lib/cgraph/scan.l b/lib/cgraph/scan.l
+index 212967c..d065b61 100644
+--- a/lib/cgraph/scan.l
++++ b/lib/cgraph/scan.l
+@@ -129,15 +129,32 @@ static void ppDirective (void)
+  * and report this to the user.
+  */
+ static int chkNum(void) {
+-  unsigned char	c = (unsigned char)yytext[yyleng-1];   /* last character */
+-  if (!isdigit(c) && (c != '.')) {  /* c is letter */
+-	char	buf[BUFSIZ];
+-	sprintf(buf,"syntax error - badly formed number '%s' in line %d of %s\n",yytext,line_num, InputFile);
+-    strcat (buf, "splits into two name tokens\n");
+-	agerr(AGWARN,buf);
+-    return 1;
+-  }
+-  else return 0;
++    unsigned char c = (unsigned char)yytext[yyleng-1];   /* last character */
++    if (!isdigit(c) && (c != '.')) {  /* c is letter */
++	unsigned char xbuf[BUFSIZ];
++	char buf[BUFSIZ];
++	agxbuf  xb;
++	char* fname;
++
++	if (InputFile)
++	    fname = InputFile;
++	else
++	    fname = "input";
++
++	agxbinit(&xb, BUFSIZ, xbuf);
++
++	agxbput(&xb,"syntax ambiguity - badly delimited number '");
++	agxbput(&xb,yytext);
++	sprintf(buf,"' in line %d of ", line_num);
++	agxbput(&xb,buf);
++	agxbput(&xb,fname);
++	agxbput(&xb, " splits into two tokens\n");
++	agerr(AGWARN,agxbuse(&xb));
++
++	agxbfree(&xb);
++	return 1;
++    }
++    else return 0;
+ }
+ 
+ /* The LETTER class below consists of ascii letters, underscore, all non-ascii
+-- 
+1.8.5.1
+
diff --git a/SOURCES/graphviz-2.30.1-guile2-fix.patch b/SOURCES/graphviz-2.30.1-guile2-fix.patch
new file mode 100644
index 0000000..a952aee
--- /dev/null
+++ b/SOURCES/graphviz-2.30.1-guile2-fix.patch
@@ -0,0 +1,27 @@
+diff -up graphviz-2.30.1/configure.ac.orig graphviz-2.30.1/configure.ac
+--- graphviz-2.30.1/configure.ac.orig	2013-02-14 14:27:39.000000000 +0100
++++ graphviz-2.30.1/configure.ac	2013-02-15 11:43:17.794608767 +0100
+@@ -710,7 +710,7 @@ else
+           GUILE_LIBS=
+ 	  # don't die if PKG_CHECK_MODULES not available - el4, el5
+           PKG_CHECK_MODULES([GUILE],
+-		[guile >= "$GUILE_VERSION_MAJOR.$GUILE_VERSION_MINOR"],
++		[guile-2.0 >= "$GUILE_VERSION_MAJOR.$GUILE_VERSION_MINOR"],
+ 		GUILE_INCLUDES="$GUILE_CFLAGS",
+           	[
+ 			PKG_CHECK_MODULES([GUILE],
+diff -up graphviz-2.30.1/configure.orig graphviz-2.30.1/configure
+--- graphviz-2.30.1/configure.orig	2013-02-15 11:44:09.552556536 +0100
++++ graphviz-2.30.1/configure	2013-02-14 14:30:22.000000000 +0100
+@@ -21028,9 +21028,9 @@ else
+         _pkg_short_errors_supported=no
+ fi
+         if test $_pkg_short_errors_supported = yes; then
+-	        GUILE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "guile >= "$GUILE_VERSION_MAJOR.$GUILE_VERSION_MINOR"" 2>&1`
++	        GUILE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "guile-2.0 >= "$GUILE_VERSION_MAJOR.$GUILE_VERSION_MINOR"" 2>&1`
+         else
+-	        GUILE_PKG_ERRORS=`$PKG_CONFIG --print-errors "guile >= "$GUILE_VERSION_MAJOR.$GUILE_VERSION_MINOR"" 2>&1`
++	        GUILE_PKG_ERRORS=`$PKG_CONFIG --print-errors "guile-2.0 >= "$GUILE_VERSION_MAJOR.$GUILE_VERSION_MINOR"" 2>&1`
+         fi
+ 	# Put the nasty error message in config.log where it belongs
+ 	echo "$GUILE_PKG_ERRORS" >&5
diff --git a/SOURCES/graphviz-2.30.1-gv2gml-options-fix.patch b/SOURCES/graphviz-2.30.1-gv2gml-options-fix.patch
new file mode 100644
index 0000000..37c3f1a
--- /dev/null
+++ b/SOURCES/graphviz-2.30.1-gv2gml-options-fix.patch
@@ -0,0 +1,12 @@
+diff -up graphviz-2.30.1/cmd/tools/gv2gml.c.orig5 graphviz-2.30.1/cmd/tools/gv2gml.c
+--- graphviz-2.30.1/cmd/tools/gv2gml.c.orig5	2013-02-14 14:27:39.000000000 +0100
++++ graphviz-2.30.1/cmd/tools/gv2gml.c	2013-07-11 13:54:56.661096922 +0200
+@@ -712,7 +712,7 @@ static void initargs(int argc, char **ar
+ 
+     CmdName = cmdName(argv[0]);
+     opterr = 0;
+-    while ((c = getopt(argc, argv, ":io:")) != -1) {
++    while ((c = getopt(argc, argv, "o:")) != -1) {
+ 	switch (c) {
+ 	case 'o':
+ 	    outFile = openFile(optarg, "w");
diff --git a/SOURCES/graphviz-2.30.1-gvc.pc-no-libgraph.patch b/SOURCES/graphviz-2.30.1-gvc.pc-no-libgraph.patch
new file mode 100644
index 0000000..dc9c996
--- /dev/null
+++ b/SOURCES/graphviz-2.30.1-gvc.pc-no-libgraph.patch
@@ -0,0 +1,11 @@
+diff -up graphviz-2.30.1/lib/gvc/libgvc.pc.in.cgraph graphviz-2.30.1/lib/gvc/libgvc.pc.in
+--- graphviz-2.30.1/lib/gvc/libgvc.pc.in.cgraph	2013-04-23 16:13:09.034471849 -0400
++++ graphviz-2.30.1/lib/gvc/libgvc.pc.in	2013-04-23 16:13:12.209471736 -0400
+@@ -7,6 +7,6 @@ plugins=@GVPLUGIN_VERSION@
+ Name: libgvc
+ Description: The GraphVizContext library 
+ Version: @VERSION@
+-Libs: -L${libdir} -lgvc -lgraph -lcdt
++Libs: -L${libdir} -lgvc -lcgraph -lcdt
+ Cflags: -I${includedir}
+ 
diff --git a/SOURCES/graphviz-2.30.1-lefty-help.patch b/SOURCES/graphviz-2.30.1-lefty-help.patch
new file mode 100644
index 0000000..94426fe
--- /dev/null
+++ b/SOURCES/graphviz-2.30.1-lefty-help.patch
@@ -0,0 +1,82 @@
+diff -up graphviz-2.30.1/cmd/lefty/lefty.c.orig8 graphviz-2.30.1/cmd/lefty/lefty.c
+--- graphviz-2.30.1/cmd/lefty/lefty.c.orig8	2013-02-14 14:27:39.000000000 +0100
++++ graphviz-2.30.1/cmd/lefty/lefty.c	2013-07-12 12:46:23.730664708 +0200
+@@ -86,6 +86,8 @@ static void processargs (int, char **);
+ static void processstr (char *);
+ static void printusage (void);
+ 
++static char *cmd;
++
+ #if defined(FEATURE_X11) || defined(FEATURE_NONE)
+ 
+ int main (int argc, char **argv) {
+@@ -100,6 +102,8 @@ int main (int argc, char **argv) {
+     stime = time (NULL);
+ #endif
+ 
++    cmd = argv[0];
++
+     idlerunmode = 0;
+     exprstr = NULL;
+     fp = NULL;
+@@ -393,6 +397,25 @@ static int processinput (int waitflag) {
+     return rtn;
+ }
+ 
++static char* usestr =
++"   acceptable options are:\n\
++    -x    - exit after processing the input file.\n\
++    -e E  - parse and execute expression E.\n\
++    -el N - set error reporting level. (0)\n\
++    -sd N - how much of the stack to show if error is printed. (2)\n\
++    -sb N - how much of each function in the stack show if error is printed. (2)\n\
++    -df S - set default font.\n\
++    -ps F - specify a default file name for postscript files.\n\
++    -?    - show help.\n\
++    -V    - print version.\n";
++
++static void usage(char *cmd, int eval)
++{
++    fprintf (stderr, "Usage: %s [options] [file]\n", cmd);
++    fputs (usestr, stderr);
++    exit (eval);
++}
++
+ static void processstr (char *buf) {
+     char *words[100];
+     char *s, *s1;
+@@ -441,11 +466,19 @@ static void processargs (int argc, char
+             fprintf (stderr, "lefty version %s\n", LEFTYVERSION);
+             fprintf (stderr, "graphviz version %s (%s)\n", VERSION, BUILDDATE);
+ 	}
++        else if (strcmp (argv[0], "-?") == 0)
++            usage(cmd, 0);
+         else if (strcmp (argv[0], "-") == 0)
+             fp = stdin;
++        else if (argv[0][0] == '-') {
++            fprintf (stderr, "option %s unrecognized - ignored\n", argv[0]);
++            usage (cmd, 1);
++        }
+         else {
+-            if ((fp = fopen (argv[0], "r")) == NULL)
+-                panic1 (POS, "main", "cannot open input file: %s", argv[0]);
++            if ((fp = fopen (argv[0], "r")) == NULL) {
++                fprintf (stderr, "cannot open input file: %s", argv[0]);
++                exit(2);
++            }
+         }
+         argv++, argc--;
+     }
+diff -up graphviz-2.30.1/cmd/lefty/lefty.1.orig8 graphviz-2.30.1/cmd/lefty/lefty.1
+--- graphviz-2.30.1/cmd/lefty/lefty.1.orig8	2013-02-14 14:27:39.000000000 +0100
++++ graphviz-2.30.1/cmd/lefty/lefty.1	2013-07-12 12:48:37.829553144 +0200
+@@ -115,6 +115,9 @@ call. The default file name is
+ .TP
+ .B -V
+ Prints the version.
++.TP
++.B -?
++Prints the usage and exits.
+ .SH SEE ALSO
+ .I lefty
+ user guide.
diff --git a/SOURCES/graphviz-2.30.1-lua-5.2.patch b/SOURCES/graphviz-2.30.1-lua-5.2.patch
new file mode 100644
index 0000000..a4b87de
--- /dev/null
+++ b/SOURCES/graphviz-2.30.1-lua-5.2.patch
@@ -0,0 +1,99 @@
+diff -up graphviz-2.30.1/configure.ac.lua-52 graphviz-2.30.1/configure.ac
+--- graphviz-2.30.1/configure.ac.lua-52	2013-05-15 14:55:05.523513480 -0400
++++ graphviz-2.30.1/configure.ac	2013-05-15 14:59:48.628517728 -0400
+@@ -874,7 +874,7 @@ else
+             if test "x$PKGCONFIG" != "x"; then
+ 	        AC_MSG_CHECKING(for Lua headers and libraries with pkg-config)
+ 	        echo
+-	        for l in "$lua_suffix" "" "51" "5.1" "50" "5.0" ; do
++	        for l in "$lua_suffix" "" "52" "5.2" "51" "5.1" "50" "5.0" ; do
+ 	            pkgconfig_lua_found=`$PKGCONFIG --exists lua$l 2>/dev/null`
+ 	            if test "x$?" == "x0" ; then
+ 		        LUA_VERSION=`$PKGCONFIG --modversion lua$l`
+@@ -895,7 +895,7 @@ else
+     
+         if test "x$LUA_INCLUDES" == "x" -o "x$LUA_LIBS" == "x" ; then
+             LUACONFIG=""
+-            AC_CHECK_PROGS(LUACONFIG, lua-config lua-config51 lua-config5.1 lua-config50 lua-config5.0)
++            AC_CHECK_PROGS(LUACONFIG, lua-config lua-config52 lua-config5.2 lua-config51 lua-config5.1 lua-config50 lua-config5.0)
+             if test "x$LUACONFIG" != "x" ; then
+                 AC_MSG_CHECKING(for Lua headers and libraries with lua-config)
+ 	        echo
+@@ -914,39 +914,53 @@ else
+             if test "x$ac_found_lua_header" == "xyes" -a "x$ac_found_liblua_header" == "xyes"; then
+                 LUA_INCLUDES="$CFLAGS"
+             fi
+-            for l in "$lua_suffix" "" "51" "5.1" "50" "5.0" ; do
+-                AC_CHECK_LIB(lua$l,lua_call,ac_found_lua_lib="yes",ac_found_lua_lib="no")
++            for l in "$lua_suffix" "" "52" "5.2" "51" "5.1" "50" "5.0" ; do
++                AC_CHECK_LIB(lua$l,lua_callk,ac_found_lua_lib="yes",ac_found_lua_lib="no")
+                 if test "x$ac_found_lua_lib" == "xyes" ; then
+-	            LUA_VERSION=">=5.1.0"
+-    
+-	            LUA_LIBS="$LDFLAGS -llua$l -lm"
+-    
+-		    ac2_save_LDFLAGS="$LDFLAGS"
+-		    LDFLAGS="$LDFLAGS -llua$l -lm"
+-    
+-		    if echo "$host_os" | grep "^linux" 1>/dev/null 2>&1 ; then
+-		       LDFLAGS="$LDFLAGS -ldl"
+-		    fi
++                    LUA_VERSION=">=5.2.0"
++
++                    LUA_LIBS="$LDFLAGS -llua$l -lm"
++
++                    ac2_save_LDFLAGS="$LDFLAGS"
++                    LDFLAGS="$LDFLAGS -llua$l -lm"
++
++                    if echo "$host_os" | grep "^linux" 1>/dev/null 2>&1 ; then
++                       LDFLAGS="$LDFLAGS -ldl"
++                    fi
++
++                    AC_CHECK_LIB(lua$l,lua_call,ac_found_lua_lib="yes",ac_found_lua_lib="no")
++                    if test "x$ac_found_lua_lib" == "xyes" ; then
++	                LUA_VERSION=">=5.1.0"
+     
+-		    AC_CHECK_LIB(lualib$l,luaL_openlib,ac_found_liblua_lib="yes",ac_found_liblua_lib="no")
+-		    if test "x$ac_found_liblua_lib" == "xyes" ; then
+-		       LUA_VERSION="5.0.x"
++	                LUA_LIBS="$LDFLAGS -llua$l -lm"
+     
+-		       LUA_LIBS="$LUA_LFLAGS -llualib$l"
++		        ac2_save_LDFLAGS="$LDFLAGS"
++		        LDFLAGS="$LDFLAGS -llua$l -lm"
+     
+-		       if echo "$host_os" | grep "^linux" 1>/dev/null 2>&1 ; then
+-		          LUA_LIBS="$LUA_LFLAGS -ldl"
+-		       fi
+-		    fi
++		        if echo "$host_os" | grep "^linux" 1>/dev/null 2>&1 ; then
++		           LDFLAGS="$LDFLAGS -ldl"
++		        fi
+     
+-		    LDFLAGS="$ac2_save_LDFLAGS"
+-		    break
+-	        fi
++		        AC_CHECK_LIB(lualib$l,luaL_openlib,ac_found_liblua_lib="yes",ac_found_liblua_lib="no")
++		        if test "x$ac_found_liblua_lib" == "xyes" ; then
++		           LUA_VERSION="5.0.x"
++    
++		           LUA_LIBS="$LUA_LFLAGS -llualib$l"
++    
++		           if echo "$host_os" | grep "^linux" 1>/dev/null 2>&1 ; then
++		              LUA_LIBS="$LUA_LFLAGS -ldl"
++		           fi
++   		        fi
++    
++		        LDFLAGS="$ac2_save_LDFLAGS"
++		        break
++	            fi
++                fi
+             done
+         fi
+     
+         AC_MSG_CHECKING(for Lua compiling and linking)
+-        LUA_TEST=`LT=luatest.c ; echo "#include <lua.h>" > $LT;  echo "#include <lualib.h>" >> $LT; echo "int main() { luaopen_base((lua_State *)lua_open()); return 0; }" >> $LT ; $CC -Wall $LT -o $LT.out $LUA_INCLUDES $LUA_LIBS $CFLAGS $LDFLAGS 1>/dev/null 2>&1 ; echo $?; rm -f $LT $LT.out 1>/dev/null 2>&1`
++        LUA_TEST=`LT=luatest.c ; echo "#include <lua.h>" > $LT;  echo "#include <lualib.h>" >> $LT; echo "int main() { luaopen_base((lua_State *)luaL_newstate()); return 0; }" >> $LT ; $CC -Wall $LT -o $LT.out $LUA_INCLUDES $LUA_LIBS $CFLAGS $LDFLAGS 1>/dev/null 2>&1 ; echo $?; rm -f $LT $LT.out 1>/dev/null 2>&1`
+         if test "x$LUA_TEST" != "x0" ; then
+           AC_MSG_RESULT(no)
+           AC_MSG_WARN([
diff --git a/SOURCES/graphviz-2.30.1-man-fix.patch b/SOURCES/graphviz-2.30.1-man-fix.patch
new file mode 100644
index 0000000..c741fb4
--- /dev/null
+++ b/SOURCES/graphviz-2.30.1-man-fix.patch
@@ -0,0 +1,172 @@
+diff -up graphviz-2.30.1/cmd/dot/dot.1.orig2 graphviz-2.30.1/cmd/dot/dot.1
+--- graphviz-2.30.1/cmd/dot/dot.1.orig2	2013-02-14 14:27:39.000000000 +0100
++++ graphviz-2.30.1/cmd/dot/dot.1	2013-07-09 14:34:22.000000000 +0200
+@@ -22,6 +22,17 @@ sfdp \- filter for drawing large undirec
+ [\fB\-P\fR]
+ [\fB\-v\fR]
+ [\fB\-V\fR]
++[\fB\-Lg\fR]
++[\fB\-LO\fR]
++[\fB\-Ln\fIiter\fR]
++[\fB\-LU\fIfuns\fR]
++[\fB\-LC\fIfover\fR]
++[\fB\-LT\fR[\fB*\fR]\fIftemp\fR]
++[\fB\-c\fR]
++[\fB\-m\fR]
++[\fB\-q\fIlevel\fR]
++[\fB\-s\fIfscale\fR]
++[\fB\-y\fR]
+ [files]
+ .br
+ \fBneato\fR
+@@ -645,6 +656,28 @@ As usual, edge layout is guided by the \
+ .PP
+ \fB\-v\fP (verbose) prints various information useful for debugging.
+ .PP
++\fB\-Lg\fP do not use grid.
++.PP
++\fB\-LO\fP use old attractive force.
++.PP
++\fB\-Ln\fP\fIiter\fP set number of iterations to \fIiter\fP.
++.PP
++\fB\-LU\fP\fIfuns\fP set unscaled factor to \fIfuns\fP.
++.PP
++\fB\-LC\fP\fIfover\fP set overlap expansion factor to \fIfover\fP.
++.PP
++\fB\-LT\fP[\fB*\fP]\fIftemp\fP set temperature factor to \fIftemp\fP.
++.PP
++\fB\-c\fP configure plugins (write $prefix/lib/graphviz/config).
++.PP
++\fB\-m\fP memory test (observe no growth with top, kill when done).
++.PP
++\fB\-q\fIlevel\fP set level of message suppression, the default is 1.
++.PP
++\fB\-s\fIfscale\fP scale input by \fIfscale\fP, the default is 72.
++.PP
++\fB\-y\fR invert y coordinate in output.
++.PP
+ \fB\-V\fP (version) prints version information and exits.
+ .PP
+ \fB\-?\fP prints the usage and exits.
+diff -up graphviz-2.30.1/cmd/dotty/dotty.1.orig3 graphviz-2.30.1/cmd/dotty/dotty.1
+--- graphviz-2.30.1/cmd/dotty/dotty.1.orig3	2013-02-14 14:27:39.000000000 +0100
++++ graphviz-2.30.1/cmd/dotty/dotty.1	2013-07-11 10:47:53.050605825 +0200
+@@ -6,6 +6,10 @@ dotty \- A Customizable Graph Editor
+ [
+ .B -V
+ ] [
++.BI -lm mode
++] [
++.BI -el lev
++] [
+ .I file
+ ]
+ .SH DESCRIPTION
+@@ -48,6 +54,12 @@ window.
+ .TP
+ .B -V
+ Prints the version.
++.TP
++.BI -lm mode
++Sets the layout mode. The \fImode\fP can be \fBsync\fP or \fBasync\fP. The default is \fBasync\fP.
++.TP
++.BI -el lev
++Sets the mesage level. The \fIlev\fP can be \fB0\fP or \fB1\fP. The default is \fB0\fP.
+ .SH BUGS
+ The lefty parser does not accept anonymous graphs.
+ .SH SEE ALSO
+diff -up graphviz-2.30.1/cmd/gvmap/cluster.1.orig2 graphviz-2.30.1/cmd/gvmap/cluster.1
+--- graphviz-2.30.1/cmd/gvmap/cluster.1.orig2	2013-02-14 14:27:39.000000000 +0100
++++ graphviz-2.30.1/cmd/gvmap/cluster.1	2013-07-11 10:20:14.181466011 +0200
+@@ -13,6 +13,9 @@ cluster \- find clusters in a graph and
+ .BI \-C k
+ ]
+ [
++.BI \-c k
++]
++[
+ .B \-o
+ .I outfile
+ ]
+@@ -37,6 +40,10 @@ specifies a targeted number of clusters
+ The specified number \fIk\fP is only a suggestion and may not be realisable. 
+ If \fIk == 0\fP, the default, the number of clusters that approximately optimizes the modularity is returned.
+ .TP
++.BI \-c k
++specifies clustering method.
++If \fIk == 0\fP, the default, the modularity will be used. If \fIk == 1\fP modularity quality will be used.
++.TP
+ .BI \-o outfile 
+ Specifies that output should go into the file \fIoutfile\fP. By default,
+ \fIstdout\fP is used.
+diff -up graphviz-2.30.1/cmd/tools/gc.1.orig4 graphviz-2.30.1/cmd/tools/gc.1
+--- graphviz-2.30.1/cmd/tools/gc.1.orig4	2013-02-14 14:27:39.000000000 +0100
++++ graphviz-2.30.1/cmd/tools/gc.1	2013-07-11 13:36:14.847815612 +0200
+@@ -4,7 +4,7 @@ gc \- count graph components
+ .SH SYNOPSIS
+ .B gc
+ [
+-.B \-necCaDUrs?
++.B \-necCaDUrsv?
+ ]
+ [ 
+ .I files
+@@ -50,6 +50,9 @@ Only analyze directed graphs.
+ .B \-U
+ Only analyze undirected graphs.
+ .TP
++.B \-v
++Verbose output.
++.TP
+ .B \-?
+ Print usage information.
+ .LP
+diff -up graphviz-2.30.1/cmd/tools/gvgen.1.orig6 graphviz-2.30.1/cmd/tools/gvgen.1
+--- graphviz-2.30.1/cmd/tools/gvgen.1.orig6	2013-02-14 14:27:39.000000000 +0100
++++ graphviz-2.30.1/cmd/tools/gvgen.1	2013-07-11 14:58:56.599050271 +0200
+@@ -4,7 +4,7 @@ gvgen \- generate graphs
+ .SH SYNOPSIS
+ .B gvgen
+ [
+-.B \-d?
++.B \-dV?
+ ]
+ [
+ .BI -i n
+@@ -198,6 +198,9 @@ Otherwise, the graph is written to stand
+ .B \-d
+ Make the generated graph directed.
+ .TP
++.B \-V
++Verbose output.
++.TP
+ .B \-?
+ Print usage information.
+ .SH "EXIT STATUS"
+diff -up graphviz-2.30.1/cmd/lneato/lneato.1.orig9 graphviz-2.30.1/cmd/lneato/lneato.1
+--- graphviz-2.30.1/cmd/lneato/lneato.1.orig9	2013-02-14 14:27:39.000000000 +0100
++++ graphviz-2.30.1/cmd/lneato/lneato.1	2013-07-12 13:24:46.817426092 +0200
+@@ -6,6 +6,10 @@ lneato \- A Customizable Graph Editor
+ [
+ .B -V
+ ] [
++.BI -lm mode
++] [
++.BI -el lev
++] [
+ .I file
+ ]
+ .SH DESCRIPTION
+@@ -48,6 +52,12 @@ window.
+ .TP
+ .B -V
+ Prints the version.
++.TP
++.BI -lm mode
++Sets the layout mode. The \fImode\fP can be \fBsync\fP or \fBasync\fP. The default is \fBasync\fP.
++.TP
++.BI -el lev
++Sets the mesage level. The \fIlev\fP can be \fB0\fP or \fB1\fP. The default is \fB0\fP.
+ .SH SEE ALSO
+ neato(1), lefty(1), dotty(1), xdot(3),
+ .br
diff --git a/SOURCES/graphviz-2.30.1-ocaml-int64-fix.patch b/SOURCES/graphviz-2.30.1-ocaml-int64-fix.patch
new file mode 100644
index 0000000..2e02fb4
--- /dev/null
+++ b/SOURCES/graphviz-2.30.1-ocaml-int64-fix.patch
@@ -0,0 +1,11 @@
+--- graphviz-2.30.1.old/tclpkg/gv/Makefile.am	2013-02-14 13:27:39.000000000 +0000
++++ graphviz-2.30.1/tclpkg/gv/Makefile.am	2017-09-16 12:12:11.571092950 +0100
+@@ -109,7 +109,7 @@
+ libgv_ocaml_la_SOURCES = $(BASESOURCES) gv_dummy_init.c
+ libgv_ocaml_la_LIBADD = $(BASELIBS) $(OCAML_LIBS)
+ libgv_ocaml_la_LDFLAGS = -module -avoid-version
+-libgv_ocaml_la_CPPFLAGS = $(BASECPPFLAGS) $(OCAML_INCLUDES)
++libgv_ocaml_la_CPPFLAGS = $(BASECPPFLAGS) $(OCAML_INCLUDES) -Dint64=int64_t
+ gv.ml gv.mli: gv_ocaml.cpp
+ gv_ocaml.cpp: gv.i
+ 	$(SWIG) -c++ -ocaml -o gv_ocaml.cpp $(srcdir)/gv.i
diff --git a/SOURCES/graphviz-2.30.1-ppc64le-fix.patch b/SOURCES/graphviz-2.30.1-ppc64le-fix.patch
new file mode 100644
index 0000000..556067b
--- /dev/null
+++ b/SOURCES/graphviz-2.30.1-ppc64le-fix.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.ac b/configure.ac
+index 8b79117..eb8aae0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -100,7 +100,7 @@ LIBPOSTFIX=
+ case "${host_os}" in
+   *linux* )
+     case "${host_cpu}" in
+-      powerpc64 | s390x | x86_64 | sparc64 | aarch64)
++      powerpc64* | s390x | x86_64 | sparc64 | aarch64)
+         LIBPOSTFIX="64"
+         ;;
+     esac
diff --git a/SOURCES/graphviz-2.30.1-prune-help.patch b/SOURCES/graphviz-2.30.1-prune-help.patch
new file mode 100644
index 0000000..3db1411
--- /dev/null
+++ b/SOURCES/graphviz-2.30.1-prune-help.patch
@@ -0,0 +1,45 @@
+diff -up graphviz-2.30.1/contrib/prune/prune.c.orig10 graphviz-2.30.1/contrib/prune/prune.c
+--- graphviz-2.30.1/contrib/prune/prune.c.orig10	2013-02-14 14:27:39.000000000 +0100
++++ graphviz-2.30.1/contrib/prune/prune.c	2013-07-12 13:35:44.315004975 +0200
+@@ -128,7 +128,11 @@ int main(int argc, char **argv)
+ 		break;
+ 	    }
+ 	case '?':
+-	    if (isprint(optopt)) {
++	    if (optopt == '?')
++	    {
++		help_message(progname);
++		exit(EXIT_SUCCESS);
++	    } else if (isprint(optopt)) {
+ 		fprintf(stderr, "Unknown option `-%c'.\n", optopt);
+ 	    } else {
+ 		fprintf(stderr, "Unknown option character `\\x%X'.\n",
+diff -up graphviz-2.30.1/contrib/prune/prune.1.orig10 graphviz-2.30.1/contrib/prune/prune.1
+--- graphviz-2.30.1/contrib/prune/prune.1.orig10	2013-02-14 14:27:39.000000000 +0100
++++ graphviz-2.30.1/contrib/prune/prune.1	2013-07-12 13:45:30.544918729 +0200
+@@ -20,6 +20,12 @@ prune \- Prune directed graphs
+ .BI \-N " attrspec"
+ ]
+ [
++.B \-v
++]
++[
++.BR \- ( h | ? )
++]
++[
+ .I files ...
+ ]
+ .SH DESCRIPTION
+@@ -54,6 +60,12 @@ pruned node.
+ .I attrspec
+ is a string of the form
+ .IR attr "=" value.
++.TP
++.B \-v
++Verbose output.
++.TP
++.BR \-h " "\-?
++Prints the usage and exits.
+ 
+ .SH EXAMPLES
+ An input graph
diff --git a/SOURCES/graphviz-2.30.1-smyrna-doc-opt.patch b/SOURCES/graphviz-2.30.1-smyrna-doc-opt.patch
new file mode 100644
index 0000000..b117167
--- /dev/null
+++ b/SOURCES/graphviz-2.30.1-smyrna-doc-opt.patch
@@ -0,0 +1,17 @@
+diff -up graphviz-2.30.1/cmd/smyrna/Makefile.am.orig2 graphviz-2.30.1/cmd/smyrna/Makefile.am
+--- graphviz-2.30.1/cmd/smyrna/Makefile.am.orig2	2013-02-14 14:27:39.000000000 +0100
++++ graphviz-2.30.1/cmd/smyrna/Makefile.am	2013-07-09 13:18:30.792483754 +0200
+@@ -2,10 +2,13 @@
+ ## Process this file with automake to produce Makefile.in
+ 
+ pdfdir = $(pkgdatadir)/doc/pdf
++
++if WITH_SMYRNA
+ man = smyrna.1
+ pdf = smyrna.1.pdf
+ man_MANS = $(man)
+ pdf_DATA = $(pdf)
++endif
+ 
+ AM_CPPFLAGS = \
+ 	-DSMYRNA_PATH=\""$(pkgdatadir)/smyrna"\" \
diff --git a/SOURCES/graphviz-2.32.0-aarch64.patch b/SOURCES/graphviz-2.32.0-aarch64.patch
new file mode 100644
index 0000000..4a7ecdb
--- /dev/null
+++ b/SOURCES/graphviz-2.32.0-aarch64.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.ac b/configure.ac
+index 5bde0a0..3726921 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -100,7 +100,7 @@ LIBPOSTFIX=
+ case "${host_os}" in
+   *linux* )
+     case "${host_cpu}" in
+-      powerpc64 | s390x | x86_64 | sparc64 )
++      powerpc64 | s390x | x86_64 | sparc64 | aarch64)
+         LIBPOSTFIX="64"
+         ;;
+     esac
diff --git a/SOURCES/graphviz-2.34.0-lefty-getaddrinfo.patch b/SOURCES/graphviz-2.34.0-lefty-getaddrinfo.patch
new file mode 100644
index 0000000..e091f2d
--- /dev/null
+++ b/SOURCES/graphviz-2.34.0-lefty-getaddrinfo.patch
@@ -0,0 +1,45 @@
+diff -up graphviz-2.34.0/cmd/lefty/os/unix/io.c.orig graphviz-2.34.0/cmd/lefty/os/unix/io.c
+--- graphviz-2.34.0/cmd/lefty/os/unix/io.c.orig	2013-09-07 03:07:52.000000000 +0200
++++ graphviz-2.34.0/cmd/lefty/os/unix/io.c	2013-10-30 17:38:59.746296595 +0100
+@@ -285,9 +285,8 @@ int IOwriteline (int ioi, char *bufp) {
+ 
+ static FILE *serverconnect (char *name) {
+     char *host, *portp, buf[1024];
+-    int port;
+-    struct hostent *hp;
+-    struct sockaddr_in sin;
++    struct addrinfo *ai;
++    struct addrinfo hints;
+     int cfd;
+ 
+     strcpy (buf, name);
+@@ -295,17 +294,18 @@ static FILE *serverconnect (char *name)
+     portp = strchr (host, '/');
+     if (*host == 0 || !portp)
+         return NULL;
+-    *portp++ = 0, port = atoi (portp);
+-    if (!(hp = gethostbyname (host)))
+-        return NULL;
+-    memset ((char *) &sin, 1, sizeof (sin));
+-    memcpy ((char *) &sin.sin_addr, hp->h_addr, hp->h_length);
+-    sin.sin_family = hp->h_addrtype;
+-    sin.sin_port = htons (port);
+-    if ((cfd = socket (hp->h_addrtype, SOCK_STREAM, 0)) < 0)
+-        return NULL;
+-    if (connect (cfd, (struct sockaddr *) &sin, sizeof (sin)) < 0)
+-        return NULL;
++    *portp++ = 0;
++    memset (&hints, 0, sizeof (hints));
++    hints.ai_family = AF_UNSPEC;
++    hints.ai_flags = AI_ADDRCONFIG | AI_NUMERICSERV;
++    hints.ai_socktype = SOCK_STREAM;
++    if (getaddrinfo (host, portp, &hints, &ai))
++        return freeaddrinfo(ai), NULL;
++    if ((cfd = socket (ai->ai_family, ai->ai_socktype, ai->ai_protocol)) < 0)
++        return freeaddrinfo(ai), NULL;
++    if (connect (cfd, ai->ai_addr, ai->ai_addrlen) < 0)
++        return freeaddrinfo(ai), NULL;
++    freeaddrinfo(ai);
+     return fdopen (cfd, "w+");
+ }
+ 
diff --git a/SPECS/graphviz.spec b/SPECS/graphviz.spec
new file mode 100644
index 0000000..e211d4a
--- /dev/null
+++ b/SPECS/graphviz.spec
@@ -0,0 +1,910 @@
+# Necessary conditionals
+%ifarch ppc64 s390 s390x sparc64 %{arm} alpha
+%global SHARP  0
+%else
+%global SHARP  1
+%endif
+
+%ifarch %{ocaml_arches}
+%global OCAML  1
+%else
+%global OCAML  0
+%endif
+
+%global DEVIL  1
+%global ARRRR  1
+
+# Build with QT applications (currently only gvedit)
+# Disabled until the package gets better structuring, see bug #447133
+%global QTAPPS 0
+
+%global GTS    1
+%global LASI   1
+
+# Not in Fedora yet.
+%global MING   0
+
+%if 0%{?rhel}
+%global SHARP  0
+%global ARRRR  0
+%global DEVIL  0
+%global GTS    0
+%global LASI   0
+%endif
+
+# Plugins version
+%global pluginsver 6
+
+%global php_extdir %(php-config --extension-dir 2>/dev/null || echo %{_libdir}/php4)
+# Fix private-shared-object-provides
+# RPM 4.9
+%global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}%{php_extdir}/.*\\.so$
+
+# Fix for the 387 extended precision (rhbz#772637)
+%ifarch i386 i686
+%global FFSTORE -ffloat-store
+%endif
+
+Name:			graphviz
+Summary:		Graph Visualization Tools
+Version:		2.30.1
+Release:		21%{?dist}
+Group:			Applications/Multimedia
+License:		EPL
+URL:			http://www.graphviz.org/
+Source0:		http://www.graphviz.org/pub/graphviz/ARCHIVE/%{name}-%{version}.tar.gz
+Patch2:			graphviz-2.30.1-guile2-fix.patch
+# Fix SIGSEGVs on testsuite (#645703).
+Patch3:			graphviz-2.26.0-testsuite-sigsegv-fix.patch
+# Testsuite now do diff check also in case of err output (#645703).
+Patch4:			graphviz-2.26.0-rtest-errout-fix.patch
+# Now that libgraph is gone, reflect that in libgvc.pc
+Patch5:			graphviz-2.30.1-gvc.pc-no-libgraph.patch
+# Lua 5.2
+Patch6:			graphviz-2.30.1-lua-5.2.patch
+# Accepted upstream, ticket #2302
+Patch7:			graphviz-2.30.1-smyrna-doc-opt.patch
+# Accepted upstream, ticket #2304
+Patch8:			graphviz-2.30.1-gv2gml-options-fix.patch
+# Sent upstream, ticket #2305
+Patch9:			graphviz-2.30.1-lefty-help.patch
+# Sent upstream, ticket #2306
+Patch10:		graphviz-2.30.1-prune-help.patch
+# Sent upstream, ticket #2307
+Patch11:		graphviz-2.30.1-man-fix.patch
+# Already in upstream
+Patch12:		graphviz-2.32.0-aarch64.patch
+# Upstream bug 0002387
+Patch13:		graphviz-2.34.0-lefty-getaddrinfo.patch
+# Fix yyerror overflow (CVE-2014-0978, CVE-2014-1235)
+Patch14:		graphviz-2.30.1-CVE-2014-0978-CVE-2014-1235.patch
+# Fix chknum overflow (CVE-2014-1236)
+Patch15:		graphviz-2.30.1-CVE-2014-1236.patch
+# Fix for ppc64le
+Patch16:		graphviz-2.30.1-ppc64le-fix.patch
+# Fix for OCaml 4.05
+Patch17:                graphviz-2.30.1-ocaml-int64-fix.patch
+BuildRoot:		%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRequires:		zlib-devel, libpng-devel, libjpeg-devel, expat-devel, freetype-devel >= 2
+BuildRequires:		ksh, bison, m4, flex, tk-devel, tcl-devel >= 8.3, swig
+BuildRequires:		fontconfig-devel, libtool-ltdl-devel, ruby-devel, ruby, guile-devel, python-devel
+BuildRequires:		libXaw-devel, libSM-devel, libXext-devel, java-devel, php-devel
+BuildRequires:		cairo-devel >= 1.1.10, pango-devel, gmp-devel, lua-devel, gtk2-devel, libgnomeui-devel
+BuildRequires:		gd-devel, perl-devel, swig >= 1.3.33, automake, autoconf, libtool, qpdf
+# Temporary workaound for perl(Carp) not pulled
+BuildRequires:		perl-Carp
+%if %{SHARP}
+BuildRequires:		mono-core
+%endif
+%if %{DEVIL}
+BuildRequires:		DevIL-devel
+%endif
+%if %{ARRRR}
+BuildRequires:		R-devel
+%endif
+%if %{OCAML}
+BuildRequires:		ocaml
+%endif
+%if %{QTAPPS}
+BuildRequires:		qt-devel
+%endif
+%if %{GTS}
+BuildRequires:		gts-devel
+%endif
+%if %{LASI}
+BuildRequires:		lasi-devel
+%endif
+BuildRequires:		urw-fonts, perl-ExtUtils-Embed, ghostscript-devel, librsvg2-devel
+Requires:		urw-fonts
+Requires(post):		/sbin/ldconfig
+Requires(postun):	/sbin/ldconfig
+
+%description
+A collection of tools for the manipulation and layout of graphs (as in nodes 
+and edges, not as in barcharts).
+
+%package devel
+Group:			Development/Libraries
+Summary:		Development package for graphviz
+Requires:		%{name} = %{version}-%{release}, pkgconfig
+Requires:		%{name}-gd = %{version}-%{release}
+
+%description devel
+A collection of tools for the manipulation and layout of graphs (as in nodes 
+and edges, not as in barcharts). This package contains development files for 
+graphviz.
+
+%if %{DEVIL}
+%package devil
+Group:			Applications/Multimedia
+Summary:		Graphviz plugin for renderers based on DevIL
+Requires:		%{name} = %{version}-%{release}
+
+%description devil
+Graphviz plugin for renderers based on DevIL. (Unless you absolutely have
+to use BMP, TIF, or TGA, you are recommended to use the PNG format instead
+supported directly by the cairo+pango based renderer in the base graphviz rpm.)
+%endif
+
+%package doc
+Group:			Documentation
+Summary:		PDF and HTML documents for graphviz
+
+%description doc
+Provides some additional PDF and HTML documentation for graphviz.
+
+%package gd
+Group:			Applications/Multimedia
+Summary:		Graphviz plugin for renderers based on gd
+Requires:		%{name} = %{version}-%{release}
+Requires(post):		%{_bindir}/dot /sbin/ldconfig
+Requires(postun):	%{_bindir}/dot /sbin/ldconfig
+
+%description gd
+Graphviz plugin for renderers based on gd.  (Unless you absolutely have to use 
+GIF, you are recommended to use the PNG format instead because of the better 
+quality anti-aliased lines provided by the cairo+pango based renderer.)
+
+%package graphs
+Group:			Applications/Multimedia
+Summary:		Demo graphs for graphviz
+
+%description graphs
+Some demo graphs for graphviz.
+
+%package guile
+Group:			Applications/Multimedia
+Summary:		Guile extension for graphviz
+Requires:		%{name} = %{version}-%{release}, guile
+
+%description guile
+Guile extension for graphviz.
+
+%package java
+Group:			Applications/Multimedia
+Summary:		Java extension for graphviz
+Requires:		%{name} = %{version}-%{release}
+
+%description java
+Java extension for graphviz.
+
+%package lua
+Group:			Applications/Multimedia
+Summary:		Lua extension for graphviz
+Requires:		%{name} = %{version}-%{release}, lua
+
+%description lua
+Lua extension for graphviz.
+
+%if %{MING}
+%package ming
+Group:			Applications/Multimedia
+Summary:		Graphviz plugin for flash renderer based on ming
+Requires:		%{name} = %{version}-%{release}
+
+%description ming
+Graphviz plugin for -Tswf (flash) renderer based on ming.
+%endif
+
+%if %{OCAML}
+%package ocaml
+Group:			Applications/Multimedia
+Summary:		Ocaml extension for graphviz
+Requires:		%{name} = %{version}-%{release}, ocaml
+
+%description ocaml
+Ocaml extension for graphviz.
+%endif
+
+%package perl
+Group:			Applications/Multimedia
+Summary:		Perl extension for graphviz
+Requires:		%{name} = %{version}-%{release}
+Requires:		perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
+
+%description perl
+Perl extension for graphviz.
+
+%package php
+Group:			Applications/Multimedia
+Summary:		PHP extension for graphviz
+Requires:		%{name} = %{version}-%{release}
+Requires:	php(zend-abi) = %{php_zend_api}
+Requires:	php(api) = %{php_core_api}
+
+%description php
+PHP extension for graphviz.
+
+%package python
+Group:			Applications/Multimedia
+Summary:		Python extension for graphviz
+Requires:		%{name} = %{version}-%{release}, python
+
+%description python
+Python extension for graphviz.
+
+%if %{ARRRR}
+%package R
+Group:			Applications/Multimedia
+Summary:		R extension for graphviz
+Requires:		%{name} = %{version}-%{release}, R-core
+
+%description R
+R extension for graphviz.
+%endif
+
+%package ruby
+Group:			Applications/Multimedia
+Summary:		Ruby extension for graphviz
+Requires:		%{name} = %{version}-%{release}, ruby
+
+%description ruby
+Ruby extension for graphviz.
+
+%if %{SHARP}
+%package sharp
+Group:			Applications/Multimedia
+Summary:		C# extension for graphviz
+Requires:		%{name} = %{version}-%{release}, mono-core
+
+%description sharp
+C# extension for graphviz.
+%endif
+
+%package tcl
+Group:			Applications/Multimedia
+Summary:		Tcl extension & tools for graphviz
+Requires:		%{name} = %{version}-%{release}, tcl >= 8.3, tk
+
+%description tcl
+Various tcl packages (extensions) for the graphviz tools.
+
+%prep
+%setup -q
+%patch2 -p1 -b .guile2-fix
+%patch3 -p1 -b .testsuite-sigsegv-fix
+%patch4 -p1 -b .rtest-errout-fix
+%patch5 -p1 -b .cgraph
+%patch6 -p1 -b .lua-52
+%patch7 -p1 -b .smyrna-doc-opt
+%patch8 -p1 -b .gv2gml-options-fix
+%patch9 -p1 -b .lefty-help
+%patch10 -p1 -b .prune-help
+%patch11 -p1 -b .man-fix
+%patch12 -p1 -b .aarch64
+%patch13 -p1 -b .lefty-getaddrinfo
+%patch14 -p1 -b .CVE-2014-0978-CVE-2014-1235
+%patch15 -p1 -b .CVE-2014-1236
+%patch16 -p1 -b .ppc64le-fix
+%patch17 -p1 -b .ocaml-int64-fix
+
+# Attempt to fix rpmlint warnings about executable sources
+find -type f -regex '.*\.\(c\|h\)$' -exec chmod a-x {} ';'
+
+%build
+autoreconf -if
+# Hack in the java includes we need
+sed -i '/JavaVM.framework/!s/JAVA_INCLUDES=/JAVA_INCLUDES=\"_MY_JAVA_INCLUDES_\"/g' configure
+sed -i 's|_MY_JAVA_INCLUDES_|-I%{java_home}/include/ -I%{java_home}/include/linux/|g' configure
+# Rewrite config_ruby.rb to work with Ruby 1.9
+sed -i 's|expand(|expand(Config::|' config/config_ruby.rb
+sed -i 's|sitearchdir|vendorarchdir|' config/config_ruby.rb
+
+# get the path to search for ruby/config.h to CPPFLAGS, so that configure can find it
+export CPPFLAGS=-I`ruby -e "puts File.join(RbConfig::CONFIG['includedir'], RbConfig::CONFIG['sitearch'])" || echo /dev/null`
+%configure --with-x --disable-static --disable-dependency-tracking --without-mylibgd --with-ipsepcola --with-pangocairo --with-gdk-pixbuf \
+%if ! %{LASI}
+	--without-lasi \
+%endif
+%if ! %{GTS}
+	--without-gts \
+%endif
+%if ! %{SHARP}
+	--disable-sharp \
+%endif
+%if ! %{OCAML}
+	--disable-ocaml \
+%endif
+%if ! %{MING}
+	--without-ming \
+%endif
+%if ! %{ARRRR}
+	--disable-r \
+%endif
+%if ! %{DEVIL}
+	--without-devil \
+%endif
+%if ! %{QTAPPS}
+	--without-qt \
+%endif
+
+make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fno-strict-overflow %{?FFSTORE}" \
+  CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fno-strict-overflow %{?FFSTORE}"
+
+%install
+rm -rf %{buildroot}
+make DESTDIR=%{buildroot} \
+	docdir=%{buildroot}%{_docdir}/%{name}-%{version} \
+	pkgconfigdir=%{_libdir}/pkgconfig \
+	install
+find %{buildroot} -type f -name "*.la" -exec rm -f {} ';'
+chmod -x %{buildroot}%{_datadir}/%{name}/lefty/*
+
+# Move docs to the right place
+mkdir -p %{buildroot}%{_docdir}/%{name}-%{version}
+mv %{buildroot}%{_datadir}/%{name}/doc/* %{buildroot}%{_docdir}/%{name}-%{version}
+
+# Install README
+install -m0644 README %{buildroot}%{_docdir}/%{name}-%{version}
+
+# PHP configuration file
+%{__mkdir_p} %{buildroot}%{_sysconfdir}/php.d
+%{__cat} << __EOF__ > %{buildroot}%{_sysconfdir}/php.d/%{name}.ini
+; Enable %{name} extension module
+extension=gv.so
+__EOF__
+
+# Remove executable modes from demos
+find %{buildroot}%{_datadir}/%{name}/demo -type f -exec chmod a-x {} ';'
+
+# Move demos to doc
+mv %{buildroot}%{_datadir}/%{name}/demo %{buildroot}%{_docdir}/%{name}-%{version}/
+
+# Rename python demos to prevent byte compilation
+find %{buildroot}%{_docdir}/%{name}-%{version}/demo -type f -name "*.py" -exec mv {} {}.demo ';'
+
+# Remove dot_builtins, on demand loading should be sufficient
+rm -f %{buildroot}%{_bindir}/dot_builtins
+
+# Remove metadata from generated PDFs
+pushd %{buildroot}%{_docdir}/%{name}-%{version}/pdf
+for f in prune lneato.1 lefty.1 gvgen.1 gc.1 dotty.1 dot.1 cluster.1
+do
+  if [ -f $f.pdf ]
+  then
+# ugly, but there is probably no better solution
+    qpdf --empty --static-id --pages $f.pdf -- $f.pdf.$$
+    mv -f $f.pdf.$$ $f.pdf
+  fi
+done
+
+# Ghost plugins config
+touch %{buildroot}%{_libdir}/graphviz/config%{pluginsver}
+
+%check
+# Minimal load test of php extension
+LD_LIBRARY_PATH=%{buildroot}%{_libdir} \
+php --no-php-ini \
+    --define extension_dir=%{buildroot}%{_libdir}/graphviz/php/ \
+    --define extension=libgv_php.so \
+    --modules | grep gv
+
+# upstream test suite
+cd rtest
+make rtest
+
+%clean
+rm -rf %{buildroot}
+
+%post
+/sbin/ldconfig
+%{_bindir}/dot -c
+
+%postun
+/sbin/ldconfig
+
+%if %{DEVIL}
+# run "dot -c" to generate plugin config in %%{_libdir}/graphviz/config*
+%post devil
+%{_bindir}/dot -c 2>/dev/null || :
+/sbin/ldconfig
+
+%postun devil
+%{_bindir}/dot -c 2>/dev/null || :
+/sbin/ldconfig
+%endif
+
+# run "dot -c" to generate plugin config in %%{_libdir}/graphviz/config*
+%post gd
+%{_bindir}/dot -c 2>/dev/null || :
+/sbin/ldconfig
+
+%postun gd
+%{_bindir}/dot -c 2>/dev/null || :
+/sbin/ldconfig
+
+%if %{MING}
+# run "dot -c" to generate plugin config in %%{_libdir}/graphviz/config*
+%post ming
+%{_bindir}/dot -c 2>/dev/null || :
+/sbin/ldconfig
+
+%postun ming
+%{_bindir}/dot -c 2>/dev/null || :
+/sbin/ldconfig
+%endif
+
+%files
+%defattr(-,root,root,-)
+%doc %{_docdir}/%{name}-%{version}
+%{_bindir}/*
+%dir %{_libdir}/graphviz
+%{_libdir}/*.so.*
+%{_libdir}/graphviz/*.so.*
+%{_mandir}/man1/*.1*
+%{_mandir}/man7/*.7*
+%dir %{_datadir}/graphviz
+%exclude %{_docdir}/%{name}-%{version}/html
+%exclude %{_docdir}/%{name}-%{version}/pdf
+%exclude %{_docdir}/%{name}-%{version}/demo
+%{_datadir}/graphviz/lefty
+%{_datadir}/graphviz/gvpr
+%ghost %{_libdir}/graphviz/config%{pluginsver}
+
+%if %{QTAPPS}
+%{_datadir}/graphviz/gvedit
+%endif
+
+%exclude %{_libdir}/graphviz/*/*
+%exclude %{_libdir}/graphviz/libgvplugin_gd.*
+%if %{DEVIL}
+%exclude %{_libdir}/graphviz/libgvplugin_devil.*
+%endif
+%if %{MING}
+%exclude %{_libdir}/graphviz/libgvplugin_ming.*
+%exclude %{_libdir}/graphviz/*fdb
+%endif
+
+%files devel
+%defattr(-,root,root,-)
+%{_includedir}/graphviz
+%{_libdir}/*.so
+%{_libdir}/graphviz/*.so
+%{_libdir}/pkgconfig/*.pc
+%{_mandir}/man3/*.3.gz
+
+%if %{DEVIL}
+%files devil
+%defattr(-,root,root,-)
+%{_libdir}/graphviz/libgvplugin_devil.so.*
+%endif
+
+%files doc
+%defattr(-,root,root,-)
+%doc %{_docdir}/%{name}-%{version}/html
+%doc %{_docdir}/%{name}-%{version}/pdf
+%doc %{_docdir}/%{name}-%{version}/demo
+
+%files gd
+%defattr(-,root,root,-)
+%{_libdir}/graphviz/libgvplugin_gd.so.*
+
+%files graphs
+%defattr(-,root,root,-)
+%dir %{_datadir}/graphviz
+%{_datadir}/graphviz/graphs
+
+%files guile
+%defattr(-,root,root,-)
+%{_libdir}/graphviz/guile/
+%{_mandir}/man3/gv.3guile*
+
+%files java
+%defattr(-,root,root,-)
+%{_libdir}/graphviz/java/
+%{_mandir}/man3/gv.3java*
+
+%files lua
+%defattr(-,root,root,-)
+%{_libdir}/graphviz/lua/
+%{_libdir}/lua*/*
+%{_mandir}/man3/gv.3lua*
+
+%if %{MING}
+%files ming
+%defattr(-,root,root,-)
+%{_libdir}/graphviz/libgvplugin_ming.so.*
+%{_libdir}/graphviz/*fdb
+%endif
+
+%if %{OCAML}
+%files ocaml
+%defattr(-,root,root,-)
+%{_libdir}/graphviz/ocaml/
+%{_mandir}/man3/gv.3ocaml*
+%endif
+
+%files perl
+%defattr(-,root,root,-)
+%{_libdir}/graphviz/perl/
+%{_libdir}/perl*/*
+%{_mandir}/man3/gv.3perl*
+
+%files php
+%defattr(-,root,root,-)
+%config(noreplace) %{_sysconfdir}/php.d/%{name}.ini
+%{_libdir}/graphviz/php/
+%{php_extdir}/gv.so
+%{_datadir}/php*/*
+%{_mandir}/man3/gv.3php*
+
+%files python
+%defattr(-,root,root,-)
+%{_libdir}/graphviz/python/
+%{_libdir}/python*/*
+%{_mandir}/man3/gv.3python*
+
+%if %{ARRRR}
+%files R
+%defattr(-,root,root,-)
+%{_libdir}/graphviz/R/
+%{_mandir}/man3/gv.3r.gz
+%endif
+
+%files ruby
+%defattr(-,root,root,-)
+%{_libdir}/graphviz/ruby/
+%{_libdir}/*ruby*/*
+%{_mandir}/man3/gv.3ruby*
+
+%if %{SHARP}
+%files sharp
+%defattr(-,root,root,-)
+%{_libdir}/graphviz/sharp/
+%{_mandir}/man3/gv.3sharp*
+%endif
+
+%files tcl
+%defattr(-,root,root,-)
+%{_libdir}/graphviz/tcl/
+%{_libdir}/tcl*/*
+# hack to include gv.3tcl only if available
+#  always includes tcldot.3tcl, gdtclft.3tcl
+%{_mandir}/man3/*.3tcl*
+%{_mandir}/man3/tkspline.3tk*
+
+
+%changelog
+* Sat Sep 16 2017 Richard W.M. Jones <rjones@redhat.com> - 2.30.1-21
+- Rebuild for OCaml 4.05.0
+  resolves: rhbz#1447982
+
+* Thu Aug 31 2017 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-20
+- Rebuilt for enabling ocaml binding on aarch64 and ppc64l
+  Resolves: rhbz#1378657
+
+* Wed Aug 20 2014 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-19
+- Fixed build on ppc64le and other ppc64 variants (lua bindings)
+  Resolves: rhbz#1125538
+
+* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 2.30.1-18
+- Mass rebuild 2014-01-24
+
+* Fri Jan 10 2014 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-17
+- Prevent possible buffer overflow in yyerror()
+  Resolves: CVE-2014-1235
+- Fix possible buffer overflow problem in chkNum of scanner
+  Resolves: CVE-2014-1236
+
+* Tue Jan  7 2014 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-16
+- Fixed overflow in yyerror
+  Resolves: CVE-2014-0978
+
+* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 2.30.1-15
+- Mass rebuild 2013-12-27
+
+* Thu Oct 31 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-14
+- Removed metadata from generated PDFs
+  Related: rhbz#881173
+
+* Thu Oct 31 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-13
+- Fixed multilib conflicts
+  Rewrote lefty IO lib to use getaddrinfo instead of gethostbyname
+  (by lefty-getaddrinfo patch)
+  Resolves: rhbz#881173
+
+* Tue Oct 29 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-12
+- Fixed build on aarch64
+  Resolves: rhbz#1023792
+
+* Fri Aug 30 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-11
+- Rebuild due to php macros change
+  Resolves: rhbz#1002865
+
+* Fri Jul 12 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-10
+- Various man and built-in help fixes
+
+* Tue Jun 25 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-9
+- Fixed handling of the libdir/graphviz directory
+
+* Tue Jun 11 2013 Remi Collet <rcollet@redhat.com> - 2.30.1-8
+- rebuild for new GD 2.1.0
+
+* Wed May 15 2013 Tom Callaway <spot@fedoraproject.org> - 2.30.1-7
+- rebuild for lua 5.2
+
+* Tue Apr 23 2013 Tom Callaway <spot@fedoraproject.org> - 2.30.1-6
+- patch libgvc.pc.in to refer to -lcgraph (-lgraph is dead and gone)
+
+* Thu Apr 11 2013 Tom Callaway <spot@fedoraproject.org> - 2.30.1-5
+- rebuild for R3 (may not be needed, but better safe than sorry)
+
+* Mon Mar 25 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-4
+- Added support for aarch64
+  Resolves: rhbz#925487
+
+* Fri Mar 22 2013 Remi Collet <rcollet@redhat.com> - 2.30.1-3
+- rebuild for http://fedoraproject.org/wiki/Features/Php55
+- add explicit BuildRequires: perl-Carp (workaround)
+
+* Thu Mar 14 2013 Vít Ondruch <vondruch@redhat.com> - 2.30.1-2
+- Rebuild for https://fedoraproject.org/wiki/Features/Ruby_2.0.0
+
+* Fri Feb 15 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.1-1
+- New version
+  Resolves: rhbz#911520
+  Resolves: rhbz#704529
+
+* Thu Jan 24 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.0-3
+- Used ocaml_arches macros to enable ocaml on supported arches
+
+* Fri Jan 18 2013 Adam Tkac <atkac redhat com> - 2.30.0-2
+- rebuild due to "jpeg8-ABI" feature drop
+
+* Mon Jan 14 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.30.0-1
+- New version
+  Resolves: rhbz#895027
+- Dropped guile-detect, ocaml4 patches (not needed)
+- Fixed bogus date in changelog (guessing)
+
+* Wed Jan  9 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-26
+- Rebuilt with -fno-strict-overflow to workaround the overflow problem
+  (upstream ticket: http://www.graphviz.org/mantisbt/view.php?id=2244)
+- The dot_builtins was removed rather then excluded to fix the dangling
+  symlinks problem in debuginfo
+
+* Fri Dec 21 2012 Adam Tkac <atkac redhat com> - 2.28.0-25
+- rebuild against new libjpeg
+
+* Wed Oct 17 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-24
+- Rebuilt for new ocaml
+
+* Fri Aug 17 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-23
+- Silenced 'dot -c' errors/warnings in post/postun
+- Do not remove dot config in plugins post/postun
+
+* Fri Aug 17 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-22
+- dot_builtins no longer installed (lowers implicit deps)
+- Fixed post/postuns for plugins
+- Removed -ffast-math, added -ffloat-store (on i386) to fix arithmetic on i386
+
+* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.28.0-21
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Sun Jun 10 2012 Petr Pisar <ppisar@redhat.com> - 2.28.0-20
+- Perl 5.16 rebuild
+
+* Sat Jun  9 2012 Richard W.M. Jones <rjones@redhat.com> - 2.28.0-19
+- Rebuild for OCaml 4.00.0.
+- Enable OCaml on arm and ppc64, since there are working native compilers
+  for both.
+
+* Wed May 23 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-18
+- Improved docs handling code in spec to be backward compatible with older RPM
+
+* Tue May 22 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-17
+- All docs are now installed into /usr/share/doc/graphviz-%%{version}
+- Demos packaged as docs not to automatically bring in unnecessary deps
+
+* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.28.0-16
+- Rebuilt for c++ ABI breakage
+
+* Thu Feb 16 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 2.28.0-15
+- fix CPPFLAGS export so it doesn't cause issues on ARM
+
+* Mon Feb 06 2012 Vít Ondruch <vondruch@redhat.com> - 2.28.0-14
+- Rebuilt for Ruby 1.9.3.
+
+* Wed Jan 18 2012 Remi Collet <remi@fedoraproject.org> - 2.28.0-13
+- build against php 5.4.0
+- add filter to fix private-shared-object-provides
+- add %%check for php extension
+
+* Sun Jan 08 2012 Richard W.M. Jones <rjones@redhat.com> - 2.28.0-12
+- Rebuild for OCaml 3.12.1.
+
+* Thu Dec  8 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-11
+- Added conditionals for ARRRR, DEVIL, QTAPPS (gvedit), GTS, LASI
+- Fixed conditionals for SHARP, OCAML
+- Built with gts, ghostscript, rsvg and lasi
+  Resolves: rhbz#760926
+- Disabled gvedit
+  Resolves: rhbz#751807
+- Fixed rpmlint warnings about executable sources
+
+* Wed Nov  9 2011 Tom Callaway <spot@fedoraproject.org> - 2.28.0-10
+- rebuild for R 2.14.0
+
+* Thu Jul 21 2011 Petr Sabata <contyk@redhat.com> - 2.28.0-9
+- Perl mass rebuild
+
+* Wed Jul 20 2011 Petr Sabata <contyk@redhat.com> - 2.28.0-8
+- Perl mass rebuild
+
+* Thu Jul 07 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-7
+- Added gd as devel requirement
+
+* Fri Jun 17 2011 Marcela Mašláňová <mmaslano@redhat.com> - 2.28.0-6
+- Perl mass rebuild
+
+* Fri Jun 10 2011 Marcela Mašláňová <mmaslano@redhat.com> - 2.28.0-5
+- Perl 5.14 mass rebuild
+
+* Thu May 19 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-4
+- Fixed detection of guile 2.x
+  Resolves: rhbz#704529
+
+* Fri May 13 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-3
+- Corrected license tag, the graphviz license is now EPL
+
+* Fri May 13 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-2
+- Recompiled with -fno-strict-aliasing in CXXFLAGS
+
+* Tue May 10 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 2.28.0-1
+- New version 2.28.0
+- Added perl-ExtUtils-Embed to BuildRequires, it is now required
+- Fixed build failure due to change in php_zend_api macro type
+- Removed sparc64, gtk-progname, doc-index-fix, ppc-darwinhack
+  patches (all were upstreamed)
+
+* Thu Mar 03 2011 Oliver Falk <oliver@linux-kernel.at> - 2.26.3-5
+- Disable mono and ocaml on alpha
+
+* Tue Feb 22 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 2.26.3-4
+- Added urw-fonts to requires (#677114)
+
+* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.26.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Fri Jan 21 2011 Karsten Hopp <karsten@redhat.com> 2.26.3-2
+- fix hack for powerpc-darwin8 in configure
+
+* Thu Jan 06 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 2.26.3-1
+- New version (#580017)
+- Fixed gtk plugin program-name (#640671, gtk-progname patch)
+- Fixed broken links in doc index (#642536, doc-index-fix patch)
+- Fixed SIGSEGVs on testsuite (#645703, testsuite-sigsegv-fix patch)
+- Testsuite now do diff check also in case of err output (#645703,
+  rtest-errout-fix patch)
+- Testsuite enabled on all arches (#645703)
+- Added urw-fonts to BuildRequires
+- Compiled with -fno-strict-aliasing
+- Fixed rpmlint warnings on spec file
+- Removed unused patches
+
+* Wed Jul 21 2010 David Malcolm <dmalcolm@redhat.com> - 2.26.0-4
+- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
+
+* Tue Jun 01 2010 Marcela Maslanova <mmaslano@redhat.com> - 2.26.0-3
+- Mass rebuild with perl-5.12.0
+
+* Mon Jan 04 2010 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.26.0-2
+- Rebuild for updated ocaml
+- Happy new year, Fedora!
+
+* Fri Dec 18 2009 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.26.0-1
+- Updated to latest release
+- Removed patches that have been applied upstream
+- Fixed man page paths (mann -> man3)
+- Disabled mono and ocaml for ARM (Jitesh Shah, BZ#532047)
+- Disabled regression tests on sparc64 as well as ppc/ppc64 (Dennis Gilmore)
+
+* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.20.3-5.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Mon Jul 13 2009 Remi Collet <Fedora@FamilleCollet.com> 2.20.3-4.1
+- fix mistake in make rtest fix
+
+* Mon Jul 13 2009 Remi Collet <Fedora@FamilleCollet.com> 2.20.3-4
+- rebuild for new PHP 5.3.0 ABI (20090626)
+- add PHP ABI check
+- use php_extdir (and don't own it)
+- add php configuration file (/etc/php.d/graphviz.ini)
+
+* Mon Mar  2 2009 Tom "spot" Callaway <tcallawa@redhat.com> 2.20.3-3
+- this spec makes baby animals cry... massively clean it up
+- hack in java includes to build against openjdk
+- add ruby as a BuildRequires (configure checks for /usr/bin/ruby)
+
+* Wed Feb 25 2009 John Ellson <ellson@graphviz.org> 2.20.3-2.2
+- fixes for swig changes
+
+* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.20.3-1.3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Wed Feb 11 2009 Karsten Hopp <karsten@redhat.com> 2.20.3-.2
+- make it build on s390, s390x (#469044)
+
+* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 2.20.3-1.1
+- Rebuild for Python 2.6
+
+* Mon Nov 24 2008 Tom "spot" Callaway <tcallawa@redhat.com> 2.20.3-1
+- update to 2.20.3
+
+* Sat Nov 22 2008 Rex Dieter <rdieter@fedoraproject.org> 2.16.1-0.7
+- respin (libtool)
+
+* Mon Jul  7 2008 Tom "spot" Callaway <tcallawa@redhat.com> 2.16.1-0.6
+- fix conditional comparison
+
+* Tue Mar 18 2008 Tom "spot" Callaway <tcallawa@redhat.com> 2.16.1-0.5
+- add Requires for versioned perl (libperl.so)
+
+* Tue Mar 04 2008 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.16.1-0.4
+- Disable R support
+
+* Mon Mar 03 2008 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.16.1-0.2
+- New upstream release (fixes BZ#433205, BZ#427376)
+- Merged spec changes in from upstream
+- Added patch from BZ#432683
+
+* Tue Feb 12 2008 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.16-3.3
+- Added upstream-provided patch for building under GCC 4.3 (thanks John!)
+
+* Thu Jan  3 2008 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.16-3.2
+- Re-added tcl/tk 8.5 patch
+- Tweaked ming stuff
+
+* Thu Jan  3 2008 Alex Lancaster <alexlan[AT]fedoraproject.org> - 2.16-3.1
+- Rebuild against new Tcl 8.5
+
+* Wed Dec 12 2007 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.16-2
+- What the heck?  Can't BR stuff that hasn't even gotten reviewed yet.
+
+* Wed Nov 28 2007 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.16-1
+- New upstream release
+- Remove arith.h patch
+
+* Tue Sep 04 2007 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.14.1-3
+- Patch to resurrect arith.h
+
+* Thu Aug 23 2007 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.14.1-2
+- Added perl-devel to BR for F7+
+
+* Wed Aug 15 2007 John Ellson <ellson@research.att.com>
+- release 2.14.1 - see ChangeLog for details
+* Thu Aug 2 2007 John Ellson <ellson@research.att.com>
+- release 2.14 - see ChangeLog for details
+* Fri Mar 16 2007 Stephen North <north@research.att.com>
+- remove xorg-X11-devel from rhel >= 5
+* Mon Dec 11 2006 John Ellson <john.ellson@comcast.net>
+- fix graphviz-lua description (Fedora BZ#218191)
+* Tue Sep 13 2005 John Ellson <ellson@research.att.com>
+- split out language bindings into their own rpms so that 
+  main rpm doesn't depend on (e.g.) ocaml
+
+* Sat Aug 13 2005 John Ellson <ellson@research.att.com>
+- imported various fixes from the Fedora-Extras .spec by Oliver Falk <oliver@linux-kernel.at>
+
+* Wed Jul 20 2005 John Ellson <ellson@research.att.com>
+- release 2.4