File graphviz-plugins.spec of Package graphviz

#
# spec file for package graphviz-plugins (Version 2.26.3)
#
# Copyright (c) 2010 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:  ghostscript-mini graphviz gtkglext-devel libglade2-devel libgnomeui-devel
%if 0%{?suse_version} > 1020
BuildRequires:  fdupes
%endif
Version:        2.26.3
Release:        5
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-2.20.2-interpreter_names.patch
Patch13:        graphviz-stddefs.patch
Patch14:        graphviz-gd_png_check_sig.patch
Patch15:        graphviz-wrong_index.patch
Patch16:        graphviz-sequence_point.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
Patch105:       graphviz-ruby-ppc.patch
Patch106:       graphviz-perl-set_rpath.patch
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 <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 -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}
Requires:       xorg-x11-fonts

%description -n graphviz-gnome
Graphviz plugins that use gtk/GNOME.



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 -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 <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 -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 <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 -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 <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 -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 <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 -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 <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 -n graphviz-perl
License:        IBM Public License ..
Group:          Productivity/Graphics/Visualization/Graph
Summary:        Perl extension for Graphviz
Requires:       graphviz = %{version} 
Requires:       perl = %{perl_version}
Provides:       graphviz_plugin = %{version}-%{release}

%description -n graphviz-perl
The graphviz-perl package contains the Perl extension for the graphviz
tools.



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 -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 <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 -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 <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 -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 <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 -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 <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 -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 <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 -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 <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>

%prep
%setup -q -n %{mname}-%{version}
%patch0
%patch3
%patch11
%patch13
%patch14
%patch15
%patch16
%patch100
%patch101
%patch103
%patch104
%patch105 -p1
%patch106
# 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}/man3/gv.3guile.gz

%files -n graphviz-java
%defattr(-,root,root,-)
%{_libdir}/graphviz/java

%files -n graphviz-sharp
%defattr(-,root,root)
%{_libdir}/graphviz/sharp
%doc %{_mandir}/man3/gv.3sharp.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}/man3/gv.3lua.gz

%files -n graphviz-ocaml
%defattr(-,root,root,-)
%{_libdir}/graphviz/ocaml
%doc %{_mandir}/man3/gv.3ocaml.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}/man3/gv.3perl.gz

%files -n graphviz-php
%defattr(-,root,root,-)
%{_libdir}/php5/extensions/gv.so
%{_datadir}/php5/gv.php
%doc %{_mandir}/man3/gv.3php.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}/man3/gv.3python.gz
%{_datadir}/%{mname}/demo/modgraph.py

%files -n graphviz-ruby
%defattr(-,root,root,-)
%{_libdir}/graphviz/ruby
%{rb_sitedir}/*-%{_os}/gv.so
%doc %{_mandir}/man3/gv.3ruby.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}/man3/*.3tcl*
%doc %{_mandir}/man3/*.3tk*
%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
openSUSE Build Service is sponsored by