Accepting request 649625 from graphics

- Fixed double file declaration in graphviz and graphviz-addons (x11)
- Mark license files with %license instead of %doc

- Build with gts support (bsc#1108978, bsc#1108976)
  SLE12 flavors do not provide gts, so explicitly exclude
  gts support there.

- Extend reproducible.patch to make build reproducible (boo#1041534)

- Build with PHP5 for Leap 42.x and earlier, PHP7 requires swig 3.0.11
  Drop graphviz-plugins-fix_install_dirs.patch, use sed script to
  fix directories, same as for Lua

- Do not delete dotty/lefty/lneato man pages which are part of
  the x11 subpackage, built from the addons package/spec.
  (No changelog entry).

- Drop harmful modification of tclpkg/gv/gv_doc_langs.tcl, which
  changes the timestamp, although the file does not contain LIB_DIR.
  Graphviz ships prebuilt manpages in man and PDF format. Modifying
  the tcl script rebuilt the documentation, and replaced the PDFs
  with empty documents (due to missing groff). This also made the
  doc subpackage nonreproducible, causing rebuilds in all dependent
  packages.

- Disable guile 2.2 modifications temporarily
- Move lefty/dotty/lneato graph editor tools to x11 subpackage and
  build as part of addons package. Removes any X11 dependency from
  core package, both build and runtime.
- Drop unused libXaw6 build dependency

OBS-URL: https://build.opensuse.org/request/show/649625
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/graphviz?expand=0&rev=75
This commit is contained in:
Dominique Leuenberger 2018-11-20 21:25:28 +00:00 committed by Git OBS Bridge
commit 91f941b0c4
7 changed files with 297 additions and 121 deletions

View File

@ -1,3 +1,63 @@
-------------------------------------------------------------------
Fri Nov 16 15:21:38 UTC 2018 - trenn@suse.de
- Fixed double file declaration in graphviz and graphviz-addons (x11)
- Mark license files with %license instead of %doc
-------------------------------------------------------------------
Thu Oct 25 14:52:00 UTC 2018 - trenn@suse.de
- Build with gts support (bsc#1108978, bsc#1108976)
SLE12 flavors do not provide gts, so explicitly exclude
gts support there.
-------------------------------------------------------------------
Mon Jul 30 11:24:20 UTC 2018 - bwiedemann@suse.com
- Extend reproducible.patch to make build reproducible (boo#1041534)
-------------------------------------------------------------------
Tue Mar 27 20:12:49 UTC 2018 - stefan.bruens@rwth-aachen.de
- Build with PHP5 for Leap 42.x and earlier, PHP7 requires swig 3.0.11
Drop graphviz-plugins-fix_install_dirs.patch, use sed script to
fix directories, same as for Lua
-------------------------------------------------------------------
Tue Mar 27 19:53:42 UTC 2018 - stefan.bruens@rwth-aachen.de
- Do not delete dotty/lefty/lneato man pages which are part of
the x11 subpackage, built from the addons package/spec.
(No changelog entry).
-------------------------------------------------------------------
Sat Feb 10 17:36:20 UTC 2018 - stefan.bruens@rwth-aachen.de
- Drop harmful modification of tclpkg/gv/gv_doc_langs.tcl, which
changes the timestamp, although the file does not contain LIB_DIR.
Graphviz ships prebuilt manpages in man and PDF format. Modifying
the tcl script rebuilt the documentation, and replaced the PDFs
with empty documents (due to missing groff). This also made the
doc subpackage nonreproducible, causing rebuilds in all dependent
packages.
-------------------------------------------------------------------
Thu Feb 8 18:22:25 UTC 2018 - stefan.bruens@rwth-aachen.de
- Disable guile 2.2 modifications temporarily
- Move lefty/dotty/lneato graph editor tools to x11 subpackage and
build as part of addons package. Removes any X11 dependency from
core package, both build and runtime.
- Drop unused libXaw6 build dependency
- move libpng, libjpeg, freetype and fontconfig build dependencies
to addons, unused for core
-------------------------------------------------------------------
Thu Jan 25 16:12:41 UTC 2018 - dimstar@opensuse.org
- Move to pkgconfig(guile-2.2) BuildRequires on suse_version >=
1500.
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Jan 16 13:50:45 UTC 2018 - dimstar@opensuse.org Tue Jan 16 13:50:45 UTC 2018 - dimstar@opensuse.org

View File

@ -1,7 +1,7 @@
# #
# spec file for package graphviz-addons # spec file for package graphviz-addons
# #
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9) # license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative. # published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/ # Please submit bugfixes or comments via https://bugs.opensuse.org/
# #
@ -26,6 +26,18 @@
# Java and ocaml are not in ring1, thus this gets overriden in staging # Java and ocaml are not in ring1, thus this gets overriden in staging
%bcond_without java %bcond_without java
%bcond_with ocaml %bcond_with ocaml
# PHP7 requires swig >= 3.0.11, not available on Leap 42.x
%if 0%{?suse_version} >= 1500
%define php_version 7
%else
%define php_version 5
%endif
# No pkgconfig(gts) in sle12 GA or SPx, but in sle15
%if 0%{?suse_version} == 1315 && !0%{?is_opensuse}
%define sle12 1
%else
%define sle12 0
%endif
Name: graphviz-addons Name: graphviz-addons
Version: 2.40.1 Version: 2.40.1
Release: 0 Release: 0
@ -42,9 +54,8 @@ Patch1: graphviz-smyrna-link_against_glu.patch
Patch2: graphviz-fix-pkgIndex.patch Patch2: graphviz-fix-pkgIndex.patch
#PATCH-FIX-UPSTREAM Off-by-one bug #PATCH-FIX-UPSTREAM Off-by-one bug
Patch3: graphviz-array_overflow.patch Patch3: graphviz-array_overflow.patch
#PATCH-FIX-UPSTREAM Make build reproducible - merged in next release #PATCH-FIX-OPENSUSE Make build reproducible (boo#1041534)
Patch4: reproducible.patch Patch4: reproducible.patch
Patch5: graphviz-plugins-fix_install_dirs.patch
Patch6: graphviz-2.20.2-interpreter_names.patch Patch6: graphviz-2.20.2-interpreter_names.patch
#PATCH-FIX-UPSTREAM Don't warn about harmless issues with swig generated code #PATCH-FIX-UPSTREAM Don't warn about harmless issues with swig generated code
Patch7: graphviz-useless_warnings.patch Patch7: graphviz-useless_warnings.patch
@ -55,40 +66,50 @@ BuildRequires: bison
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: flex BuildRequires: flex
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: libstdc++-devel BuildRequires: libstdc++-devel
BuildRequires: libtool BuildRequires: libtool
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: pkgconfig(expat) BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(fontconfig) %if 0%{sle12} != 1
BuildRequires: pkgconfig(freetype2) >= 2 BuildRequires: pkgconfig(gts)
BuildRequires: pkgconfig(glib-2.0) %endif
BuildRequires: pkgconfig(ice)
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xaw6)
BuildRequires: pkgconfig(xaw7)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(zlib)
Requires: graphviz-plugins-core = %{version} Requires: graphviz-plugins-core = %{version}
Recommends: graphviz-gd = %{version} Recommends: graphviz-gd = %{version}
%if %{with extras} %if %{with extras}
BuildRequires: freeglut-devel BuildRequires: freeglut-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: perl BuildRequires: perl
%if 0%{?suse_version} >= 1500
BuildRequires: php7-devel BuildRequires: php7-devel
BuildRequires: ruby-devel BuildRequires: swig >= 3.0.11
%else
BuildRequires: php5-devel
BuildRequires: swig BuildRequires: swig
%endif
BuildRequires: ruby-devel
BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5PrintSupport) BuildRequires: pkgconfig(Qt5PrintSupport)
BuildRequires: pkgconfig(Qt5Widgets) BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2) >= 2
BuildRequires: pkgconfig(gdlib) BuildRequires: pkgconfig(gdlib)
BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(glu) BuildRequires: pkgconfig(glu)
BuildRequires: pkgconfig(gtkglext-1.0) BuildRequires: pkgconfig(gtkglext-1.0)
BuildRequires: pkgconfig(gts) BuildRequires: pkgconfig(ice)
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xaw7)
BuildRequires: pkgconfig(xext)
# Disabled until guile 2.2 lands
%if 0 && 0%{?suse_version} >= 1500
BuildRequires: pkgconfig(guile-2.2)
%else
BuildRequires: pkgconfig(guile-2.0) BuildRequires: pkgconfig(guile-2.0)
%endif
BuildRequires: pkgconfig(ijs) BuildRequires: pkgconfig(ijs)
BuildRequires: pkgconfig(libglade-2.0) BuildRequires: pkgconfig(libglade-2.0)
BuildRequires: pkgconfig(librsvg-2.0) BuildRequires: pkgconfig(librsvg-2.0)
@ -165,6 +186,15 @@ Requires: java
A collection of tools and tcl packages for the manipulation and layout A collection of tools and tcl packages for the manipulation and layout
of graphs (as in nodes and edges, not as in bar charts). of graphs (as in nodes and edges, not as in bar charts).
%package -n graphviz-x11
Summary: Graph editors based on X11
Group: Productivity/Graphics/Visualization/Graph
Requires: graphviz
%description -n graphviz-x11
The lefty/dotty/lneato X11 graph editors included with graphviz,
packaged separately to reduce build dependencies.
%package -n graphviz-lua %package -n graphviz-lua
Summary: Lua extension for graphviz Summary: Lua extension for graphviz
Group: Productivity/Graphics/Visualization/Graph Group: Productivity/Graphics/Visualization/Graph
@ -199,7 +229,7 @@ tools.
Summary: PHP Extension for Graphviz Summary: PHP Extension for Graphviz
Group: Productivity/Graphics/Visualization/Graph Group: Productivity/Graphics/Visualization/Graph
Requires: graphviz = %{version} Requires: graphviz = %{version}
Requires: php7 Requires: php%{php_version}
%description -n graphviz-php %description -n graphviz-php
The graphviz-php package contains the PHP extension for the graphviz The graphviz-php package contains the PHP extension for the graphviz
@ -281,21 +311,20 @@ programs that use the graphviz libraries including man3 pages.
%patch2 %patch2
%patch3 %patch3
%patch4 -p1 %patch4 -p1
%patch5
%patch6 %patch6
%patch7 %patch7
%patch8 %patch8
%if 0 && 0%{?suse_version} >= 1500
sed "s/guile-2.0/guile-2.2/" -i configure.ac
%endif
rm -f contrib/gprof2dot.awk rm -f contrib/gprof2dot.awk
# Fix path in generated man pages # Fix path for lua/php install
sed -i \
-e 's$@LIB_DIR@$%{_libdir}$g' \
tclpkg/gv/gv_doc_langs.tcl
# Fix path for lua install
sed -i \ sed -i \
-e 's@LUA_INSTALL_DIR="/usr.*@LUA_INSTALL_DIR=%{lua_archdir}@' \ -e 's@LUA_INSTALL_DIR="/usr.*@LUA_INSTALL_DIR=%{lua_archdir}@' \
-e 's@\(PHP_INSTALL_DIR=.*\)/php/modules@\1/php%{php_version}/extensions@' \
-e 's@\(PHP_INSTALL_DATADIR=.*\)/php@\1/php%{php_version}@' \
configure.ac configure.ac
%build %build
@ -310,7 +339,6 @@ export CFLAGS="$CFLAGS"
export CPPFLAGS="$CFLAGS" export CPPFLAGS="$CFLAGS"
export LDFLAGS="-pie" export LDFLAGS="-pie"
%configure \ %configure \
--with-x \
--disable-static \ --disable-static \
--without-included-ltdl \ --without-included-ltdl \
--disable-ltdl-install \ --disable-ltdl-install \
@ -318,6 +346,7 @@ export LDFLAGS="-pie"
--without-ming \ --without-ming \
--disable-io \ --disable-io \
%if %{with extras} %if %{with extras}
--with-x \
--with-qt \ --with-qt \
--with-smyrna \ --with-smyrna \
%else %else
@ -378,7 +407,6 @@ rm -rf %{buildroot}%{_libdir}/pkgconfig
rm -rf %{buildroot}%{_includedir} rm -rf %{buildroot}%{_includedir}
rm -rf %{buildroot}%{_datadir}/graphviz/examples rm -rf %{buildroot}%{_datadir}/graphviz/examples
rm -rf %{buildroot}%{_datadir}/graphviz/graphs rm -rf %{buildroot}%{_datadir}/graphviz/graphs
rm -rf %{buildroot}%{_datadir}/graphviz/lefty
rm -rf %{buildroot}%{_datadir}/graphviz/gvpr rm -rf %{buildroot}%{_datadir}/graphviz/gvpr
rm -f %{buildroot}%{_mandir}/man3/*.3 rm -f %{buildroot}%{_mandir}/man3/*.3
rm -f %{buildroot}%{_mandir}/man7/*.7 rm -f %{buildroot}%{_mandir}/man7/*.7
@ -387,7 +415,7 @@ rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_core*
rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_dot_layout* rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_dot_layout*
rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_neato_layout* rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_neato_layout*
# binaries removal # binaries removal
for i in acyclic bcomps ccomps circo cluster dijkstra dot dot2gxl dot_builtins dotty edgepaint fdp gc gml2gv graphml2gv gv2gml gv2gxl gvcolor gvgen gvmap gvmap.sh gvpack gvpr gxl2dot gxl2gv lefty lneato mm2gv neato nop osage patchwork prune sccmap sfdp tred twopi unflatten vimdot; do for i in acyclic bcomps ccomps circo cluster dijkstra dot dot2gxl dot_builtins edgepaint fdp gc gml2gv graphml2gv gv2gml gv2gxl gvcolor gvgen gvmap gvmap.sh gvpack gvpr gxl2dot gxl2gv mm2gv neato nop osage patchwork prune sccmap sfdp tred twopi unflatten vimdot; do
rm -f %{buildroot}%{_bindir}/$i rm -f %{buildroot}%{_bindir}/$i
rm -f %{buildroot}%{_mandir}/man1/$i.1 rm -f %{buildroot}%{_mandir}/man1/$i.1
done done
@ -416,7 +444,9 @@ rm -rf %{buildroot}%{_libdir}/graphviz/ruby
rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_pango* rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_pango*
rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_xlib* rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_xlib*
# This is part of the gd subpkg only # This is part of the gd subpkg only
rm -f %{buildroot}%{_mandir}/man1/diffimg.1 rm -f %{buildroot}%{_mandir}/man1/{diffimg.1*,dotty.1*,lefty.1*,lneato.1*}
# This is part of the x11 subpkg only
rm -rf %{buildroot}%{_datadir}/graphviz/lefty
%endif %endif
# Remove wrongly located docs # Remove wrongly located docs
rm -rf %{buildroot}%{_datadir}/%{mname}/doc rm -rf %{buildroot}%{_datadir}/%{mname}/doc
@ -436,14 +466,14 @@ fi
%if %{with extras} %if %{with extras}
%files -n graphviz-gvedit %files -n graphviz-gvedit
%doc COPYING %license COPYING
%{_bindir}/gvedit %{_bindir}/gvedit
%dir %{_datadir}/%{mname}/gvedit %dir %{_datadir}/%{mname}/gvedit
%{_datadir}/%{mname}/gvedit/attrs.txt %{_datadir}/%{mname}/gvedit/attrs.txt
%{_mandir}/man1/gvedit.1%{ext_man} %{_mandir}/man1/gvedit.1%{ext_man}
%files -n graphviz-smyrna %files -n graphviz-smyrna
%doc COPYING %license COPYING
%{_bindir}/smyrna %{_bindir}/smyrna
%{_datadir}/%{mname}/smyrna %{_datadir}/%{mname}/smyrna
%{_mandir}/man1/smyrna.1%{ext_man} %{_mandir}/man1/smyrna.1%{ext_man}
@ -490,6 +520,16 @@ fi
%{lua_archdir}/gv.so %{lua_archdir}/gv.so
%{_mandir}/man3/gv.3lua%{ext_man} %{_mandir}/man3/gv.3lua%{ext_man}
%files -n graphviz-x11
%license COPYING
%{_bindir}/dotty
%{_bindir}/lefty
%{_bindir}/lneato
%{_datadir}/%{mname}/lefty
%{_mandir}/man1/dotty.1%{ext_man}
%{_mandir}/man1/lefty.1%{ext_man}
%{_mandir}/man1/lneato.1%{ext_man}
%if %{with ocaml} %if %{with ocaml}
%files -n graphviz-ocaml %files -n graphviz-ocaml
%{_libdir}/graphviz/ocaml %{_libdir}/graphviz/ocaml
@ -502,8 +542,8 @@ fi
%{_mandir}/man3/gv.3perl%{ext_man} %{_mandir}/man3/gv.3perl%{ext_man}
%files -n graphviz-php %files -n graphviz-php
%{_libdir}/php7/extensions/gv.so %{_libdir}/php%{php_version}/extensions/gv.so
%{_datadir}/php7/gv.php %{_datadir}/php%{php_version}/gv.php
%{_mandir}/man3/gv.3php%{ext_man} %{_mandir}/man3/gv.3php%{ext_man}
%files -n graphviz-python %files -n graphviz-python
@ -532,7 +572,8 @@ fi
%else %else
%files %files
%doc doc/FAQ.html AUTHORS COPYING README NEWS ChangeLog %doc doc/FAQ.html AUTHORS README NEWS ChangeLog
%license COPYING
%{_bindir}/acyclic %{_bindir}/acyclic
%{_bindir}/bcomps %{_bindir}/bcomps
%{_bindir}/ccomps %{_bindir}/ccomps
@ -542,7 +583,6 @@ fi
%{_bindir}/dot %{_bindir}/dot
%{_bindir}/dot2gxl %{_bindir}/dot2gxl
%{_bindir}/dot_builtins %{_bindir}/dot_builtins
%{_bindir}/dotty
%{_bindir}/edgepaint %{_bindir}/edgepaint
%{_bindir}/fdp %{_bindir}/fdp
%{_bindir}/gc %{_bindir}/gc
@ -558,8 +598,6 @@ fi
%{_bindir}/gvpr %{_bindir}/gvpr
%{_bindir}/gxl2dot %{_bindir}/gxl2dot
%{_bindir}/gxl2gv %{_bindir}/gxl2gv
%{_bindir}/lefty
%{_bindir}/lneato
%{_bindir}/mm2gv %{_bindir}/mm2gv
%{_bindir}/neato %{_bindir}/neato
%{_bindir}/nop %{_bindir}/nop
@ -572,7 +610,6 @@ fi
%{_bindir}/twopi %{_bindir}/twopi
%{_bindir}/unflatten %{_bindir}/unflatten
%dir %{_datadir}/%{mname} %dir %{_datadir}/%{mname}
%{_datadir}/%{mname}/lefty
%{_datadir}/%{mname}/graphs %{_datadir}/%{mname}/graphs
%dir %{_datadir}/%{mname}/gvpr %dir %{_datadir}/%{mname}/gvpr
%{_datadir}/%{mname}/gvpr/addranks %{_datadir}/%{mname}/gvpr/addranks

View File

@ -1,44 +0,0 @@
---
configure | 6 +++---
configure.ac | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
Index: configure
===================================================================
--- configure.orig
+++ configure
@@ -22158,8 +22158,8 @@ test -n "$PHP" || PHP="php"
PHP_INCLUDES="-I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib"
fi
fi
- PHP_INSTALL_DIR="/usr/lib${LIBPOSTFIX}/php/modules"
- PHP_INSTALL_DATADIR="/usr/share/php"
+ PHP_INSTALL_DIR="/usr/lib${LIBPOSTFIX}/php7/extensions"
+ PHP_INSTALL_DATADIR="/usr/share/php7"
PHP_LIBS=
save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $PHP_INCLUDES"
@@ -23834,7 +23834,7 @@ $as_echo "using $TCLCONFIG" >&6; }
$as_echo "$as_me: WARNING: Unable to find tclConfig.sh. The Tcl packages will not be built" >&2;}
use_tcl="No (missing tclConfig.sh)"
fi
- TCL_INSTALL_DIR="${TCLSH_EXEC_PREFIX}/lib${LIBPOSTFIX}/tcl${TCL_VERSION_FOUND}"
+ TCL_INSTALL_DIR="${TCLSH_EXEC_PREFIX}/lib${LIBPOSTFIX}
fi
if test "x$use_tcl" = "x"; then
Index: configure.ac
===================================================================
--- configure.ac.orig
+++ configure.ac
@@ -1102,8 +1102,8 @@ else
PHP_INCLUDES="-I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib"
fi
fi
- PHP_INSTALL_DIR="/usr/lib${LIBPOSTFIX}/php/modules"
- PHP_INSTALL_DATADIR="/usr/share/php"
+ PHP_INSTALL_DIR="/usr/lib${LIBPOSTFIX}/php7/extensions"
+ PHP_INSTALL_DATADIR="/usr/share/php7"
PHP_LIBS=
save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $PHP_INCLUDES"

View File

@ -1,3 +1,63 @@
-------------------------------------------------------------------
Fri Nov 16 15:21:38 UTC 2018 - trenn@suse.de
- Fixed double file declaration in graphviz and graphviz-addons (x11)
- Mark license files with %license instead of %doc
-------------------------------------------------------------------
Thu Oct 25 14:52:00 UTC 2018 - trenn@suse.de
- Build with gts support (bsc#1108978, bsc#1108976)
SLE12 flavors do not provide gts, so explicitly exclude
gts support there.
-------------------------------------------------------------------
Mon Jul 30 11:24:20 UTC 2018 - bwiedemann@suse.com
- Extend reproducible.patch to make build reproducible (boo#1041534)
-------------------------------------------------------------------
Tue Mar 27 20:12:49 UTC 2018 - stefan.bruens@rwth-aachen.de
- Build with PHP5 for Leap 42.x and earlier, PHP7 requires swig 3.0.11
Drop graphviz-plugins-fix_install_dirs.patch, use sed script to
fix directories, same as for Lua
-------------------------------------------------------------------
Tue Mar 27 19:53:42 UTC 2018 - stefan.bruens@rwth-aachen.de
- Do not delete dotty/lefty/lneato man pages which are part of
the x11 subpackage, built from the addons package/spec.
(No changelog entry).
-------------------------------------------------------------------
Sat Feb 10 17:36:20 UTC 2018 - stefan.bruens@rwth-aachen.de
- Drop harmful modification of tclpkg/gv/gv_doc_langs.tcl, which
changes the timestamp, although the file does not contain LIB_DIR.
Graphviz ships prebuilt manpages in man and PDF format. Modifying
the tcl script rebuilt the documentation, and replaced the PDFs
with empty documents (due to missing groff). This also made the
doc subpackage nonreproducible, causing rebuilds in all dependent
packages.
-------------------------------------------------------------------
Thu Feb 8 18:22:25 UTC 2018 - stefan.bruens@rwth-aachen.de
- Disable guile 2.2 modifications temporarily
- Move lefty/dotty/lneato graph editor tools to x11 subpackage and
build as part of addons package. Removes any X11 dependency from
core package, both build and runtime.
- Drop unused libXaw6 build dependency
- move libpng, libjpeg, freetype and fontconfig build dependencies
to addons, unused for core
-------------------------------------------------------------------
Thu Jan 25 16:12:41 UTC 2018 - dimstar@opensuse.org
- Move to pkgconfig(guile-2.2) BuildRequires on suse_version >=
1500.
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Jan 16 13:50:45 UTC 2018 - dimstar@opensuse.org Tue Jan 16 13:50:45 UTC 2018 - dimstar@opensuse.org

View File

@ -1,7 +1,7 @@
# #
# spec file for package graphviz # spec file for package graphviz
# #
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9) # license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative. # published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/ # Please submit bugfixes or comments via https://bugs.opensuse.org/
# #
@ -26,6 +26,18 @@
# Java and ocaml are not in ring1, thus this gets overriden in staging # Java and ocaml are not in ring1, thus this gets overriden in staging
%bcond_without java %bcond_without java
%bcond_with ocaml %bcond_with ocaml
# PHP7 requires swig >= 3.0.11, not available on Leap 42.x
%if 0%{?suse_version} >= 1500
%define php_version 7
%else
%define php_version 5
%endif
# No pkgconfig(gts) in sle12 GA or SPx, but in sle15
%if 0%{?suse_version} == 1315 && !0%{?is_opensuse}
%define sle12 1
%else
%define sle12 0
%endif
Name: graphviz Name: graphviz
Version: 2.40.1 Version: 2.40.1
Release: 0 Release: 0
@ -42,9 +54,8 @@ Patch1: graphviz-smyrna-link_against_glu.patch
Patch2: graphviz-fix-pkgIndex.patch Patch2: graphviz-fix-pkgIndex.patch
#PATCH-FIX-UPSTREAM Off-by-one bug #PATCH-FIX-UPSTREAM Off-by-one bug
Patch3: graphviz-array_overflow.patch Patch3: graphviz-array_overflow.patch
#PATCH-FIX-UPSTREAM Make build reproducible - merged in next release #PATCH-FIX-OPENSUSE Make build reproducible (boo#1041534)
Patch4: reproducible.patch Patch4: reproducible.patch
Patch5: graphviz-plugins-fix_install_dirs.patch
Patch6: graphviz-2.20.2-interpreter_names.patch Patch6: graphviz-2.20.2-interpreter_names.patch
#PATCH-FIX-UPSTREAM Don't warn about harmless issues with swig generated code #PATCH-FIX-UPSTREAM Don't warn about harmless issues with swig generated code
Patch7: graphviz-useless_warnings.patch Patch7: graphviz-useless_warnings.patch
@ -55,40 +66,50 @@ BuildRequires: bison
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: flex BuildRequires: flex
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: libstdc++-devel BuildRequires: libstdc++-devel
BuildRequires: libtool BuildRequires: libtool
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: pkgconfig(expat) BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(fontconfig) %if 0%{sle12} != 1
BuildRequires: pkgconfig(freetype2) >= 2 BuildRequires: pkgconfig(gts)
BuildRequires: pkgconfig(glib-2.0) %endif
BuildRequires: pkgconfig(ice)
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xaw6)
BuildRequires: pkgconfig(xaw7)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(zlib)
Requires: graphviz-plugins-core = %{version} Requires: graphviz-plugins-core = %{version}
Recommends: graphviz-gd = %{version} Recommends: graphviz-gd = %{version}
%if %{with extras} %if %{with extras}
BuildRequires: freeglut-devel BuildRequires: freeglut-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: perl BuildRequires: perl
%if 0%{?suse_version} >= 1500
BuildRequires: php7-devel BuildRequires: php7-devel
BuildRequires: ruby-devel BuildRequires: swig >= 3.0.11
%else
BuildRequires: php5-devel
BuildRequires: swig BuildRequires: swig
%endif
BuildRequires: ruby-devel
BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5PrintSupport) BuildRequires: pkgconfig(Qt5PrintSupport)
BuildRequires: pkgconfig(Qt5Widgets) BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2) >= 2
BuildRequires: pkgconfig(gdlib) BuildRequires: pkgconfig(gdlib)
BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(glu) BuildRequires: pkgconfig(glu)
BuildRequires: pkgconfig(gtkglext-1.0) BuildRequires: pkgconfig(gtkglext-1.0)
BuildRequires: pkgconfig(gts) BuildRequires: pkgconfig(ice)
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xaw7)
BuildRequires: pkgconfig(xext)
# Disabled until guile 2.2 lands
%if 0 && 0%{?suse_version} >= 1500
BuildRequires: pkgconfig(guile-2.2)
%else
BuildRequires: pkgconfig(guile-2.0) BuildRequires: pkgconfig(guile-2.0)
%endif
BuildRequires: pkgconfig(ijs) BuildRequires: pkgconfig(ijs)
BuildRequires: pkgconfig(libglade-2.0) BuildRequires: pkgconfig(libglade-2.0)
BuildRequires: pkgconfig(librsvg-2.0) BuildRequires: pkgconfig(librsvg-2.0)
@ -165,6 +186,15 @@ Requires: java
A collection of tools and tcl packages for the manipulation and layout A collection of tools and tcl packages for the manipulation and layout
of graphs (as in nodes and edges, not as in bar charts). of graphs (as in nodes and edges, not as in bar charts).
%package -n graphviz-x11
Summary: Graph editors based on X11
Group: Productivity/Graphics/Visualization/Graph
Requires: graphviz
%description -n graphviz-x11
The lefty/dotty/lneato X11 graph editors included with graphviz,
packaged separately to reduce build dependencies.
%package -n graphviz-lua %package -n graphviz-lua
Summary: Lua extension for graphviz Summary: Lua extension for graphviz
Group: Productivity/Graphics/Visualization/Graph Group: Productivity/Graphics/Visualization/Graph
@ -199,7 +229,7 @@ tools.
Summary: PHP Extension for Graphviz Summary: PHP Extension for Graphviz
Group: Productivity/Graphics/Visualization/Graph Group: Productivity/Graphics/Visualization/Graph
Requires: graphviz = %{version} Requires: graphviz = %{version}
Requires: php7 Requires: php%{php_version}
%description -n graphviz-php %description -n graphviz-php
The graphviz-php package contains the PHP extension for the graphviz The graphviz-php package contains the PHP extension for the graphviz
@ -281,21 +311,20 @@ programs that use the graphviz libraries including man3 pages.
%patch2 %patch2
%patch3 %patch3
%patch4 -p1 %patch4 -p1
%patch5
%patch6 %patch6
%patch7 %patch7
%patch8 %patch8
%if 0 && 0%{?suse_version} >= 1500
sed "s/guile-2.0/guile-2.2/" -i configure.ac
%endif
rm -f contrib/gprof2dot.awk rm -f contrib/gprof2dot.awk
# Fix path in generated man pages # Fix path for lua/php install
sed -i \
-e 's$@LIB_DIR@$%{_libdir}$g' \
tclpkg/gv/gv_doc_langs.tcl
# Fix path for lua install
sed -i \ sed -i \
-e 's@LUA_INSTALL_DIR="/usr.*@LUA_INSTALL_DIR=%{lua_archdir}@' \ -e 's@LUA_INSTALL_DIR="/usr.*@LUA_INSTALL_DIR=%{lua_archdir}@' \
-e 's@\(PHP_INSTALL_DIR=.*\)/php/modules@\1/php%{php_version}/extensions@' \
-e 's@\(PHP_INSTALL_DATADIR=.*\)/php@\1/php%{php_version}@' \
configure.ac configure.ac
%build %build
@ -310,7 +339,6 @@ export CFLAGS="$CFLAGS"
export CPPFLAGS="$CFLAGS" export CPPFLAGS="$CFLAGS"
export LDFLAGS="-pie" export LDFLAGS="-pie"
%configure \ %configure \
--with-x \
--disable-static \ --disable-static \
--without-included-ltdl \ --without-included-ltdl \
--disable-ltdl-install \ --disable-ltdl-install \
@ -318,6 +346,7 @@ export LDFLAGS="-pie"
--without-ming \ --without-ming \
--disable-io \ --disable-io \
%if %{with extras} %if %{with extras}
--with-x \
--with-qt \ --with-qt \
--with-smyrna \ --with-smyrna \
%else %else
@ -378,7 +407,6 @@ rm -rf %{buildroot}%{_libdir}/pkgconfig
rm -rf %{buildroot}%{_includedir} rm -rf %{buildroot}%{_includedir}
rm -rf %{buildroot}%{_datadir}/graphviz/examples rm -rf %{buildroot}%{_datadir}/graphviz/examples
rm -rf %{buildroot}%{_datadir}/graphviz/graphs rm -rf %{buildroot}%{_datadir}/graphviz/graphs
rm -rf %{buildroot}%{_datadir}/graphviz/lefty
rm -rf %{buildroot}%{_datadir}/graphviz/gvpr rm -rf %{buildroot}%{_datadir}/graphviz/gvpr
rm -f %{buildroot}%{_mandir}/man3/*.3 rm -f %{buildroot}%{_mandir}/man3/*.3
rm -f %{buildroot}%{_mandir}/man7/*.7 rm -f %{buildroot}%{_mandir}/man7/*.7
@ -387,7 +415,7 @@ rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_core*
rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_dot_layout* rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_dot_layout*
rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_neato_layout* rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_neato_layout*
# binaries removal # binaries removal
for i in acyclic bcomps ccomps circo cluster dijkstra dot dot2gxl dot_builtins dotty edgepaint fdp gc gml2gv graphml2gv gv2gml gv2gxl gvcolor gvgen gvmap gvmap.sh gvpack gvpr gxl2dot gxl2gv lefty lneato mm2gv neato nop osage patchwork prune sccmap sfdp tred twopi unflatten vimdot; do for i in acyclic bcomps ccomps circo cluster dijkstra dot dot2gxl dot_builtins edgepaint fdp gc gml2gv graphml2gv gv2gml gv2gxl gvcolor gvgen gvmap gvmap.sh gvpack gvpr gxl2dot gxl2gv mm2gv neato nop osage patchwork prune sccmap sfdp tred twopi unflatten vimdot; do
rm -f %{buildroot}%{_bindir}/$i rm -f %{buildroot}%{_bindir}/$i
rm -f %{buildroot}%{_mandir}/man1/$i.1 rm -f %{buildroot}%{_mandir}/man1/$i.1
done done
@ -416,7 +444,9 @@ rm -rf %{buildroot}%{_libdir}/graphviz/ruby
rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_pango* rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_pango*
rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_xlib* rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_xlib*
# This is part of the gd subpkg only # This is part of the gd subpkg only
rm -f %{buildroot}%{_mandir}/man1/diffimg.1 rm -f %{buildroot}%{_mandir}/man1/{diffimg.1*,dotty.1*,lefty.1*,lneato.1*}
# This is part of the x11 subpkg only
rm -rf %{buildroot}%{_datadir}/graphviz/lefty
%endif %endif
# Remove wrongly located docs # Remove wrongly located docs
rm -rf %{buildroot}%{_datadir}/%{mname}/doc rm -rf %{buildroot}%{_datadir}/%{mname}/doc
@ -436,14 +466,14 @@ fi
%if %{with extras} %if %{with extras}
%files -n graphviz-gvedit %files -n graphviz-gvedit
%doc COPYING %license COPYING
%{_bindir}/gvedit %{_bindir}/gvedit
%dir %{_datadir}/%{mname}/gvedit %dir %{_datadir}/%{mname}/gvedit
%{_datadir}/%{mname}/gvedit/attrs.txt %{_datadir}/%{mname}/gvedit/attrs.txt
%{_mandir}/man1/gvedit.1%{ext_man} %{_mandir}/man1/gvedit.1%{ext_man}
%files -n graphviz-smyrna %files -n graphviz-smyrna
%doc COPYING %license COPYING
%{_bindir}/smyrna %{_bindir}/smyrna
%{_datadir}/%{mname}/smyrna %{_datadir}/%{mname}/smyrna
%{_mandir}/man1/smyrna.1%{ext_man} %{_mandir}/man1/smyrna.1%{ext_man}
@ -490,6 +520,16 @@ fi
%{lua_archdir}/gv.so %{lua_archdir}/gv.so
%{_mandir}/man3/gv.3lua%{ext_man} %{_mandir}/man3/gv.3lua%{ext_man}
%files -n graphviz-x11
%license COPYING
%{_bindir}/dotty
%{_bindir}/lefty
%{_bindir}/lneato
%{_datadir}/%{mname}/lefty
%{_mandir}/man1/dotty.1%{ext_man}
%{_mandir}/man1/lefty.1%{ext_man}
%{_mandir}/man1/lneato.1%{ext_man}
%if %{with ocaml} %if %{with ocaml}
%files -n graphviz-ocaml %files -n graphviz-ocaml
%{_libdir}/graphviz/ocaml %{_libdir}/graphviz/ocaml
@ -502,8 +542,8 @@ fi
%{_mandir}/man3/gv.3perl%{ext_man} %{_mandir}/man3/gv.3perl%{ext_man}
%files -n graphviz-php %files -n graphviz-php
%{_libdir}/php7/extensions/gv.so %{_libdir}/php%{php_version}/extensions/gv.so
%{_datadir}/php7/gv.php %{_datadir}/php%{php_version}/gv.php
%{_mandir}/man3/gv.3php%{ext_man} %{_mandir}/man3/gv.3php%{ext_man}
%files -n graphviz-python %files -n graphviz-python
@ -532,7 +572,8 @@ fi
%else %else
%files %files
%doc doc/FAQ.html AUTHORS COPYING README NEWS ChangeLog %doc doc/FAQ.html AUTHORS README NEWS ChangeLog
%license COPYING
%{_bindir}/acyclic %{_bindir}/acyclic
%{_bindir}/bcomps %{_bindir}/bcomps
%{_bindir}/ccomps %{_bindir}/ccomps
@ -542,7 +583,6 @@ fi
%{_bindir}/dot %{_bindir}/dot
%{_bindir}/dot2gxl %{_bindir}/dot2gxl
%{_bindir}/dot_builtins %{_bindir}/dot_builtins
%{_bindir}/dotty
%{_bindir}/edgepaint %{_bindir}/edgepaint
%{_bindir}/fdp %{_bindir}/fdp
%{_bindir}/gc %{_bindir}/gc
@ -558,8 +598,6 @@ fi
%{_bindir}/gvpr %{_bindir}/gvpr
%{_bindir}/gxl2dot %{_bindir}/gxl2dot
%{_bindir}/gxl2gv %{_bindir}/gxl2gv
%{_bindir}/lefty
%{_bindir}/lneato
%{_bindir}/mm2gv %{_bindir}/mm2gv
%{_bindir}/neato %{_bindir}/neato
%{_bindir}/nop %{_bindir}/nop
@ -572,7 +610,6 @@ fi
%{_bindir}/twopi %{_bindir}/twopi
%{_bindir}/unflatten %{_bindir}/unflatten
%dir %{_datadir}/%{mname} %dir %{_datadir}/%{mname}
%{_datadir}/%{mname}/lefty
%{_datadir}/%{mname}/graphs %{_datadir}/%{mname}/graphs
%dir %{_datadir}/%{mname}/gvpr %dir %{_datadir}/%{mname}/gvpr
%{_datadir}/%{mname}/gvpr/addranks %{_datadir}/%{mname}/gvpr/addranks

View File

@ -3,4 +3,5 @@ cp graphviz.changes graphviz-addons.changes
sed \ sed \
-e 's:%bcond_with extras:%bcond_without extras:' \ -e 's:%bcond_with extras:%bcond_without extras:' \
-e 's#Name: graphviz#Name: graphviz-addons#' \ -e 's#Name: graphviz#Name: graphviz-addons#' \
-e 's#spec file for package graphviz#spec file for package graphviz-addons#' \
graphviz.spec > graphviz-addons.spec graphviz.spec > graphviz-addons.spec

View File

@ -1,12 +1,37 @@
Author: Bernhard M. Wiedemann <bwiedemann suse de>
Date: 2018-07-30
https://bugzilla.opensuse.org/show_bug.cgi?id=1041534
Do not have binaries depend on build system timings Do not have binaries depend on build system timings
because we are building in VMs anyway because we are building in VMs anyway
and users might have different hardware and users might have different hardware
Will always use the system's memchr and memccpy functions.
Index: graphviz-2.38.0/lib/sfio/features/sfio Index: graphviz-2.38.0/lib/sfio/features/sfio
=================================================================== ===================================================================
--- graphviz-2.38.0.orig/lib/sfio/features/sfio --- graphviz-2.38.0.orig/lib/sfio/features/sfio
+++ graphviz-2.38.0/lib/sfio/features/sfio +++ graphviz-2.38.0/lib/sfio/features/sfio
@@ -260,9 +260,7 @@ tst output{ @@ -79,7 +79,7 @@ lib memchr note{ see if memchr is fast }
t2 = (etm2.tms_utime - stm2.tms_utime) +
(etm2.tms_stime - stm2.tms_stime);
- return t1 < t2 ? 0 : 1;
+ return 0;
}
}end
@@ -120,7 +120,7 @@ lib memccpy note{ see if memccpy is fast
t2 = (etm2.tms_utime - stm2.tms_utime) +
(etm2.tms_stime - stm2.tms_stime);
- return t1 < t2 ? 0 : 1;
+ return 0;
}
}end
@@ -250,9 +250,7 @@ tst output{
unlink(file); unlink(file);