#-- main graphviz rpm ------------------------------------------------
Requires: urw-fonts
Requires: %{name}-libs = %{version}-%{release}
-Requires(post): /sbin/ldconfig
-Requires(postun): /sbin/ldconfig
+Requires: %{name}-plugins-core = %{version}-%{release}
%description
A collection of tools for the manipulation and layout
of graphs (as in nodes and edges, not as in bar-charts).
-# run "dot -c" to generate plugin config in {_libdir}/graphviz/config
-# (don't rely on ldconfig to find libraries since it won't
-# help if --prefix was used to relocate binaries)
-%post
-LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c
-/sbin/ldconfig
-
-# if there is no dot after everything else is done, then remove config
-%postun
-if [ $1 -eq 0 ]; then
- rm -f $RPM_INSTALL_PREFIX0/%{_lib}/graphviz/config || :
-fi
-/sbin/ldconfig
-
%files
%defattr(-,root,root,-)
%doc AUTHORS COPYING ChangeLog NEWS README
%{_mandir}/man7/graphviz.7*
%dir %{_datadir}/graphviz
%{_datadir}/graphviz/gvpr/*
-%dir %{_libdir}/graphviz
-%{_libdir}/graphviz/libgvplugin_core.so.*
-%{_libdir}/graphviz/libgvplugin_dot_layout.so.*
-%{_libdir}/graphviz/libgvplugin_neato_layout.so.*
#-- graphviz-libs rpm --------------------------------------------------
%package libs
Group: Applications/Multimedia
Summary: Graphviz base libs
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
%description libs
Graphviz core libs
%{_libdir}/libpathplan.so.*
%{_libdir}/libxdot.so.4*
+#-- graphviz-plugins-core rpm --------------------------------------------------
+%package plugins-core
+Group: Applications/Multimedia
+Summary: Graphviz plugins - core layout engines and text renderers
+Requires: %{name} = %{version}-%{release}
+
+%description plugins-core
+Graphviz plugins - core layout engines and text renderers
+
+# run "dot -c" to generate plugin config in {_libdir}/graphviz/config
+%post
+LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c
+
+# if there is no dot after everything else is done, then remove config
+%postun
+if [ $1 -eq 0 ]; then
+ rm -f $RPM_INSTALL_PREFIX0/%{_lib}/graphviz/config || :
+fi
+
+%files plugins-core
+%defattr(-,root,root,-)
+%dir %{_libdir}/graphviz
+%{_libdir}/graphviz/libgvplugin_core.so.*
+%{_libdir}/graphviz/libgvplugin_dot_layout.so.*
+%{_libdir}/graphviz/libgvplugin_neato_layout.so.*
+
#-- graphviz-x rpm --------------------------------------------------
%if 0%{?__X}
%package x
Group: Applications/Multimedia
-Summary: Graphviz plugins and commands that depend on x11 - most installations will want this
+Summary: Graphviz commands that depend on x11 - most installations will want this
Requires: %{name} = %{version}-%{release}
+Requires: %{name}-plugins-x = %{version}-%{release}
%description x
Graphviz plugins and commands that depend on x11 - most installations will want this
-# run "dot -c" to generate plugin config in {_libdir}/graphviz/config
-%post x
-LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c
-
-%postun x
-[ -x $RPM_INSTALL_PREFIX0/bin/dot ] && LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c || :
-
%files x
%{_bindir}/lefty
%{_bindir}/lneato
%{_datadir}/graphviz/smyrna
%{_mandir}/man1/smyrna.1*
%endif
-%{_libdir}/graphviz/libgvplugin_xlib.*
+%endif
+
+#-- graphviz-plugins-x rpm --------------------------------------------------
+%if 0%{?__X}
+%package plugins-x
+Group: Applications/Multimedia
+Summary: Graphviz plugins and commands that depend on x11 - most installations will want this
+Requires: %{name} = %{version}-%{release}
+
+%description plugins-x
+Graphviz plugins that depend on x11 - most installations will want this.
+
+# run "dot -c" to generate plugin config in {_libdir}/graphviz/config
+%post plugins-x
+LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c
+
+%postun plugins-x
+[ -x $RPM_INSTALL_PREFIX0/bin/dot ] && LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c || :
+
+%files plugins-x
+%defattr(-,root,root,-)
+%dir %{_libdir}/graphviz
+%{_libdir}/graphviz/libgvplugin_xlib.so.*
%if 0%{?PANGOCAIRO}
-%{_libdir}/graphviz/libgvplugin_pango.*
+%{_libdir}/graphviz/libgvplugin_pango.so.*
%endif
%if 0%{?LASI}
-%{_libdir}/graphviz/libgvplugin_lasi.*
+%{_libdir}/graphviz/libgvplugin_lasi.so.*
%endif
%if 0%{?GDK_PIXBUF}
-%{_libdir}/graphviz/libgvplugin_gdk_pixbuf.*
+%{_libdir}/graphviz/libgvplugin_gdk_pixbuf.so.*
%endif
%if 0%{?GTK}
-%{_libdir}/graphviz/libgvplugin_gtk.*
+%{_libdir}/graphviz/libgvplugin_gtk.so.*
%endif
%if 0%{?GHOSTSCRIPT}
-%{_libdir}/graphviz/libgvplugin_gs.*
+%{_libdir}/graphviz/libgvplugin_gs.so.*
%endif
%if 0%{?POPPLER}
-%{_libdir}/graphviz/libgvplugin_poppler.*
+%{_libdir}/graphviz/libgvplugin_poppler.so.*
%endif
%if 0%{?RSVG}
-%{_libdir}/graphviz/libgvplugin_rsvg.*
+%{_libdir}/graphviz/libgvplugin_rsvg.so.*
%endif
%endif
#-- graphviz-gd rpm --------------------------------------------------
%package gd
Group: Applications/Multimedia
-Summary: Graphviz plugin for renderers based on gd
+Summary: Graphviz binaries that depend on libgd
Requires: %{name} = %{version}-%{release}
+# this next Requires is not strictly neccessary for diffimg,
+# but users will probably expect the plugins to get pulled in
+Requires: %{name}-plugins-gd = %{version}-%{release}
+
%description gd
-Graphviz plugin for renderers based on gd. (Unless you absolutely have
+Graphviz binaries that depend 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.)
+
+%files gd
+%defattr(-,root,root,-)
+%{_bindir}/diffimg
+
+#-- graphviz-plugins-gd rpm --------------------------------------------------
+%package plugins-gd
+Group: Applications/Multimedia
+Summary: Graphviz plugin for gd renderers.
+Requires: %{name} = %{version}-%{release}
+
+%description plugins-gd
+Graphviz plugin for image rendering using libgd. (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.)
# run "dot -c" to generate plugin config in {_libdir}/graphviz/config
-%post gd
+%post plugins-gd
LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c
-%postun gd
+%postun plugins-gd
[ -x $RPM_INSTALL_PREFIX0/bin/dot ] && LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c || :
-%files gd
-%{_bindir}/diffimg
+%files plugins-gd
+%defattr(-,root,root,-)
+%dir %{_libdir}/graphviz
%{_libdir}/graphviz/libgvplugin_gd.so.*
-#-- graphviz-webp rpm --------------------------------------------------
+#-- graphviz-plugins-webp rpm --------------------------------------------------
%if 0%{?WEBP}
-%package webp
+%package plugins-webp
Group: Applications/Multimedia
Summary: Graphviz plugin for webp format images, using libwebp
Requires: %{name}-x = %{version}-%{release}
+Obsoletes: %{name}-webp
-%description webp
+%description plugins-webp
Graphviz plugin for webp image rendering.
# run "dot -c" to generate plugin config in {_libdir}/graphviz/config
-%post webp
+%post plugins-webp
LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c
-%postun webp
+%postun plugins-webp
[ -x $RPM_INSTALL_PREFIX0/bin/dot ] && LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c || :
-%files webp
+%files plugins-webp
+%defattr(-,root,root,-)
+%dir %{_libdir}/graphviz
%{_libdir}/graphviz/libgvplugin_webp.so.*
%endif
-#-- graphviz-devil rpm --------------------------------------------------
+#-- graphviz-plugins-devil rpm --------------------------------------------------
%if 0%{?DEVIL}
-%package devil
+%package plugins-devil
Group: Applications/Multimedia
Summary: Graphviz plugin for renderers based on DevIL
Requires: %{name}-x = %{version}-%{release}
+Obsoletes: %{name}-devil
-%description devil
+%description plugins-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.)
# run "dot -c" to generate plugin config in {_libdir}/graphviz/config
-%post devil
+%post plugins-devil
LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c
-%postun devil
+%postun plugins-devil
[ -x $RPM_INSTALL_PREFIX0/bin/dot ] && LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c || :
-%files devil
+%files plugins-devil
+%defattr(-,root,root,-)
+%dir %{_libdir}/graphviz
%{_libdir}/graphviz/libgvplugin_devil.so.*
%endif
-#-- graphviz-ming rpm --------------------------------------------------
+#-- graphviz-plugins-ming rpm --------------------------------------------------
%if 0%{?MING}
-%package ming
+%package plugins-ming
Group: Applications/Multimedia
Summary: Graphviz plugin for flash renderer based on ming
Requires: %{name}-x = %{version}-%{release}
+Obsoletes: %{name}-ming
-%description ming
+%description plugins-ming
Graphviz plugin for -Tswf (flash) renderer based on ming.
# run "dot -c" to generate plugin config in {_libdir}/graphviz/config
-%post ming
+%post plugins-ming
LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c
-%postun ming
+%postun plugins-ming
[ -x $RPM_INSTALL_PREFIX0/bin/dot ] && LD_LIBRARY_PATH=$RPM_INSTALL_PREFIX0/%{_lib} $RPM_INSTALL_PREFIX0/bin/dot -c || :
-%files ming
+%files plugins-ming
%{_libdir}/graphviz/libgvplugin_ming.so.*
%{_libdir}/graphviz/*fdb
%endif
%{_mandir}/man1/gvedit.1*
%endif
-#-- graphviz-sharp rpm --------------------------------------------
+#-- graphviz-lang-sharp rpm --------------------------------------------
%if 0%{?SHARP}
-%package sharp
+%package lang-sharp
Group: Applications/Multimedia
Summary: C# extension for graphviz
Requires: %{name} = %{version}-%{release}, mono-core
+Obsoletes: %{name}-sharp
-%description sharp
+%description lang-sharp
C# extension for graphviz.
-%files sharp
+%files lang-sharp
%defattr(-,root,root,-)
%dir %{_libdir}/graphviz/sharp
%{_libdir}/graphviz/sharp/*
%{_mandir}/man3/*.3sharp.*
%endif
-#-- graphviz-guile rpm --------------------------------------------
+#-- graphviz-lang-guile rpm --------------------------------------------
%if 0%{?GUILE}
-%package guile
+%package lang-guile
Group: Applications/Multimedia
Summary: Guile extension for graphviz
Requires: %{name} = %{version}-%{release}, guile
+Obsoletes: %{name}-guile
-%description guile
+%description lang-guile
Guile extension for graphviz.
-%files guile
+%files lang-guile
%defattr(-,root,root,-)
%dir %{_libdir}/graphviz/guile
%{_libdir}/graphviz/guile/*
%{_mandir}/man3/*.3guile.*
%endif
-#-- graphviz-io rpm -----------------------------------------------
+#-- graphviz-lang-io rpm -----------------------------------------------
%if 0%{?_IO}
-%package io
+%package lang-io
Group: Applications/Multimedia
Summary: Io extension for graphviz
Requires: %{name} = %{version}-%{release}, io
+Obsoletes: %{name}-io
-%description io
+%description lang-io
Io extension for graphviz.
-%files io
+%files lang-io
%defattr(-,root,root,-)
%dir %{_libdir}/graphviz/io
%{_libdir}/graphviz/io/*
%{_mandir}/man3/*.3io.*
%endif
-#-- graphviz-java rpm ---------------------------------------------
+#-- graphviz-lang-java rpm ---------------------------------------------
%if 0%{?JAVA}
-%package java
+%package lang-java
Group: Applications/Multimedia
Summary: Java extension for graphviz
Requires: %{name} = %{version}-%{release}, java
+Obsoletes: %{name}-java
-%description java
+%description lang-java
Java extension for graphviz.
-%files java
+%files lang-java
%defattr(-,root,root,-)
%dir %{_libdir}/graphviz/java
%{_libdir}/graphviz/java/*
%{_mandir}/man3/*.3java.*
%endif
-#-- graphviz-lua rpm ----------------------------------------------
+#-- graphviz-lang-lua rpm ----------------------------------------------
%if 0%{?LUA}
-%package lua
+%package lang-lua
Group: Applications/Multimedia
Summary: Lua extension for graphviz
Requires: %{name} = %{version}-%{release}, lua
+Obsoletes: %{name}-lua
-%description lua
+%description lang-lua
Lua extension for graphviz.
-%files lua
+%files lang-lua
%defattr(-,root,root,-)
%dir %{_libdir}/graphviz/lua
%{_libdir}/graphviz/lua/*
%{_mandir}/man3/*.3lua.*
%endif
-#-- graphviz-ocaml rpm --------------------------------------------
+#-- graphviz-lang-ocaml rpm --------------------------------------------
%if 0%{?OCAML}
-%package ocaml
+%package lang-ocaml
Group: Applications/Multimedia
Summary: Ocaml extension for graphviz
Requires: %{name} = %{version}-%{release}, ocaml
+Obsoletes: %{name}-ocaml
-%description ocaml
+%description lang-ocaml
Ocaml extension for graphviz.
-%files ocaml
+%files lang-ocaml
%defattr(-,root,root,-)
%dir %{_libdir}/graphviz/ocaml
%{_libdir}/graphviz/ocaml/*
%{_mandir}/man3/*.3ocaml.*
%endif
-#-- graphviz-perl rpm ---------------------------------------------
+#-- graphviz-lang-perl rpm ---------------------------------------------
%if 0%{?PERL}
-%package perl
+%package lang-perl
Group: Applications/Multimedia
Summary: Perl extension for graphviz
Requires: %{name} = %{version}-%{release}, perl
+Obsoletes: %{name}-perl
-%description perl
+%description lang-perl
Perl extension for graphviz.
-%files perl
+%files lang-perl
%defattr(-,root,root,-)
%dir %{_libdir}/graphviz/perl
%{_libdir}/graphviz/perl/*
%{_mandir}/man3/*.3perl.*
%endif
-#-- graphviz-php rpm ----------------------------------------------
+#-- graphviz-lang-php rpm ----------------------------------------------
%if 0%{?PHP}
-%package php
+%package lang-php
Group: Applications/Multimedia
Summary: PHP extension for graphviz
Requires: %{name} = %{version}-%{release}, php
-#Requires: php(zend-abi) = %{php_zend_api}
-#Requires: php(api) = %{php_apiver}
+Obsoletes: %{name}-php
-%description php
+%description lang-php
PHP extension for graphviz.
-%files php
+%files lang-php
%defattr(-,root,root,-)
%config(noreplace) %{_sysconfdir}/php.d/%{name}.ini
%{_libdir}/graphviz/php/
%{_mandir}/man3/*.3php.*
%endif
-#-- graphviz-python rpm -------------------------------------------
+#-- graphviz-lang-python rpm -------------------------------------------
%if 0%{?PYTHON}
-%package python
+%package lang-python
Group: Applications/Multimedia
Summary: Python extension for graphviz
Requires: %{name} = %{version}-%{release}, python
+Obsoletes: %{name}-python
-%description python
+%description lang-python
Python extension for graphviz.
-%files python
+%files lang-python
%defattr(-,root,root,-)
%dir %{_libdir}/graphviz/python
%{_libdir}/graphviz/python/*
%{_mandir}/man3/*.3python.*
%endif
-#-- graphviz-R rpm ---------------------------------------------
+#-- graphviz-lang-R rpm ---------------------------------------------
%if 0%{?R_LANG}
-%package R
+%package lang-R
Group: Applications/Multimedia
Summary: R extension for graphviz
Requires: %{name} = %{version}-%{release}, R
+Obsoletes: %{name}-R
-%description R
+%description lang-R
R extension for graphviz.
-%files R
+%files lang-R
%defattr(-,root,root,-)
%dir %{_libdir}/graphviz/R
%{_libdir}/graphviz/R/*
%{_mandir}/man3/*.3r.*
%endif
-#-- graphviz-ruby rpm ---------------------------------------------
+#-- graphviz-lang-ruby rpm ---------------------------------------------
%if 0%{?RUBY}
-%package ruby
+%package lang-ruby
Group: Applications/Multimedia
Summary: Ruby extension for graphviz
Requires: %{name} = %{version}-%{release}, ruby
+Obsoletes: %{name}-ruby
-%description ruby
+%description lang-ruby
Ruby extension for graphviz.
-%files ruby
+%files lang-ruby
%defattr(-,root,root,-)
%dir %{_libdir}/graphviz/ruby
%{_libdir}/graphviz/ruby/*
%{_mandir}/man3/*.3ruby.*
%endif
-#-- graphviz-tcl rpm ----------------------------------------------
+#-- graphviz-lang-tcl rpm ----------------------------------------------
%if 0%{?TCL}
-%package tcl
+%package lang-tcl
Group: Applications/Multimedia
Summary: Tcl extension & tools for graphviz
Requires: %{name} = %{version}-%{release}, tcl >= 8.3 tk
+Requires: %{name}-plugins-gd = %{version}-%{release}
+Obsoletes: %{name}-tcl
-%description tcl
+%description lang-tcl
Various tcl packages (extensions) for the graphviz tools.
-%files tcl
+%files lang-tcl
%defattr(-,root,root,-)
%dir %{_libdir}/graphviz/tcl
%{_libdir}/graphviz/tcl/*