Репозиторий Sisyphus
Последнее обновление: 19 мая 2019 | Пакетов: 17692 | Посещений: 13567763
en ru br
Репозитории ALT
5.1: 2.22.2-alt2.2
4.1: 2.20.3-alt0.M41.1
4.0: 2.2.1-alt2
3.0: 2.2.1-alt1

Другие репозитории

Группа :: Издательство
Пакет: graphviz

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

%def_without bootstrap

%if_without bootstrap
# help is welcome to re-enable, fix packaging and test
%def_enable  guile
%def_disable lua
%def_disable ocaml
%def_disable php
%def_enable python
%def_disable ruby
%def_disable tcl

Name: graphviz
Version: 2.40.1
Release: alt6

Summary: Graphs visualization tools
License: Common Public License 1.0
Group: Publishing

# Git: http://www.graphviz.org/pub/scm/graphviz2/.git

Url: http://www.graphviz.org
Source0: %name-%version.tar
Source2: graphviz-dot-x11-preview.desktop

Patch0:  graphviz-2.24.0-alt-perl-5.12.patch
Patch1:  graphviz-2.28.0-alt-string_h_trhow.patch
Patch2:  graphviz-2.38.0-gs-9.18-fix.patch

# From Fedora:

Patch40:                 graphviz-2.40.1-visio.patch
Patch41:                 graphviz-2.40.1-python3.patch
# https://gitlab.com/graphviz/graphviz/issues/1367
Patch42:                 graphviz-2.40.1-CVE-2018-10196.patch
# rhbz#1505230
Patch43:                 graphviz-2.40.1-dotty-menu-fix.patch
Patch44:                 graphviz-2.40.1-coverity-scan-fixes.patch

Packager: Michael Shigorin <mike at altlinux.org>

Requires: lib%name = %version-%release
Provides: libdotneato = %version
Obsoletes: libdotneato < %version

# Automatically added by buildreq on Wed Apr 23 2014 (-bi)

# optimized out: elfutils fontconfig fontconfig-devel glib2-devel gnu-config guile18 libGL-devel libGLU-devel libICE-devel libSM-devel libX11-devel libXext-devel libXmu-devel libXrender-devel libXt-devel libatk-devel libcairo-devel libcloog-isl4 libfreetype-devel libgdk-pixbuf libgdk-pixbuf-devel libgio-devel libgmp-devel libgtk+2-devel libltdl7-devel libpango-devel libpangox-compat libpangox-compat-devel libpng-devel libqt4-core libqt4-devel libqt4-gui libstdc++-devel libwayland-client libwayland-server perl-devel pkg-config python-base rpm-build-tcl tcl tcl-devel tk xorg-renderproto-devel xorg-xproto-devel zlib-devel
BuildRequires: flex gcc-c++ groff-base imake libXaw-devel libXpm-devel libann-devel libexpat-devel libgd2-devel swig tk-devel xorg-cf-files libltdl-devel

%{?!_with_bootstrap:BuildRequires: ghostscript-utils libfreeglut-devel libglade-devel libgs-devel libgtkglext-devel libgts-devel liblasi-devel librsvg-devel}
%{?_enable_lua:BuildRequires: liblua5-devel}
%{?_enable_guile:BuildRequires: guile-devel}
%{?_enable_python:BuildRequires: python-devel}

%define gvdatadir %_datadir/%name
%define gvlibdir %_libdir/%name
%define gvtcldir %_libexecdir/%name/tcl

%set_verify_elf_method unresolved=relaxed
%add_findreq_skiplist %gvdatadir/demo/*.pl
%add_findreq_skiplist %gvdatadir/demo/*.tcl
%add_findreq_skiplist %_bindir/vimdot

Graphviz is a set of graph drawing tools originally developed
at AT&T Research.

Graph drawing addresses the problem of visualizing structural
information by constructing geometric representations of abstract
graphs and networks.  Automatic generation of graph drawings has
important applications in key technologies such as database
design, software engineering, VLSI and network design and visual
interfaces in other domains.

# {{{ subpackages

%package -n lib%name
Summary: Shared libraries for %name
Group: System/Libraries

%description -n lib%name
This package includes shared libraries for %name

%package -n lib%name-devel
Summary: Header files and C programming manual for %name
Group: Development/C
Requires: lib%name = %version-%release
Provides: %name-devel = %version
Obsoletes: %name-devel < %version

%description -n lib%name-devel
This package includes header files for %name

%package doc
Summary: Documentation for %name
Group: Publishing
Requires: %name = %version-%release
BuildArch: noarch

%description doc
This package contains most of documentation for %name

%package graphs
Summary: Demo graphs for graphviz
Group: Graphics
Requires: %name = %version-%release
BuildArch: noarch

%description graphs
This package provides some example graphs for %name.

%package guile
Summary: Guile bindings to %name
Group: Development/Other
Requires: %name = %version-%release

%description guile
This package makes %name functionality accessible from Guile

%package lua
Summary: Lua bindings to %name
Group: Development/Other
Requires: %name = %version-%release

%description lua
This package makes %name functionality accessible from Lua

%package perl
Summary: Perl bindings to %name
Group: Development/Perl
Requires: %name = %version-%release

%description perl
This package makes %name functionality accessible from Perl

%package python
Summary: Python bindings to %name
Group: Development/Python
Requires: %name = %version-%release
BuildRequires: rpm-build-python

%description python
This package makes %name functionality accessible from Python

%package ruby
Summary: Ruby bindings to %name
Group: Development/Ruby
Requires: %name = %version-%release

%description ruby
This package makes %name functionality accessible from Ruby

%package tcl
Summary: Tcl bindings to %name
Group: Development/Tcl
Requires: %name = %version-%release
Requires: tcl >= 8.4.0-alt1
Provides: tcl-tkspline = %version tcl-gd = %version
Obsoletes: tcl-tkspline < %version tcl-gd < %version

%description tcl
This package makes %name functionality accessible from Tcl

# }}}

%patch0 -p1
%patch2 -p1

%patch40 -p1 -b .visio
#patch41 -p1 -b .python3
%patch42 -p1 -b .CVE-2018-10196
%patch43 -p1 -b .dotty-menu-fix
%patch44 -p1 -b .coverity-scan-fixes

%add_optflags -DNDEBUG
# altbug #34101
sed -i 's,-Wall -ffast-math,-Wall,' configure*

# Some plugins use C++ and need lcxa. It can't be loaded

# dynamically, so all binaries should be linked with it.
%ifarch %e2k
cc --version | grep -q '^lcc:1.21' && export LIBS+=" -lcxa"

# skip internal libltdl

rm -rf libltdl/ m4/ltdl.m4
subst 's|^LT|dnl LT|' configure.ac
export LIBLTDL=-lltdl

# http://lists.gnu.org/archive/html/libtool/2008-10/msg00010.html

%autoreconf --no-recursive
%configure \
--disable-static \
--with-pangocairo \
--with-x \
--with-gdk-pixbuf \
--without-gnomeui \
--with-gtk \
--without-qt \
--with-ipsepcola \
--with-sfdp \
--with-smyrna \
%{subst_enable guile } \
%{subst_enable lua } \
%{subst_enable ocaml } \
%{subst_enable php } \
%{subst_enable python } \
%{subst_enable ruby } \
%{subst_enable tcl } \
--disable-java \



# avoid %%doc, install by hand

mkdir -p %buildroot%_defaultdocdir
mv %buildroot%gvdatadir/doc %buildroot%_defaultdocdir/%name-%version
cp -a AUTHORS COPYING cpl1.0.txt ChangeLog NEWS %buildroot%_defaultdocdir/%name-%version

%if_with tcl
mkdir -p %buildroot%_tcldatadir/{%name,gd,tkspline}
cat <<EOF > %buildroot%_tcldatadir/gd/pkgIndex.tcl
package ifneeded Gdtclft %version "load [file join \$dir .. .. .. lib tcl libgdtclft.so.0] Gdtclft"
cat <<EOF > %buildroot%_tcldatadir/%name/pkgIndex.tcl
package ifneeded Tcldot %version "load [file join \$dir .. .. .. lib tcl libtcldot.so.0] Tcldot"
package ifneeded Tclpathplan %version "load [file join \$dir .. .. .. lib tcl libtclplan.so.0] Tclpathplan"
cat <<EOF > %buildroot%_tcldatadir/tkspline/pkgIndex.tcl
package ifneeded Tkspline %version "
package require Tk 8.3
       load [file join \$dir .. .. .. lib tcl libtkspline.so.0] Tkspline"

# argh, #21967

if [ ! -d %buildroot%gvtcldir ]; then
mkdir -p "$(dirname %buildroot%gvtcldir)"
mv %buildroot{%_libdir/%name/tcl,%gvtcldir}

install -m0644 -D %SOURCE2 %buildroot%_desktopdir/graphviz-dot-x11-preview.desktop

# created by %%_bindir/dot -c

touch %buildroot%gvlibdir/config

rm -f %buildroot%gvlibdir/*/lib*.la
rm -f %buildroot%gvlibdir/libgvplugin_*.la
rm -fv %buildroot%_datadir/graphviz/demo/modgraph.py

[ ! -x %_bindir/dot ] || %_bindir/dot -c >&/dev/null

%dir %gvdatadir/
%if_without bootstrap
%ghost %gvlibdir/config
%dir %_defaultdocdir/%name-%version/

%files -n lib%name
%dir %gvlibdir/

%files -n lib%name-devel

%files doc
%exclude %_defaultdocdir/%name-%version/AUTHORS
%exclude %_defaultdocdir/%name-%version/COPYING
%exclude %_defaultdocdir/%name-%version/cpl1.0.txt
%exclude %_defaultdocdir/%name-%version/ChangeLog
%exclude %_defaultdocdir/%name-%version/NEWS

%files graphs

%if_enabled guile
%files guile
%dir %gvlibdir/guile/

%if_enabled lua
%files lua
%dir %gvlibdir/lua/

%files perl
%dir %gvlibdir/perl/

%if_enabled python
%files python

%if_enabled ruby
%files ruby
%dir %gvlibdir/ruby/

%if_with tcl
%files tcl
%dir %gvtcldir/


# - enable/fix/test language bindings


Полный changelog можно просмотреть здесь

дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin