OBS User unknown 2007-05-08 23:03:38 +00:00 committed by Git OBS Bridge
parent 3cf320f4fe
commit 8df1d400e3
15 changed files with 754 additions and 198 deletions

View File

@ -1,122 +0,0 @@
Index: graphviz-2.6/lib/agraph/edge.c
===================================================================
--- graphviz-2.6.orig/lib/agraph/edge.c
+++ graphviz-2.6/lib/agraph/edge.c
@@ -153,25 +153,29 @@ static Agedge_t *agfindedge_by_id(Agnode
void agedgesetop(Agraph_t * g, Agedge_t * e, int ins)
{
- Dtlink_t **seq_set, **id_set;
+ union {
+ Dtlink_t **dtlink;
+ Agedge_t **agedge;
+ } seq_set;
+ Dtlink_t **id_set;
Agnode_t *n; /* node where <e> is referenced */
if (AGTYPE(e) == AGOUTEDGE) {
n = AGOUT2IN(e)->node;
- seq_set = (Dtlink_t **) & (n->out);
+ seq_set.agedge = & (n->out);
id_set = &(n->outid);
} else {
n = AGIN2OUT(e)->node;
- seq_set = (Dtlink_t **) & (n->in);
+ seq_set.agedge = & (n->in);
id_set = &(n->inid);
}
- dtrestore(g->e_seq, *seq_set);
+ dtrestore(g->e_seq, *seq_set.dtlink);
if (ins)
dtinsert(g->e_seq, e);
else
dtdelete(g->e_seq, e);
- *seq_set = dtextract(g->e_seq);
+ *seq_set.dtlink = dtextract(g->e_seq);
dtrestore(g->e_id, *id_set);
if (ins)
Index: graphviz-2.6/lib/agraph/flatten.c
===================================================================
--- graphviz-2.6.orig/lib/agraph/flatten.c
+++ graphviz-2.6/lib/agraph/flatten.c
@@ -30,8 +30,14 @@ void agflatten_elist(Dict_t * d, Dtlink_
void agflatten_edges(Agraph_t * g, Agnode_t * n)
{
- agflatten_elist(g->e_seq, (Dtlink_t **) & (n->out));
- agflatten_elist(g->e_seq, (Dtlink_t **) & (n->in));
+ union {
+ Dtlink_t **dtlink;
+ Agedge_t **agedge;
+ } out, in;
+ out.agedge = & (n->out);
+ in.agedge = & (n->in);
+ agflatten_elist(g->e_seq, out.dtlink);
+ agflatten_elist(g->e_seq, in.dtlink);
}
void agflatten(Agraph_t * g, int flag)
Index: graphviz-2.6/lib/gd/fontwheeltest.c
===================================================================
--- graphviz-2.6.orig/lib/gd/fontwheeltest.c
+++ graphviz-2.6/lib/gd/fontwheeltest.c
@@ -21,7 +21,10 @@ void
dowheel (gdImagePtr im, int color, char *fontfile, int fontsize,
double angle, int x, int y, int offset, char *string)
{
- int brect[8];
+ union {
+ int coords[8];
+ gdPoint points[4];
+ } brect;
FILE *err;
double curangrads, curang, x0, y0;
char *cp;
@@ -40,16 +43,16 @@ dowheel (gdImagePtr im, int color, char
/* The case of newlines is taken care of in the gdImageStringTTF call */
#if defined(OLDER_GD)
- cp = gdImageStringTTF (im, brect, color, fontfile, fontsize,
+ cp = gdImageStringTTF (im, brect.coords, color, fontfile, fontsize,
curangrads, x0, y0, string);
#else
- cp = gdImageStringFT (im, brect, color, fontfile, fontsize,
+ cp = gdImageStringFT (im, brect.coords, color, fontfile, fontsize,
curangrads, x0, y0, string);
#endif
if (cp)
doerr (err, cp);
- gdImagePolygon (im, (gdPointPtr)brect, 4, color);
+ gdImagePolygon (im, brect.points, 4, color);
}
fclose (err);
Index: graphviz-2.6/tclpkg/tcldot/tcldot.c
===================================================================
--- graphviz-2.6.orig/tclpkg/tcldot/tcldot.c
+++ graphviz-2.6/tclpkg/tcldot/tcldot.c
@@ -1232,6 +1232,8 @@ static int graphcmd(ClientData clientDat
return TCL_OK;
} else if ((c == 'w') && (strncmp(argv[1], "write", length) == 0)) {
+ void *aliasing_dummy;
+
g = g->root;
if (argc < 3) {
Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],
@@ -1258,9 +1260,11 @@ static int graphcmd(ClientData clientDat
gvc->job->output_lang =
gvrender_select(gvc->job, gvc->job->output_langname);
+ aliasing_dummy = gvc->job->output_file;
if (Tcl_GetOpenFile (interp, argv[2], 1, 1,
- (ClientData *) &(gvc->job->output_file)) != TCL_OK)
+ (ClientData *) &aliasing_dummy) != TCL_OK)
return TCL_ERROR;
+ gvc->job->output_file = aliasing_dummy;
/* make sure that layout is done - unless canonical output */
if ((!GD_drawing(g) || argc > 4)

View File

@ -1,10 +0,0 @@
Index: graphviz-2.2/mkpkgindex.sh
===================================================================
--- graphviz-2.2.orig/tclpkg/mkpkgindex.sh
+++ graphviz-2.2/tclpkg/mkpkgindex.sh
@@ -11,4 +11,4 @@ case "$1" in
echo " package require Tk 8.3" >>pkgIndex.tcl
;;
esac
-echo " load [file join \$dir $lib] $2\"" >>pkgIndex.tcl
+echo " load $lib $2\"" >>pkgIndex.tcl

View File

@ -0,0 +1,11 @@
--- configure.ac
+++ configure.ac
@@ -628,7 +628,7 @@
AC_ARG_ENABLE(php,
[AC_HELP_STRING([--disable-php], [don't support php language bindings])])
if test "x$enable_php" != "xno"; then
-if test `$SWIG -help 2>&1 | $GREP -c '\-php *- Generate'` = 0; then
+if test `$SWIG -help 2>&1 | $GREP -c '\-php[[5 ]]*- Generate'` = 0; then
PHP=
AC_MSG_WARN([swig does not support php. The PHP packages will not be built])
else

3
graphviz-2.12.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:81010d45d29ec177ae1b2dc75b7489f3968748664d1e84b077b7922fb5b98e91
size 3847126

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:618ed9e9ad5762f24d42692c21d91cfcb13004dc35325f699efb9dbd2a0741a6
size 3444862

View File

@ -0,0 +1,108 @@
--- lib/agraph/edge.c
+++ lib/agraph/edge.c
@@ -149,28 +149,29 @@
void agedgesetop(Agraph_t * g, Agedge_t * e, int ins)
{
- Dtlink_t **seq_set, **id_set;
+ union {
+ Dtlink_t **dtlink;
+ Agedge_t **agedge;
+ } seq_set;
+ Dtlink_t **id_set;
Agnode_t *n; /* node where <e> is referenced */
- Agedge_t **tmp;
if (AGTYPE(e) == AGOUTEDGE) {
n = AGOUT2IN(e)->node;
- tmp = &(n->out); /* avoiding - "dereferencing type-punned pointer will break strict-aliasing rules" */
- seq_set = (Dtlink_t **)tmp;
+ seq_set.agedge = &(n->out);
id_set = &(n->outid);
} else {
n = AGIN2OUT(e)->node;
- tmp = &(n->in);
- seq_set = (Dtlink_t **)tmp;
+ seq_set.agedge = &(n->in);
id_set = &(n->inid);
}
- dtrestore(g->e_seq, *seq_set);
+ dtrestore(g->e_seq, *seq_set.dtlink);
if (ins)
dtinsert(g->e_seq, e);
else
dtdelete(g->e_seq, e);
- *seq_set = dtextract(g->e_seq);
+ *seq_set.dtlink = dtextract(g->e_seq);
dtrestore(g->e_id, *id_set);
if (ins)
--- lib/agraph/flatten.c
+++ lib/agraph/flatten.c
@@ -26,13 +26,17 @@
void agflatten_edges(Agraph_t * g, Agnode_t * n)
{
- Agedge_t **tmp;
- tmp = &(n->out); /* avoiding - "dereferencing type-punned pointer will break strict-aliasing rules" */
+ union {
+ Dtlink_t **dtlink;
+ Agedge_t **agedge;
+ } out, in;
+
+ out.agedge = & (n->out);
+ in.agedge = & (n->in);
+ agflatten_elist(g->e_seq, out.dtlink);
+ agflatten_elist(g->e_seq, in.dtlink);
- agflatten_elist(g->e_seq, (Dtlink_t **) tmp);
- tmp = &(n->in);
- agflatten_elist(g->e_seq, (Dtlink_t **) tmp);
}
void agflatten(Agraph_t * g, int flag)
--- lib/gd/fontwheeltest.c
+++ lib/gd/fontwheeltest.c
@@ -21,8 +21,10 @@
dowheel (gdImagePtr im, int color, char *fontfile, int fontsize,
double angle, int x, int y, int offset, char *string)
{
- int brect[8];
- gdPoint points[4];
+ union {
+ int coords[8];
+ gdPoint points[4];
+ } brect;
int i;
FILE *err;
double curangrads, curang, x0, y0;
@@ -42,24 +44,16 @@
/* The case of newlines is taken care of in the gdImageStringTTF call */
#if defined(OLDER_GD)
- cp = gdImageStringTTF (im, brect, color, fontfile, fontsize,
+ cp = gdImageStringTTF (im, brect.coords, color, fontfile, fontsize,
curangrads, x0, y0, string);
#else
- cp = gdImageStringFT (im, brect, color, fontfile, fontsize,
+ cp = gdImageStringFT (im, brect.coords, color, fontfile, fontsize,
curangrads, x0, y0, string);
#endif
if (cp)
doerr (err, cp);
- /* FIXME - this is silly, but if we try to cast int[] to gdPointPtr
- * we get a "warning: dereferencing type-punned pointer will break strict -aliasing rules" from gcc
- * The proper fix probably requires an API change to use gdPoint[] in gdImageString*
- */
- for (i = 0; i < 4; i++) {
- points[i].x = brect[2*i];
- points[i].y = brect[2*i + 1];
- }
- gdImagePolygon (im, points, 4, color);
+ gdImagePolygon (im, brect.points, 4, color);
}
fclose (err);

View File

@ -0,0 +1,17 @@
--- tclpkg/mkpkgindex.sh
+++ tclpkg/mkpkgindex.sh
@@ -4,7 +4,7 @@
# $2 = Name of extension
# $3 = Version of extension
-lib=`sed -n "/library_names/s/^[^']*'\([^ ']*\).*$/\1/p" $1`
+lib=`sed -n "/dlname/s/^[^']*'\([^ ']*\).*$/\1/p" $1`
if [ -z "$lib" ]
then
libBaseName=`basename $1 .la`
@@ -22,4 +22,4 @@
echo " package require Tk 8.3" >>pkgIndex.tcl
;;
esac
-echo " load [file join \$dir tcl $lib] $2\"" >>pkgIndex.tcl
+echo " load $lib $2\"" >>pkgIndex.tcl

View File

@ -0,0 +1,51 @@
--- tclpkg/gv/gv_doc_langs.tcl
+++ tclpkg/gv/gv_doc_langs.tcl
@@ -155,7 +155,7 @@
}
SYNOPSIS {
{#!/usr/bin/lua}
- {lib=loadlib('/usr/lib/graphviz/lua/libgv_lua.so','Gv_Init')}
+ {lib=loadlib('@LIB_DIR@/graphviz/lua/libgv_lua.so','Gv_Init')}
{assert(lib)()}
}
USAGE {
@@ -236,7 +236,7 @@
}
SYNOPSIS {
{#!/usr/bin/perl}
- {use lib "/usr/lib/graphviz/perl"}
+ {use lib "@LIB_DIR@/graphviz/perl"}
{use gv;}
}
USAGE {
@@ -320,7 +320,7 @@
SYNOPSIS {
{#!/usr/bin/python}
{import sys}
- {sys.path.append('/usr/lib/graphviz/python')}
+ {sys.path.append('@LIB_DIR@/graphviz/python')}
{import gv}
}
USAGE {
@@ -361,7 +361,7 @@
Gv. ( {, } {);}
}
SYNOPSIS {
- {export RUBYLIB=/usr/lib/graphviz/ruby}
+ {export RUBYLIB=@LIB_DIR@/graphviz/ruby}
{}
{#!/usr/bin/ruby}
{require 'gv'}
@@ -405,10 +405,10 @@
}
SYNOPSIS {
{#!/usr/bin/tclsh}
- {load /usr/lib/graphviz/tcl/gv.so}
+ {package require gv}
}
USAGE {
- {Requires tcl7.6 or later.}
+ {Requires tcl8.3 or later.}
}
}
}

View File

@ -1,8 +1,8 @@
--- tclpkg/gv/gv.i
+++ tclpkg/gv/gv.i
@@ -17,6 +17,134 @@
%module gv
%{
@@ -24,6 +24,134 @@
#undef PACKAGE_NAME
#include "gvc.h"
+
+/* new graph objects */
@ -134,4 +134,4 @@
+
%}
/* new graph objects */
%inline %{

View File

@ -0,0 +1,20 @@
--- tclpkg/gv/Makefile.am 2007/02/01 12:47:35 1.1
+++ tclpkg/gv/Makefile.am 2007/05/08 09:25:17
@@ -56,6 +56,8 @@
LUA_hdr =
nodist_libgv_lua_la_SOURCES = gv_lua.cpp $(LUA_hdr)
libgv_lua_la_SOURCES = $(BASESOURCES)
+#libgv_lua_la_CFLAGS = -fno-strict-aliasing
+libgv_lua_la_CXXFLAGS = -fno-strict-aliasing
libgv_lua_la_LIBADD = $(BASELIBS) @LUA_LIBS@
libgv_lua_la_LDFLAGS =
gv_lua.cpp $(LUA_hdr): gv.i
@@ -74,6 +76,8 @@
PERL_hdr = gv.pm
nodist_libgv_perl_la_SOURCES = gv_perl.cpp $(PERL_hdr)
libgv_perl_la_SOURCES = $(BASESOURCES)
+#libgv_perl_la_CFLAGS = -fno-strict-aliasing
+libgv_perl_la_CXXFLAGS = -fno-strict-aliasing
libgv_perl_la_LIBADD = $(BASELIBS) @PERL_LIBS@
libgv_perl_la_LDFLAGS =
gv_perl.cpp $(PERL_hdr): gv.i

View File

@ -0,0 +1,11 @@
--- autogen.sh
+++ autogen.sh
@@ -9,8 +9,6 @@
#create an empty config/config.rpath else iconf configure test generates a warning
touch config/config.rpath
-patch -N -p0 <ltmain.sh.patch
-
# ensure COPYING is based on cpl1.0.txt
# cpl1.0.txt was obtained from: http://www.opensource.org/licenses/cpl1.0.txt
rm -f COPYING

11
graphviz-strcmp_fix.patch Normal file
View File

@ -0,0 +1,11 @@
--- lib/common/diagen.c
+++ lib/common/diagen.c
@@ -243,7 +243,7 @@
static void dia_grstyle(context_t * cp)
{
- if (cp->pencolor != DEFAULT_COLOR) {
+ if (strcmp(cp->pencolor, DEFAULT_COLOR)) {
dia_fputs(" <dia:attribute name=\"border_color\">\n");
dia_printf(" <dia:color val=\"%s\"/>\n",
dia_resolve_color(cp->pencolor));

View File

@ -1,3 +1,79 @@
-------------------------------------------------------------------
Tue May 8 12:11:16 CEST 2007 - pth@suse.de
- Update to 2.12
- PostScript output had an extraneous '%' character on the first line,
which would cause printing to fail.
- Text handling, during both sizing and layout, incorrectly handled
empty lines such as label="\nabc".
- HTML-like tables had been changed to use too much vertical space,
to possibly use the wrong font in calculating the height of a line,
and to use the wrong offset when moving the baseline from one line to
the next.
- dot - New pango+cairo renderer plugin (was in separate graphviz-cairo tree).
-- -Tpng now uses cairo (-Tpng:gd for old gd based renderer)
-- -Tpdf now available
-- -Tps:cairo now available (-Tps is a direct ps renderer not based on
cairo)
-- -Tsvg:cairo now available (-Tsvg is a direct svg renderer not based
on cairo)
-- -Txlib now available -- "dot -Tx11 foo.dot" watches foo.dot with
inotify and updates
-- -Tgtk now available -- eventually to provide a graph editing capability
- not fully working
-- -Tswf "Flash" now available using the ming library. Currently has
incomplete font support and not yet in Fedora rpms because ming not
yet available as rpm.
- remove hard gd dependencies from dot. gd renderers now provided
as optional plugin. Deprecated, but required for -Tjpg, -Tgif and -Tvrml.
- gvpr - Add kindOf function, plus functions to set and get default values
- dot - Implement esep attribute to allow graph to specify room
around nodes for spline routing.
- neato - add vpsc library and DIGCOLA
- neato - add IPSEPCOLA additions from Tim Dwyer
- move: -Tps, -Tfig, -Tsvg, -Timap/ismap/cmap/cmapx, -Tdot/xdot,
from codegens to a "core" plugin.
- dot - new usershape plugin mechanism potentially supporting
a wider range of input shape format -> output format combinations.
display on changes
- dot - new -O switch to automatically generate output file
names based on the input filename and the -T value.
e.g. "dot -Tpng -O *.dot"
Also works for case of multiple graphs in a single input file.
- add support for "Brewer" color nameset
- move reusable .so libraries to $PREFIX/lib per frequent request
from Debian community. Plugin .so's remain in $PREFIX/lib/graphviz.
- (POTENTIAL INCOMPATIBILITY) The default input scaling, in the
absence of a "-s" switch, has been changed from inches to points.
The new behavior of "neato" is equivalent to "neato -s72".
The old behavior can be restored with "neato -s1".
The purpose of this change is to avoid a Frequently-Made-Mistake
when using "neato -n" to process a previously generated layout.
Previously it was necessary to use "neato -n -s72", but with this
change the default matches dot's output and the "-s72" is not required.
- Added pseudo layout engines: "dot -Knop" and dot -Knop1" equivalent
to "neato -n"
- Added pseodo layout engine: "dot -Knop2" equivalent to "neato -n2"
- Add support for color namespaces; add Brewer color data
- Add support for simulated duplex edges using parallel edges:
head arrow takes first color, tail arrow takes second color.
- Add a small pad region around graph renderings to allow for finite
penwidths at the drawing edges
- Add protonode(g) and E=protoedge(g) functions to simplify language
bindings.
- Add special purpose code to deal with html labels from language
bindings.
- Split off language support into subpackages.
- build php,ruby,C#,python,guile and java support in addition to tcl
- swig >= 1.3.21 differentiates between php4 and php5, so adapt
configure test.
- Don't move tcl libraries to _libdir but instead add the graphviz
sublibrary paths via /etc/ld.so.conf.d
- Use SONAMEs to generate pkgIndex.tcl. That way tcl can actually
load the libraries via 'package require'
- Don't compare pointer with string literal.
-------------------------------------------------------------------
Thu May 3 18:44:39 CEST 2007 - prusnak@suse.cz

View File

@ -1,5 +1,5 @@
#
# spec file for package graphviz (Version 2.6)
# spec file for package graphviz (Version 2.12)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@ -11,19 +11,31 @@
# norootforbuild
Name: graphviz
BuildRequires: bison freetype2-devel gcc-c++ libexpat-devel libjpeg-devel libpng-devel libstdc++-devel pkgconfig swig tk-devel xorg-x11-devel
Version: 2.6
Release: 67
BuildRequires: libexpat-devel libjpeg-devel libpng-devel zlib-devel
BuildRequires: freetype2-devel >= 2 gcc-c++ ksh libstdc++-devel
BuildRequires: bison flex glib2-devel m4 perl python-devel swig tk-devel >= 8.3 xorg-x11-devel
BuildRequires: php5-devel ruby-devel xorg-x11-libICE-devel xorg-x11-libSM-devel xorg-x11-libXpm-devel
BuildRequires: xorg-x11-libX11-devel xorg-x11-libXext-devel xorg-x11-libXmu-devel xorg-x11-libXt-devel
BuildRequires: cairo-devel gcc-java gmp-devel guile-devel libgcj-devel lua-devel mono-core ocaml pango-devel
BuildRequires: libgnomeui-devel php5-devel
Version: 2.12
Release: 1
Autoreqprov: on
Summary: Graph Visualization Tools
Group: Productivity/Graphics/Visualization/Graph
Source: http://www.graphviz.org/pub/graphviz/ARCHIVE/%{name}-%{version}.tar.bz2
Patch0: fix-pkgIndex.diff
Patch1: aliasing-fixes.diff
Patch2: config-file-option.diff
Patch0: graphviz-fix-pkgIndex.patch
Patch1: graphviz-aliasing-fixes.patch
Patch2: graphviz-config-file-option.patch
Patch3: graphviz-fix_swig_template.patch
Patch4: graphviz-neato_splines.patch
Patch5: graphviz-new_X_paths.patch
Patch7: graphviz-strcmp_fix.patch
# This fix will be in 2.13
Patch8: graphviz-2.11-php_check.patch
Patch9: graphviz-no_libtool_patching.patch
Patch10: graphviz-fix_manpages.patch
Patch11: graphviz-gv_aliasing.patch
URL: http://www.graphviz.org/
License: IBM Public License
Prefix: /usr
@ -36,6 +48,208 @@ of graphs (as in nodes and edges, not as in bar charts).
Authors:
--------
David Dobkin <dpd@cs.princeton.edu>
John Ellson <ellson@graphviz.org>
Emden Gansner <erg@research.att.com>
Eleftherios Koutsofios <ek@research.att.com>
Stephen North <north@research.att.com>
Kiem-Phong Vo <kpv@research.att.com>
Gordon Woodhull <gmcw@worldnet.att.net>
%package gd
Group: Productivity/Graphics/Visualization/Graph
Summary: Graphviz plugin for renderers based on gd
Requires: graphviz = %{version}-%{release} gd
%description gd
Graphviz plugin for renderers based on gd
Authors:
--------
David Dobkin <dpd@cs.princeton.edu>
John Ellson <ellson@graphviz.org>
Emden Gansner <erg@research.att.com>
Eleftherios Koutsofios <ek@research.att.com>
Stephen North <north@research.att.com>
Kiem-Phong Vo <kpv@research.att.com>
Gordon Woodhull <gmcw@worldnet.att.net>
%package guile
Group: Productivity/Graphics/Visualization/Graph
Summary: Graph Visualization Tools
Requires: graphviz = %{version}-%{release} guile
%description guile
A collection of tools and tcl packages for the manipulation and layout
of graphs (as in nodes and edges, not as in bar charts).
Authors:
--------
David Dobkin <dpd@cs.princeton.edu>
John Ellson <ellson@graphviz.org>
Emden Gansner <erg@research.att.com>
Eleftherios Koutsofios <ek@research.att.com>
Stephen North <north@research.att.com>
Kiem-Phong Vo <kpv@research.att.com>
Gordon Woodhull <gmcw@worldnet.att.net>
%package java
Group: Productivity/Graphics/Visualization/Graph
Summary: Graph Visualization Tools
Requires: graphviz = %{version}-%{release} java
%description java
A collection of tools and tcl packages for the manipulation and layout
of graphs (as in nodes and edges, not as in bar charts).
Authors:
--------
David Dobkin <dpd@cs.princeton.edu>
John Ellson <ellson@graphviz.org>
Emden Gansner <erg@research.att.com>
Eleftherios Koutsofios <ek@research.att.com>
Stephen North <north@research.att.com>
Kiem-Phong Vo <kpv@research.att.com>
Gordon Woodhull <gmcw@worldnet.att.net>
%package lua
Group: Productivity/Graphics/Visualization/Graph
Summary: Lua extension for graphviz
Requires: graphviz = %{version}-%{release} lua
%description lua
Lua extension for graphviz
Authors:
--------
David Dobkin <dpd@cs.princeton.edu>
John Ellson <ellson@graphviz.org>
Emden Gansner <erg@research.att.com>
Eleftherios Koutsofios <ek@research.att.com>
Stephen North <north@research.att.com>
Kiem-Phong Vo <kpv@research.att.com>
Gordon Woodhull <gmcw@worldnet.att.net>
%package ocaml
Group: Productivity/Graphics/Visualization/Graph
Summary: OCAML extension for graphviz
Requires: graphviz = %{version}-%{release} ocaml
%description ocaml
OCAML extension for graphviz
Authors:
--------
David Dobkin <dpd@cs.princeton.edu>
John Ellson <ellson@graphviz.org>
Emden Gansner <erg@research.att.com>
Eleftherios Koutsofios <ek@research.att.com>
Stephen North <north@research.att.com>
Kiem-Phong Vo <kpv@research.att.com>
Gordon Woodhull <gmcw@worldnet.att.net>
%package perl
Group: Productivity/Graphics/Visualization/Graph
Summary: Perl extension for Graphviz
Requires: graphviz = %{version}-%{release} perl
%description perl
Perl extension for Graphviz
Authors:
--------
David Dobkin <dpd@cs.princeton.edu>
John Ellson <ellson@graphviz.org>
Emden Gansner <erg@research.att.com>
Eleftherios Koutsofios <ek@research.att.com>
Stephen North <north@research.att.com>
Kiem-Phong Vo <kpv@research.att.com>
Gordon Woodhull <gmcw@worldnet.att.net>
%package php
Group: Productivity/Graphics/Visualization/Graph
Summary: PHP Extension for Graphviz
Requires: graphviz = %{version}-%{release} php5
%description php
PHP Extension for Graphviz
Authors:
--------
David Dobkin <dpd@cs.princeton.edu>
John Ellson <ellson@graphviz.org>
Emden Gansner <erg@research.att.com>
Eleftherios Koutsofios <ek@research.att.com>
Stephen North <north@research.att.com>
Kiem-Phong Vo <kpv@research.att.com>
Gordon Woodhull <gmcw@worldnet.att.net>
%package python
Group: Productivity/Graphics/Visualization/Graph
Summary: Python Extension for Graphviz
Requires: graphviz = %{version}-%{release} python
%description python
Python Extension for Graphviz
Authors:
--------
David Dobkin <dpd@cs.princeton.edu>
John Ellson <ellson@graphviz.org>
Emden Gansner <erg@research.att.com>
Eleftherios Koutsofios <ek@research.att.com>
Stephen North <north@research.att.com>
Kiem-Phong Vo <kpv@research.att.com>
Gordon Woodhull <gmcw@worldnet.att.net>
%package ruby
Group: Productivity/Graphics/Visualization/Graph
Summary: Ruby Extension for Graphviz
Requires: graphviz = %{version}-%{release} ruby
%description ruby
Ruby Extension for Graphviz
Authors:
--------
David Dobkin <dpd@cs.princeton.edu>
John Ellson <ellson@graphviz.org>
Emden Gansner <erg@research.att.com>
Eleftherios Koutsofios <ek@research.att.com>
Stephen North <north@research.att.com>
Kiem-Phong Vo <kpv@research.att.com>
Gordon Woodhull <gmcw@worldnet.att.net>
%package sharp
Group: Productivity/Graphics/Visualization/Graph
Summary: C# Extension for Graphviz
Requires: graphviz = %{version}-%{release} mono-core
%description sharp
C# extension for graphviz
Authors:
--------
David Dobkin <dpd@cs.princeton.edu>
@ -49,6 +263,7 @@ Authors:
%package tcl
Group: Development/Libraries/Tcl
Summary: Tcl extension tools for graphviz
Requires: graphviz = %{version}-%{release} tcl >= 8.3 tk
%description tcl
The graphviz-tcl package contains the various tcl packages (extensions)
@ -70,7 +285,7 @@ Authors:
Group: Development/Libraries/C and C++
Summary: Graphiviz development package
Requires: %{name} = %{version}
Requires: glibc-devel tcl-devel fontconfig-devel libexpat-devel freetype2-devel
Requires: glibc-devel tcl-devel fontconfig-devel expat freetype2-devel
Requires: libjpeg-devel libpng-devel zlib-devel libtool perl
Requires: libstdc++-devel tk-devel
@ -80,6 +295,25 @@ programs that use the graphviz libraries including man3 pages.
Authors:
--------
David Dobkin <dpd@cs.princeton.edu>
John Ellson <ellson@graphviz.org>
Emden Gansner <erg@research.att.com>
Eleftherios Koutsofios <ek@research.att.com>
Stephen North <north@research.att.com>
Kiem-Phong Vo <kpv@research.att.com>
Gordon Woodhull <gmcw@worldnet.att.net>
%package doc
Group: Productivity/Graphics/Visualization/Graph
Summary: Documentation for graphviz
%description doc
Provides some additional PDF and HTML documentation for graphviz.
Authors:
--------
David Dobkin <dpd@cs.princeton.edu>
@ -92,22 +326,25 @@ Authors:
%prep
%setup -q
%patch -p1
%patch1 -p1
%patch
%patch1
#%patch2 -p1
%patch3
%patch4
%if %{suse_version} > 1010
%patch5
%endif
# Force rebuild
#rm -f tclpkg/gv/gv_perl.cpp
#%if %{suse_version} > 1010
#%patch5
#%endif
%patch7
%patch8
%patch9
%patch10
%patch11
# Fix path in generated man pages
sed -e 's$@LIB_DIR@$%{_libdir}$g' tclpkg/gv/gv_doc_langs.tcl >tclpkg/gv/gv_doc_langs.tcl.new && mv tclpkg/gv/gv_doc_langs.tcl.new tclpkg/gv/gv_doc_langs.tcl
%build
./autogen.sh
#perl -pi -e 's#lib/tkConfig.sh#%{_lib}/tkConfig.sh#g' \
# -e 's#lib/tclConfig#%{_lib}/tclConfig#g' \
# configure.in configure
touch tclpkg/gv/gv.i
WARN_FLAGS="-W -Wall -Wno-unused-parameter -Wno-unknown-pragmas -Wstrict-prototypes -Wpointer-arith"
CFLAGS="$RPM_OPT_FLAGS $WARN_FLAGS"
%ifarch %ix86 x86_64
@ -116,7 +353,8 @@ CFLAGS="$CFLAGS -ffast-math"
CC=gcc
RANLIB=:
export CC RANLIB
CFLAGS="$CFLAGS" \
export CFLAGS="$CFLAGS"
export CPPFLAGS="%optflags"
./configure \
--prefix=%{_prefix} \
--bindir=%{_bindir} \
@ -126,74 +364,219 @@ CFLAGS="$CFLAGS" \
--mandir=%{_mandir} \
--with-x \
--with-mylibgd \
--disable-dependency-tracking
make DESTDIR=$RPM_BUILD_ROOT
--disable-static \
--disable-dependency-tracking \
--with-ipsepcola \
--without-ming \
--disable-io
make DESTDIR=%buildroot
%install
make install DESTDIR=$RPM_BUILD_ROOT
#rm -rf $RPM_BUILD_ROOT/usr/%{_lib}/pkgconfig # ?
mkdir -p $RPM_BUILD_ROOT/%{_docdir}
mv $RPM_BUILD_ROOT/usr/share/graphviz/doc $RPM_BUILD_ROOT/%{_docdir}/%{name}
mkdir -p $RPM_BUILD_ROOT/usr/share/tcl/graphviz
mv $RPM_BUILD_ROOT/usr/%_lib/graphviz/pkgIndex.tcl \
$RPM_BUILD_ROOT/usr/share/tcl/graphviz
mv $RPM_BUILD_ROOT/%{_libdir}/%{name}/*tcl*.so* \
$RPM_BUILD_ROOT/%{_libdir}/%{name}/*tk*.so* \
$RPM_BUILD_ROOT/%{_libdir}
#dot -c -C$RPM_BUILD_ROOT/usr/lib/graphviz/config
mkdir -p $RPM_BUILD_ROOT/usr/lib/graphviz
touch $RPM_BUILD_ROOT/usr/lib/graphviz/config
make install \
DESTDIR=%{buildroot} \
docdir=%{buildroot}%{_docdir}/%{name} \
pkgconfigdir=%{_libdir}/pkgconfig
find ${RPM_BUILD_ROOT} -type f -name "*.la" -exec rm -f {} ';'
#rm -rf %{buildroot}/usr/%{_lib}/pkgconfig # ?
mkdir -p %{buildroot}/%{_docdir}
mkdir -p %{buildroot}%{_datadir}/%{name}
mkdir -p %{buildroot}%{_datadir}/tcl/%{name}
mv %buildroot/%{_libdir}/%{name}/pkgIndex.tcl %{buildroot}%{_datadir}/tcl/%{name}/
chmod -x %{buildroot}%{_datadir}/%{name}/lefty/*
cp -a %{buildroot}%{_datadir}/%{name}/doc __doc
rm -rf %{buildroot}%{_datadir}/%{name}/doc
mkdir -p %{buildroot}/usr/lib/graphviz
touch %{buildroot}/usr/lib/graphviz/config
mkdir -p %{buildroot}/etc/ld.so.conf.d/
cat <<EOF >%{buildroot}/etc/ld.so.conf.d/%{name}.conf
%{_libdir}/%{name}
%{_libdir}/%{name}/sharp
%{_libdir}/%{name}/java
%{_libdir}/%{name}/perl
%{_libdir}/%{name}/php
%{_libdir}/%{name}/ocaml
%{_libdir}/%{name}/python
%{_libdir}/%{name}/lua
%{_libdir}/%{name}/tcl
%{_libdir}/%{name}/guile
%{_libdir}/%{name}/ruby
EOF
#Correct the path to the shared library
for manfile in $(find %{buildroot} -name \*.man); do
sed -e 's$/usr/lib/graphviz$%{_libdir}/%{name}$g' $manfile > ${manfile}.new && mv ${manfile}.new ${manfile}
done
mv %{buildroot}%{_libdir}/%{name}/tcl/gv_tcl.man %{buildroot}%{_mandir}/mann/gv_tcl.n
mv %{buildroot}%{_libdir}/%{name}/perl/gv_perl.man %{buildroot}%{_mandir}/man3/gv_perl.3pm
%post
# run "dot -c" to generate plugin config in %{_libdir}/graphviz/config
%{_bindir}/dot -c
%run_ldconfig
# if there is no dot after everything else is done, the remove config
%postun
if ! test -x $RPM_INSTALL_PREFIX0/bin/dot; then rm -f $RPM_INSTALL_PREFIX0/%{_lib}/graphviz/config; fi
%files
%defattr(-,root,root)
#%doc %{_docdir}/graphviz/
%doc doc/FAQ.html AUTHORS COPYING README NEWS ChangeLog
%doc doc/dotguide.pdf doc/dottyguide.pdf doc/leftyguide.pdf doc/neatoguide.pdf doc/Dot.ref doc/FAQ.html doc/latex_suggestions.txt
%attr(755,root,root) %{_bindir}/*
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/lefty
%{_datadir}/%{name}/graphs
%{_mandir}/man1/*.1*
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/libagraph.so*
%{_libdir}/%{name}/libcdt.so*
%{_libdir}/%{name}/libexpr.so*
%{_libdir}/%{name}/libgraph.so*
%{_libdir}/%{name}/libpack.so*
%{_libdir}/%{name}/libpathplan.so*
%{_libdir}/%{name}/libgvgd.so*
%{_libdir}/%{name}/libgv_perl.so*
%{_libdir}/%{name}/libgvc.so*
%{_libdir}/%{name}/libgvplugin_dot_layout.so*
%{_libdir}/%{name}/libgvplugin_neato_layout.so*
%{_libdir}/%{name}/libgvplugin_usershape_gd.so*
%{_libdir}/%{name}/libgvc_builtins.so*
%{_libdir}/libgv_tcl.so*
%dir /usr/lib/graphviz
%dir %{_prefix}/lib/%{name}
%{_libdir}/*.so.*
%{_libdir}/graphviz/*.so.*
/etc/ld.so.conf.d/graphviz.conf
%ghost /usr/lib/graphviz/config
%exclude %{_libdir}/graphviz/*/*
%exclude %{_libdir}/graphviz/libgvplugin_gd.*
%files gd
%defattr(-,root,root)
%{_libdir}/graphviz/libgvplugin_gd.so.*
%post gd
%{_bindir}/dot -c
%postun gd
if ! test -x $RPM_INSTALL_PREFIX0/bin/dot; then rm -f $RPM_INSTALL_PREFIX0/%{_lib}/graphviz/config; fi
%files guile
%defattr(-,root,root,-)
%{_libdir}/graphviz/guile
%files java
%defattr(-,root,root,-)
%{_libdir}/graphviz/java
%files sharp
%defattr(-,root,root)
%{_libdir}/graphviz/sharp
%files lua
%defattr(-,root,root,-)
%{_libdir}/graphviz/lua
%files ocaml
%defattr(-,root,root,-)
%{_libdir}/graphviz/ocaml
%files perl
%defattr(-,root,root,-)
%{_libdir}/graphviz/perl
%doc %{_mandir}/man3/*.3pm*
%files php
%defattr(-,root,root,-)
%{_libdir}/graphviz/php
%files python
%defattr(-,root,root,-)
%{_libdir}/graphviz/python
%files ruby
%defattr(-,root,root,-)
%{_libdir}/graphviz/ruby
%files tcl
%defattr(-,root,root)
%{_libdir}/libgdtclft.so*
%{_libdir}/libtcldot.so*
%{_libdir}/libtclplan.so*
%{_libdir}/libtkspline.so*
%dir %{_datadir}/tcl/%{name}
%{_libdir}/graphviz/tcl
%{_datadir}/tcl/%{name}/pkgIndex.tcl
%{_datadir}/%{name}/demo
%{_mandir}/mann/*.n*
%{_datadir}/graphviz/demo
%doc %{_mandir}/mann/*.n*
%files devel
%defattr(-,root,root)
%{_includedir}/%{name}
%{_libdir}/%{name}/*.*a
%{_includedir}/graphviz
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%{_mandir}/man3/*.3*
%{_mandir}/man3/*.3.gz
%exclude %{_libdir}/graphviz/*/*
%exclude %{_libdir}/graphviz/libgvplugin*
%exclude %{_libdir}/graphviz/*.so
%files doc
%defattr(-,root,root,-)
%doc __doc/*
%changelog
* Tue May 08 2007 - pth@suse.de
- Update to 2.12
- PostScript output had an extraneous '%%' character on the first line,
which would cause printing to fail.
- Text handling, during both sizing and layout, incorrectly handled
empty lines such as label="\nabc".
- HTML-like tables had been changed to use too much vertical space,
to possibly use the wrong font in calculating the height of a line,
and to use the wrong offset when moving the baseline from one line to
the next.
- dot - New pango+cairo renderer plugin (was in separate graphviz-cairo tree).
-- -Tpng now uses cairo (-Tpng:gd for old gd based renderer)
-- -Tpdf now available
-- -Tps:cairo now available (-Tps is a direct ps renderer not based on
cairo)
-- -Tsvg:cairo now available (-Tsvg is a direct svg renderer not based
on cairo)
-- -Txlib now available -- "dot -Tx11 foo.dot" watches foo.dot with
inotify and updates
-- -Tgtk now available -- eventually to provide a graph editing capability
- not fully working
-- -Tswf "Flash" now available using the ming library. Currently has
incomplete font support and not yet in Fedora rpms because ming not
yet available as rpm.
- remove hard gd dependencies from dot. gd renderers now provided
as optional plugin. Deprecated, but required for -Tjpg, -Tgif and -Tvrml.
- gvpr - Add kindOf function, plus functions to set and get default values
- dot - Implement esep attribute to allow graph to specify room
around nodes for spline routing.
- neato - add vpsc library and DIGCOLA
- neato - add IPSEPCOLA additions from Tim Dwyer
- move: -Tps, -Tfig, -Tsvg, -Timap/ismap/cmap/cmapx, -Tdot/xdot,
from codegens to a "core" plugin.
- dot - new usershape plugin mechanism potentially supporting
a wider range of input shape format -> output format combinations.
display on changes
- dot - new -O switch to automatically generate output file
names based on the input filename and the -T value.
e.g. "dot -Tpng -O *.dot"
Also works for case of multiple graphs in a single input file.
- add support for "Brewer" color nameset
- move reusable .so libraries to $PREFIX/lib per frequent request
from Debian community. Plugin .so's remain in $PREFIX/lib/graphviz.
- (POTENTIAL INCOMPATIBILITY) The default input scaling, in the
absence of a "-s" switch, has been changed from inches to points.
The new behavior of "neato" is equivalent to "neato -s72".
The old behavior can be restored with "neato -s1".
The purpose of this change is to avoid a Frequently-Made-Mistake
when using "neato -n" to process a previously generated layout.
Previously it was necessary to use "neato -n -s72", but with this
change the default matches dot's output and the "-s72" is not required.
- Added pseudo layout engines: "dot -Knop" and dot -Knop1" equivalent
to "neato -n"
- Added pseodo layout engine: "dot -Knop2" equivalent to "neato -n2"
- Add support for color namespaces; add Brewer color data
- Add support for simulated duplex edges using parallel edges:
head arrow takes first color, tail arrow takes second color.
- Add a small pad region around graph renderings to allow for finite
penwidths at the drawing edges
- Add protonode(g) and E=protoedge(g) functions to simplify language
bindings.
- Add special purpose code to deal with html labels from language
bindings.
- Split off language support into subpackages.
- build php,ruby,C#,python,guile and java support in addition to tcl
- swig >= 1.3.21 differentiates between php4 and php5, so adapt
configure test.
- Don't move tcl libraries to _libdir but instead add the graphviz
sublibrary paths via /etc/ld.so.conf.d
- Use SONAMEs to generate pkgIndex.tcl. That way tcl can actually
load the libraries via 'package require'
- Don't compare pointer with string literal.
* Thu May 03 2007 - prusnak@suse.cz
- changed expat to libexpat-devel in [Build]Requires
* Thu Mar 29 2007 - aj@suse.de