From: Stuart Henderson Subject: Re: graphviz update To: Edd Barrett , ports Date: Wed, 29 Oct 2025 17:53:22 +0000 On 2025/10/29 14:10, Stuart Henderson wrote: > 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. (btw, this diff needs up-to-date librsvg otherwise you will have an error about a missing library for dav1d). > 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 >