Index | Thread | Search

From:
Stuart Henderson <stu@spacehopper.org>
Subject:
graphviz update
To:
Edd Barrett <edd@openbsd.org>
Cc:
ports <ports@openbsd.org>
Date:
Wed, 29 Oct 2025 14:10:32 +0000

Download raw body.

Thread
Here's an update to graphviz; I've built most dependent ports, and
done some light runtime testing with xlib, png and pdf output plugins
and xdot.

Too many changes to list here, see
https://gitlab.com/graphviz/graphviz/-/blob/main/CHANGELOG.md?ref_type=heads

This moves to gtk+3 (for gdk) so one less port using gtk+2.

Would anyone else like to do further testing?

OK?


Index: Makefile
===================================================================
RCS file: /cvs/ports/math/graphviz/Makefile,v
diff -u -p -r1.89 Makefile
--- Makefile	5 Aug 2025 12:30:55 -0000	1.89
+++ Makefile	29 Oct 2025 14:00:31 -0000
@@ -1,35 +1,30 @@
 COMMENT-main=	graph drawing software
 COMMENT-tcl=	Tcl bindings to graphviz
 
-V=		10.0.1
+V=		14.0.2
 DISTNAME=	graphviz-$V
 PKGNAME-main=	${DISTNAME}
 PKGNAME-tcl=	graphviz-tcl-$V
 CATEGORIES=	math devel graphics
-REVISION-main=	1
-REVISION-tcl=	0
 
 MULTI_PACKAGES=	-main -tcl
 
 SITES=		https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/$V/
 
-SHARED_LIBS += cdt			3.0 # 5.0
-SHARED_LIBS += xdot			1.0 # 4.0
-SHARED_LIBS += cgraph			2.0 # 6.0
-SHARED_LIBS += pathplan			4.0 # 4.0
-SHARED_LIBS += gvc			3.0 # 6.0
-SHARED_LIBS += gvpr			2.0 # 2.0
+SHARED_LIBS +=	cdt                  4.0      # 6.0
+SHARED_LIBS +=	xdot                 1.0      # 4.0
+SHARED_LIBS +=	cgraph               3.0      # 8.2
+SHARED_LIBS +=	pathplan             5.0      # 4.2
+SHARED_LIBS +=	gvc                  4.0      # 7.1
+SHARED_LIBS +=	gvpr                 3.0      # 2.2
 
 # plugins loaded by dlopen() in graphviz, not traditional shared libraries
 # linked by other software. following upstream numbering reduces the patches
 # needed to handle this to a simple .0 addition in configure.ac.
-GVPLUGIN_VERSION =	7.0
-.for plugin in \
-	gvplugin_core gvplugin_gd gvplugin_gdk gvplugin_gtk gvplugin_kitty \
-	gvplugin_pango gvplugin_rsvg gvplugin_xlib \
-	gvplugin_dot_layout gvplugin_neato_layout gvplugin_vt gvplugin_webp \
-	gvplugin_poppler
-SHARED_LIBS += ${plugin} ${GVPLUGIN_VERSION}
+GVPLUGIN_VERSION =	8.0		# 8.2
+.for plugin in core gd gdk kitty pango rsvg xlib \
+	dot_layout neato_layout webp poppler vt
+SHARED_LIBS += gvplugin_${plugin} ${GVPLUGIN_VERSION}
 .endfor
 
 HOMEPAGE=	https://graphviz.org/
@@ -48,9 +43,10 @@ WANTLIB += z zstd
 
 WANTLIB-main += ${WANTLIB}
 WANTLIB-main += Xcomposite Xcursor Xdamage Xfixes Xi Xinerama Xrandr
-WANTLIB-main += c gc gdk-x11-2.0 gdk_pixbuf-2.0 gmp guile-2.2
-WANTLIB-main += lcms2 openjp2 perl poppler poppler-glib rsvg-2 unistring
-WANTLIB-main += xml2
+WANTLIB-main += c cairo-gobject dav1d epoll-shim epoxy gc gdk-3 gdk_pixbuf-2.0
+WANTLIB-main += gmp guile-2.2 lcms2 openjp2 perl poppler poppler-glib
+WANTLIB-main += rsvg-2 unistring wayland-client wayland-cursor wayland-egl
+WANTLIB-main += xkbcommon xml2
 
 # "extra" libtclXX: tcldot is built against Tcl headers
 WANTLIB-tcl += ${WANTLIB} ${MODTCL_WANTLIB}
@@ -64,7 +60,7 @@ LIB_DEPENDS=	graphics/jpeg \
 		graphics/png \
 		devel/libtool,-ltdl \
 		graphics/gd>=2.0.34 \
-		x11/gtk+2 \
+		x11/gtk+3 \
 		x11/gnome/librsvg \
 		graphics/graphite2 \
 		devel/harfbuzz \
Index: distinfo
===================================================================
RCS file: /cvs/ports/math/graphviz/distinfo,v
diff -u -p -r1.10 distinfo
--- distinfo	16 Apr 2024 13:33:19 -0000	1.10
+++ distinfo	29 Oct 2025 14:00:31 -0000
@@ -1,2 +1,2 @@
-SHA256 (graphviz-10.0.1.tar.gz) = cuGldenDgsT9ImeDeWK8RYKz2a10bjOM2AJL3soSTzI=
-SIZE (graphviz-10.0.1.tar.gz) = 27286181
+SHA256 (graphviz-14.0.2.tar.gz) = 1VW0/RijZFw0vdh2vH6CBsjI4kBKv3hyquXuDV30Y3g=
+SIZE (graphviz-14.0.2.tar.gz) = 26817906
Index: patches/patch-configure_ac
===================================================================
RCS file: /cvs/ports/math/graphviz/patches/patch-configure_ac,v
diff -u -p -r1.4 patch-configure_ac
--- patches/patch-configure_ac	16 Apr 2024 13:33:19 -0000	1.4
+++ patches/patch-configure_ac	29 Oct 2025 14:00:31 -0000
@@ -1,31 +1,12 @@
 Index: configure.ac
 --- configure.ac.orig
 +++ configure.ac
-@@ -77,7 +77,7 @@ case "${host_os}" in
-     GVPLUGIN_VERSION=`expr $GVPLUGIN_CURRENT + 1`
-     ;;
-   * )
--    GVPLUGIN_VERSION=$GVPLUGIN_CURRENT
-+    GVPLUGIN_VERSION=$GVPLUGIN_CURRENT.0
-     ;;
- esac
+@@ -74,7 +74,7 @@ dnl Checks for system type
+ 
+ AC_CANONICAL_HOST
+ 
+-GVPLUGIN_VERSION=$GVPLUGIN_CURRENT
++GVPLUGIN_VERSION=$GVPLUGIN_CURRENT.0
  AC_DEFINE_UNQUOTED(GVPLUGIN_VERSION,$GVPLUGIN_VERSION,[Compatibility version number for plugins.])
-@@ -600,7 +600,7 @@ else
-       if test "$GUILE_CONFIG" = ""; then
-         use_guile="No (guile not available)"
-       else
--        [GUILE_VERSION=`$GUILE_CONFIG --version 2>&1 | sed -n '1 s/^.* \+\([0-9\.]\+\)$/\1/ p'`]
-+        [GUILE_VERSION=`$GUILE_CONFIG --version 2>&1 | sed -En '1 s/^.* +([0-9\.]+)$/\1/ p'`]
-         GUILE_VERSION_MAJOR=`echo $GUILE_VERSION | cut -d '.' -f 1`
-         GUILE_VERSION_MINOR=`echo $GUILE_VERSION | cut -d '.' -f 2`
-         AC_CHECK_PROGS(GUILE,guile$GUILE_VERSION_MAJOR.$GUILE_VERSION_MINOR guile$GUILE_VERSION_MAJOR guile)
-@@ -1760,7 +1760,8 @@ AM_CONDITIONAL([WITH_QT], [test "$use_qt" = "Yes"])
- dnl -----------------------------------
- dnl INCLUDES and LIBS for QUARTZ
+ AC_SUBST([GVPLUGIN_VERSION])
  
--if test "${host_os::6}" = "darwin"; then
-+# ${host_os::6}": bad substitution
-+if test false; then
-   AC_ARG_WITH(quartz,
-     [AS_HELP_STRING([--with-quartz=yes],[Quartz framework (Mac OS X)])],
-     [],[with_quartz=yes])
Index: patches/patch-lib_gvc_gvconfig_c
===================================================================
RCS file: /cvs/ports/math/graphviz/patches/patch-lib_gvc_gvconfig_c,v
diff -u -p -r1.8 patch-lib_gvc_gvconfig_c
--- patches/patch-lib_gvc_gvconfig_c	16 Apr 2024 13:33:19 -0000	1.8
+++ patches/patch-lib_gvc_gvconfig_c	29 Oct 2025 14:00:31 -0000
@@ -3,7 +3,7 @@ Ensure the plugin version check doesn't 
 Index: lib/gvc/gvconfig.c
 --- lib/gvc/gvconfig.c.orig
 +++ lib/gvc/gvconfig.c
-@@ -420,7 +420,7 @@ static bool is_plugin(const char *filepath) {
+@@ -422,7 +422,7 @@ static bool is_plugin(const char *filepath) {
      // turn GVPLUGIN_VERSION into a string
      #define STRINGIZE_(x) #x
      #define STRINGIZE(x) STRINGIZE_(x)
Index: pkg/PLIST-main
===================================================================
RCS file: /cvs/ports/math/graphviz/pkg/PLIST-main,v
diff -u -p -r1.12 PLIST-main
--- pkg/PLIST-main	16 Apr 2024 13:33:19 -0000	1.12
+++ pkg/PLIST-main	29 Oct 2025 14:00:31 -0000
@@ -8,6 +8,7 @@ bin/circo
 @bin bin/dot
 bin/dot2gxl
 @bin bin/dot_builtins
+bin/dot_sandbox
 @bin bin/edgepaint
 bin/fdp
 @bin bin/gc
@@ -62,7 +63,7 @@ include/graphviz/types.h
 include/graphviz/usershape.h
 include/graphviz/xdot.h
 lib/graphviz/
-lib/graphviz/config6
+lib/graphviz/config8
 lib/graphviz/guile/
 @so lib/graphviz/guile/libgv_guile.so
 @lib lib/graphviz/libgvplugin_core.so.${LIBgvplugin_core_VERSION}
@@ -105,6 +106,7 @@ ${P5ARCH}/gv.pm
 @man man/man1/dijkstra.1
 @man man/man1/dot.1
 @man man/man1/dot2gxl.1
+@man man/man1/dot_sandbox.1
 @man man/man1/edgepaint.1
 @man man/man1/fdp.1
 @man man/man1/gc.1