forked from pool/graphviz
Compare commits
4 Commits
Author | SHA256 | Date | |
---|---|---|---|
4a6de6f74b | |||
736833a325 | |||
de5b57e180 | |||
1352c6f1d4 |
@@ -1,4 +1,4 @@
|
||||
<multibuild>
|
||||
<package>addons</package>
|
||||
<package>qt5</package>
|
||||
<package>qt6</package>
|
||||
</multibuild>
|
||||
|
3
graphviz-12.2.1.tar.bz2
Normal file
3
graphviz-12.2.1.tar.bz2
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a990b38c3ea807a06597ce8d46d87878e59bb3fb12609fd98c02a861a4ca81b8
|
||||
size 26332351
|
@@ -1,18 +0,0 @@
|
||||
Silent warning:
|
||||
>> tbl.c:173:15: warning: assignment to ‘char *’ from incompatible pointer type ‘char (*)[1]’ [-Wincompatible-pointer-types]
|
||||
|
||||
---
|
||||
cmd/lefty/tbl.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- cmd/lefty/tbl.c
|
||||
+++ cmd/lefty/tbl.c 2024-09-06 08:48:48.059367033 +0000
|
||||
@@ -170,7 +170,7 @@ Tobj Tcode (Code_t *cp, int ci, int cl)
|
||||
cp2[i] = cp[i];
|
||||
if (cp2[i].next != C_NULL)
|
||||
cp2[i].next -= ci;
|
||||
- s = &cp[i].u.s;
|
||||
+ s = &cp[i].u.s[0]; // gcc14
|
||||
while (*s)
|
||||
s++;
|
||||
cn = (long) (s - (char *) &cp[i]) / sizeof (Code_t);
|
BIN
graphviz-2.49.3.tar.bz2
(Stored with Git LFS)
BIN
graphviz-2.49.3.tar.bz2
(Stored with Git LFS)
Binary file not shown.
@@ -1,67 +0,0 @@
|
||||
From 87cc54644e40fccc0651b7fedc137b3dd02b4514 Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Fernandez <matthew.fernandez@gmail.com>
|
||||
Date: Mon, 21 Mar 2022 08:09:55 -0700
|
||||
Subject: [PATCH] smyrna Init: squash -Wincompatible-pointer-types
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
OpenGL has an unorthodox API wherein the `gluTessCallback` function’s prototype
|
||||
indicates it takes a `void(*)(void)`, but its docs¹ explain that the type
|
||||
actually varies depending on the second argument. As a result, the compiler
|
||||
(correctly) warns that some of these `gluTessCallback` calls are passing
|
||||
function pointers that do not have the same ABI. Presumably this works out
|
||||
because at the end of the day a function pointer is just some bits in C and the
|
||||
OpenGL implementation branches on the `which` argument and invokes the pointer
|
||||
correctly. But if OpenGL really wanted to discard type safety this way, it is
|
||||
not clear to me why they did not make the function pointer argument a `void*`.
|
||||
Anyway, this commit squashes the compiler warnings which emerge when enabling
|
||||
this in the CMake build system, failing the build.
|
||||
|
||||
Gitlab: related to #1836
|
||||
|
||||
¹ This is not the authoritative source, but Microsoft’s docs for their
|
||||
implementation provide a good explanation.
|
||||
https://docs.microsoft.com/en-us/windows/win32/opengl/glutess
|
||||
---
|
||||
cmd/smyrna/polytess.c | 25 ++++++++++++++++++++-----
|
||||
1 file changed, 20 insertions(+), 5 deletions(-)
|
||||
|
||||
--- cmd/smyrna/polytess.c
|
||||
+++ cmd/smyrna/polytess.c 2024-09-06 09:04:16.790734526 +0000
|
||||
@@ -39,15 +39,30 @@ static void CALLBACK vertexCallback(GLvo
|
||||
|
||||
}
|
||||
|
||||
-static GLUtesselator* Init()
|
||||
+// OpenGL’s `gluTessCallback` function has a prototype indicating it takes a
|
||||
+// `void(*)(void)`. But its documentation describes passing in various function
|
||||
+// pointers with differing calling conventions. To use this API while also
|
||||
+// pacifying all the various build environments, we need this rather silly
|
||||
+// wrapper.
|
||||
+#ifdef _MSC_VER
|
||||
+// MSVC is of the (correct) opinion that casting between function pointers of
|
||||
+// incompatible calling conventions is unacceptable behavior…
|
||||
+#define MAKE_GLU_CALLBACK(f) f
|
||||
+#else
|
||||
+// …nevertheless other compilers insist we cast or they believe we have made a
|
||||
+// typo
|
||||
+#define MAKE_GLU_CALLBACK(f) ((void (*)(void))(f))
|
||||
+#endif
|
||||
+
|
||||
+static GLUtesselator* Init(void)
|
||||
{
|
||||
// Create a new tessellation object
|
||||
GLUtesselator* tobj = gluNewTess();
|
||||
// Set callback functions
|
||||
- gluTessCallback(tobj, GLU_TESS_VERTEX, &vertexCallback);
|
||||
- gluTessCallback(tobj, GLU_TESS_BEGIN, &glBegin);
|
||||
- gluTessCallback(tobj, GLU_TESS_END, &glEnd);
|
||||
- gluTessCallback(tobj, GLU_TESS_COMBINE,&combineCallback);
|
||||
+ gluTessCallback(tobj, GLU_TESS_VERTEX, MAKE_GLU_CALLBACK(vertexCallback));
|
||||
+ gluTessCallback(tobj, GLU_TESS_BEGIN, MAKE_GLU_CALLBACK(glBegin));
|
||||
+ gluTessCallback(tobj, GLU_TESS_END, MAKE_GLU_CALLBACK(glEnd));
|
||||
+ gluTessCallback(tobj, GLU_TESS_COMBINE, MAKE_GLU_CALLBACK(combineCallback));
|
||||
return tobj;
|
||||
}
|
||||
|
@@ -1,8 +1,20 @@
|
||||
--- tclpkg/mkpkgindex.sh
|
||||
+++ tclpkg/mkpkgindex.sh
|
||||
@@ -22,4 +22,4 @@
|
||||
echo " package require Tk 8.3" >>pkgIndex.tcl
|
||||
;;
|
||||
esac
|
||||
-echo " load [file join \$dir $lib] $2\"" >>pkgIndex.tcl
|
||||
+echo " load $lib $2\"" >>pkgIndex.tcl
|
||||
#--- tclpkg/mkpkgindex.sh
|
||||
#+++ tclpkg/mkpkgindex.sh
|
||||
#@@ -22,4 +22,4 @@
|
||||
# echo " package require Tk 8.3" >>pkgIndex.tcl
|
||||
# ;;
|
||||
# esac
|
||||
#-echo " load [file join \$dir $lib] $2\"" >>pkgIndex.tcl
|
||||
#+echo " load $lib $2\"" >>pkgIndex.tcl
|
||||
--- tclpkg/mkpkgindex.py
|
||||
+++ tclpkg/mkpkgindex.py
|
||||
@@ -39,7 +39,7 @@
|
||||
f.write(f'package ifneeded {options.name} {version} "\n')
|
||||
if "tk" in str(options.file):
|
||||
f.write("\tpackage require Tk 8.3\n")
|
||||
- f.write(f'\tload [file join $dir {options.file}] {options.name}"\n')
|
||||
+ f.write(f'\tload {options.file} {options.name}"\n')
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
|
@@ -1,11 +1,19 @@
|
||||
--- configure.ac 2019-07-13 05:14:04.000000000 +0200
|
||||
+++ configure.ac 2020-12-31 13:46:52.374560516 +0100
|
||||
@@ -1116,7 +1116,7 @@ else
|
||||
# PHP_INCLUDES="`$PHPCONFIG --includes`"
|
||||
# PHP_INSTALL_DIR="`$PHPCONFIG --extension-dir`"
|
||||
# PHP_INSTALL_DATADIR="/usr/share/php"
|
||||
#- PHP_LIBS="`$PHPCONFIG --ldflags` `$PHPCONFIG --libs`"
|
||||
#+ PHP_LIBS="`$PHPCONFIG --ldflags`"
|
||||
# save_CPPFLAGS=$CPPFLAGS
|
||||
# CPPFLAGS="$CPPFLAGS $PHP_INCLUDES"
|
||||
# AC_CHECK_HEADER(php.h,,[
|
||||
PHP_INCLUDES="`$PHPCONFIG --includes`"
|
||||
PHP_INSTALL_DIR="`$PHPCONFIG --extension-dir`"
|
||||
PHP_INSTALL_DATADIR="/usr/share/php"
|
||||
- PHP_LIBS="`$PHPCONFIG --ldflags` `$PHPCONFIG --libs`"
|
||||
+ PHP_LIBS="`$PHPCONFIG --ldflags`"
|
||||
save_CPPFLAGS=$CPPFLAGS
|
||||
CPPFLAGS="$CPPFLAGS $PHP_INCLUDES"
|
||||
AC_CHECK_HEADER(php.h,,[
|
||||
fi
|
||||
fi
|
||||
if test "$PHP" != ""; then
|
||||
|
@@ -1,8 +0,0 @@
|
||||
--- graphviz-2.46.1/lib/vmalloc/Makefile.am.orig 2021-02-18 17:44:23.990163756 +0100
|
||||
+++ graphviz-2.46.1/lib/vmalloc/Makefile.am 2021-02-18 17:46:38.615438829 +0100
|
||||
@@ -9,4 +9,5 @@
|
||||
vmopen.c \
|
||||
vmstrdup.c
|
||||
|
||||
+libvmalloc_C_la_CFLAGS = -fno-strict-aliasing
|
||||
EXTRA_DIST = vmalloc.vcxproj*
|
161
graphviz.changes
161
graphviz.changes
@@ -1,3 +1,164 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri May 30 10:49:41 UTC 2025 - Antonio Larrosa <alarrosa@suse.com>
|
||||
|
||||
- Update to 12.2.1
|
||||
* Added
|
||||
- Support for building the SWIG-generated R language bindings
|
||||
has been integrated into the CMake build system. This is
|
||||
controllable by the -DENABLE_R={AUTO|ON|OFF} option.
|
||||
- A sandboxing wrapper, dot_sandbox, is now included with
|
||||
Graphviz. Users should prefer their platform’s native
|
||||
security solutions, but if nothing better is available this
|
||||
wrapper offers safe processing of untrusted inputs in some
|
||||
scenarios.
|
||||
* Changed
|
||||
- JPEG images without an APP0 leading segment are supported for
|
||||
use in src fields and friends. Previously Graphviz was overly
|
||||
strict with the types of JPEGs it would recognize. #2619
|
||||
- The CMake build system now discovers and uses
|
||||
pango_fc_font_lock_face if possible, for the Pango plugin to
|
||||
provide more information about used fonts.
|
||||
* Fixed
|
||||
- The GVPR library program depath no longer acts on previously
|
||||
deleted nodes, causing unpredictable results. #1702 (closed)
|
||||
- Void-typed function parameters (int foo(void bar)) and
|
||||
variables void baz; in GVPR are gracefully rejected.
|
||||
#2585 (closed)
|
||||
- Input that induce a set node height but no set node width no
|
||||
longer crash with the failure "Assertion failed:
|
||||
(r->boundary[i] <= r->boundary[NUMDIMS + i]), function
|
||||
RTreeInsert". It is typically not obvious to users when their
|
||||
input falls into this situation, hence why the assertion
|
||||
message is quoted here. This was a regression in Graphviz
|
||||
12.0.0. #2613 (closed)
|
||||
- Strings containing double quote characters preceded by escape
|
||||
sequences (e.g. \n") are once again correctly escaped in dot
|
||||
or canonical output. This was a regression in Graphviz 9.0.0.
|
||||
#2614 (closed)
|
||||
- dot_builtins no longer lists duplicate format options in its
|
||||
error messages. #2604 (closed)
|
||||
- A precision error that resulted in truncated edge lines has
|
||||
been corrected. This was a regression in Graphviz 12.0.0.
|
||||
#2620 (closed)
|
||||
- The xlib plugin (-Tx11) resets its initialization state
|
||||
during finalization. This fixes a rare scenario where
|
||||
multiple input graphs are supplied and initialization for one
|
||||
of the not-first graphs fails. In this scenario, finalization
|
||||
would be unaware of this failure and act on invalid state.
|
||||
|
||||
- Update to 12.2.0
|
||||
* Removed
|
||||
- Visual Studio build files have been removed. CMake is now the
|
||||
only supported build system on Windows.
|
||||
* Added
|
||||
- Support for building the SWIG-generated PHP language bindings
|
||||
has been integrated into the CMake build system. This is
|
||||
controllable by the -DENABLE_PHP={AUTO|ON|OFF} option.
|
||||
- Support for building the SWIG-generated Python language
|
||||
bindings has been integrated into the CMake build system.
|
||||
This is controllable by the -DENABLE_PYTHON={AUTO|ON|OFF}
|
||||
option.
|
||||
* Changed
|
||||
- An algorithm closer to that described in RFC 1942 and/or the
|
||||
CSS 2.1 specification is now used for sizing table cells
|
||||
within HTML-like labels. This is less scalable than the
|
||||
network simplex algorithm it replaces, but in general
|
||||
produces more intuitive results. #2159 (closed)
|
||||
- Tooltips on table elements within HTML-like labels are now
|
||||
propagated to SVGs produced by the core plugin (-Tsvg) even
|
||||
when the elements do not have href attributes. #1425 (closed)
|
||||
- In the Autotools build system, pkg-config is the only
|
||||
supported way for discovering Guile. Previous use of
|
||||
guile-config* has been removed. #2606 (closed)
|
||||
- The Autotools release artifacts for macOS
|
||||
(Darwin_*_graphviz-*.tar.gz) now use relative paths in links
|
||||
to dependent libraries and plugins. This should make the tree
|
||||
relocatable instead of having to live at
|
||||
/Users/gitlab/builds. #2501 (closed)
|
||||
- gml2gv no longer maps GML label attributes to Graphviz name
|
||||
attributes. These are now mapped to Graphviz label
|
||||
attributes. #2586 (closed)
|
||||
* Fixed
|
||||
- In the Autotools build system, the core plugin links against
|
||||
libm, fixing some unresolvable symbols. This was a regression
|
||||
in Graphviz 4.0.0. Though it would primarily have affected
|
||||
non-Graphviz applications attempting to load this plugin on
|
||||
Linux.
|
||||
- The osage layout engine now understands a cluster to be
|
||||
indicated by the common rules, including the "cluster" prefix
|
||||
being case insensitive and the cluster=true attribute as an
|
||||
alternative. #2187
|
||||
- acyclic once again produces its output on stdout. This was a
|
||||
regression in Graphviz 10.0.1. #2600 (closed)
|
||||
- When using the Tclpathplan module, created vgpanes can once
|
||||
again be named and addressed. This was a regression in
|
||||
Graphviz 12.1.2.
|
||||
- Omitting a polygon identifier when running triangulation
|
||||
using the Tclpathplan module (e.g. vgpane0 triangulate
|
||||
instead of vgpane0 triangulate 42) no longer goes unnoticed
|
||||
and reads invalid memory. This bug seems to have existed
|
||||
since the first revision of Graphviz.
|
||||
- When using the Tclpathplan module, defining a malformed
|
||||
<3-point polygon and then attempting to triangulate this
|
||||
polygon no longer reads invalid memory. This case is now
|
||||
rejected with an error during triangulation. Like the
|
||||
previous entry, this bug seems to have existed since the
|
||||
first revision of Graphviz.
|
||||
- When using the Tclpathplan module, binding a pane’s
|
||||
triangulation callback to a string ending in a trailing %
|
||||
(e.g. vgpane0 bind triangle %) no longer causes later
|
||||
out-of-bounds reads during triangulation. Like the previous
|
||||
entries, this bug seems to have existed since the first
|
||||
revision of Graphviz. #2596 (closed)
|
||||
- Mouse right-clicks in Smyrna are no longer sticky. In some
|
||||
contexts, right-clicking the mouse would register a mouse
|
||||
down event but no mouse up event, leading Smyrna to believe
|
||||
the user was dragging with the right button held down.
|
||||
- Arrowhead missing from tail-end of edge #2437 (closed)
|
||||
- The Ruby bindings package (libgv-ruby) is once again
|
||||
installable on Ubuntu. This became uninstallable when
|
||||
Ruby 1.8 was no longer available on Ubuntu, as it had a hard
|
||||
coded dependency of Ruby 1.8. This has now been relaxed to
|
||||
depend on any Ruby version ≥ 1.8. #2607 (closed)
|
||||
- Generated GIFs and JPEGs display the graphed image instead
|
||||
of a single solid color. This was a regression in Graphviz
|
||||
12.1.1. #2609 (closed)
|
||||
- The CMake build system includes some supporting pieces of the
|
||||
SWIG-generated language bindings that were previously
|
||||
missing. It also links further dependencies that were
|
||||
previously missing.
|
||||
- In the CMake build system, linking of the Guile language
|
||||
bindings uses the full path to libguile, fixing issues on
|
||||
macOS.
|
||||
- The provided release packages for Debian-based operating
|
||||
systems (only Ubuntu currently) have corrected package
|
||||
dependencies. #2466 (closed)
|
||||
- Discussion of gvpr -c "" in the gvpr man page has been
|
||||
removed. This invocation did not do what was claimed.
|
||||
#2584 (closed)
|
||||
- To see the full changelog for all intermediate releases, see:
|
||||
https://gitlab.com/graphviz/graphviz/-/blob/main/CHANGELOG.md
|
||||
|
||||
- Use Qt6 instead of Qt5 to build the gvedit tool.
|
||||
- Drop patches already included in this version:
|
||||
* gvc-detect-plugin-installation-failure-and-display-an-error.patch
|
||||
* graphviz-87cc546.patch
|
||||
- Drop patch that doesn't apply anymore since that code was
|
||||
removed:
|
||||
* graphviz-2.49.3-boo1225776-gcc14.patch
|
||||
- Drop patch that doesn't apply anymore and doesn't seem to be
|
||||
needed:
|
||||
* graphviz-no_strict_aliasing.patch
|
||||
- Rebase patches:
|
||||
* graphviz-fix-pkgIndex.patch
|
||||
* graphviz-no_php_extra_libs.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 5 13:39:13 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Add python3-setuptools BuildRequires: fix build/installation when
|
||||
using python 3.13.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 6 09:08:28 UTC 2024 - Dr. Werner Fink <werner@suse.de>
|
||||
|
||||
|
101
graphviz.spec
101
graphviz.spec
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
# spec file for package graphviz
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -56,7 +56,7 @@
|
||||
%bcond_with java
|
||||
%bcond_with ocaml
|
||||
Name: graphviz%{psuffix}
|
||||
Version: 2.49.3
|
||||
Version: 12.2.1
|
||||
Release: 0
|
||||
Summary: Graph Visualization Tools
|
||||
License: EPL-1.0
|
||||
@@ -72,16 +72,9 @@ Patch2: graphviz-array_overflow.patch
|
||||
Patch3: graphviz-2.20.2-interpreter_names.patch
|
||||
#PATCH-FIX-UPSTREAM Don't warn about harmless issues with swig generated code
|
||||
Patch4: graphviz-useless_warnings.patch
|
||||
Patch5: graphviz-no_strict_aliasing.patch
|
||||
Patch6: graphviz-no_php_extra_libs.patch
|
||||
# https://gitlab.com/graphviz/graphviz/-/issues/2303
|
||||
Patch7: swig-4.1.0.patch
|
||||
#PATCH-FIX-UPSTREAM gvc: detect plugin installation failure and display an error
|
||||
Patch8: gvc-detect-plugin-installation-failure-and-display-an-error.patch
|
||||
#PATCH-FIX-OPENSUSE Bug 1225776 - Flavor addons of package graphviz does not build with gcc14
|
||||
Patch9: graphviz-2.49.3-boo1225776-gcc14.patch
|
||||
#PATCH-FIX-UPSTREAM
|
||||
Patch10: graphviz-87cc546.patch
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: bison
|
||||
@@ -108,6 +101,7 @@ BuildRequires: libjpeg-devel
|
||||
BuildRequires: libpng-devel
|
||||
BuildRequires: libwebp-devel
|
||||
BuildRequires: perl
|
||||
BuildRequires: python3-setuptools
|
||||
BuildRequires: ruby-devel
|
||||
BuildRequires: pkgconfig(cairo)
|
||||
BuildRequires: pkgconfig(fontconfig)
|
||||
@@ -142,24 +136,24 @@ BuildRequires: java-devel >= 1.6.0
|
||||
BuildRequires: ocaml
|
||||
%endif
|
||||
%endif
|
||||
%if "%{flavor}" == "qt5"
|
||||
BuildRequires: pkgconfig(Qt5Core)
|
||||
BuildRequires: pkgconfig(Qt5PrintSupport)
|
||||
BuildRequires: pkgconfig(Qt5Widgets)
|
||||
%if "%{flavor}" == "qt6"
|
||||
BuildRequires: pkgconfig(Qt6Core)
|
||||
BuildRequires: pkgconfig(Qt6PrintSupport)
|
||||
BuildRequires: pkgconfig(Qt6Widgets)
|
||||
%endif
|
||||
|
||||
%description
|
||||
A collection of tools and tcl packages for the manipulation and layout
|
||||
of graphs (as in nodes and edges, not as in bar charts).
|
||||
|
||||
%if "%{flavor}" == "qt5"
|
||||
%if "%{flavor}" == "qt6"
|
||||
%package -n graphviz-gvedit
|
||||
Summary: Graph editor based on Qt
|
||||
Group: Productivity/Graphics/Visualization/Graph
|
||||
Requires: graphviz
|
||||
|
||||
%description -n graphviz-gvedit
|
||||
The Qt5 graph editor included with graphviz.
|
||||
The Qt6 graph editor included with graphviz.
|
||||
%endif
|
||||
|
||||
%package -n graphviz-smyrna
|
||||
@@ -208,14 +202,6 @@ Requires: java
|
||||
A collection of tools and tcl packages for the manipulation and layout
|
||||
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.
|
||||
|
||||
%package -n graphviz-lua
|
||||
Summary: Lua extension for graphviz
|
||||
Group: Productivity/Graphics/Visualization/Graph
|
||||
@@ -364,15 +350,6 @@ Obsoletes: libgraphviz6 < %{version}-%{release}
|
||||
The libxdot library provides support for parsing and deparsing graphical
|
||||
operations specified by the xdot language.
|
||||
|
||||
%package -n liblab_gamut%{lab_gamut_soversion}
|
||||
Summary: Library containing a rich set of graph drawing tools
|
||||
Group: System/Libraries
|
||||
Provides: libgraphviz6:%{_libdir}/liblab_gamut.so.1
|
||||
Obsoletes: libgraphviz6 < %{version}-%{release}
|
||||
|
||||
%description -n liblab_gamut%{lab_gamut_soversion}
|
||||
The lab_gamut library contains a rich set of graph drawing tools.
|
||||
|
||||
%package plugins-core
|
||||
Summary: Core plugins for graphviz
|
||||
Group: Productivity/Graphics/Visualization/Graph
|
||||
@@ -393,7 +370,6 @@ Requires: libcdt%{cdt_soversion} = %{version}
|
||||
Requires: libcgraph%{cgraph_soversion} = %{version}
|
||||
Requires: libgvc%{gvc_soversion} = %{version}
|
||||
Requires: libgvpr%{gvpr_soversion} = %{version}
|
||||
Requires: liblab_gamut%{lab_gamut_soversion} = %{version}
|
||||
Requires: libpathplan%{pathplan_soversion} = %{version}
|
||||
Requires: libxdot%{xdot_soversion} = %{version}
|
||||
|
||||
@@ -409,12 +385,8 @@ programs that use the graphviz libraries including man3 pages.
|
||||
%patch -P 2
|
||||
%patch -P 3
|
||||
%patch -P 4
|
||||
%patch -P 5 -p1
|
||||
%patch -P 6
|
||||
%patch -P 7 -p1
|
||||
%patch -P 8 -p1
|
||||
%patch -P 9
|
||||
%patch -P 10
|
||||
|
||||
# pkg-config returns 0 (TRUE) when guile-2.2 is present
|
||||
if pkg-config --atleast-version=2.2 guile-2.2; then
|
||||
@@ -426,10 +398,13 @@ rm -f contrib/gprof2dot.awk
|
||||
# Fix path for lua/php install
|
||||
sed -i \
|
||||
-e 's@LUA_INSTALL_DIR="/usr.*@LUA_INSTALL_DIR=%{lua_archdir}@' \
|
||||
-e 's@LUA_INSTALL_DIR="`$PKG_CONFIG.*@LUA_INSTALL_DIR="`$PKG_CONFIG --variable=INSTALL_CMOD lua$l`"@' \
|
||||
-e 's@\(PHP_INSTALL_DIR=.*\)/php/modules@\1/php%{php_version}/extensions@' \
|
||||
-e 's@\(PHP_INSTALL_DATADIR=.*\)/php@\1/php%{php_version}@' \
|
||||
configure.ac
|
||||
|
||||
sed -i -e 's@LANGUAGE php7@LANGUAGE php8@' tclpkg/gv/CMakeLists.txt
|
||||
|
||||
%build
|
||||
./autogen.sh RUBY_VER=%{?ruby_version}
|
||||
CFLAGS="%{optflags} -ffast-math -fno-strict-aliasing -fno-strict-overflow -fPIC"
|
||||
@@ -455,11 +430,10 @@ export LDFLAGS="-pie"
|
||||
--without-visio \
|
||||
%if "%{flavor}" == "addons"
|
||||
--with-x \
|
||||
--enable-lefty \
|
||||
--with-smyrna \
|
||||
RUBY_VER=%{ruby_version} \
|
||||
%endif
|
||||
%if "%{flavor}" == "qt5"
|
||||
%if "%{flavor}" == "qt6"
|
||||
--with-qt \
|
||||
%endif
|
||||
%if "%{flavor}" == ""
|
||||
@@ -472,7 +446,7 @@ make %{?_smp_mflags}
|
||||
%install
|
||||
make install \
|
||||
DESTDIR=%{buildroot} \
|
||||
docdir=%{buildroot}%{_docdir}/%{mname} \
|
||||
docdir=%{_docdir}/%{mname}-doc \
|
||||
pkgconfigdir=%{_libdir}/pkgconfig
|
||||
|
||||
find %{buildroot} -type f -name "*.la" -delete -print
|
||||
@@ -485,7 +459,6 @@ mkdir -p %{buildroot}/%{_docdir}
|
||||
mkdir -p %{buildroot}%{_datadir}/%{nmame}
|
||||
|
||||
rm -f %{buildroot}/%{_libdir}/%{mname}/pkgIndex.tcl
|
||||
chmod -x %{buildroot}%{_datadir}/%{mname}/lefty/*
|
||||
|
||||
mkdir -p %{buildroot}%{_libdir}/graphviz
|
||||
touch %{buildroot}%{_libdir}/graphviz/%{config_file}
|
||||
@@ -508,12 +481,13 @@ extension = gv.so
|
||||
EOF
|
||||
|
||||
# Fix doc location
|
||||
cp -a %{buildroot}%{_datadir}/%{mname}/doc %{buildroot}%{_defaultdocdir}/%{mname}-doc
|
||||
%fdupes %{buildroot}%{_defaultdocdir}/%{mname}-doc
|
||||
%fdupes %{buildroot}%{_datadir}/graphviz/demo
|
||||
%else
|
||||
rm -rf %{buildroot}%{_defaultdocdir}/%{mname}-doc
|
||||
%endif
|
||||
|
||||
%if "%{flavor}" == "addons" || "%{flavor}" == "qt5"
|
||||
%if "%{flavor}" == "addons" || "%{flavor}" == "qt6"
|
||||
# Prune all the content of the base graphviz package
|
||||
rm -rf %{buildroot}%{_libdir}/pkgconfig
|
||||
rm -rf %{buildroot}%{_includedir}
|
||||
@@ -525,9 +499,11 @@ rm -f %{buildroot}%{_mandir}/man7/*.7
|
||||
rm -f %{buildroot}%{_libdir}/graphviz/%{config_file}
|
||||
rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_core*
|
||||
rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_dot_layout*
|
||||
rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_kitty*
|
||||
rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_neato_layout*
|
||||
rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_vt*
|
||||
# binaries removal
|
||||
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
|
||||
for i in acyclic bcomps ccomps circo cluster dijkstra dot dot2gxl dot_builtins dot_sandbox 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}%{_mandir}/man1/$i.1
|
||||
done
|
||||
@@ -540,11 +516,6 @@ rm -f %{buildroot}%{_libdir}/lib{cdt,cgraph,gvc,gvpr,pathplan,xdot,lab_gamut}.so
|
||||
for lib in libgdtclft* libgv_tcl.so libtcldot* libtclplan* ; do
|
||||
mv %{buildroot}%{_libdir}/%{mname}/tcl/${lib} %{buildroot}%{_libdir}
|
||||
done
|
||||
# remove duplicated tcl files
|
||||
for i in libgdtclft.so.0.0.0 libgv_tcl.so libtcldot.so.0.0.0 libtcldot_builtin.so.0.0.0 libtclplan.so.0.0.0; do
|
||||
rm -f %{buildroot}%{_libdir}/tcl8.6/graphviz/$i
|
||||
ln -s %{_libdir}/$i %{buildroot}%{_libdir}/tcl8.6/graphviz/$i
|
||||
done
|
||||
mkdir -p %{buildroot}%{_datadir}/tcl/%{mname}/
|
||||
mv %{buildroot}%{_libdir}/%{mname}/tcl/pkgIndex.tcl %{buildroot}%{_datadir}/tcl/%{mname}/pkgIndex.tcl
|
||||
# remove graphviz bindings from graphviz dir, these are installed into the language specific directories
|
||||
@@ -554,15 +525,13 @@ rm -rf %{buildroot}%{_libdir}/graphviz/php
|
||||
rm -rf %{buildroot}%{_libdir}/graphviz/python*
|
||||
rm -rf %{buildroot}%{_libdir}/graphviz/ruby
|
||||
%endif
|
||||
%if "%{flavor}" == "" || "%{flavor}" == "qt5"
|
||||
%if "%{flavor}" == "" || "%{flavor}" == "qt6"
|
||||
# These are part of gnome subpkg
|
||||
rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_pango*
|
||||
rm -f %{buildroot}%{_libdir}/graphviz/libgvplugin_xlib*
|
||||
# This is part of the gd subpkg only
|
||||
rm -f %{buildroot}%{_mandir}/man1/{diffimg.1*,dotty.1*,lefty.1*,lneato.1*}
|
||||
rm -f %{buildroot}%{_mandir}/man1/{diffimg.1*,dotty.1*,lneato.1*}
|
||||
rm -f %{buildroot}%{_bindir}/{dotty,lneato}
|
||||
# This is part of the x11 subpkg only
|
||||
rm -rf %{buildroot}%{_datadir}/graphviz/lefty
|
||||
%endif
|
||||
# Remove wrongly located docs
|
||||
rm -rf %{buildroot}%{_datadir}/%{mname}/doc
|
||||
@@ -596,11 +565,7 @@ test -s %{_libdir}/graphviz/%{config_file} || echo "%{_libdir}/graphviz/%{config
|
||||
|
||||
%postun -n libxdot%{xdot_soversion} -p /sbin/ldconfig
|
||||
|
||||
%post -n liblab_gamut%{lab_gamut_soversion} -p /sbin/ldconfig
|
||||
|
||||
%postun -n liblab_gamut%{lab_gamut_soversion} -p /sbin/ldconfig
|
||||
|
||||
%if "%{flavor}" == "qt5"
|
||||
%if "%{flavor}" == "qt6"
|
||||
%files -n graphviz-gvedit
|
||||
%license epl-v10.txt
|
||||
%{_bindir}/gvedit
|
||||
@@ -631,9 +596,7 @@ if test -x %{_bindir}/dot; then rm -f %{_libdir}/graphviz/%{config_file} ; %{_bi
|
||||
%{_libdir}/graphviz/libgvplugin_gs*
|
||||
%{_libdir}/graphviz/libgvplugin_rsvg*
|
||||
%{_libdir}/graphviz/libgvplugin_pango*
|
||||
%{_libdir}/graphviz/libgvplugin_gtk*
|
||||
%{_libdir}/graphviz/libgvplugin_xlib*
|
||||
%{_libdir}/graphviz/libgvplugin_gdk*
|
||||
|
||||
%post -n graphviz-gnome
|
||||
%{_bindir}/dot -c
|
||||
@@ -655,16 +618,6 @@ if test -x %{_bindir}/dot; then rm -f %{_libdir}/graphviz/%{config_file} ; %{_bi
|
||||
%{lua_archdir}/gv.so
|
||||
%{_mandir}/man3/gv.3lua%{ext_man}
|
||||
|
||||
%files -n graphviz-x11
|
||||
%license epl-v10.txt
|
||||
%{_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}
|
||||
%files -n graphviz-ocaml
|
||||
%{_libdir}/graphviz/ocaml
|
||||
@@ -678,7 +631,6 @@ if test -x %{_bindir}/dot; then rm -f %{_libdir}/graphviz/%{config_file} ; %{_bi
|
||||
|
||||
%files -n graphviz-php
|
||||
%{phpext_dir}/gv.so
|
||||
%{_datadir}/php%{php_version}/gv.php
|
||||
%{_mandir}/man3/gv.3php%{ext_man}
|
||||
%config(noreplace) %{phpconf_dir}/gv.ini
|
||||
|
||||
@@ -733,6 +685,7 @@ if test -x %{_bindir}/dot; then %{_bindir}/dot -c ; fi
|
||||
%{_bindir}/dot
|
||||
%{_bindir}/dot2gxl
|
||||
%{_bindir}/dot_builtins
|
||||
%{_bindir}/dot_sandbox
|
||||
%{_bindir}/edgepaint
|
||||
%{_bindir}/fdp
|
||||
%{_bindir}/gc
|
||||
@@ -821,9 +774,6 @@ if test -x %{_bindir}/dot; then %{_bindir}/dot -c ; fi
|
||||
%files -n libxdot%{xdot_soversion}
|
||||
%{_libdir}/libxdot.so.%{xdot_soversion}*
|
||||
|
||||
%files -n liblab_gamut%{lab_gamut_soversion}
|
||||
%{_libdir}/liblab_gamut.so.%{lab_gamut_soversion}*
|
||||
|
||||
%files plugins-core
|
||||
%dir %{_libdir}/%{name}
|
||||
%ghost %{_libdir}/%{name}/%{config_file}
|
||||
@@ -835,7 +785,6 @@ if test -x %{_bindir}/dot; then %{_bindir}/dot -c ; fi
|
||||
%{_libdir}/libcgraph.so
|
||||
%{_libdir}/libgvc.so
|
||||
%{_libdir}/libgvpr.so
|
||||
%{_libdir}/liblab_gamut.so
|
||||
%{_libdir}/libpathplan.so
|
||||
%{_libdir}/libxdot.so
|
||||
%{_libdir}/pkgconfig/*.pc
|
||||
|
@@ -1,31 +0,0 @@
|
||||
From: Matthew Fernandez <matthew.fernandez@gmail.com>
|
||||
Subject: gvc: detect plugin installation failure and display an error
|
||||
References: bsc#1219491
|
||||
Patch-Mainline: 10.0.1
|
||||
Git-commit: a95f977f5d809915ec4b14836d2b5b7f5e74881e
|
||||
Git-repo: git@gitlab.com:graphviz/graphviz.git.git
|
||||
|
||||
Gitlab: fixes #2441
|
||||
Reported-by: GJDuck
|
||||
|
||||
A malformed config6 file that leads to plugin search failing no longer causes
|
||||
out-of-bounds memory reads. This now causes an error message and graceful
|
||||
failure. #2441
|
||||
|
||||
|
||||
Signed-off-by: <trenn@suse.com>
|
||||
Index: graphviz-2.49.3/lib/gvc/gvconfig.c
|
||||
===================================================================
|
||||
--- graphviz-2.49.3.orig/lib/gvc/gvconfig.c
|
||||
+++ graphviz-2.49.3/lib/gvc/gvconfig.c
|
||||
@@ -183,6 +183,10 @@ static int gvconfig_plugin_install_from_
|
||||
do {
|
||||
api = token(&nest, &s);
|
||||
gv_api = gvplugin_api(api);
|
||||
+ if (gv_api == (api_t)-1) {
|
||||
+ agerr(AGERR, "config error: %s %s not found\n", path, api);
|
||||
+ return 0;
|
||||
+ }
|
||||
do {
|
||||
if (nest == 2) {
|
||||
type = token(&nest, &s);
|
Reference in New Issue
Block a user