From 5a3268a8730d25da2fa733e62739140eebdfa7ba Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Tue, 3 Mar 2009 01:59:37 +0000 Subject: [PATCH] fix this package up --- graphviz.spec | 903 +++++++++++++++++++------------------------------- 1 file changed, 337 insertions(+), 566 deletions(-) diff --git a/graphviz.spec b/graphviz.spec index 966285d..cdda15d 100644 --- a/graphviz.spec +++ b/graphviz.spec @@ -1,174 +1,238 @@ -# $Id: graphviz.spec.in,v 1.135 2007/12/12 19:26:17 ellson Exp $ $Revision: 1.135 $ -# graphviz.spec. Generated from graphviz.spec.in by configure. +Name: graphviz +Summary: Graph Visualization Tools +Version: 2.20.3 +Release: 3%{?dist} +Group: Applications/Multimedia +License: CPL +URL: http://www.graphviz.org/ +Source0: http://www.graphviz.org/pub/graphviz/ARCHIVE/%{name}-%{version}.tar.gz +Patch0: graphviz-2.20.3-configure-php.patch +Patch1: graphviz-2.20.3-gv.i.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: zlib-devel, libpng-devel, libjpeg-devel, expat-devel, freetype-devel >= 2 +BuildRequires: /bin/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, DevIL-devel, R-devel, swig >= 1.3.33 +%ifnarch ppc64 s390 s390x sparc64 +BuildRequires: mono-core, ocaml +%endif +Requires: urw-fonts +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig -# Note: pre gd-2.0.34 graphviz uses its own gd tree with gif support and other fixes - -#-- Global graphviz rpm and src.rpm tags------------------------------------- -Name: graphviz -Summary: Graph Visualization Tools -Version: 2.20.3 - -%define truerelease 2 -%{?distroagnostic: %define release %{truerelease}} -%{!?distroagnostic: %define release %{truerelease}%{?dist}} - -Release: %{?release}.3 - -Group: Applications/Multimedia -License: CPL -URL: http://www.graphviz.org/ -Source0: http://www.graphviz.org/pub/graphviz/ARCHIVE/%{name}-%{version}.tar.gz -Patch0: graphviz-2.20.3-configure-php.patch -Patch1: graphviz-2.20.3-gv.i.patch - - -# graphviz is relocatable - Caution: this feature is used in AT&T, -# but probably will not be supported in Redhat/Fedora/Centos distros -#Prefix: /usr - -#-- feature and package selection ------------------------------------------- -# depends on %dist and %fedora (or %rhl or %rhel) which are set -# in .rpmmacros on each build host - -# Define a default set of features incase none of the conditionals apply -%define SHARP 0 -%define GUILE 0 -%define _IO 0 -%define JAVA 0 -%define LUA 0 -%define OCAML 0 -%define PERL 0 -%define PHP 0 -%define PYTHON 0 -%define RUBY 0 -%define R_LANG 0 -%define TCL 1 -%define IPSEPCOLA --without-ipsepcola -%define MYLIBGD --with-mylibgd -%define PANGOCAIRO --without-pangocairo -%define DEVIL 0 -%define MING 0 -%define GDK_PIXBUF --without-gdk-pixbuf - -# SuSE uses a different mechanism to generate BuildRequires -# norootforbuild -# neededforbuild expat freetype2 freetype2-devel gcc libjpeg libpng-devel-packages tcl tcl-devel tk tk-devel x-devel-packages - -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) - -BuildRequires: zlib-devel libpng-devel libjpeg-devel expat-devel freetype-devel >= 2 -BuildRequires: /bin/ksh bison m4 flex tk tcl >= 8.3 swig - -# This just indicates the requirement for tcl.h, tk.h, but doesn't identify -# where to get them from. In RH9 and earlier they were in the tcl, tk, -# base packages which are always BR'd anyway (above). -BuildRequires: /usr/include/tcl.h /usr/include/tk.h - -#-- Red Hat Linux specific Build Requirements ------------------------------- -%if 0%{?rhl} -%define TCL 1 -BuildRequires: XFree86-devel +# Necessary conditionals +%ifarch ppc64 s390 s390x sparc64 +%global SHARP 0 +%global OCAML 0 +%else +%global SHARP 1 +%global OCAML 1 %endif - -#-- Red Hat Enterprise Linux specific Build Requirements -------------------- -%if 0%{?rhel} -%define TCL 1 -%if}0%{?rhel} < 4 -BuildRequires: XFree86-devel -%endif -%if 0%{?rhel} >= 3 -%define IPSEPCOLA --with-ipsepcola -BuildRequires: fontconfig-devel tcl-devel tk-devel -%endif -%if 0%{?rhel} == 4 -BuildRequires: xorg-x11-devel -%endif -%if 0%{?rhel} >= 4 -# PERL is available earlier, but a suitable SWIG isn't -%define PERL 1 -%define RUBY 1 -%define GUILE 1 -%define PYTHON 1 -BuildRequires: perl ruby-devel guile-devel python-devel -%endif -%if 0%{?rhel} >= 5 -%define JAVA 1 -%define PANGOCAIRO --with-pangocairo -BuildRequires: libtool-ltdl libtool-ltdl-devel libXaw-devel libSM-devel libICE-devel libXpm-devel libXt-devel libXmu-devel libXext-devel libX11-devel java-devel -BuildRequires: cairo-devel >= 1.1.10 pango-devel gmp-devel gtk2-devel libgnomeui-devel -%endif -%if 0%{?rhel} >= 6 -%define PHP 1 -%define MYLIBGD --without-mylibgd -%define GDK_PIXBUF --with-gdk-pixbuf -BuildRequires: gd gd-devel perl-devel php-devel -%endif -%endif - -#-- Fedora specific Build Requirements -------------------------------------- -%if 0%{?fedora} -%define PERL 1 -%define TCL 1 -BuildRequires: fontconfig-devel tcl-devel tk-devel -%if 0%{?fedora} < 3 -BuildRequires: XFree86-devel -%endif -%if 0%{?fedora} == 3 -BuildRequires: xorg-x11-devel -%endif -%if 0%{?fedora} == 4 -BuildRequires: xorg-x11-devel -%endif -%if 0%{?fedora} >= 3 -%define IPSEPCOLA --with-ipsepcola -%endif -%if 0%{?fedora} >= 4 -%define RUBY 1 -%define GUILE 1 -%define PYTHON 1 -BuildRequires: libtool-ltdl libtool-ltdl-devel ruby ruby-devel guile-devel python-devel -%endif -%if 0%{?fedora} >= 5 -%define PHP 1 -%define JAVA 1 -BuildRequires: libXaw-devel libSM-devel libICE-devel libXpm-devel libXt-devel libXmu-devel libXext-devel libX11-devel java-devel php-devel -%ifnarch ppc64 s390 s390x -%define SHARP 1 -%define OCAML 1 -BuildRequires: mono-core ocaml -%endif -%endif -%if 0%{?fedora} >= 6 -%define LUA 1 -%define PANGOCAIRO --with-pangocairo -BuildRequires: cairo-devel >= 1.1.10 pango-devel gmp-devel lua-devel gtk2-devel libgnomeui-devel -%endif -%if 0%{?fedora} >= 7 -%define DEVIL 1 -%define MYLIBGD --without-mylibgd -%define GDK_PIXBUF --with-gdk-pixbuf -BuildRequires: gd gd-devel perl-devel DevIL-devel -%endif -%if 0%{?fedora} >= 8 -%define R_LANG 1 -BuildRequires: R-devel swig >= 1.3.33 -%endif -%if 0%{?fedora} >= 9 -%define MING 0 -#BuildRequires: ming ming-devel -%endif -%endif - -#-- main graphviz rpm ------------------------------------------------ -Requires: urw-fonts -Requires(post): /sbin/ldconfig -Requires(postun): /sbin/ldconfig +# Not in Fedora yet. +%global MING 0 %description -A collection of tools for the manipulation and layout -of graphs (as in nodes and edges, not as in barcharts). +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 + +%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. + +%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.) + +%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}, php + +%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. + +%package R +Group: Applications/Multimedia +Summary: R extension for graphviz +Requires: %{name} = %{version}-%{release}, R-core + +%description R +R extension for graphviz. + +%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 +%patch0 -p1 +%patch1 -p1 + +%build +# %%define NO_IO --disable-io + +# XXX ix86 only used to have -ffast-math, let's use everywhere +%{expand: %%define optflags %{optflags} -ffast-math} +# 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 +%configure --with-x --disable-static --disable-dependency-tracking --without-mylibgd --with-ipsepcola --with-pangocairo --with-gdk-pixbuf \ +%if ! %{SHARP} + --disable-sharp \ +%endif +%if ! %{OCAML} + --disable-ocaml \ +%endif +%if ! %{MING} + --without-ming \ +%endif + +make %{?_smp_mflags} + +%install +rm -rf %{buildroot} __doc +make DESTDIR=%{buildroot} \ + docdir=%{buildroot}%{_docdir}/%{name} \ + pkgconfigdir=%{_libdir}/pkgconfig \ + install +find %{buildroot} -type f -name "*.la" -exec rm -f {} ';' +chmod -x %{buildroot}%{_datadir}/%{name}/lefty/* +cp -a %{buildroot}%{_datadir}/%{name}/doc __doc +rm -rf %{buildroot}%{_datadir}/%{name}/doc + +%check +%ifnarch ppc64 ppc +# regression test, segfaults on ppc/ppc64, possible endian issues? +cd rtest +make rtest +%endif + +%clean +rm -rf %{buildroot} -# run "dot -c" to generate plugin config in %{_libdir}/graphviz/config %post /sbin/ldconfig %{_bindir}/dot -c @@ -180,6 +244,30 @@ if [ $1 -eq 0 ]; then fi /sbin/ldconfig +# run "dot -c" to generate plugin config in %{_libdir}/graphviz/config +%post devil +%{_bindir}/dot -c + +%postun devil +[ -x %{_bindir}/dot ] && %{_bindir}/dot -c || : + +%post gd +/sbin/ldconfig +%{_bindir}/dot -c + +%postun gd +/sbin/ldconfig +[ -x %{_bindir}/dot ] && %{_bindir}/dot -c || : + +%if %{MING} +# run "dot -c" to generate plugin config in %{_libdir}/graphviz/config +%post ming +%{_bindir}/dot -c + +%postun ming +[ -x %{_bindir}/dot ] && %{_bindir}/dot -c || : +%endif + %files %defattr(-,root,root,-) %doc AUTHORS COPYING ChangeLog NEWS README @@ -193,438 +281,121 @@ fi %{_datadir}/graphviz/lefty %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 -#-- graphviz-gd rpm -------------------------------------------------- -%package gd -Group: Applications/Multimedia -Summary: Graphviz plugin for renderers based on gd -Requires: graphviz = %{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.) - -# run "dot -c" to generate plugin config in %{_libdir}/graphviz/config -%post gd -/sbin/ldconfig -%{_bindir}/dot -c - -%postun gd -/sbin/ldconfig -[ -x %{_bindir}/dot ] && %{_bindir}/dot -c || : - -%files gd -%{_libdir}/graphviz/libgvplugin_gd.so.* - -#-- graphviz-devil rpm -------------------------------------------------- -%if %{DEVIL} -%package devil -Group: Applications/Multimedia -Summary: Graphviz plugin for renderers based on DevIL -Requires: graphviz = %{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.) - -# run "dot -c" to generate plugin config in %{_libdir}/graphviz/config -%post devil -%{_bindir}/dot -c - -%postun devil -[ -x %{_bindir}/dot ] && %{_bindir}/dot -c || : - -%files devil -%{_libdir}/graphviz/libgvplugin_devil.so.* -%endif - -#-- graphviz-ming rpm -------------------------------------------------- -%if %{MING} -%package ming -Group: Applications/Multimedia -Summary: Graphviz plugin for flash renderer based on ming -Requires: graphviz = %{version}-%{release} - -%description ming -Graphviz plugin for -Tswf (flash) renderer based on ming. - -# run "dot -c" to generate plugin config in %{_libdir}/graphviz/config -%post ming -%{_bindir}/dot -c - -%postun ming -[ -x %{_bindir}/dot ] && %{_bindir}/dot -c || : - -%files ming -%{_libdir}/graphviz/libgvplugin_ming.so.* -%{_libdir}/graphviz/*fdb -%endif - -#-- graphviz-sharp rpm -------------------------------------------- -%if %{SHARP} -%package sharp -Group: Applications/Multimedia -Summary: C# extension for graphviz -Requires: graphviz = %{version}-%{release} mono-core - -%description sharp -C# extension for graphviz. - -%files sharp -%defattr(-,root,root,-) -%dir %{_libdir}/graphviz/sharp -%{_libdir}/graphviz/sharp/* -%{_mandir}/mann/gv_sharp.n* -%endif - -#-- graphviz-guile rpm -------------------------------------------- -%if %{GUILE} -%package guile -Group: Applications/Multimedia -Summary: Guile extension for graphviz -Requires: graphviz = %{version}-%{release} guile - -%description guile -Guile extension for graphviz. - -%files guile -%defattr(-,root,root,-) -%dir %{_libdir}/graphviz/guile -%{_libdir}/graphviz/guile/* -%{_mandir}/mann/gv_guile.n* -%endif - -#-- graphviz-io rpm ----------------------------------------------- -%if %{_IO} -%package io -Group: Applications/Multimedia -Summary: Io extension for graphviz -Requires: graphviz = %{version}-%{release} io - -%description io -Io extension for graphviz. - -%files io -%defattr(-,root,root,-) -%dir %{_libdir}/graphviz/io -%{_libdir}/graphviz/io/* -%{_mandir}/mann/gv_io.n* -%endif - -#-- graphviz-java rpm --------------------------------------------- -%if %{JAVA} -%package java -Group: Applications/Multimedia -Summary: Java extension for graphviz -Requires: graphviz = %{version}-%{release} java - -%description java -Java extension for graphviz. - -%files java -%defattr(-,root,root,-) -%dir %{_libdir}/graphviz/java -%{_libdir}/graphviz/java/* -%{_mandir}/mann/gv_java.n* -%endif - -#-- graphviz-lua rpm ---------------------------------------------- -%if %{LUA} -%package lua -Group: Applications/Multimedia -Summary: Lua extension for graphviz -Requires: graphviz = %{version}-%{release} lua - -%description lua -Lua extension for graphviz. - -%files lua -%defattr(-,root,root,-) -%dir %{_libdir}/graphviz/lua -%{_libdir}/graphviz/lua/* -%{_libdir}/lua*/* -%{_mandir}/mann/gv_lua.n* -%endif - -#-- graphviz-ocaml rpm -------------------------------------------- -%if %{OCAML} -%package ocaml -Group: Applications/Multimedia -Summary: Ocaml extension for graphviz -Requires: graphviz = %{version}-%{release} ocaml - -%description ocaml -Ocaml extension for graphviz. - -%files ocaml -%defattr(-,root,root,-) -%dir %{_libdir}/graphviz/ocaml -%{_libdir}/graphviz/ocaml/* -%{_mandir}/mann/gv_ocaml.n* -%endif - -#-- graphviz-perl rpm --------------------------------------------- -%if %{PERL} -%package perl -Group: Applications/Multimedia -Summary: Perl extension for graphviz -Requires: graphviz = %{version}-%{release} -Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) - -%description perl -Perl extension for graphviz. - -%files perl -%defattr(-,root,root,-) -%dir %{_libdir}/graphviz/perl -%{_libdir}/graphviz/perl/* -%{_libdir}/perl*/* -%{_mandir}/mann/gv_perl.n* -%endif - -#-- graphviz-php rpm ---------------------------------------------- -%if %{PHP} -%package php -Group: Applications/Multimedia -Summary: PHP extension for graphviz -Requires: graphviz = %{version}-%{release} php - -%description php -PHP extension for graphviz. - -%files php -%defattr(-,root,root,-) -%dir %{_libdir}/graphviz/php -%{_libdir}/graphviz/php/* -%{_libdir}/php*/* -%{_datadir}/php*/* -%{_mandir}/mann/gv_php.n* -%endif - -#-- graphviz-python rpm ------------------------------------------- -%if %{PYTHON} -%package python -Group: Applications/Multimedia -Summary: Python extension for graphviz -Requires: graphviz = %{version}-%{release} python - -%description python -Python extension for graphviz. - -%files python -%defattr(-,root,root,-) -%dir %{_libdir}/graphviz/python -%{_libdir}/graphviz/python/* -%{_libdir}/python*/* -%{_mandir}/mann/gv_python.n* -%endif - -#-- graphviz-r rpm --------------------------------------------- -%if %{R_LANG} -%package R -Group: Applications/Multimedia -Summary: R extension for graphviz -Requires: graphviz = %{version}-%{release} R-core - -%description R -R extension for graphviz. - -%files R -%defattr(-,root,root,-) -%dir %{_libdir}/graphviz/R -%{_libdir}/graphviz/R/* -%{_mandir}/mann/gv_R.n* -%endif - -#-- graphviz-ruby rpm --------------------------------------------- -%if %{RUBY} -%package ruby -Group: Applications/Multimedia -Summary: Ruby extension for graphviz -Requires: graphviz = %{version}-%{release} ruby - -%description ruby -Ruby extension for graphviz. - -%files ruby -%defattr(-,root,root,-) -%dir %{_libdir}/graphviz/ruby -%{_libdir}/graphviz/ruby/* -%{_libdir}/*ruby*/* -%{_mandir}/mann/gv_ruby.n* -%endif - -#-- graphviz-tcl rpm ---------------------------------------------- -%if %{TCL} -%package tcl -Group: Applications/Multimedia -Summary: Tcl extension & tools for graphviz -Requires: graphviz = %{version}-%{release} tcl >= 8.3 tk - -%description tcl -Various tcl packages (extensions) for the graphviz tools. - -%files tcl -%defattr(-,root,root,-) -%dir %{_libdir}/graphviz/tcl -%{_libdir}/graphviz/tcl/* -%{_libdir}/tcl*/* -%{_datadir}/graphviz/demo/ -# hack to include gv_tcl.n only if available -# always includes tcldot.n, gdtclft.n -%{_mandir}/mann/*tcl*.n* -%{_mandir}/mann/tkspline.n* -%endif - -#-- graphviz-devel rpm -------------------------------------------- -%package devel -Group: Development/Libraries -Summary: Development package for graphviz -Requires: graphviz = %{version}-%{release} pkgconfig - -%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. - %files devel %defattr(-,root,root,-) %{_includedir}/graphviz %{_libdir}/*.so +%{_libdir}/graphviz/*.so %{_libdir}/pkgconfig/*.pc %{_mandir}/man3/*.3* -%exclude %{_libdir}/graphviz/*/* -%exclude %{_libdir}/graphviz/libgvplugin* -%exclude %{_libdir}/graphviz/*.so -#-- graphviz-graphs rpm ------------------------------------------- -%package graphs -Group: Applications/Multimedia -Summary: Demo graphs for graphviz +%files devil +%defattr(-,root,root,-) +%{_libdir}/graphviz/libgvplugin_devil.so.* -%description graphs -Some demo graphs for graphviz. +%files doc +%defattr(-,root,root,-) +%doc __doc/* + +%files gd +%defattr(-,root,root,-) +%{_libdir}/graphviz/libgvplugin_gd.so.* %files graphs %defattr(-,root,root,-) %dir %{_datadir}/graphviz %{_datadir}/graphviz/graphs -#-- graphviz-doc rpm ---------------------------------------------- -%package doc -Group: Documentation -Summary: PDF and HTML documents for graphviz - -%description doc -Provides some additional PDF and HTML documentation for graphviz. - -%files doc +%files guile %defattr(-,root,root,-) -%doc __doc/* +%{_libdir}/graphviz/guile/ +%{_mandir}/mann/gv_guile.n* -#-- building -------------------------------------------------- +%files java +%defattr(-,root,root,-) +%{_libdir}/graphviz/java/ +%{_mandir}/mann/gv_java.n* -%prep -%setup -q -%patch0 -p1 -%patch1 -p1 +%files lua +%defattr(-,root,root,-) +%{_libdir}/graphviz/lua/ +%{_libdir}/lua*/* +%{_mandir}/mann/gv_lua.n* -%build -%if ! %{SHARP} -%define NO_SHARP --disable-sharp -%endif -%if ! %{GUILE} -%define NO_GUILE --disable-guile -%endif -%if ! %{_IO} -%define NO_IO --disable-io -%endif -%if ! %{JAVA} -%define NO_JAVA --disable-java -%endif -%if ! %{LUA} -%define NO_LUA --disable-lua -%endif -%if ! %{OCAML} -%define NO_OCAML --disable-ocaml -%endif -%if ! %{PERL} -%define NO_PERL --disable-perl -%endif -%if ! %{PHP} -%define NO_PHP --disable-php -%endif -%if ! %{PYTHON} -%define NO_PYTHON --disable-python -%endif -%if ! %{R_LANG} -%define NO_R_LANG --disable-r -%endif -%if ! %{RUBY} -%define NO_RUBY --disable-ruby -%endif -%if ! %{TCL} -%define NO_TCL --disable-tcl -%endif -%if ! %{DEVIL} -%define NO_DEVIL --without-devil -%endif -%if ! %{MING} -%define NO_MING --without-ming +%if %{MING} +%files ming +%defattr(-,root,root,-) +%{_libdir}/graphviz/libgvplugin_ming.so.* +%{_libdir}/graphviz/*fdb %endif -# XXX ix86 only used to have -ffast-math, let's use everywhere -%{expand: %%define optflags %{optflags} -ffast-math} +%if %{OCAML} +%files ocaml +%defattr(-,root,root,-) +%{_libdir}/graphviz/ocaml/ +%{_mandir}/mann/gv_ocaml.n* +%endif -# %%configure is broken in RH7.3 rpmbuild -CFLAGS="$RPM_OPT_FLAGS" \ -./configure \ - --prefix=%{_prefix} \ - --bindir=%{_bindir} \ - --libdir=%{_libdir} \ - --includedir=%{_includedir} \ - --datadir=%{_datadir} \ - --mandir=%{_mandir} \ - --with-x \ - --disable-static \ - --disable-dependency-tracking \ - %{MYLIBGD} %{IPSEPCOLA} %{PANGOCAIRO} %{GDK_PIXBUF} \ - %{?NO_SHARP} %{?NO_GUILE} %{?NO_IO} %{?NO_JAVA} %{?NO_LUA} %{?NO_OCAML} %{?NO_PERL} %{?NO_PHP} %{?NO_PYTHON} %{?NO_R_LANG} %{?NO_RUBY} %{?NO_TCL} %{?NO_DEVIL} %{?NO_MING} -make %{?_smp_mflags} +%files perl +%defattr(-,root,root,-) +%{_libdir}/graphviz/perl/ +%{_libdir}/perl*/* +%{_mandir}/mann/gv_perl.n* -%install -rm -rf %{buildroot} __doc -make DESTDIR=%{buildroot} \ - docdir=%{buildroot}%{_docdir}/%{name} \ - pkgconfigdir=%{_libdir}/pkgconfig \ - install -find %{buildroot} -type f -name "*.la" -exec rm -f {} ';' -chmod -x %{buildroot}%{_datadir}/%{name}/lefty/* -cp -a %{buildroot}%{_datadir}/%{name}/doc __doc -rm -rf %{buildroot}%{_datadir}/%{name}/doc +%files php +%defattr(-,root,root,-) +%{_libdir}/graphviz/php/ +%{_libdir}/php*/* +%{_datadir}/php*/* +%{_mandir}/mann/gv_php.n* -%clean -# regression test -cd rtest -make rtest -# clean up temporary installation -rm -rf %{buildroot} +%files python +%defattr(-,root,root,-) +%{_libdir}/graphviz/python/ +%{_libdir}/python*/* +%{_mandir}/mann/gv_python.n* + +%files R +%defattr(-,root,root,-) +%{_libdir}/graphviz/R/ +%{_mandir}/mann/gv_R.n* + +%files ruby +%defattr(-,root,root,-) +%{_libdir}/graphviz/ruby/ +%{_libdir}/*ruby*/* +%{_mandir}/mann/gv_ruby.n* + +%if %{SHARP} +%files sharp +%defattr(-,root,root,-) +%{_libdir}/graphviz/sharp/ +%{_mandir}/mann/gv_sharp.n* +%endif + +%files tcl +%defattr(-,root,root,-) +%{_libdir}/graphviz/tcl/ +%{_libdir}/tcl*/* +%{_datadir}/graphviz/demo/ +# hack to include gv_tcl.n only if available +# always includes tcldot.n, gdtclft.n +%{_mandir}/mann/*tcl*.n* +%{_mandir}/mann/tkspline.n* -#-- changelog -------------------------------------------------- %changelog +* Mon Mar 2 2009 Tom "spot" Callaway 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 2.20.3-2.2 - fixes for swig changes