mirror of
https://abf.rosa.ru/djam/graphviz.git
synced 2025-02-23 07:42:57 +00:00
447 lines
11 KiB
RPMSpec
447 lines
11 KiB
RPMSpec
# disable madness
|
|
%define _unpackaged_subdirs_terminate_build 0
|
|
%define _disable_rebuild_configure 1
|
|
|
|
%define _disable_ld_no_undefined 1
|
|
%bcond_without static
|
|
%bcond_with libr
|
|
%bcond_with java
|
|
|
|
# temorary section ro e2k
|
|
%ifarch %{x86_64} %{ix86} aarch64
|
|
%bcond_without ruby
|
|
# rosa2023.1 enable php option if php8 in repo, also rebuild swig with php8 support
|
|
%bcond_with php
|
|
%bcond_without tcl
|
|
%endif
|
|
%ifarch %{e2k} %{riscv} loongarch64
|
|
%bcond_with ruby
|
|
%bcond_with php
|
|
%bcond_without tcl
|
|
%endif
|
|
|
|
%define cdt_major 5
|
|
%define cgraph_major 6
|
|
%define gvc_major 6
|
|
%define gvpr_major 2
|
|
%define pathplan_major 4
|
|
%define xdot_major 4
|
|
|
|
%define lib_cdt %mklibname cdt %{cdt_major}
|
|
%define lib_cgraph %mklibname cgraph %{cgraph_major}
|
|
%define lib_gvc %mklibname gvc %{gvc_major}
|
|
%define lib_gvpr %mklibname gvpr %{gvpr_major}
|
|
%define lib_pathplan %mklibname pathplan %{pathplan_major}
|
|
%define lib_xdot %mklibname xdot %{xdot_major}
|
|
%define devname %mklibname graphviz -d
|
|
%define staticname %mklibname graphviz -d -s
|
|
|
|
%if %{_use_internal_dependency_generator}
|
|
%global __requires_exclude /usr/bin/lua
|
|
%endif
|
|
|
|
Summary: Graph visualization tools
|
|
Name: graphviz
|
|
Version: 12.2.0
|
|
Release: 2
|
|
License: Common Public License
|
|
Group: Graphics
|
|
Url: http://www.graphviz.org
|
|
Source0: https://gitlab.com/graphviz/graphviz/-/archive/%{version}/graphviz-%{version}.tar.gz
|
|
BuildRequires: bison
|
|
BuildRequires: flex
|
|
BuildRequires: libtool
|
|
BuildRequires: swig
|
|
BuildRequires: gd-devel
|
|
BuildRequires: git
|
|
BuildRequires: groff
|
|
BuildRequires: gettext-devel
|
|
BuildRequires: ghostscript
|
|
# jpeg: No (only required by internal libgd)
|
|
#BuildRequires: jpeg-devel
|
|
BuildRequires: libltdl-devel
|
|
BuildRequires: pkgconfig(expat)
|
|
BuildRequires: pkgconfig(fontconfig)
|
|
BuildRequires: pkgconfig(freetype2)
|
|
BuildRequires: pkgconfig(gtk+-2.0)
|
|
BuildRequires: pkgconfig(libcurl)
|
|
BuildRequires: pkgconfig(libpng)
|
|
BuildRequires: pkgconfig(pango)
|
|
BuildRequires: pkgconfig(pangocairo)
|
|
BuildRequires: pkgconfig(x11)
|
|
BuildRequires: pkgconfig(xaw7)
|
|
BuildRequires: pkgconfig(xmu)
|
|
BuildRequires: pkgconfig(xt)
|
|
BuildRequires: pkgconfig(zlib)
|
|
BuildRequires: perl-ExtUtils-Embed
|
|
# temporary section
|
|
%ifnarch %e2k}
|
|
BuildRequires: pkgconfig(librsvg-2.0)
|
|
BuildRequires: pkgconfig(glut)
|
|
%endif
|
|
Conflicts: %{mklibname graphviz 4} < 2.20.3-3
|
|
Obsoletes: ocaml-graphviz < 10.0.1
|
|
|
|
%description
|
|
A collection of tools for the manipulation and layout
|
|
of graphs (as in nodes and edges, not as in barcharts).
|
|
|
|
%files
|
|
%dir %{_libdir}/%{name}
|
|
%{_bindir}/*
|
|
%{_mandir}/man?/*
|
|
%{_datadir}/graphviz
|
|
%{_libdir}/graphviz/*.so.*
|
|
|
|
%post
|
|
%{_bindir}/dot -c
|
|
|
|
%postun
|
|
if ! test -x %{_bindir}/dot; then rm -f %{_libdir}/%{name}/config; fi
|
|
|
|
#-------------------------------------------------------------------------
|
|
|
|
%package doc
|
|
Summary: %{name} documentation
|
|
Group: Books/Computer books
|
|
|
|
%description doc
|
|
The %{name} documentation.
|
|
|
|
%files doc
|
|
%{_datadir}/doc/%{name}
|
|
|
|
#-------------------------------------------------------------------------
|
|
|
|
%package -n %{lib_cdt}
|
|
Summary: Shared library for %{name}
|
|
Group: System/Libraries
|
|
Conflicts: %{_lib}graphviz4 < 2.26
|
|
|
|
%description -n %{lib_cdt}
|
|
This package provides the cdt shared library for %{name}.
|
|
|
|
%files -n %{lib_cdt}
|
|
%{_libdir}/libcdt.so.%{cdt_major}*
|
|
|
|
#-------------------------------------------------------------------------
|
|
|
|
%package -n %{lib_cgraph}
|
|
Summary: Shared library for %{name}
|
|
Group: System/Libraries
|
|
Conflicts: %{_lib}graphviz4 < 2.26
|
|
|
|
%description -n %{lib_cgraph}
|
|
This package provides the cgraph shared library for %{name}.
|
|
|
|
%files -n %{lib_cgraph}
|
|
%{_libdir}/libcgraph.so.%{cgraph_major}*
|
|
|
|
#-------------------------------------------------------------------------
|
|
|
|
%package -n %{lib_gvc}
|
|
Summary: Shared library for %{name}
|
|
Group: System/Libraries
|
|
Conflicts: %{_lib}graphviz4 < 2.26
|
|
|
|
%description -n %{lib_gvc}
|
|
This package provides the gvc shared library for %{name}.
|
|
|
|
%files -n %{lib_gvc}
|
|
%{_libdir}/libgvc.so.%{gvc_major}*
|
|
|
|
#-------------------------------------------------------------------------
|
|
|
|
%package -n %{lib_gvpr}
|
|
Summary: Shared library for %{name}
|
|
Group: System/Libraries
|
|
|
|
%description -n %{lib_gvpr}
|
|
This package provides the gvpr shared library for %{name}.
|
|
|
|
%files -n %{lib_gvpr}
|
|
%{_libdir}/libgvpr.so.%{gvpr_major}*
|
|
|
|
#-------------------------------------------------------------------------
|
|
|
|
%package -n %{lib_pathplan}
|
|
Summary: Shared library for %{name}
|
|
Group: System/Libraries
|
|
Conflicts: %{_lib}graphviz4 < 2.26
|
|
|
|
%description -n %{lib_pathplan}
|
|
This package provides the pathplan shared library for %{name}.
|
|
|
|
%files -n %{lib_pathplan}
|
|
%{_libdir}/libpathplan.so.%{pathplan_major}*
|
|
|
|
#-------------------------------------------------------------------------
|
|
|
|
%package -n %{lib_xdot}
|
|
Summary: Shared library for %{name}
|
|
Group: System/Libraries
|
|
|
|
%description -n %{lib_xdot}
|
|
This package provides the xdot shared library for %{name}.
|
|
|
|
%files -n %{lib_xdot}
|
|
%{_libdir}/libxdot.so.%{xdot_major}*
|
|
|
|
#-------------------------------------------------------------------------
|
|
|
|
%define lua_version %(if [ -x /usr/bin/lua ]; then lua -v 2>&1| awk '{print $2}' | awk -F. '{print $1 "." $2}'; fi)
|
|
|
|
%package -n lua-graphviz
|
|
Summary: Graphviz bindings for lua
|
|
Group: System/Libraries
|
|
BuildRequires: pkgconfig(lua)
|
|
|
|
%description -n lua-graphviz
|
|
This package provides the Lua extension for %{name}.
|
|
|
|
%files -n lua-graphviz
|
|
%{_libdir}/graphviz/lua
|
|
%{_libdir}/lua/%{lua_version}/gv.so
|
|
|
|
#-------------------------------------------------------------------------
|
|
|
|
%if %{with php}
|
|
%package -n php-graphviz
|
|
Summary: Graphviz bindings for php
|
|
Group: System/Libraries
|
|
BuildRequires: php-devel
|
|
BuildRequires: php-cli
|
|
Obsoletes: %{mklibname graphvizphp 0} < 2.28.0-4
|
|
|
|
%description -n php-graphviz
|
|
This package provides the PHP extension for %{name}.
|
|
|
|
%files -n php-graphviz
|
|
%{_libdir}/graphviz/php
|
|
%{_libdir}/php/extensions/gv.so
|
|
#{_datadir}/php/gv.php
|
|
%endif
|
|
|
|
#-------------------------------------------------------------------------
|
|
|
|
%package -n python3-graphviz
|
|
Summary: Graphviz bindings for python3
|
|
Group: System/Libraries
|
|
Obsoletes: %{mklibname graphvizpython 0} < 2.28.0-4
|
|
BuildRequires: pkgconfig(python3)
|
|
|
|
%description -n python3-graphviz
|
|
This package provides the Python extension for %{name}.
|
|
|
|
%files -n python3-graphviz
|
|
%{_libdir}/graphviz/python3
|
|
%{py3_platsitedir}/*
|
|
|
|
#-------------------------------------------------------------------------
|
|
|
|
%if %{with ruby}
|
|
%package -n ruby-graphviz
|
|
Summary: Graphviz bindings for ruby
|
|
Group: System/Libraries
|
|
BuildRequires: ruby-devel
|
|
Obsoletes: %{mklibname graphvizruby 0} < 2.28.0-4
|
|
|
|
%description -n ruby-graphviz
|
|
This package provides the Ruby extension for %{name}.
|
|
|
|
%files -n ruby-graphviz
|
|
%{_libdir}/graphviz/ruby
|
|
%{_libdir}/*ruby*/*
|
|
%endif
|
|
|
|
#-------------------------------------------------------------------------
|
|
|
|
%package -n perl-graphviz
|
|
Summary: Graphviz bindings for perl
|
|
Group: System/Libraries
|
|
BuildRequires: perl-devel
|
|
Obsoletes: %{mklibname graphvizperl 0} < 2.28.0-4
|
|
|
|
%description -n perl-graphviz
|
|
This package provides the Perl extension for %{name}.
|
|
|
|
%files -n perl-graphviz
|
|
%{perl_vendorarch}/*
|
|
%{_libdir}/graphviz/perl
|
|
|
|
#-------------------------------------------------------------------------
|
|
%if %{with tcl}
|
|
%package -n tcl-graphviz
|
|
Summary: Graphviz bindings for tcl
|
|
Group: System/Libraries
|
|
BuildRequires: tcl-devel >= 8.3.0
|
|
BuildRequires: tk-devel >= 8.3.0
|
|
BuildRequires: tk >= 8.3.0
|
|
Obsoletes: %{mklibname graphviztcl 7 -d} < 2.28.0-4
|
|
Obsoletes: %{mklibname graphviztcl 0} < 2.28.0-4
|
|
|
|
%description -n tcl-graphviz
|
|
This package provides the Tcl extension for %{name}.
|
|
|
|
%files -n tcl-graphviz
|
|
%{_libdir}/tcl*
|
|
%{_libdir}/graphviz/tcl
|
|
%endif
|
|
#-------------------------------------------------------------------------
|
|
%if %{with java}
|
|
%define jdk_path %{_prefix}/lib/jvm/java
|
|
|
|
%package -n java-graphviz
|
|
Summary: Graphviz bindings for java
|
|
Group: System/Libraries
|
|
BuildRequires: java-devel
|
|
Obsoletes: %{mklibname graphvizjava 0} < 2.28.0-4
|
|
|
|
%description -n java-graphviz
|
|
This package provides the Java extension for %{name}.
|
|
|
|
%files -n java-graphviz
|
|
%{_libdir}/graphviz/java
|
|
%endif
|
|
#-------------------------------------------------------------------------
|
|
|
|
%if %{with libr}
|
|
%package -n r-graphviz
|
|
Summary: Graphviz bindings for R
|
|
Group: System/Libraries
|
|
BuildRequires: pkgconfig(libRmath)
|
|
Obsoletes: %{mklibname graphvizr 0} < 2.28.0-4
|
|
|
|
%description -n r-graphviz
|
|
This package provides the R extension for %{name}.
|
|
|
|
%files -n r-graphviz
|
|
%{_libdir}/graphviz/R
|
|
%endif
|
|
|
|
#-------------------------------------------------------------------------
|
|
|
|
%package -n %{devname}
|
|
Group: Development/Other
|
|
Summary: Development package for %{name}
|
|
Provides: %{name}-devel = %{EVRD}
|
|
Obsoletes: %{mklibname graphviz -d 7} < 2.28.0-4
|
|
Obsoletes: %{mklibname tcl -d 7} < 2.28.0-4
|
|
Obsoletes: %{mklibname -d graphviz 3} < 2.28.0-4
|
|
Requires: %{lib_cdt} = %{EVRD}
|
|
Requires: %{lib_cgraph} = %{EVRD}
|
|
Requires: %{lib_gvc} = %{EVRD}
|
|
Requires: %{lib_gvpr} = %{EVRD}
|
|
Requires: %{lib_pathplan} = %{EVRD}
|
|
Requires: %{lib_xdot} = %{EVRD}
|
|
|
|
%description -n %{devname}
|
|
Development package for %{name}.
|
|
|
|
%files -n %{devname}
|
|
%{_libdir}/pkgconfig/*
|
|
%{_libdir}/graphviz/*.so
|
|
%{_libdir}/*.so
|
|
%{_includedir}/graphviz
|
|
|
|
#-------------------------------------------------------------------------
|
|
|
|
%if ! %{without static}
|
|
%package -n %{staticname}
|
|
Group: Development/Other
|
|
Summary: Static development package for %{name}
|
|
Requires: %{devname} = %{EVRD}
|
|
Provides: %{name}-static-devel = %{EVRD}
|
|
Obsoletes: %{mklibname -d -s graphviz 3} < 2.28.0-4
|
|
|
|
%description -n %{staticname}
|
|
Static development package for %{name}.
|
|
|
|
%files -n %{staticname}
|
|
%{_libdir}/graphviz/*.a
|
|
%{_libdir}/*.a
|
|
%endif
|
|
|
|
#-------------------------------------------------------------------------
|
|
|
|
%prep
|
|
%setup -q
|
|
%autopatch -p1
|
|
%if "%{_libdir}" != "/usr/lib64"
|
|
sed -i -e 's,I/usr/lib64,I%{_libdir},g' tclpkg/gv/Makefile.am
|
|
%endif
|
|
|
|
rm -rf libltdl
|
|
# fix e2k detection
|
|
sed -i 's!e2k!e2k*!g' configure.ac
|
|
|
|
touch debian/libgvphp7.install.in
|
|
|
|
%build
|
|
export TCLCONFIG="%{_libdir}/tclConfig.sh"
|
|
%if %__isa_bits == 64
|
|
export LIBPOSTFIX="64"
|
|
%endif
|
|
|
|
./autogen.sh
|
|
#autoreconf -fi
|
|
|
|
%ifarch %{e2k}
|
|
LUA_INSTALL_DIR=%{_libdir}/lua
|
|
%endif
|
|
|
|
%configure \
|
|
--with-x \
|
|
%if %{without static}
|
|
--disable-static \
|
|
%else
|
|
--enable-static \
|
|
%endif
|
|
%if %{with libr}
|
|
--enable-r \
|
|
%else
|
|
--disable-r \
|
|
%endif
|
|
--enable-perl \
|
|
%if %{with php}
|
|
--enable-php \
|
|
%endif
|
|
--disable-guile \
|
|
%if !%{with tcl}
|
|
--enable-tcl=no \
|
|
%endif
|
|
--disable-python \
|
|
--disable-python2 \
|
|
--enable-python3 \
|
|
--disable-man-pdfs \
|
|
--disable-sharp \
|
|
--with-pangocairo \
|
|
--with-gtk \
|
|
--with-libgd \
|
|
--disable-io \
|
|
%if %{with ruby}
|
|
--enable-ruby=yes \
|
|
%else
|
|
--enable-ruby=no \
|
|
%endif
|
|
--disable-dependency-tracking
|
|
|
|
pushd libltdl
|
|
aclocal -I m4
|
|
popd
|
|
%make TK_LIB_SPEC="-ltcl -ltk" LIBS="-lX11" \
|
|
PYTHON_INCLUDES=`python3-config --includes` \
|
|
PYTHON_LIBS=`python3-config --embed --libs` \
|
|
PYTHON_INSTALL_DIR=%{python3_sitearch} \
|
|
PYTHON=%{__python3}
|
|
|
|
%install
|
|
%makeinstall_std
|
|
|
|
[ -d %{buildroot}/lua ] && mkdir -p %{buildroot}%{_libdir}/lua/%{lua_version} \
|
|
&& mv %{buildroot}/lua/gv.so %{buildroot}%{_libdir}/lua/%{lua_version}/
|
|
rm -rf %{buildroot}/lua
|
|
|
|
# fix documentation
|
|
install -d -m 755 %{buildroot}%{_docdir}
|
|
mv %{buildroot}%{_datadir}/%{name}/demo %{buildroot}%{_docdir}/%{name}
|