From: Stuart Henderson Subject: graphviz update To: Edd Barrett Cc: ports Date: Wed, 29 Oct 2025 14:10:32 +0000 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