diff --git a/.abf.yml b/.abf.yml index 63716d6..9330d76 100644 --- a/.abf.yml +++ b/.abf.yml @@ -1,2 +1,2 @@ sources: - graphviz-12.2.1.tar.gz: ca4740cadc2396232c1e4b8a00c97f6715d1a251 + graphviz-11.0.0.tar.gz: e2dcd00bbacf185bd5c6908a736fea73f00cceb7 diff --git a/graphviz.spec b/graphviz.spec index 9112abf..55bbe56 100644 --- a/graphviz.spec +++ b/graphviz.spec @@ -1,9 +1,14 @@ +%define debug %nil +%define debug_package %nil + # disable madness %define _unpackaged_subdirs_terminate_build 0 %define _disable_ld_no_undefined 1 %bcond_without static %bcond_with libr +%define make_build 1 +%define cmake_build 0 # Distro-specific default value should be defined in branding-configs package %{?build_ruby}%{?!build_ruby:%bcond_without ruby} @@ -30,19 +35,27 @@ %define __noautoreq '/usr/bin/lua' %endif +%define with_php 0 +%define with_py2 0 +%define with_gamut 0 +%define with_ocaml 0 + Summary: Graph visualization tools Name: graphviz -Version: 12.2.1 +Version: 11.0.0 Release: 1 License: Common Public License Group: Graphics URL: https://graphviz.org #Source0: http://www.graphviz.org/pub/graphviz/ARCHIVE/%{name}-%{version}.tar.gz -Source0: https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/%{version}/%{name}-%{version}.tar.gz +#Source0: https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/%{version}/%{name}-%{version}.tar.gz +Source0: https://gitlab.com/graphviz/graphviz/-/archive/%{version}/%{name}-%{version}.tar.gz Source1000: %{name}.rpmlintrc Patch0: graphviz-2.40.1-link.patch Patch1: graphviz-2.40.1-CVE-2018-10196.patch +BuildRequires: cmake BuildRequires: bison +BuildRequires: autoconf BuildRequires: flex BuildRequires: libtool BuildRequires: swig @@ -50,6 +63,8 @@ BuildRequires: go BuildRequires: tar BuildRequires: qmake5 BuildRequires: gd-devel +BuildRequires: %{_lib}gs-devel +BuildRequires: glade BuildRequires: gettext-devel # jpeg: No (only required by internal libgd) #BuildRequires: jpeg-devel @@ -73,9 +88,14 @@ BuildRequires: pkgconfig(xt) BuildRequires: pkgconfig(zlib) Buildrequires: pkgconfig(gts) BuildRequires: pkgconfig(python-3.8) +BuildRequires: pkgconfig(libwebp) +BuildRequires: pkgconfig(poppler-glib) +#BuildRequires: pkgconfig(lasi) BuildRequires: llvm17 +#BuildRequires: qt515 BuildRequires: stdc++-gcc10-devel + Conflicts: %{mklibname graphviz 4} < 2.20.3-3 %description @@ -135,6 +155,8 @@ This package provides the cgraph shared library for %{name}. #------------------------------------------------------------------------- +%if %{with_gamut} + %package -n %{lib_gamut} Group: System/Libraries Summary: Shared library for %{name} @@ -145,6 +167,8 @@ This package provides the lib_gamut shared library for %{name}. %files -n %{lib_gamut} %{_libdir}/liblab_gamut.so.%{gamut_major}* +%endif + #------------------------------------------------------------------------- %package -n %{lib_gvc} @@ -213,6 +237,8 @@ This package provides the Lua extension for %{name}. #------------------------------------------------------------------------- +%if %{with_php} + %package -n php-graphviz Summary: Graphviz bindings for php Group: System/Libraries @@ -228,8 +254,11 @@ This package provides the PHP extension for %{name}. %{_libdir}/php/modules/gv.so %{_datadir}/php/gv.php +%endif #------------------------------------------------------------------------- +%if %{with_py2} + %package -n python-graphviz Summary: Graphviz bindings for python Group: System/Libraries @@ -243,9 +272,12 @@ This package provides the Python extension for %{name}. %{_libdir}/graphviz/python %{py_platsitedir}/* +%endif + #------------------------------------------------------------------------- %if %{with ruby} + %package -n ruby-graphviz Summary: Graphviz bindings for ruby Group: System/Libraries @@ -258,6 +290,7 @@ This package provides the Ruby extension for %{name}. %files -n ruby-graphviz %{_libdir}/graphviz/ruby %{_prefix}/lib/ruby + %endif #------------------------------------------------------------------------- @@ -312,6 +345,7 @@ This package provides the Java extension for %{name}. #------------------------------------------------------------------------- %if %{with libr} + %package -n r-graphviz Summary: Graphviz bindings for R Group: System/Libraries @@ -323,9 +357,11 @@ This package provides the R extension for %{name}. %files -n r-graphviz %{_libdir}/graphviz/R + %endif #------------------------------------------------------------------------- +%if %{with_ocaml} %package -n ocaml-graphviz Summary: Graphviz bindings for OCaml @@ -339,6 +375,36 @@ This package provides the OCaml extension for %{name}. %files -n ocaml-graphviz %{_libdir}/graphviz/ocaml +%endif +#------------------------------------------------------------------------- + +%package -n go-graphviz +Summary: Graphviz bindings for Go +Group: Development/Other +BuildRequires: ocaml +Obsoletes: %{mklibname graphvizgo 0} < 2.28.0-4 + +%description -n go-graphviz +This package provides the Go extension for %{name}. + +%files -n go-graphviz +%{_libdir}/graphviz/go + +#------------------------------------------------------------------------- + +%package -n python3-graphviz +Summary: Graphviz bindings for Python3 +Group: Development/Python +BuildRequires: ocaml +Obsoletes: %{mklibname graphvizpython 0} < 2.28.0-4 + +%description -n python3-graphviz +This package provides the Python3 extension for %{name}. + +%files -n python3-graphviz +%{_libdir}/graphviz/python3 +%{python38_sitearch} + #------------------------------------------------------------------------- %package -n %{devname} @@ -400,8 +466,67 @@ export LDFLAGS="-lstdc++-gcc10" export CFLAGS="-I/usr/include/libstdc++-gcc10 -I/usr/include/libstdc++-gcc10/%{_host}" export CXXFLAGS="-I/usr/include/libstdc++-gcc10 -I/usr/include/libstdc++-gcc10/%{_host}" -autoreconf -fi +%if %{cmake_build} +%cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DGTK2_GLADE_LIBRARY=%{_libdir} \ + -DGTK2_GLADE_INCLUDE_DIR=%{_includedir} + -Dwith_gvedit=OFF \ + -Dwith-x=ON \ +%if %{with static} + -Denable-static=ON \ +%else + -Denable-static=OFF \ +%endif +%if %{with libr} + -Denable-r=ON \ +%else + -Denable-r=OFF \ +%endif + -Denable-ocaml=ON \ + -Denable-perl=ON \ +%if %{with_php} + -Denable-php=ON \ +%else + -Denable-php=OFF \ +%endif + -Denable-python=yes \ + -Ddisable-guile=yes \ + -Ddisable-sharp=yes \ + -Dwith-pangocairo=yes \ + -Dwith-gtk=yes \ + -Dwith-libgd=yes \ + -Ddisable-io=yes \ +%if %{with ruby} + -Denable-ruby=yes \ +%else + -Denable-ruby=no \ +%endif + -Ddisable-dependency-tracking=ON +%make +%endif + +%if %{make_build} +#autoreconf -fi +export PYTHONPATH=%{python38_sitelib} +export PYTHON3=/usr/libexec/python3.8 + +./autogen.sh + +#configure2_5x --help +#exit 1 + %configure2_5x \ + --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --libdir=%{_libdir} \ + --includedir=%{_includedir} \ + --datadir=%{_datadir} \ + --mandir=%{_mandir} \ + --pdfdir='$(docdir)/pdf' \ + --htmldir='$(docdir)/html' \ + --disable-static \ + --disable-dependency-tracking \ --with-x \ %if %{without static} --disable-static \ @@ -415,8 +540,15 @@ autoreconf -fi %endif --enable-ocaml \ --enable-perl \ - --enable-php \ - --enable-python \ +%if %{with_php} + --enable-php=yes \ +%else + --enable-php=no \ +%endif +%if ! %{with_py2} + --enable-python=no \ +%endif + --enable-python3=yes \ --disable-guile \ --disable-sharp \ --with-pangocairo \ @@ -431,12 +563,16 @@ autoreconf -fi --disable-dependency-tracking %make TK_LIB_SPEC="-ltcl -ltk" LIBS="-lX11" +%endif %install %makeinstall_std # fix documentation -install -d -m 755 %{buildroot}%{_docdir} -mv %{buildroot}%{_datadir}/%{name}/doc %{buildroot}%{_docdir}/%{name} -mv %{buildroot}%{_datadir}/%{name}/demo %{buildroot}%{_docdir}/%{name} +#install -d -m 755 %{buildroot}%{_docdir} +#mv %{buildroot}%{_datadir}/%{name}/doc %{buildroot}%{_docdir}/%{name} +#mv %{buildroot}%{_datadir}/%{name}/demo %{buildroot}%{_docdir}/%{name} +# fix +mkdir -p %{buildroot}%{_libdir}/lua/%{lua_version} +mv %{buildroot}/lua/gv.so %{buildroot}%{_libdir}/lua/%{lua_version}/gv.so