- Added perl-devel to BR for F7+

New upstream release (2.14.1), and returning to using upstream's
    graphviz.spec (he gives it more love than I could ever hope to).
This time let's actually commit the new graphviz.spec. :-)
This commit is contained in:
Patrick Laughton 2007-08-23 16:40:18 +00:00
parent b9c2af2e87
commit d38622c9ab

View File

@ -1,24 +1,23 @@
# $Id: graphviz.spec.in,v 1.96 2006/10/24 13:46:11 ellson Exp $ $Revision: 1.96 $ # $Id: graphviz.spec.in,v 1.117 2007/08/16 01:53:22 ellson Exp $ $Revision: 1.117 $
# graphviz.spec. Generated from graphviz.spec.in by configure. # graphviz.spec. Generated from graphviz.spec.in by configure.
# Note: graphviz requires gd with gif support (and other fixes), hence use # Note: pre gd-2.0.34 graphviz uses its own gd tree with gif support and other fixes
# internal one for now.
#-- graphviz src.rpm -------------------------------------------------------- #-- Global graphviz rpm and src.rpm tags-------------------------------------
Name: graphviz Name: graphviz
Version: 2.12 Summary: Graph Visualization Tools
Release: 8%{?dist} Version: 2.14.1
%define truerelease 2
%{?distroagnostic: %define release %{truerelease}}
%{!?distroagnostic: %define release %{truerelease}%{?dist}}
Release: %{?release}
Group: Applications/Multimedia
License: CPL License: CPL
URL: http://www.graphviz.org/ URL: http://www.graphviz.org/
Source: http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-2.12.tar.gz Source0: http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-2.14.1.tar.gz
Patch0: %{name}-php5.patch
Patch1: %{name}-libcdt.patch
Patch2: %{name}-black.patch
# graphviz is relocatable
#Prefix: /usr
# not until we can figure out why relocatabilty is broken
#-- feature and package selection ------------------------------------------- #-- feature and package selection -------------------------------------------
# depends on %dist and %fedora (or %rhl or %rhel) which are set # depends on %dist and %fedora (or %rhl or %rhel) which are set
@ -39,6 +38,7 @@ Patch2: %{name}-black.patch
%define IPSEPCOLA --without-ipsepcola %define IPSEPCOLA --without-ipsepcola
%define MYLIBGD --with-mylibgd %define MYLIBGD --with-mylibgd
%define MING --without-ming %define MING --without-ming
%define PANGOCAIRO --without-pangocairo
# SuSE uses a different mechanism to generate BuildRequires # SuSE uses a different mechanism to generate BuildRequires
# norootforbuild # norootforbuild
@ -54,16 +54,15 @@ BuildRequires: /bin/ksh bison m4 flex tk tcl >= 8.3 swig
# base packages which are always BR'd anyway (above). # base packages which are always BR'd anyway (above).
BuildRequires: /usr/include/tcl.h /usr/include/tk.h BuildRequires: /usr/include/tcl.h /usr/include/tk.h
#-- Red Hat Linux specific Build Requirements -------------------------------
%if 0%{?rhl} %if 0%{?rhl}
%define PERL 1
%define TCL 1 %define TCL 1
BuildRequires: XFree86-devel perl BuildRequires: XFree86-devel
%endif %endif
#-- Red Hat Enterprise Linux specific Build Requirements --------------------
%if 0%{?rhel} %if 0%{?rhel}
%define PERL 1
%define TCL 1 %define TCL 1
BuildRequires: perl
%if "%rhel" < "4" %if "%rhel" < "4"
BuildRequires: XFree86-devel BuildRequires: XFree86-devel
%endif %endif
@ -71,16 +70,27 @@ BuildRequires: XFree86-devel
%define IPSEPCOLA --with-ipsepcola %define IPSEPCOLA --with-ipsepcola
BuildRequires: fontconfig-devel tcl-devel tk-devel BuildRequires: fontconfig-devel tcl-devel tk-devel
%endif %endif
%if "%rhel" == "4"
BuildRequires: xorg-x11-devel
%endif
%if "%rhel" >= "4" %if "%rhel" >= "4"
# PERL is available earlier, but a suitable SWIG isn't
%define PERL 1
%define PHP 1 %define PHP 1
%define RUBY 1 %define RUBY 1
BuildRequires: xorg-x11-devel php-devel ruby ruby-devel %define GUILE 1
%define PYTHON 1
BuildRequires: perl php-devel ruby ruby-devel guile-devel python-devel
%endif %endif
%if "%rhel" >= "5" %if "%rhel" >= "5"
BuildRequires: libtool-ltdl libtool-ltdl-devel libXaw-devel libSM-devel libICE-devel libXpm-devel libXt-devel libXmu-devel libXext-devel libX11-devel %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 %endif
%endif %endif
#-- Fedora specific Build Requirements --------------------------------------
%if 0%{?fedora} %if 0%{?fedora}
%define PERL 1 %define PERL 1
%define TCL 1 %define TCL 1
@ -101,12 +111,12 @@ BuildRequires: xorg-x11-devel
%define PHP 1 %define PHP 1
%define RUBY 1 %define RUBY 1
%define GUILE 1 %define GUILE 1
BuildRequires: libtool-ltdl libtool-ltdl-devel php-devel ruby ruby-devel guile-devel %define PYTHON 1
BuildRequires: libtool-ltdl libtool-ltdl-devel php-devel ruby ruby-devel guile-devel python-devel
%endif %endif
%if "%fedora" >= "5" %if "%fedora" >= "5"
%define JAVA 1 %define JAVA 1
%define PYTHON 1 BuildRequires: libXaw-devel libSM-devel libICE-devel libXpm-devel libXt-devel libXmu-devel libXext-devel libX11-devel java-devel
BuildRequires: libXaw-devel libSM-devel libICE-devel libXpm-devel libXt-devel libXmu-devel libXext-devel libX11-devel libgcj-devel python-devel java-devel
%ifnarch ppc64 %ifnarch ppc64
%define SHARP 1 %define SHARP 1
%define OCAML 1 %define OCAML 1
@ -115,13 +125,16 @@ BuildRequires: mono-core ocaml
%endif %endif
%if "%fedora" >= "6" %if "%fedora" >= "6"
%define LUA 1 %define LUA 1
BuildRequires: cairo-devel >= 1.1.10 pango-devel gmp-devel lua-devel %define PANGOCAIRO --with-pangocairo
BuildRequires: cairo-devel >= 1.1.10 pango-devel gmp-devel lua-devel gtk2-devel libgnomeui-devel
%endif
%if "%fedora" >= "7"
BuildRequires: gd gd-devel perl-devel
%define MYLIBGD --without-mylibgd
%endif %endif
%endif %endif
#-- graphviz rpm -------------------------------------------------- #-- main graphviz rpm ------------------------------------------------
Group: Applications/Multimedia
Summary: Graph Visualization Tools
Requires: urw-fonts Requires: urw-fonts
Requires(post): /sbin/ldconfig Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig Requires(postun): /sbin/ldconfig
@ -130,6 +143,18 @@ Requires(postun): /sbin/ldconfig
A collection of tools for the manipulation and layout A collection of tools for the manipulation and layout
of graphs (as in nodes and edges, not as in barcharts). of graphs (as in nodes and edges, not as in barcharts).
# run "dot -c" to generate plugin config in %{_libdir}/graphviz/config
%post
/sbin/ldconfig
%{_bindir}/dot -c
# if there is no dot after everything else is done, then remove config
%postun
if [ $1 -eq 0 ]; then
rm -f %{_libdir}/graphviz/config || :
fi
/sbin/ldconfig
%files %files
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc AUTHORS COPYING ChangeLog NEWS README %doc AUTHORS COPYING ChangeLog NEWS README
@ -138,40 +163,37 @@ of graphs (as in nodes and edges, not as in barcharts).
%{_libdir}/*.so.* %{_libdir}/*.so.*
%{_libdir}/graphviz/*.so.* %{_libdir}/graphviz/*.so.*
%{_mandir}/man1/*.1* %{_mandir}/man1/*.1*
%{_mandir}/man7/*.7*
%dir %{_datadir}/graphviz %dir %{_datadir}/graphviz
%{_datadir}/graphviz/lefty %{_datadir}/graphviz/lefty
%exclude %{_libdir}/graphviz/*/* %exclude %{_libdir}/graphviz/*/*
%exclude %{_libdir}/graphviz/libgvplugin_gd.* %exclude %{_libdir}/graphviz/libgvplugin_gd.*
# run "dot -c" to generate plugin config in %{_libdir}/graphviz/config
%post
%{_bindir}/dot -c
/sbin/ldconfig
# if there is no dot after everything else is done, the remove config
%postun
if ! test -x %{_bindir}/dot; then rm -f %{_libdir}/graphviz/config; fi
/sbin/ldconfig
#-- graphviz-gd rpm -------------------------------------------------- #-- graphviz-gd rpm --------------------------------------------------
%package gd %package gd
Group: Applications/Multimedia Group: Applications/Multimedia
Summary: Graphviz plugin for renderers based on gd Summary: Graphviz plugin for renderers based on gd
Requires: graphviz = %{version}-%{release} Requires: graphviz = %{version}-%{release}
Requires(post): %{_bindir}/dot /sbin/ldconfig
Requires(postun): %{_bindir}/dot /sbin/ldconfig
%description gd %description gd
graphviz plugin for renderers based on 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
%files gd of the better quality anti-aliased lines provided by the cairo+pango
%{_libdir}/graphviz/libgvplugin_gd.so.* based renderer.)
# run "dot -c" to generate plugin config in %{_libdir}/graphviz/config # run "dot -c" to generate plugin config in %{_libdir}/graphviz/config
%post gd %post gd
/sbin/ldconfig
%{_bindir}/dot -c %{_bindir}/dot -c
# if there is not dot after everything else is done, the remove config
%postun gd %postun gd
if ! test -x %{_bindir}/dot; then rm -f %{_libdir}/graphviz/config; fi /sbin/ldconfig
[ -x %{_bindir}/dot ] && %{_bindir}/dot -c || :
%files gd
%{_libdir}/graphviz/libgvplugin_gd.so.*
#-- graphviz-sharp rpm -------------------------------------------- #-- graphviz-sharp rpm --------------------------------------------
%if %{SHARP} %if %{SHARP}
@ -187,6 +209,7 @@ C# extension for graphviz.
%defattr(-,root,root,-) %defattr(-,root,root,-)
%dir %{_libdir}/graphviz/sharp %dir %{_libdir}/graphviz/sharp
%{_libdir}/graphviz/sharp/* %{_libdir}/graphviz/sharp/*
%{_mandir}/mann/gv_sharp.n*
%endif %endif
#-- graphviz-guile rpm -------------------------------------------- #-- graphviz-guile rpm --------------------------------------------
@ -203,6 +226,7 @@ Guile extension for graphviz.
%defattr(-,root,root,-) %defattr(-,root,root,-)
%dir %{_libdir}/graphviz/guile %dir %{_libdir}/graphviz/guile
%{_libdir}/graphviz/guile/* %{_libdir}/graphviz/guile/*
%{_mandir}/mann/gv_guile.n*
%endif %endif
#-- graphviz-io rpm ----------------------------------------------- #-- graphviz-io rpm -----------------------------------------------
@ -219,6 +243,7 @@ Io extension for graphviz.
%defattr(-,root,root,-) %defattr(-,root,root,-)
%dir %{_libdir}/graphviz/io %dir %{_libdir}/graphviz/io
%{_libdir}/graphviz/io/* %{_libdir}/graphviz/io/*
%{_mandir}/mann/gv_io.n*
%endif %endif
#-- graphviz-java rpm --------------------------------------------- #-- graphviz-java rpm ---------------------------------------------
@ -235,6 +260,7 @@ Java extension for graphviz.
%defattr(-,root,root,-) %defattr(-,root,root,-)
%dir %{_libdir}/graphviz/java %dir %{_libdir}/graphviz/java
%{_libdir}/graphviz/java/* %{_libdir}/graphviz/java/*
%{_mandir}/mann/gv_java.n*
%endif %endif
#-- graphviz-lua rpm ---------------------------------------------- #-- graphviz-lua rpm ----------------------------------------------
@ -251,6 +277,7 @@ Lua extension for graphviz.
%defattr(-,root,root,-) %defattr(-,root,root,-)
%dir %{_libdir}/graphviz/lua %dir %{_libdir}/graphviz/lua
%{_libdir}/graphviz/lua/* %{_libdir}/graphviz/lua/*
%{_mandir}/mann/gv_lua.n*
%endif %endif
#-- graphviz-ocaml rpm -------------------------------------------- #-- graphviz-ocaml rpm --------------------------------------------
@ -267,6 +294,7 @@ Ocaml extension for graphviz.
%defattr(-,root,root,-) %defattr(-,root,root,-)
%dir %{_libdir}/graphviz/ocaml %dir %{_libdir}/graphviz/ocaml
%{_libdir}/graphviz/ocaml/* %{_libdir}/graphviz/ocaml/*
%{_mandir}/mann/gv_ocaml.n*
%endif %endif
#-- graphviz-perl rpm --------------------------------------------- #-- graphviz-perl rpm ---------------------------------------------
@ -283,6 +311,7 @@ Perl extension for graphviz.
%defattr(-,root,root,-) %defattr(-,root,root,-)
%dir %{_libdir}/graphviz/perl %dir %{_libdir}/graphviz/perl
%{_libdir}/graphviz/perl/* %{_libdir}/graphviz/perl/*
%{_mandir}/mann/gv_perl.n*
%endif %endif
#-- graphviz-php rpm ---------------------------------------------- #-- graphviz-php rpm ----------------------------------------------
@ -299,6 +328,7 @@ PHP extension for graphviz.
%defattr(-,root,root,-) %defattr(-,root,root,-)
%dir %{_libdir}/graphviz/php %dir %{_libdir}/graphviz/php
%{_libdir}/graphviz/php/* %{_libdir}/graphviz/php/*
%{_mandir}/mann/gv_php.n*
%endif %endif
#-- graphviz-python rpm ------------------------------------------- #-- graphviz-python rpm -------------------------------------------
@ -315,6 +345,7 @@ Python extension for graphviz.
%defattr(-,root,root,-) %defattr(-,root,root,-)
%dir %{_libdir}/graphviz/python %dir %{_libdir}/graphviz/python
%{_libdir}/graphviz/python/* %{_libdir}/graphviz/python/*
%{_mandir}/mann/gv_python.n*
%endif %endif
#-- graphviz-ruby rpm --------------------------------------------- #-- graphviz-ruby rpm ---------------------------------------------
@ -331,6 +362,7 @@ Ruby extension for graphviz.
%defattr(-,root,root,-) %defattr(-,root,root,-)
%dir %{_libdir}/graphviz/ruby %dir %{_libdir}/graphviz/ruby
%{_libdir}/graphviz/ruby/* %{_libdir}/graphviz/ruby/*
%{_mandir}/mann/gv_ruby.n*
%endif %endif
#-- graphviz-tcl rpm ---------------------------------------------- #-- graphviz-tcl rpm ----------------------------------------------
@ -349,7 +381,10 @@ Various tcl packages (extensions) for the graphviz tools.
%{_libdir}/graphviz/tcl/* %{_libdir}/graphviz/tcl/*
%{_libdir}/graphviz/pkgIndex.tcl %{_libdir}/graphviz/pkgIndex.tcl
%{_datadir}/graphviz/demo %{_datadir}/graphviz/demo
%{_mandir}/mann/*.n* # hack to include gv_tcl.n only if available
# always includes tcldot.n, gdtclft.n
%{_mandir}/mann/*tcl*.n*
%{_mandir}/mann/tkspline.n*
%endif %endif
#-- graphviz-devel rpm -------------------------------------------- #-- graphviz-devel rpm --------------------------------------------
@ -402,13 +437,45 @@ Provides some additional PDF and HTML documentation for graphviz.
%prep %prep
%setup -q %setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%build %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 ! %{RUBY}
%define NO_RUBY --disable-ruby
%endif
%if ! %{TCL}
%define NO_TCL --disable-tcl
%endif
# XXX ix86 only used to have -ffast-math, let's use everywhere # XXX ix86 only used to have -ffast-math, let's use everywhere
%{expand: %%define optflags %{optflags} -ffast-math} %{expand: %%define optflags %{optflags} -ffast-math}
# %%configure is broken in RH7.3 rpmbuild # %%configure is broken in RH7.3 rpmbuild
CFLAGS="$RPM_OPT_FLAGS" \ CFLAGS="$RPM_OPT_FLAGS" \
./configure \ ./configure \
@ -420,60 +487,39 @@ CFLAGS="$RPM_OPT_FLAGS" \
--mandir=%{_mandir} \ --mandir=%{_mandir} \
--with-x \ --with-x \
--disable-static \ --disable-static \
--disable-dependency-tracking %{MYLIBGD} %{IPSEPCOLA} %{MING} --disable-dependency-tracking %{MYLIBGD} %{IPSEPCOLA} %{MING} %{PANGOCAIRO} \
%__make %{?_smp_mflags} %{?NO_SHARP} %{?NO_GUILE} %{?NO_IO} %{?NO_JAVA} %{?NO_LUA} %{?NO_OCAML} \
%{?NO_PERL} %{?NO_PHP} %{?NO_PYTHON} %{?NO_RUBY} %{?NO_TCL}
make %{?_smp_mflags}
%install %install
rm -rf $RPM_BUILD_ROOT __doc rm -rf %{buildroot} __doc
%{__make} \ make DESTDIR=%{buildroot} \
DESTDIR=$RPM_BUILD_ROOT \ docdir=%{buildroot}%{_docdir}/%{name} \
docdir=$RPM_BUILD_ROOT%{_docdir}/%{name} \
pkgconfigdir=%{_libdir}/pkgconfig \ pkgconfigdir=%{_libdir}/pkgconfig \
install install
find ${RPM_BUILD_ROOT} -type f -name "*.la" -exec rm -f {} ';' find %{buildroot} -type f -name "*.la" -exec rm -f {} ';'
chmod -x $RPM_BUILD_ROOT%{_datadir}/%{name}/lefty/* chmod -x %{buildroot}%{_datadir}/%{name}/lefty/*
cp -a $RPM_BUILD_ROOT%{_datadir}/%{name}/doc __doc cp -a %{buildroot}%{_datadir}/%{name}/doc __doc
rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/doc rm -rf %{buildroot}%{_datadir}/%{name}/doc
%clean %clean
rm -rf $RPM_BUILD_ROOT rm -rf %{buildroot}
#-- changelog -------------------------------------------------- #-- changelog --------------------------------------------------
%changelog %changelog
* Thu Jul 12 2007 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.12-8 * Thu Aug 23 2007 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.14.1-2
- Patch to fix BZ#241790 (thanks John!) - Added perl-devel to BR for F7+
* Sat May 05 2007 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.12-7
- Patch to fix BZ#237496
- Disabling relocatability to work around BZ#237082
- Disabling -ocaml and -sharp subpackages for ppc64 to remedy BZ#239078
* Wed Feb 14 2007 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.12-6
- Removed patch, as tcl/tk got rolled back to 8.4
* Wed Feb 07 2007 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.12-5
- Added patch for slightly broken tk 8.5
* Thu Feb 01 2007 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.12-4
- Bump-n-build due to tk upgrade
* Wed Jan 24 2007 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.12-3
- Added running of /sbin/ldconfig in post/postun (and Reqs)
- Minor edit to -gd summary
- Removed explicit dependency on libgcj in -java
- Added BR for ruby (not pulled in by ruby-devel!)
- Cleanup of spaces/tabs to minimize rpmlint warnings
* Wed Dec 13 2006 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.12-2
- Use of RPM_INSTALL_PREFIX0 in %%post requires Prefix: to be set
* Mon Dec 11 2006 Patrick "Jima" Laughton <jima@beer.tclug.org> 2.12-1
- Fixed dist tag
- Fixed minor typo in -lua description (BZ#218191)
- Added upstream-supplied "php5" patch (due to newer swig)
- Added BR: java-devel & R: java
* Wed Aug 15 2007 John Ellson <ellson@research.att.com>
- release 2.14.1 - see ChangeLog for details
* Wed Aug 2 2007 John Ellson <ellson@research.att.com>
- release 2.14 - see ChangeLog for details
* Fri Mar 16 2007 Stephen North <north@research.att.com>
- remove xorg-X11-devel from rhel >= 5
* Mon Dec 11 2006 John Ellson <john.ellson@comcast.net>
- fix graphviz-lua description (Fedora BZ#218191)
* Tue Sep 13 2005 John Ellson <ellson@research.att.com> * Tue Sep 13 2005 John Ellson <ellson@research.att.com>
- split out language bindings into their own rpms so that - split out language bindings into their own rpms so that
main rpm doesn't depend on (e.g.) ocaml main rpm doesn't depend on (e.g.) ocaml