2 # - %{_libdir}/graphviz/config is not FHS friendly path as config
3 # - io language bindings: io-graphviz
4 # - ghostscript subpackage?
5 # /usr/lib64/graphviz/libgvplugin_gs.so
6 # /usr/lib64/graphviz/libgvplugin_gs.so.6
7 # /usr/lib64/graphviz/libgvplugin_gs.so.6.0.0
10 %bcond_without dotnet # don't build C# bindings
11 %bcond_without java # don't build Java bindings
12 %bcond_without ocaml # don't build ocaml bindings
13 %bcond_without php # don't build php bindings
14 %bcond_without perl # don't build perl bindings
15 %bcond_without ruby # don't build ruby bindings
16 %bcond_without tcl # don't build tcl bindings
17 %bcond_without lua # don't build lua bindings
18 %bcond_without r # don't build R bindings
19 %bcond_without python # don't build python bindings
20 %bcond_with io # don't build io language bindings
21 %bcond_without guile # don't build guile bindings
22 %bcond_without ming # don't build ming support
23 %bcond_without devil # don't build devil plugin
28 %ifnarch %{ix86} %{x8664}
34 %{?with_perl:%include /usr/lib/rpm/macros.perl}
35 Summary: Graph Visualization Tools
36 Summary(pl.UTF-8): Narzędzie do wizualizacji w postaci grafów
41 Group: X11/Applications/Graphics
42 Source0: http://www.graphviz.org/pub/graphviz/ARCHIVE/%{name}-%{version}.tar.gz
43 # Source0-md5: 6f45946fa622770c45609778c0a982ee
44 Patch0: %{name}-fontpath.patch
45 Patch1: %{name}-tk.patch
46 Patch2: %{name}-bad-header.patch
47 Patch3: %{name}-php.patch
48 Patch5: %{name}-lua51.patch
49 Patch6: %{name}-php_modules_dir.patch
51 Patch8: swig_php5.patch
52 URL: http://www.graphviz.org/
53 %{?with_devil:BuildRequires: DevIL-devel}
54 %{?with_r:BuildRequires: R}
55 BuildRequires: autoconf >= 2.59-9
56 BuildRequires: automake
58 BuildRequires: expat-devel >= 1.95
60 BuildRequires: freetype-devel >= 2.0.0
62 BuildRequires: gd-devel >= 2.0.34
63 BuildRequires: gettext-devel
64 BuildRequires: gtk+2-devel >= 2:2.8.0
65 %{?with_guile:BuildRequires: guile-devel >= 1.4}
69 BuildRequires: jpackage-utils
71 BuildRequires: libjpeg-devel
72 BuildRequires: libpng-devel
73 BuildRequires: librsvg-devel >= 2.0
74 BuildRequires: libstdc++-devel
75 BuildRequires: libtool
79 BuildRequires: lua51-devel >= 5.1
81 %{?with_ming:BuildRequires: ming-devel}
82 %{?with_dotnet:BuildRequires: mono-csharp}
83 %{?with_ocaml:BuildRequires: ocaml}
84 BuildRequires: pango-devel >= 1.10
85 BuildRequires: perl-devel
87 BuildRequires: php-devel >= 3:5.0.0
88 BuildRequires: php-program >= 4:5.0
90 BuildRequires: pkgconfig
91 %{?with_python:BuildRequires: python-devel}
92 %{?with_perl:BuildRequires: rpm-perlprov}
93 %{?with_python:BuildRequires: rpm-pythonprov}
94 BuildRequires: rpmbuild(macros) >= 1.519
95 %{?with_ruby:BuildRequires: ruby-devel}
96 # swig-csharp,swig-java,swig-lua,swig-ocaml in main swig
99 %{?with_guile:BuildRequires: swig-guile}
100 %{?with_perl:BuildRequires: swig-perl}
101 %{?with_php:BuildRequires: swig-php >= 1.3.40}
102 BuildRequires: swig-python
103 %{?with_ruby:BuildRequires: swig-ruby}
105 BuildRequires: swig-tcl
106 BuildRequires: tcl-devel >= 8.3.0
107 BuildRequires: tk-devel >= 8.3.0
109 BuildRequires: xorg-lib-libX11-devel
110 BuildRequires: xorg-lib-libXaw-devel
111 BuildRequires: xorg-lib-libXpm-devel
112 BuildRequires: zlib-devel
113 Requires(post,postun): /sbin/ldconfig
114 Requires: fonts-Type1-urw
115 Requires: gd >= 2.0.33-5
116 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
119 A collection of tools and tcl packages for the manipulation and layout
120 of graphs (as in nodes and edges, not as in barcharts).
122 %description -l pl.UTF-8
123 Kolekcja narzędzi oraz pakietów tcl służących do manipulacji i
124 rozmieszczania grafów.
127 Summary: Header files for graphviz libraries
128 Summary(pl.UTF-8): Pliki nagłówkowe do bibliotek graphviz
129 Group: X11/Development/Libraries
130 Requires: %{name} = %{version}-%{release}
131 Requires: gd-devel >= 2.0.34
132 Requires: libltdl-devel
135 This package contains the header files for graphviz libraries.
137 %description devel -l pl.UTF-8
138 Ten pakiet zawiera pliki nagłówkowe do bibliotek graphviz.
141 Summary: HTML documentation for graphviz
144 %description doc-html
145 HTML documentation for graphviz.
148 Summary: PDF documentation for graphviz
152 PDF documentation for graphviz.
155 Summary: Demo graphs for graphviz
156 Summary(pl.UTF-8): Przykładowe grafy dla graphviza
157 Group: X11/Applications/Graphics
158 Requires: %{name} = %{version}-%{release}
161 This package provides some example graphs.
163 %description graphs -l pl.UTF-8
164 Ten pakiet zawiera trochę przykładowych grafów.
166 %package -n guile-%{name}
167 Summary: Guile binding for graphviz
168 Summary(pl.UTF-8): Wiązania Guile dla graphviza
170 Requires: %{name} = %{version}-%{release}
171 Obsoletes: graphviz-guile
173 %description -n guile-%{name}
174 Guile binding for graphviz.
176 %description -n guile-%{name} -l pl.UTF-8
177 Wiązania Guile dla graphviza.
179 %package -n java-%{name}
180 Summary: Java binding for graphviz
181 Summary(pl.UTF-8): Wiązania Javy dla graphviza
183 Requires: %{name} = %{version}-%{release}
184 Obsoletes: graphviz-java
186 %description -n java-%{name}
187 Java binding for graphviz.
189 %description -n java-%{name} -l pl.UTF-8
190 Wiązania Javy dla graphviza.
192 %package -n lua-%{name}
193 Summary: LUA binding for graphviz
194 Summary(pl.UTF-8): Wiązania LUA dla graphviza
196 Requires: %{name} = %{version}-%{release}
197 Obsoletes: graphviz-lua
199 %description -n lua-%{name}
200 LUA binding for graphviz.
202 %description -n lua-%{name} -l pl.UTF-8
203 Wiązania LUA dla graphviza.
205 %package -n ocaml-%{name}
206 Summary: OCaml binding for graphviz
207 Summary(pl.UTF-8): Wiązania OCamla dla graphviza
209 Requires: %{name} = %{version}-%{release}
210 Obsoletes: graphviz-ocaml
212 %description -n ocaml-%{name}
213 OCaml binding for graphviz.
215 %description -n ocaml-%{name} -l pl.UTF-8
216 Wiązania OCamla dla graphviza.
218 %package -n perl-%{name}
219 Summary: Perl binding for graphviz
220 Summary(pl.UTF-8): Wiązania Perla dla graphviza
222 Requires: %{name} = %{version}-%{release}
224 %description -n perl-%{name}
225 Perl binding for graphviz.
227 %description -n perl-%{name} -l pl.UTF-8
228 Wiązania Perla dla graphviza.
230 %package -n php-%{name}
231 Summary: PHP binding for graphviz
232 Summary(pl.UTF-8): Wiązania PHP dla graphviza
234 Requires: %{name} = %{version}-%{release}
235 Obsoletes: graphviz-php
236 %{?requires_php_extension}
238 %description -n php-%{name}
239 PHP binding for graphviz.
241 %description -n php-%{name} -l pl.UTF-8
242 Wiązania PHP dla graphviza.
244 %package -n python-%{name}
245 Summary: Python binding for graphviz
246 Summary(pl.UTF-8): Wiązania Pythona dla graphviza
248 Requires: %{name} = %{version}-%{release}
249 Obsoletes: graphviz-python
251 %description -n python-%{name}
252 Python binding for graphviz.
254 %description -n python-%{name} -l pl.UTF-8
255 Wiązania Pythona dla graphviza.
257 %package -n ruby-%{name}
258 Summary: Ruby binding for graphviz
259 Summary(pl.UTF-8): Wiązania Ruby'ego dla graphviza
261 Requires: %{name} = %{version}-%{release}
262 Obsoletes: graphviz-ruby
264 %description -n ruby-%{name}
265 Ruby binding for graphviz.
267 %description -n ruby-%{name} -l pl.UTF-8
268 Wiązania Ruby'ego dla graphviza.
270 %package -n sharp-%{name}
271 Summary: C# binding for graphviz
272 Summary(pl.UTF-8): Wiązania C# dla graphviza
274 Requires: %{name} = %{version}-%{release}
275 Obsoletes: graphviz-sharp
277 %description -n sharp-%{name}
278 C# binding for graphviz.
280 %description -n sharp-%{name} -l pl.UTF-8
281 Wiązania C# dla graphviza.
283 %package -n tcl-%{name}
284 Summary: Tcl extension tools for graphviz
285 Summary(pl.UTF-8): Rozszerzenia Tcl dla graphviza
286 Group: X11/Applications/Graphics
287 Requires: %{name} = %{version}-%{release}
288 Obsoletes: graphviz-tcl
290 %description -n tcl-%{name}
291 This package contains the various Tcl packages (extensions) using
294 %description -n tcl-%{name} -l pl.UTF-8
295 Ten pakiet zawiera różne pakiety (rozszerzenia) Tcl używające
298 %package -n R-%{name}
299 Summary: graphviz bindings for R language
300 Group: X11/Applications/Graphics
301 Requires: %{name} = %{version}-%{release}
303 %description -n R-%{name}
304 graphviz bindings for R language.
316 # not used for anything
317 sed -i -e 's/libgnomeui-2.0/libgnomeui-disabled/' configure.ac
319 %{__sed} '1s@/usr/bin/lua$@/usr/bin/lua51@' -i tclpkg/gv/demo/modgraph.lua
323 touch config/config.rpath
324 %{__libtoolize} --ltdl
330 CPPFLAGS="%{rpmcppflags}"
331 CPPFLAGS="$CPPFLAGS -I%{_includedir}/ruby-1.9 -I%{_includedir}/ruby-1.9/%{_target}"
334 JAVA_HOME=%{java_home}
336 CPPFLAGS="$CPPFLAGS -I$JAVA_HOME/include -I$JAVA_HOME/include/linux"
343 --disable-ltdl-install \
344 %{!?with_java:--disable-java} \
345 %{!?with_ocaml:--disable-ocaml} \
346 %{!?with_dotnet:--disable-sharp} \
347 %{!?with_perl:--disable-perl} \
348 %{!?with_php:--disable-php} \
349 %{!?with_ruby:--disable-ruby} \
350 %{!?with_tcl:--disable-tcl} \
351 %{!?with_ming:--disable-ming} \
352 %{!?with_devil:--disable-devil} \
353 %{!?with_lua:--disable-lua} \
354 %{!?with_r:--disable-r} \
360 rm -rf $RPM_BUILD_ROOT
363 PHP_INSTALL_DIR=%{php_extensiondir} \
364 DESTDIR=$RPM_BUILD_ROOT
367 install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d
368 cat <<'EOF' > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/%{name}.ini
369 ; Enable gv.so extension module
373 # drop the symlinks and install to php dirs directly
374 install -d $RPM_BUILD_ROOT%{_examplesdir}/php-%{name}-%{version}
375 mv -f $RPM_BUILD_ROOT{%{_libdir}/%{name}/php,%{php_data_dir}}/gv.php
376 mv -f $RPM_BUILD_ROOT{%{_libdir}/%{name}/php/libgv_php.so,%{php_extensiondir}/gv.so}
377 rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/php/gv.so
378 mv -f $RPM_BUILD_ROOT{%{_datadir}/%{name}/demo,%{_examplesdir}/php-%{name}-%{version}}/modgraph.php
381 # "man3/gv.3r.gz" and "man3/gv.3ruby.gz" are both manual for "gv" in "section 3" of man pages
382 # make manual pages unique.
383 for a in $RPM_BUILD_ROOT%{_mandir}/man3/gv.*; do
386 mv $a ${a%/*}/gv_$l.3
389 # created by %{_bindir}/dot -c
390 touch $RPM_BUILD_ROOT%{_libdir}/graphviz/config
392 rm -f $RPM_BUILD_ROOT%{_libdir}/graphviz/*/lib*.la
393 rm -f $RPM_BUILD_ROOT%{_libdir}/graphviz/libgvplugin_*.la
395 #patch -p1 < %{PATCH2} || exit 1
397 rm -rf doc-html doc-pdf
398 mv $RPM_BUILD_ROOT%{_datadir}/%{name}/doc/html doc-html
399 mv $RPM_BUILD_ROOT%{_datadir}/%{name}/doc/pdf doc-pdf
402 rm -rf $RPM_BUILD_ROOT
407 [ ! -x %{_bindir}/dot ] || %{_bindir}/dot -c > /dev/null 2>&1
409 %postun -p /sbin/ldconfig
412 %php_webserver_restart
414 %postun -n php-%{name}
415 if [ "$1" = 0 ]; then
416 %php_webserver_restart
420 %defattr(644,root,root,755)
421 #%doc AUTHORS COPYING ChangeLog NEWS doc/*.pdf
422 %attr(755,root,root) %{_bindir}/*
423 #%attr(755,root,root) %{_libdir}/libagraph.so.*.*.*
424 #%attr(755,root,root) %ghost %{_libdir}/libagraph.so.4
425 %attr(755,root,root) %{_libdir}/libcdt.so.*.*.*
426 %attr(755,root,root) %ghost %{_libdir}/libcdt.so.4
427 %attr(755,root,root) %{_libdir}/libcgraph.so.*.*.*
428 %attr(755,root,root) %ghost %{_libdir}/libcgraph.so.5
429 %attr(755,root,root) %{_libdir}/libgraph.so.*.*.*
430 %attr(755,root,root) %ghost %{_libdir}/libgraph.so.4
431 %attr(755,root,root) %{_libdir}/libgvc.so.*.*.*
432 %attr(755,root,root) %ghost %{_libdir}/libgvc.so.5
433 %attr(755,root,root) %{_libdir}/libgvpr.so.*.*.*
434 %attr(755,root,root) %ghost %{_libdir}/libgvpr.so.1
435 %attr(755,root,root) %{_libdir}/libpathplan.so.*.*.*
436 %attr(755,root,root) %ghost %{_libdir}/libpathplan.so.4
437 %attr(755,root,root) %{_libdir}/libxdot.so.*.*.*
438 %attr(755,root,root) %ghost %{_libdir}/libxdot.so.4
439 %dir %{_libdir}/graphviz
440 %ghost %{_libdir}/graphviz/config
441 %attr(755,root,root) %{_libdir}/graphviz/libgvplugin_core.so*
443 %attr(755,root,root) %{_libdir}/graphviz/libgvplugin_devil.so*
445 %attr(755,root,root) %{_libdir}/graphviz/libgvplugin_dot_layout.so*
446 %attr(755,root,root) %{_libdir}/graphviz/libgvplugin_gd.so*
447 %attr(755,root,root) %{_libdir}/graphviz/libgvplugin_gdk_pixbuf.so*
448 %attr(755,root,root) %{_libdir}/graphviz/libgvplugin_gtk.so*
449 %attr(755,root,root) %{_libdir}/graphviz/libgvplugin_neato_layout.so*
450 %attr(755,root,root) %{_libdir}/graphviz/libgvplugin_pango.so*
451 %attr(755,root,root) %{_libdir}/graphviz/libgvplugin_rsvg.so*
452 %attr(755,root,root) %{_libdir}/graphviz/libgvplugin_xlib.so*
453 # what about the rest of *.la?
454 %dir %{_datadir}/graphviz
455 %dir %{_datadir}/graphviz/demo
456 %{_datadir}/graphviz/lefty
458 %{_mandir}/man7/graphviz.7*
461 %defattr(644,root,root,755)
462 #%attr(755,root,root) %{_libdir}/libagraph.so
463 %attr(755,root,root) %{_libdir}/libcdt.so
464 %attr(755,root,root) %{_libdir}/libcgraph.so
465 %attr(755,root,root) %{_libdir}/libgraph.so
466 %attr(755,root,root) %{_libdir}/libgvc.so
467 %attr(755,root,root) %{_libdir}/libgvpr.so
468 %attr(755,root,root) %{_libdir}/libpathplan.so
469 %attr(755,root,root) %{_libdir}/libxdot.so
470 #%{_libdir}/libagraph.la
472 %{_libdir}/libcgraph.la
473 %{_libdir}/libgraph.la
475 %{_libdir}/libgvpr.la
476 %{_libdir}/libpathplan.la
477 %{_libdir}/libxdot.la
478 #%{_pkgconfigdir}/libagraph.pc
479 %{_pkgconfigdir}/libcdt.pc
480 %{_pkgconfigdir}/libcgraph.pc
481 %{_pkgconfigdir}/libgraph.pc
482 %{_pkgconfigdir}/libgvc.pc
483 %{_pkgconfigdir}/libgvpr.pc
484 %{_pkgconfigdir}/libpathplan.pc
485 %{_pkgconfigdir}/libxdot.pc
486 %{_includedir}/graphviz
487 %{_mandir}/man3/cdt.3*
488 %{_mandir}/man3/cgraph.3*
489 %{_mandir}/man3/graph.3*
490 %{_mandir}/man3/gvc.3*
491 %{_mandir}/man3/xdot.3*
494 %defattr(644,root,root,755)
498 %defattr(644,root,root,755)
502 %defattr(644,root,root,755)
503 %{_datadir}/graphviz/graphs
507 %defattr(644,root,root,755)
508 %dir %{_libdir}/graphviz/io
509 %attr(755,root,root) %{_libdir}/graphviz/io/libgv_io.so*
510 %{_mandir}/mann/gv_io.n*
514 %files -n guile-%{name}
515 %defattr(644,root,root,755)
516 %dir %{_libdir}/graphviz/guile
517 %attr(755,root,root) %{_libdir}/graphviz/guile/libgv_guile.so
518 %{_mandir}/man3/gv_guile.*
522 %files -n java-%{name}
523 %defattr(644,root,root,755)
524 %dir %{_libdir}/graphviz/java
525 %attr(755,root,root) %{_libdir}/graphviz/java/libgv_java.so
526 %{_libdir}/graphviz/java/*.java
527 %{_mandir}/man3/gv_java.*
531 %files -n lua-%{name}
532 %defattr(644,root,root,755)
533 %dir %{_libdir}/graphviz/lua
534 %attr(755,root,root) %{_libdir}/graphviz/lua/libgv_lua.so
535 %attr(755,root,root) %{_libdir}/graphviz/lua/gv.so
536 %attr(755,root,root) %{_datadir}/graphviz/demo/modgraph.lua
537 %attr(755,root,root) %{_libdir}/lua/gv.so
538 %{_mandir}/man3/gv_lua.*
542 %files -n ocaml-%{name}
543 %defattr(644,root,root,755)
544 %dir %{_libdir}/graphviz/ocaml
545 %attr(755,root,root) %{_libdir}/graphviz/ocaml/libgv_ocaml.so
546 %{_libdir}/graphviz/ocaml/META.gv
547 %{_libdir}/graphviz/ocaml/gv.a
548 %{_libdir}/graphviz/ocaml/gv.cm*
549 %{_libdir}/graphviz/ocaml/gv.ml*
550 %{_mandir}/man3/gv_ocaml.*
554 %files -n perl-%{name}
555 %defattr(644,root,root,755)
556 %dir %{_libdir}/graphviz/perl
557 %attr(755,root,root) %{_libdir}/graphviz/perl/libgv_perl.so
558 %attr(755,root,root) %{_libdir}/graphviz/perl/gv.so
559 %{_libdir}/graphviz/perl/gv.pm
560 %attr(755,root,root) %{_datadir}/graphviz/demo/modgraph.pl
561 %attr(755,root,root) %{perl_vendorarch}/gv.so
562 %{perl_vendorarch}/gv.pm
563 %{_mandir}/man3/gv_perl.*
567 %files -n php-%{name}
568 %defattr(644,root,root,755)
569 %attr(755,root,root) %{php_extensiondir}/gv.so
570 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/%{name}.ini
571 %{php_data_dir}/gv.php
572 %{_mandir}/man3/gv_php.*
573 %{_examplesdir}/php-%{name}-%{version}
577 %files -n python-%{name}
578 %defattr(644,root,root,755)
579 %dir %{_libdir}/graphviz/python
580 %attr(755,root,root) %{_libdir}/graphviz/python/libgv_python.so
581 %attr(755,root,root) %{_libdir}/graphviz/python/_gv.so
582 %{_libdir}/graphviz/python/gv.py
583 %attr(755,root,root) %{_datadir}/graphviz/demo/modgraph.py
584 %attr(755,root,root) %{py_sitedir}/_gv.so
586 %{_mandir}/man3/gv_python.*
590 %files -n ruby-%{name}
591 %defattr(644,root,root,755)
592 %dir %{_libdir}/graphviz/ruby
593 %attr(755,root,root) %{_libdir}/graphviz/ruby/libgv_ruby.so
594 %attr(755,root,root) %{_libdir}/graphviz/ruby/gv.so
595 %attr(755,root,root) %{_datadir}/graphviz/demo/modgraph.rb
596 %{ruby_sitearchdir}/gv.so
597 %{_mandir}/man3/gv_ruby.*
601 %files -n sharp-%{name}
602 %defattr(644,root,root,755)
603 %dir %{_libdir}/graphviz/sharp
604 %attr(755,root,root) %{_libdir}/graphviz/sharp/libgv_sharp.so
605 %{_libdir}/graphviz/sharp/*.cs
606 %{_mandir}/man3/gv_sharp.*
610 %files -n tcl-%{name}
611 %defattr(644,root,root,755)
612 %dir %{_libdir}/graphviz/tcl
613 %attr(755,root,root) %{_libdir}/graphviz/tcl/libgdtclft.so*
614 %attr(755,root,root) %{_libdir}/graphviz/tcl/libgv_tcl.so
615 %attr(755,root,root) %{_libdir}/graphviz/tcl/libtcldot.so*
616 %attr(755,root,root) %{_libdir}/graphviz/tcl/libtcldot_builtin.so*
617 %attr(755,root,root) %{_libdir}/graphviz/tcl/libtclplan.so*
618 %attr(755,root,root) %{_libdir}/graphviz/tcl/libtkspline.so*
619 %{_libdir}/graphviz/tcl/pkgIndex.tcl
621 %{_mandir}/man3/gv_tcl.*
622 %{_mandir}/man3/gdtclft.3tcl*
623 %{_mandir}/man3/pathplan.3*
624 %{_mandir}/man3/tcldot.3tcl*
625 %{_mandir}/man3/tkspline.3tk*
626 %{_datadir}/graphviz/demo/pathplan_data
627 %{_datadir}/graphviz/demo/*.README
628 %{_datadir}/graphviz/demo/*.html
629 %attr(755,root,root) %{_datadir}/graphviz/demo/doted.tcl
630 %attr(755,root,root) %{_datadir}/graphviz/demo/entities.tcl
631 %attr(755,root,root) %{_datadir}/graphviz/demo/gcat.tcl
632 %attr(755,root,root) %{_datadir}/graphviz/demo/modgraph.tcl
633 %attr(755,root,root) %{_datadir}/graphviz/demo/pathplan.tcl
634 %attr(755,root,root) %{_datadir}/graphviz/demo/spline.tcl
639 %defattr(644,root,root,755)
640 %dir %{_libdir}/%{name}/R
641 %attr(755,root,root) %{_libdir}/%{name}/R/gv.so
642 %attr(755,root,root) %{_libdir}/%{name}/R/libgv_R.so
643 %{_mandir}/man3/gv_r.*