From: ellson <devnull@localhost> Date: Tue, 18 Oct 2005 21:05:47 +0000 (+0000) Subject: package language bindings in their own rpms, avoiding cross dependencies X-Git-Tag: LAST_LIBGRAPH~32^2~7105 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bcbbe09c06b9a34974f7c9ad8c8dbadf9a5c0596;p=graphviz package language bindings in their own rpms, avoiding cross dependencies --- diff --git a/graphviz.spec.in b/graphviz.spec.in index a55ebdd84..43cb9ccb6 100644 --- a/graphviz.spec.in +++ b/graphviz.spec.in @@ -4,6 +4,44 @@ # Note: graphviz requires gd with gif support (and other fixes), hence use # internal one for now. +# select packages according to dist (set in .rpmmacros on each build host) + +%{?dist: %{expand: %%define %dist 1}} + +%define CSHARP 0 +%define GUILE 0 +%define JAVA 0 +%define OCAML 0 +%define PERL 0 +%define PHP 0 +%define PYTHON 0 +%define RUBY 0 +%define TCL 1 + +%{?fc4: %{expand: +%%define CSHARP 0 +%%define GUILE 0 +%%define JAVA 0 +%%define OCAML 0 +%%define PERL 1 +%%define PHP 1 +%%define PYTHON 1 +%%define RUBY 1 +%%define TCL 1 +}} + +%{?fc5: %{expand: +%%define CSHARP 1 +%%define GUILE 1 +%%define JAVA 1 +%%define OCAML 1 +%%define PERL 1 +%%define PHP 1 +%%define PYTHON 1 +%%define RUBY 1 +%%define TCL 1 +}} + Summary: Graph Visualization Tools Name: graphviz Version: @VERSION@ @@ -36,48 +74,226 @@ BuildRequires: /usr/include/tcl.h /usr/include/tk.h %{?rh7:BuildRequires: XFree86-devel} %{?rh6:BuildRequires: XFree86-devel} -%package tcl +%description +A collection of tools for the manipulation and layout +of graphs (as in nodes and edges, not as in barcharts). + +%files +%defattr(-,root,root,-) +%doc AUTHORS COPYING ChangeLog NEWS README +%{_bindir}/* +%dir %{_libdir}/%{name} +%{_libdir}/%{name}/*.so.* +%{_mandir}/man1/*.1* +%dir %{_datadir}/%{name} +%{_datadir}/%{name}/lefty +%exclude %{_libdir}/%{name}/*/* + +#------------------------------------------------------------------ +%if %{CSHARP} +%package csharp +Group: Applications/Multimedia +Summary: C# extension for %{name} +Requires: %{name} = %{version}-%{release} + +%description csharp +C# extensions for %{name}. + +%files csharp +%defattr(-,root,root,-) +%dir %{_libdir}/%{name}/csharp +%{_libdir}/%{name}/csharp/* +%exclude %{_libdir}/%{name}/csharp/*.la +%endif + +#------------------------------------------------------------------ +%if %{GUILE} +%package guile Group: Applications/Multimedia -Summary: Tcl extension tools for %{name} -Requires: %{name} = %{version}-%{release} tcl >= 8.3 tk +Summary: Guile extension for %{name} +Requires: %{name} = %{version}-%{release} -%package devel -Group: Development/Libraries -Summary: Development package for %{name} -Requires: %{name} = %{version}-%{release} pkgconfig +%description guile +Guile extensions for %{name}. -%package doc -Group: Documentation -Summary: PDF and HTML documents for %{name} +%files guile +%defattr(-,root,root,-) +%dir %{_libdir}/%{name}/guile +%{_libdir}/%{name}/guile/* +%exclude %{_libdir}/%{name}/guile/*.la +%endif + +#------------------------------------------------------------------ +%if %{JAVA} +%package java +Group: Applications/Multimedia +Summary: Java extension for %{name} +Requires: %{name} = %{version}-%{release} -%package graphs +%description java +Java extensions for %{name}. + +%files java +%defattr(-,root,root,-) +%dir %{_libdir}/%{name}/java +%{_libdir}/%{name}/java/* +%exclude %{_libdir}/%{name}/java/*.la +%endif + +#------------------------------------------------------------------ +%if %{OCAML} +%package ocaml Group: Applications/Multimedia -Summary: Demo graphs for %{name} +Summary: Ocaml extension for %{name} +Requires: %{name} = %{version}-%{release} +%description ocaml +Ocaml extensions for %{name}. -%description -A collection of tools for the manipulation and layout -of graphs (as in nodes and edges, not as in barcharts). +%files ocaml +%defattr(-,root,root,-) +%dir %{_libdir}/%{name}/ocaml +%{_libdir}/%{name}/ocaml/* +%exclude %{_libdir}/%{name}/ocaml/*.la +%endif + +#------------------------------------------------------------------ +%if %{PERL} +%package perl +Group: Applications/Multimedia +Summary: Perl extension for %{name} +Requires: %{name} = %{version}-%{release} + +%description perl +Perl extensions for %{name}. + +%files perl +%defattr(-,root,root,-) +%dir %{_libdir}/%{name}/perl +%{_libdir}/%{name}/perl/* +%exclude %{_libdir}/%{name}/perl/*.la +%endif + +#------------------------------------------------------------------ +%if %{PHP} +%package php +Group: Applications/Multimedia +Summary: PHP extension for %{name} +Requires: %{name} = %{version}-%{release} + +%description php +PHP extensions for %{name}. + +%files php +%defattr(-,root,root,-) +%dir %{_libdir}/%{name}/php +%{_libdir}/%{name}/php/* +%exclude %{_libdir}/%{name}/php/*.la +%endif + +#------------------------------------------------------------------ +%if %{PYTHON} +%package python +Group: Applications/Multimedia +Summary: Python extension for %{name} +Requires: %{name} = %{version}-%{release} + +%description python +Python extensions for %{name}. + +%files python +%defattr(-,root,root,-) +%dir %{_libdir}/%{name}/python +%{_libdir}/%{name}/python/* +%exclude %{_libdir}/%{name}/python/*.la +%endif + +#------------------------------------------------------------------ +%if %{RUBY} +%package ruby +Group: Applications/Multimedia +Summary: Ruby extension for %{name} +Requires: %{name} = %{version}-%{release} + +%description ruby +Ruby extensions for %{name}. + +%files ruby +%defattr(-,root,root,-) +%dir %{_libdir}/%{name}/ruby +%{_libdir}/%{name}/ruby/* +%exclude %{_libdir}/%{name}/ruby/*.la +%endif + +#------------------------------------------------------------------ +%if %{TCL} +%package tcl +Group: Applications/Multimedia +Summary: Tcl extension & tools for %{name} +Requires: %{name} = %{version}-%{release} tcl >= 8.3 tk %description tcl Various tcl packages (extensions) for the %{name} tools. +%files tcl +%defattr(-,root,root,-) +%dir %{_libdir}/%{name}/tcl +%{_libdir}/%{name}/tcl/* +%{_libdir}/%{name}/pkgIndex.tcl +%{_datadir}/%{name}/demo +%{_mandir}/mann/*.n* +%exclude %{_libdir}/%{name}/tcl/*.la +%endif + +#------------------------------------------------------------------ +%package devel +Group: Development/Libraries +Summary: Development package for %{name} +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 %{name}. -%description doc -Provides some additional PDF and HTML documentation for %{name}. +%files devel +%defattr(-,root,root,-) +%{_includedir}/%{name} +%{_libdir}/%{name}/*.la +%{_libdir}/%{name}/*.so +%{_libdir}/pkgconfig/*.pc +%{_mandir}/man3/*.3* +%exclude %{_libdir}/%{name}/*/* + +#------------------------------------------------------------------ +%package graphs +Group: Applications/Multimedia +Summary: Demo graphs for %{name} %description graphs Some demo graphs for %{name}. +%files graphs +%defattr(-,root,root,-) +%dir %{_datadir}/%{name} +%{_datadir}/%{name}/graphs +#------------------------------------------------------------------ +%package doc +Group: Documentation +Summary: PDF and HTML documents for %{name} + +%description doc +Provides some additional PDF and HTML documentation for %{name}. + +%files doc +%defattr(-,root,root,-) +%doc __doc/* + +#------------------------------------------------------------------ %prep %setup -q - %build # XXX ix86 only used to have -ffast-math, let's use everywhere %{expand: %%define optflags %{optflags} -ffast-math} @@ -97,7 +313,6 @@ CFLAGS="$RPM_OPT_FLAGS" \ --disable-dependency-tracking %__make %{?_smp_mflags} - %install rm -rf $RPM_BUILD_ROOT __doc %{__make} \ @@ -109,59 +324,17 @@ chmod -x $RPM_BUILD_ROOT%{_datadir}/%{name}/lefty/* cp -a $RPM_BUILD_ROOT%{_datadir}/%{name}/doc __doc rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/doc - %clean rm -rf $RPM_BUILD_ROOT - -%files -%defattr(-,root,root,-) -%doc AUTHORS COPYING ChangeLog NEWS README -%{_bindir}/* -%dir %{_libdir}/%{name} -%{_libdir}/%{name}/*.so.* -%{_mandir}/man1/*.1* -%dir %{_datadir}/%{name} -%{_datadir}/%{name}/lefty -%exclude %{_libdir}/%{name}/*/* - -%files tcl -%defattr(-,root,root,-) -%{_libdir}/%{name}/*/* -%{_libdir}/%{name}/pkgIndex.tcl -%{_datadir}/%{name}/demo -%{_mandir}/mann/*.n* -%exclude %{_libdir}/%{name}/*/*.la - -%files devel -%defattr(-,root,root,-) -%{_includedir}/%{name} -%{_libdir}/%{name}/*.la -%{_libdir}/%{name}/*.so -%{_libdir}/pkgconfig/*.pc -%{_mandir}/man3/*.3* -%exclude %{_libdir}/%{name}/*/* - -%files graphs -%defattr(-,root,root,-) -%dir %{_datadir}/%{name} -%{_datadir}/%{name}/graphs - -%files doc -%defattr(-,root,root,-) -%doc __doc/* - # run "dot -c" to generate plugin config in %{_libdir}/%{name}/config %post %{_bindir}/dot -c -%post tcl -%{_bindir}/dot -c - -%post devel -%{_bindir}/dot -c - %changelog +* Tue Sep 13 2005 John Ellson <ellson@research.att.com> +- split out language bindings into their own rpms so that + main rpm doesn't depend on (e.g.) ocaml * Sat Aug 13 2005 John Ellson <ellson@research.att.com> - imported various fixes from the Fedora-Extras .spec by Oliver Falk <oliver@linux-kernel.at> * Wed Jul 20 2005 John Ellson <ellson@research.att.com>