# # spec file for package graphviz-plugins (Version 2.20.2) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %define mname graphviz Name: graphviz-plugins BuildRequires: gd-devel libexpat-devel libjpeg-devel libpng-devel swig zlib-devel BuildRequires: freetype2-devel >= 2 gcc-c++ ksh libstdc++-devel BuildRequires: bison flex glib2-devel m4 perl python-devel 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: graphviz gtkglext-devel libglade2-devel libgnomeui-devel %if 0%{?suse_version} > 1020 BuildRequires: fdupes %endif Version: 2.20.2 Release: 6 AutoReqProv: on Summary: Graph Visualization Tools Group: Productivity/Graphics/Visualization/Graph Source: http://www.graphviz.org/pub/graphviz/ARCHIVE/%{mname}-%{version}.tar.bz2 #Source1: %{name}-rpmlintrc Patch0: graphviz-fix-pkgIndex.patch Patch3: graphviz-neato_splines.patch Patch11: graphviz-%{version}-interpreter_names.patch Patch13: graphviz-stddefs.patch #Any version after 2.20.2 will contain the following patch Patch14: graphviz-fix_gstack_overflow.patch #Patches above 100 are graphviz-plugins specific. Patch100: graphviz-plugins-fix_install_dirs.patch Patch101: graphviz-plugins-tcl_install_dir.patch Patch103: graphviz-2.18-do_not_use_ocamlopt.patch Patch104: python-version.diff Url: http://www.graphviz.org/ License: IBM Public License Prefix: /usr BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: coreutils %define rb_libdir %{_libdir}/ruby %define rb_sitedir %{rb_libdir}/site_ruby/%{rb_ver} %define rb_vendordir %{rb_libdir}/vendor_ruby/%{rb_ver} %define lua_libdir %{_libdir}/lua/%(pkg-config --variable=V lua) %define debug_package_requires graphviz_plugin = %{version}-%{release} %description 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 John Ellson Emden Gansner Eleftherios Koutsofios Stephen North Kiem-Phong Vo Gordon Woodhull %package -n graphviz-gnome License: IBM Public License Group: Productivity/Graphics/Visualization/Graph Summary: Graphviz plugins that use gtk/GNOME PreReq: graphviz = %{version} PreReq: coreutils Provides: graphviz_plugin = %{version}-%{release} %description -n graphviz-gnome Graphviz plugins that use gtk/GNOME. Authors: -------- David Dobkin John Ellson Emden Gansner Eleftherios Koutsofios Stephen North Kiem-Phong Vo Gordon Woodhull %package -n graphviz-gd License: IBM Public License Group: Productivity/Graphics/Visualization/Graph Summary: Graphviz plugin for renderers based on gd PreReq: graphviz = %{version} gd PreReq: coreutils Provides: graphviz_plugin = %{version}-%{release} %description -n graphviz-gd The graphviz-gd package contains the gd extensions for the graphviz tools. Authors: -------- David Dobkin John Ellson Emden Gansner Eleftherios Koutsofios Stephen North Kiem-Phong Vo Gordon Woodhull %package -n graphviz-guile License: IBM Public License Group: Productivity/Graphics/Visualization/Graph Summary: Graph Visualization Tools Requires: graphviz = %{version} guile Provides: graphviz_plugin = %{version}-%{release} %description -n graphviz-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 John Ellson Emden Gansner Eleftherios Koutsofios Stephen North Kiem-Phong Vo Gordon Woodhull %package -n graphviz-java License: IBM Public License Group: Productivity/Graphics/Visualization/Graph Summary: Graph Visualization Tools Requires: graphviz = %{version} java Provides: graphviz_plugin = %{version}-%{release} %description -n graphviz-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 John Ellson Emden Gansner Eleftherios Koutsofios Stephen North Kiem-Phong Vo Gordon Woodhull %package -n graphviz-lua License: IBM Public License Group: Productivity/Graphics/Visualization/Graph Summary: Lua extension for graphviz Requires: graphviz = %{version} lua Provides: graphviz_plugin = %{version}-%{release} %description -n graphviz-lua The graphviz-lua package contains the lua extension for the graphviz tools. Authors: -------- David Dobkin John Ellson Emden Gansner Eleftherios Koutsofios Stephen North Kiem-Phong Vo Gordon Woodhull %package -n graphviz-ocaml License: IBM Public License Group: Productivity/Graphics/Visualization/Graph Summary: OCAML extension for graphviz Requires: graphviz = %{version} ocaml Provides: graphviz_plugin = %{version}-%{release} %description -n graphviz-ocaml The graphviz-ocaml package contains the Objective Caml extension for the graphviz tools. Authors: -------- David Dobkin John Ellson Emden Gansner Eleftherios Koutsofios Stephen North Kiem-Phong Vo Gordon Woodhull %package -n graphviz-perl License: IBM Public License Group: Productivity/Graphics/Visualization/Graph Summary: Perl extension for Graphviz Requires: graphviz = %{version} perl Provides: graphviz_plugin = %{version}-%{release} %description -n graphviz-perl The graphviz-perl package contains the Perl extension for the graphviz tools. Authors: -------- David Dobkin John Ellson Emden Gansner Eleftherios Koutsofios Stephen North Kiem-Phong Vo Gordon Woodhull %package -n graphviz-php License: IBM Public License Group: Productivity/Graphics/Visualization/Graph Summary: PHP Extension for Graphviz Requires: graphviz = %{version} php5 Provides: graphviz_plugin = %{version}-%{release} %description -n graphviz-php The graphviz-php package contains the PHP extension for the graphviz tools. Authors: -------- David Dobkin John Ellson Emden Gansner Eleftherios Koutsofios Stephen North Kiem-Phong Vo Gordon Woodhull %package -n graphviz-python License: IBM Public License Group: Productivity/Graphics/Visualization/Graph Summary: Python Extension for Graphviz Requires: graphviz = %{version} python Provides: graphviz_plugin = %{version}-%{release} %description -n graphviz-python The graphviz-python package contains the Python extension for the graphviz tools. Authors: -------- David Dobkin John Ellson Emden Gansner Eleftherios Koutsofios Stephen North Kiem-Phong Vo Gordon Woodhull %package -n graphviz-ruby License: IBM Public License Group: Productivity/Graphics/Visualization/Graph Summary: Ruby Extension for Graphviz Requires: graphviz = %{version} ruby Provides: graphviz_plugin = %{version}-%{release} %description -n graphviz-ruby The graphviz-ruby package contains the ruby extension for the graphviz tools. Authors: -------- David Dobkin John Ellson Emden Gansner Eleftherios Koutsofios Stephen North Kiem-Phong Vo Gordon Woodhull %package -n graphviz-sharp License: IBM Public License Group: Productivity/Graphics/Visualization/Graph Summary: C# Extension for Graphviz Requires: graphviz = %{version} mono-core Provides: graphviz_plugin = %{version}-%{release} %description -n graphviz-sharp The graphviz-sharp package contains the C# extension for the graphviz tools. Authors: -------- David Dobkin John Ellson Emden Gansner Eleftherios Koutsofios Stephen North Kiem-Phong Vo Gordon Woodhull %package -n graphviz-tcl License: IBM Public License Group: Development/Libraries/Tcl Summary: Tcl extension tools for graphviz Requires: graphviz = %{version} tcl >= 8.3 tk Provides: graphviz_plugin = %{version}-%{release} %description -n graphviz-tcl The graphviz-tcl package contains the various tcl packages (extensions) for the graphviz tools. Authors: -------- David Dobkin John Ellson Emden Gansner Eleftherios Koutsofios Stephen North Kiem-Phong Vo Gordon Woodhull %package -n graphviz-doc License: IBM Public License Group: Productivity/Graphics/Visualization/Graph Summary: Documentation for graphviz %description -n graphviz-doc Provides some additional PDF and HTML documentation for graphviz. Authors: -------- David Dobkin John Ellson Emden Gansner Eleftherios Koutsofios Stephen North Kiem-Phong Vo Gordon Woodhull %prep %setup -q -n %{mname}-%{version} %patch %patch3 %patch11 %patch13 %patch14 %patch100 %patch101 %patch103 %patch104 # 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 # remove broken macros rm m4/iconv.m4 m4/lib-*.m4 cp /usr/share/gettext/config.rpath config %build ./autogen.sh 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 CFLAGS="$CFLAGS -ffast-math" %endif CC=gcc RANLIB=: export CC RANLIB export CFLAGS="$CFLAGS" export CPPFLAGS="%optflags" %configure \ --with-x \ --disable-static \ --disable-dependency-tracking \ --with-ipsepcola \ --without-ming \ --enable-ltdl-install=no \ --disable-io %{__make} DESTDIR=%buildroot %{?jobs:-j%jobs} %install %makeinstall \ docdir=%{buildroot}%{_docdir}/%{mname} \ pkgconfigdir=%{_libdir}/pkgconfig find ${RPM_BUILD_ROOT} -type f -name "*.la" -exec rm -f {} ';' mkdir -p %{buildroot}/%{_docdir} mkdir -p %{buildroot}%{_datadir}/%{mname} mkdir -p %{buildroot}%{_datadir}/tcl/%{mname} chmod -x %{buildroot}%{_datadir}/%{mname}/lefty/* cp -a %{buildroot}%{_datadir}/%{mname}/doc __doc rm -rf %{buildroot}%{_datadir}/%{mname}/doc mkdir -p %{buildroot}%{_libdir}/graphviz touch %{buildroot}%{_libdir}/graphviz/config #Correct the path to the shared library for manfile in $(find %{buildroot} -name \*.man); do sed -e 's$/usr/lib/graphviz$%{_libdir}/%{mname}$g' $manfile > ${manfile}.new && mv ${manfile}.new ${manfile} done rm -f %{buildroot}/usr/bin/* rm -rf %{buildroot}/usr/include/graphviz rm -f %{buildroot}%{_libdir}/graphviz/config rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_core* rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_dot_layout* rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_neato_layout* rm -f %{buildroot}%{_libdir}/lib* rm -rf %{buildroot}%{_libdir}/pkgconfig rm -rf %{buildroot}%{_datadir}/graphviz/graphs rm -rf %{buildroot}%{_datadir}/graphviz/lefty rm -rf %{buildroot}%{_mandir}/man1 rm -f %{buildroot}%{_mandir}/man3/*.3.gz rm -f %{buildroot}%{_mandir}/man3/*.3 rm -f %{buildroot}%{_mandir}/man7/*.7 rm -f %{buildroot}%{_mandir}/man7/*.7.gz for lib in libgdtclft* libgv_tcl.so libtcldot* libtclplan* libtkspline*; do mv %{buildroot}%{_libdir}/%{mname}/tcl/${lib} %{buildroot}%{_libdir} done %if 0%{?suse_version} > 1020 %fdupes -s %{buildroot}%{_defaultdocdir}/%{mname} %endif #%clean #rm -rf %{buildroot} %{__rm} -rf %{buildroot}/%{_libdir}/%{mname}/%{_lib} %files -n graphviz-gd %defattr(-,root,root) %{_libdir}/graphviz/libgvplugin_gd.so* %post -n graphviz-gd %{_bindir}/dot -c %postun -n graphviz-gd %{_bindir}/dot -c %post -n graphviz-gnome %{_bindir}/dot -c %postun -n graphviz-gnome %{_bindir}/dot -c %files -n graphviz-gnome %defattr(-,root,root,-) %{_libdir}/graphviz/libgvplugin_pango* %{_libdir}/graphviz/libgvplugin_gdk_pixbuf* %{_libdir}/graphviz/libgvplugin_gtk* %{_libdir}/graphviz/libgvplugin_xlib* %post -n graphviz-tcl -p /sbin/ldconfig %postun -n graphviz-tcl -p /sbin/ldconfig %files -n graphviz-guile %defattr(-,root,root,-) %{_libdir}/graphviz/guile %doc %{_mandir}/mann/gv_guile.n.gz %files -n graphviz-java %defattr(-,root,root,-) %{_libdir}/graphviz/java %files -n graphviz-sharp %defattr(-,root,root) %{_libdir}/graphviz/sharp %doc %{_mandir}/mann/gv_sharp.n.gz %files -n graphviz-lua %defattr(-,root,root,-) %{_datadir}/%{mname}/demo/modgraph.lua %dir %{_libdir}/lua %dir %lua_libdir %{_libdir}/graphviz/lua %{lua_libdir}/gv.so %doc %{_mandir}/mann/gv_lua.n.gz %files -n graphviz-ocaml %defattr(-,root,root,-) %{_libdir}/graphviz/ocaml %doc %{_mandir}/mann/gv_ocaml.n.gz %files -n graphviz-perl %defattr(-,root,root,-) %{_libdir}/graphviz/perl %{perl_vendorarch}/gv.pm %{perl_vendorarch}/gv.so %{_datadir}/%{mname}/demo/modgraph.pl %doc %{_mandir}/mann/gv_perl.n.gz %files -n graphviz-php %defattr(-,root,root,-) %{_libdir}/php5/extensions/gv.so %{_datadir}/php5/gv.php %doc %{_mandir}/mann/gv_php.n.gz %dir %{_libdir}/%{mname}/php %{_libdir}/%{mname}/php/gv.php %{_libdir}/%{mname}/php/gv.so %{_libdir}/%{mname}/php/libgv_php.so %{_datadir}/%{mname}/demo/modgraph.php %files -n graphviz-python %defattr(-,root,root,-) %{_libdir}/graphviz/python %{py_sitedir}/_gv.so %{py_sitedir}/gv.py %doc %{_mandir}/mann/gv_python.n.gz %{_datadir}/%{mname}/demo/modgraph.py %files -n graphviz-ruby %defattr(-,root,root,-) %{_libdir}/graphviz/ruby %{rb_sitedir}/*-%{_os}/gv.so %doc %{_mandir}/mann/gv_ruby.n.gz %{_datadir}/%{mname}/demo/modgraph.rb %files -n graphviz-tcl %defattr(-,root,root) %dir %{_datadir}/tcl/%{mname} %{_libdir}/libgdtclft* %{_libdir}/libgv_tcl.so %{_libdir}/libtcldot* %{_libdir}/libtclplan* %{_libdir}/libtkspline* %{_datadir}/tcl/%{mname}/pkgIndex.tcl %{_datadir}/graphviz/demo %doc %{_mandir}/mann/*.n* %exclude %{_mandir}/mann/gv_lua.n.gz %exclude %{_mandir}/mann/gv_perl.n.gz %exclude %{_mandir}/mann/gv_ruby.n.gz %exclude %{_mandir}/mann/gv_sharp.n.gz %exclude %{_mandir}/mann/gv_guile.n.gz %exclude %{_mandir}/mann/gv_python.n.gz %exclude %{_mandir}/mann/gv_php.n.gz %exclude %{_mandir}/mann/gv_ocaml.n.gz %exclude %{_datadir}/%{mname}/demo/modgraph.rb %exclude %{_datadir}/%{mname}/demo/modgraph.php %exclude %{_datadir}/%{mname}/demo/modgraph.py %exclude %{_datadir}/%{mname}/demo/modgraph.lua %exclude %{_datadir}/%{mname}/demo/modgraph.pl %files -n graphviz-doc %defattr(-,root,root,-) %docdir %{_defaultdocdir}/%{mname} %doc __doc/* %changelog * Fri Oct 24 2008 mrueckert@suse.de - fix build with newer libtool - fix debug package requires * Mon Oct 13 2008 pth@suse.de - Fix vulnerability that allowed overflowing gstack (bnc#433747) * Wed Sep 17 2008 dmueller@suse.de - fix python version detection * Thu Aug 14 2008 ro@suse.de - drop get_release_number script - remove release requires in plugins package, require just the same version * Thu Aug 07 2008 ro@suse.de - drop nodebug, require main graphviz package from debuginfo instead * Thu Jul 10 2008 pth@suse.de - Update to 2.20.2. Changes since 2.18: 2.20.2: - Fix bug in HTML-like labels 2.20.1: - Fix bug in ccomps related to conversion to cgraph 2.20.0: - Fixed bugs (see http://www.graphviz.org/bugs/buglist.html for details: - 1315: Different/error output for *.os and *.pdf - 1317: Graphviz fails to open more than 512 files. - 1324: Graphviz crashes in atexit(). - 1336: Plain format label delimiters change randomly. - 1343: Layouts other than 'dot' seem broken in tcldot due to documentation error. - 1364: Dot fails with failed assertion. - Add new "folder" shape for nodes. - Migration of gvpr tools to libcgraph. - New output format -Teps (encapsulated postscript) - Various NetBSD and SuSE fixes incorporated - ./configure now provides a summary * Tue Apr 29 2008 pth@suse.de - Disable the use of ocamlopt as the archive turns up empty (bnc#384855). * Sun Apr 27 2008 coolo@suse.de - fix build * Tue Apr 22 2008 pth@suse.de - Move all GTK/GNOME related stuff to plugins package. * Thu Apr 17 2008 pth@suse.de - Switch off strict aliasing until swig produces code that plays by the rules. * Mon Apr 07 2008 pth@suse.de - Fix paths for lua and php interpreter in examples. * Thu Apr 03 2008 pth@suse.de - Fix package and filelist correctly. - Install tcl specific libraries to %%_libdir - Properly package language specific demo code * Mon Mar 31 2008 ro@suse.de - fix build (added directories to filelist) * Fri Mar 28 2008 pth@suse.de - Update to 2.18. Changes since 2.12: - Lots of bugs fixed, see ChangeLog for detailed list. - in -Tps use a new number formatter that suppresses trailing 0. - support tcl/tk-8.5 - support gcc-4.3 - support for node usershapes/images in svg format - install: perl, php, python, ruby, tcl, bindings in language-specified directories - add arrowhead scaling with edge penwidth - add "folder" node shape - add "smyna" large graph view (thanks Arif) (not yet included in binary distros) * 2.16.1 - Improvements to PHP binding - Improvements to OCAML binding - Make regression tests run from the build tree, rather than require installation - Repair freetype detection on RedHat-7 (Yes, people still use it!!) - Fix zoom-at-mouse-location in -Txlib and -Tgtk - Fix some dotty regressions * 2.15 - new regression test suite - new cgraph library (will eventually replace graph and agraph) - add "image" and "imagescale" for simpler support for images in nodes - add "tab" "box3d" and "component" shapes. - Diomidis Spinellis - replace arith.h in distro - add functions to access version info to avoid need for gvcint.h - Fix problem with irregular character spacing at 96dpi in pango/cairo output formats. - Add gdk_pixbuf plugin providing: .bmp .ico .jpg .png .tif - Add DevIL plugin providing: .bmp .jpg .png .tif .tga - Extend GD plugin to provide a backend to cairo for: .gif .jpg .png .gd .gd2 .wbmp <- gifs are now antialiased - Rework plugin framework to separate device from renderer, and to autoload load dependendent plugins - show defaults in output from: ./configure --help - add more info to dot -v and dot -v2 debug outputs - various issues with CR/LF in windows, but not in binary outputs. * 2.14.1 - Add xdot parsing library to source distros - graphviz.spec fixes for rpm distros from Gareth Armstrong - moved language binding man pages to mann (gv_php.n, gv_ocaml.n, etc.) - New access functions for version info in GVC_t - permits gvcint.h to be private. * 2.14: - Using system version of libgd if gd-2.0.34 or later. internal copy of gd updated to gd-2.0.35. - Updated GVGUI viewer for Windows - Added support for selection of edge routing types: line, polyline, orthogonal, spline - Added -Tvml support - Adapt the patch to allow ^LT_(CURRENT|REVISION|AGE)$ in configure script and reenable the use of these variables. * Thu Mar 13 2008 schwab@suse.de - Allow ^LT_(CURRENT|REVISION|AGE)$ in configure script. - Remove broken autoconf macros. * Fri Oct 26 2007 pth@suse.de - Add missing includes. * Thu Aug 16 2007 pth@suse.de - Add missing BuildRequires for fdupes - Guard fdupes by check for suse_version * Mon Aug 13 2007 pth@suse.de - lib/sfio/sfhdr.h(SFSETLOCALE): fix test for null pointer. - Fix include paths for php5 - Move gv_php man page to where man searches for it. - Use %%fdupes - Add rpmlintrc - use -fno-strict-aliasing for gv_php * Mon Jun 11 2007 ro@suse.de - no main package, no debuginfo * Wed Jun 06 2007 pth@suse.de - Move man pages to _mandir (bugzilla #281398) * Fri May 11 2007 ro@suse.de - added get_release_number.sh to sync rel-number between graphviz and graphviz-plugins * Thu May 10 2007 ro@suse.de - create own specfile for all plugins to reduce build dependencies of main package (and break various build cycles)