Compare commits
11 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| 8e31769a01 | |||
| efaced47f6 | |||
|
|
9ae97666df | ||
|
|
3dcfe76cbb | ||
| 9e96e3db9e | |||
| bbbf179acd | |||
| 445226a8b7 | |||
| 504a96c110 | |||
| 5a6c216358 | |||
| 4a6de6f74b | |||
| 736833a325 |
@@ -1,4 +1,4 @@
|
||||
<multibuild>
|
||||
<package>addons</package>
|
||||
<package>qt5</package>
|
||||
<package>qt6</package>
|
||||
</multibuild>
|
||||
|
||||
3
graphviz-14.0.0.tar.bz2
Normal file
3
graphviz-14.0.0.tar.bz2
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:78d06cf3db0cc2298199d9ca0a9dd4be7f623f90f70ca72f60f1880d848a4f3d
|
||||
size 33868656
|
||||
@@ -1,10 +0,0 @@
|
||||
Index: tclpkg/gv/demo/modgraph.lua
|
||||
===================================================================
|
||||
--- tclpkg/gv/demo/modgraph.lua.orig
|
||||
+++ tclpkg/gv/demo/modgraph.lua
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/lua
|
||||
+#!/usr/bin/lua5.1
|
||||
|
||||
-- display the kernel module dependencies
|
||||
|
||||
@@ -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
LFS
BIN
graphviz-2.49.3.tar.bz2
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,19 +0,0 @@
|
||||
---
|
||||
lib/common/htmltable.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: lib/common/htmltable.c
|
||||
===================================================================
|
||||
--- lib/common/htmltable.c.orig 2014-04-13 22:40:25.000000000 +0200
|
||||
+++ lib/common/htmltable.c 2014-05-23 00:01:41.203062717 +0200
|
||||
@@ -300,8 +300,8 @@ static void doBorder(GVJ_t * job, htmlda
|
||||
gvrender_polyline(job, AF+2, 4);
|
||||
break;
|
||||
case BORDER_TOP|BORDER_LEFT|BORDER_BOTTOM :
|
||||
- AF[5] = AF[1];
|
||||
- AF[6] = AF[2];
|
||||
+ AF[4] = AF[1];
|
||||
+ AF[5] = AF[2];
|
||||
gvrender_polyline(job, AF+3, 4);
|
||||
break;
|
||||
case BORDER_LEFT|BORDER_BOTTOM|BORDER_RIGHT :
|
||||
@@ -1,8 +1,23 @@
|
||||
--- 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 | 2 +-
|
||||
# 1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
#
|
||||
--- a/tclpkg/mkpkgindex.py
|
||||
+++ b/tclpkg/mkpkgindex.py
|
||||
@@ -41,7 +41,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 +0,0 @@
|
||||
--- 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,,[
|
||||
@@ -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*
|
||||
@@ -1,4 +1 @@
|
||||
# This line is mandatory to access the configuration functions
|
||||
from Config import *
|
||||
|
||||
addFilter("lib.* obsolete-not-provided libgraphviz6")
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
Index: configure.ac
|
||||
===================================================================
|
||||
--- configure.ac.orig
|
||||
+++ configure.ac
|
||||
@@ -2395,7 +2395,7 @@ else
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1897,7 +1897,7 @@
|
||||
|
||||
AC_CHECK_HEADER(GL/glut.h,
|
||||
AC_CHECK_LIB(glut,main,
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
---
|
||||
tclpkg/gv/Makefile.am | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
Index: tclpkg/gv/Makefile.am
|
||||
===================================================================
|
||||
--- tclpkg/gv/Makefile.am.orig
|
||||
+++ tclpkg/gv/Makefile.am
|
||||
@@ -12,6 +12,8 @@ AM_CPPFLAGS = \
|
||||
-I$(top_srcdir)/lib/cdt \
|
||||
-I$(top_srcdir)/lib/pathplan
|
||||
|
||||
+AM_CXXFLAGS = -Wno-unused-label -Wno-unused-function \
|
||||
+ -Wno-unused-but-set-variable
|
||||
LIBS = -lc
|
||||
|
||||
BASESOURCES = gv.cpp gv.i gv_builtins.c gv_channel.h
|
||||
177
graphviz.changes
177
graphviz.changes
@@ -1,3 +1,180 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 29 08:03:39 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Drop graphviz-2.20.2-interpreter_names.patch: do not set the
|
||||
executable to /usr/bin/lua5.1; the script in question used
|
||||
would not even work with lua 5.1 anymore, as it uses API
|
||||
introduced with lua 5.2 anyway. The patch originally dates back
|
||||
to 2008 and was barely touched since then.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 22 12:40:04 UTC 2025 - Thomas Renninger <trenn@suse.de>
|
||||
|
||||
- Update to 14.0.0
|
||||
* Changes see ChangeLog.md
|
||||
- Remove unneeded patches (fixed mainline):
|
||||
D graphviz-array_overflow.patch
|
||||
D graphviz-no_php_extra_libs.patch
|
||||
D graphviz-useless_warnings.patch
|
||||
D swig-4.1.0.patch
|
||||
- Remove old, unneeded condition: if 0%{?suse_version} == 1315
|
||||
|
||||
|
||||
-------------------------------------------------------------------
|
||||
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>
|
||||
|
||||
|
||||
140
graphviz.spec
140
graphviz.spec
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package graphviz
|
||||
#
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC and contributors
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -37,15 +37,9 @@
|
||||
%define php_version 7
|
||||
%endif
|
||||
%endif
|
||||
# No pkgconfig(gts) in sle12 GA or SPx, but in sle15
|
||||
%if 0%{?suse_version} == 1315 && !0%{?is_opensuse}
|
||||
%bcond_with gts
|
||||
%else
|
||||
%bcond_without gts
|
||||
%endif
|
||||
%define cdt_soversion 5
|
||||
%define cgraph_soversion 6
|
||||
%define gvc_soversion 6
|
||||
%define cdt_soversion 6
|
||||
%define cgraph_soversion 8
|
||||
%define gvc_soversion 7
|
||||
%define gvpr_soversion 2
|
||||
%define lab_gamut_soversion 1
|
||||
%define pathplan_soversion 4
|
||||
@@ -56,7 +50,7 @@
|
||||
%bcond_with java
|
||||
%bcond_with ocaml
|
||||
Name: graphviz%{psuffix}
|
||||
Version: 2.49.3
|
||||
Version: 14.0.0
|
||||
Release: 0
|
||||
Summary: Graph Visualization Tools
|
||||
License: EPL-1.0
|
||||
@@ -67,21 +61,6 @@ Source1: graphviz-rpmlintrc
|
||||
#PATCH-FIX-UPSTREAM add flags to also link against libGLU and libGL
|
||||
Patch0: graphviz-smyrna-link_against_glu.patch
|
||||
Patch1: graphviz-fix-pkgIndex.patch
|
||||
#PATCH-FIX-UPSTREAM Off-by-one bug
|
||||
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
|
||||
@@ -93,14 +72,13 @@ BuildRequires: guile-devel
|
||||
BuildRequires: libstdc++-devel
|
||||
BuildRequires: libtool
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: python3-base >= 3.9
|
||||
BuildRequires: pkgconfig(expat)
|
||||
BuildRequires: pkgconfig(gts)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
Requires: bitstream-vera-fonts
|
||||
Requires: graphviz-plugins-core = %{version}
|
||||
Recommends: graphviz-gd = %{version}
|
||||
%if %{with gts}
|
||||
BuildRequires: pkgconfig(gts)
|
||||
%endif
|
||||
%if "%{flavor}" == "addons"
|
||||
BuildRequires: freeglut-devel
|
||||
BuildRequires: ghostscript
|
||||
@@ -119,6 +97,7 @@ BuildRequires: pkgconfig(glu)
|
||||
BuildRequires: pkgconfig(gtkglext-1.0)
|
||||
BuildRequires: pkgconfig(ice)
|
||||
BuildRequires: pkgconfig(ijs)
|
||||
BuildRequires: pkgconfig(libargon2)
|
||||
BuildRequires: pkgconfig(libglade-2.0)
|
||||
BuildRequires: pkgconfig(librsvg-2.0)
|
||||
BuildRequires: pkgconfig(lua)
|
||||
@@ -143,24 +122,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
|
||||
@@ -209,14 +188,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
|
||||
@@ -247,6 +218,9 @@ Requires: perl = %{perl_version}
|
||||
The graphviz-perl package contains the Perl extension for the graphviz
|
||||
tools.
|
||||
|
||||
%if "%{flavor}" == "addons"
|
||||
# flavor condition here only to calm down:
|
||||
# Possible unexpanded macro in: Requires: php(api) =
|
||||
%package -n graphviz-php
|
||||
Summary: PHP Extension for Graphviz
|
||||
Group: Productivity/Graphics/Visualization/Graph
|
||||
@@ -258,6 +232,7 @@ Requires: php(zend-abi) = %{php_zend_api}
|
||||
%description -n graphviz-php
|
||||
The graphviz-php package contains the PHP extension for the graphviz
|
||||
tools.
|
||||
%endif
|
||||
|
||||
%package -n python3-gv
|
||||
Summary: Python 3 Extension for Graphviz
|
||||
@@ -365,15 +340,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
|
||||
@@ -394,7 +360,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}
|
||||
|
||||
@@ -405,17 +370,8 @@ programs that use the graphviz libraries including man3 pages.
|
||||
%prep
|
||||
#autosetup breaks graphviz-addons
|
||||
%setup -q -n %{mname}-%{version}
|
||||
%patch -P 0
|
||||
%patch -P 1
|
||||
%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
|
||||
%patch -P 0 -p1
|
||||
%patch -P 1 -p1
|
||||
|
||||
# pkg-config returns 0 (TRUE) when guile-2.2 is present
|
||||
if pkg-config --atleast-version=2.2 guile-2.2; then
|
||||
@@ -427,10 +383,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"
|
||||
@@ -456,11 +415,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}" == ""
|
||||
@@ -473,7 +431,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
|
||||
@@ -486,7 +444,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}
|
||||
@@ -509,12 +466,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}
|
||||
@@ -526,9 +484,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
|
||||
@@ -541,11 +501,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
|
||||
@@ -555,15 +510,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
|
||||
@@ -597,11 +550,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
|
||||
@@ -632,9 +581,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
|
||||
@@ -656,16 +603,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
|
||||
@@ -679,7 +616,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
|
||||
|
||||
@@ -723,7 +659,7 @@ if test -x %{_bindir}/dot; then %{_bindir}/dot -c ; fi
|
||||
|
||||
%if "%{flavor}" == ""
|
||||
%files
|
||||
%doc doc/FAQ.html AUTHORS README NEWS ChangeLog
|
||||
%doc doc/FAQ.html AUTHORS README NEWS CHANGELOG.md
|
||||
%license epl-v10.txt
|
||||
%{_bindir}/acyclic
|
||||
%{_bindir}/bcomps
|
||||
@@ -734,6 +670,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
|
||||
@@ -802,7 +739,6 @@ if test -x %{_bindir}/dot; then %{_bindir}/dot -c ; fi
|
||||
%{_datadir}/%{mname}/gvpr/histogram
|
||||
%{_mandir}/man1/*.1%{ext_man}
|
||||
%{_mandir}/man7/*.7%{ext_man}
|
||||
%exclude %{_mandir}/man1/smyrna.1%{ext_man}
|
||||
|
||||
%files -n libcdt%{cdt_soversion}
|
||||
%{_libdir}/libcdt.so.%{cdt_soversion}*
|
||||
@@ -822,9 +758,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}
|
||||
@@ -836,7 +769,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);
|
||||
@@ -1,18 +0,0 @@
|
||||
diff --git a/tclpkg/gv/gv.i b/tclpkg/gv/gv.i
|
||||
index ea65ada2f..0bab8817f 100644
|
||||
--- a/tclpkg/gv/gv.i
|
||||
+++ b/tclpkg/gv/gv.i
|
||||
@@ -10,6 +10,13 @@
|
||||
|
||||
%module gv
|
||||
|
||||
+#ifdef SWIGPHP
|
||||
+%pragma(php) code="/*
|
||||
+This is a deprecated interface.
|
||||
+Load graphviz via PHP's C API in php.ini instead.
|
||||
+*/"
|
||||
+#endif
|
||||
+
|
||||
#ifdef SWIGTCL
|
||||
// A typemap telling SWIG to ignore an argument for input
|
||||
// However, we still need to pass a pointer to the C function
|
||||
Reference in New Issue
Block a user