Download raw body.
UPDATE: graphviz-10.0.0.1
Hi,
Here's an update to the latest graphviz.
Notes:
- Used check_sym to help decide what to bump.
- The only non-plugin shared libs that didn't remove symbols was libxdot.
Diffing the xdot header, it only removes the def of a macro:
-#define INITIAL_XDOT_CAPACITY 512
In the old version this macro dosn't appear in headers, so I think we are
fine without a bump there.
- The plugins are expected to all have the same SO version. The first one I
examined (gvcore) had removed a load of symbols, so all plugins got a bump.
- Spent a while tracking down why `dot -c` would generate empty config files.
It was due to a failing plugin version check in the plugin scanner. It
checks that X_Y in libgvplugin_*.so.X.Y is upstream's library version, which
won't work with how we do things.
Tried to fix this without a patch, but couldn't get it working, so gave in
and used a patch+subst. It's a one-liner, so no big deal.
- Some shared objects disappeared. They are mentioned in upstream's CHANGELOG:
> The GTK plugin is no longer built or distributed.
> liblab_gamut is no longer included in a Graphviz installation
> Support for the legacy Microsoft Visio VDX format has been removed.
- gvplugin_kitty was added.
- I used dpb to compile test all ports that either RUN_ or BUILD_DEPENDS on
graphviz. Thats the following:
```
sqlite> select fullpkgpath from ports where BUILD_DEPENDS LIKE '%graphviz%' or LIB_DEPENDS LIKE '%graphviz%';
devel/cutter
devel/frama-c
devel/iaito
lang/vala,,-valadoc
lang/vala,-valadoc
math/graphviz,-tcl
math/p5-GraphViz
misc/open62541
misc/open62541,ns0_full
www/rt
```
Nothing exploded.
Diff follows. Let me know if I missed anything. Cheers
Index: Makefile
===================================================================
RCS file: /cvs/ports/math/graphviz/Makefile,v
diff -u -p -r1.83 Makefile
--- Makefile 27 Sep 2023 09:27:54 -0000 1.83
+++ Makefile 14 Apr 2024 20:25:43 -0000
@@ -1,7 +1,7 @@
COMMENT-main= graph drawing software
COMMENT-tcl= Tcl bindings to graphviz
-V= 7.1.0
+V= 10.0.1
DISTNAME= graphviz-$V
PKGNAME-main= ${DISTNAME}
PKGNAME-tcl= graphviz-tcl-$V
@@ -11,23 +11,23 @@ MULTI_PACKAGES= -main -tcl
SITES= https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/$V/
-SHARED_LIBS += cdt 2.0 # 5.0
+SHARED_LIBS += cdt 3.0 # 5.0
SHARED_LIBS += xdot 1.0 # 4.0
-SHARED_LIBS += cgraph 1.0 # 6.0
-SHARED_LIBS += pathplan 3.0 # 4.0
-SHARED_LIBS += gvc 2.0 # 6.0
-SHARED_LIBS += lab_gamut 0.0 # 1.0
-SHARED_LIBS += gvpr 1.0 # 2.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
# 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_pango gvplugin_rsvg gvplugin_visio gvplugin_xlib \
- gvplugin_dot_layout gvplugin_neato_layout gvplugin_webp \
+ 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} 6.0
+SHARED_LIBS += ${plugin} ${GVPLUGIN_VERSION}
.endfor
HOMEPAGE= https://graphviz.org/
@@ -41,13 +41,13 @@ WANTLIB += ${COMPILER_LIBCXX} X11 Xau Xd
WANTLIB += expat ffi fontconfig freetype fribidi gd gio-2.0 glib-2.0
WANTLIB += gmodule-2.0 gobject-2.0 graphite2 harfbuzz iconv intl
WANTLIB += jpeg ltdl lzma m pango-1.0 pangocairo-1.0 pangoft2-1.0
-WANTLIB += pcre2-8 pixman-1 png tiff webp xcb xcb-render xcb-shm
+WANTLIB += pcre2-8 pixman-1 png sharpyuv tiff webp xcb xcb-render xcb-shm
WANTLIB += z zstd
WANTLIB-main += ${WANTLIB}
WANTLIB-main += Xcomposite Xcursor Xdamage Xfixes Xi Xinerama Xrandr
-WANTLIB-main += atk-1.0 c cairo-gobject gc gdk-x11-2.0 gdk_pixbuf-2.0
-WANTLIB-main += gmp gtk-x11-2.0 guile-2.2 lcms2 openjp2 perl poppler
+WANTLIB-main += c cairo-gobject gc gdk-x11-2.0 gdk_pixbuf-2.0
+WANTLIB-main += gmp guile-2.2 lcms2 openjp2 perl poppler
WANTLIB-main += poppler-glib rsvg-2 unistring xml2
# "extra" libtclXX: tcldot is built against Tcl headers
@@ -100,6 +100,7 @@ CONFIGURE_ARGS= --disable-man-pdfs \
--disable-php \
--disable-python \
--disable-python3 \
+ --disable-quartz \
--disable-r \
--disable-ruby \
--enable-tcl
@@ -143,8 +144,13 @@ FAKE_FLAGS= htmldir="${DOCBASE}/html" \
undirecteddir="${EXBASE}/graphs/undirected" \
pkgtcldir="${MODTCL_TCLDIR}/graphviz"
+# Ensure plugin version check works.
+SUBST_VARS += GVPLUGIN_VERSION
+pre-configure:
+ ${SUBST_CMD} ${WRKSRC}/lib/gvc/gvconfig.c
+
post-install:
-# generate config6 from fake-install directkry, so we don't need
+# generate config6 from fake-install directory, so we don't need
# @exec or a pregenerated file
GVBINDIR=${PREFIX}/lib/graphviz \
LD_LIBRARY_PATH=${PREFIX}/lib \
Index: distinfo
===================================================================
RCS file: /cvs/ports/math/graphviz/distinfo,v
diff -u -p -r1.9 distinfo
--- distinfo 1 Mar 2023 11:30:25 -0000 1.9
+++ distinfo 13 Apr 2024 12:19:23 -0000
@@ -1,2 +1,2 @@
-SHA256 (graphviz-7.1.0.tar.gz) = aV7zCp07Ai5Ap5HKG+/ZF+/2QBcauxeit5NnooqiaHY=
-SIZE (graphviz-7.1.0.tar.gz) = 27565398
+SHA256 (graphviz-10.0.1.tar.gz) = cuGldenDgsT9ImeDeWK8RYKz2a10bjOM2AJL3soSTzI=
+SIZE (graphviz-10.0.1.tar.gz) = 27286181
Index: patches/patch-cmd_tools_mm2gv_1
===================================================================
RCS file: patches/patch-cmd_tools_mm2gv_1
diff -N patches/patch-cmd_tools_mm2gv_1
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-cmd_tools_mm2gv_1 13 Apr 2024 15:51:56 -0000
@@ -0,0 +1,12 @@
+Silence mandocdb warnings.
+
+Index: cmd/tools/mm2gv.1
+--- cmd/tools/mm2gv.1.orig
++++ cmd/tools/mm2gv.1
+@@ -1,6 +1,3 @@
+-.EQ
+-delim $$
+-.EN
+ .TH MM2GV 1 "31 July 2008"
+ .SH NAME
+ mm2gv \- Matrix Market-DOT converters
Index: patches/patch-configure_ac
===================================================================
RCS file: /cvs/ports/math/graphviz/patches/patch-configure_ac,v
diff -u -p -r1.3 patch-configure_ac
--- patches/patch-configure_ac 1 Mar 2023 11:30:26 -0000 1.3
+++ patches/patch-configure_ac 13 Apr 2024 12:27:50 -0000
@@ -10,8 +10,8 @@ Index: configure.ac
;;
esac
AC_DEFINE_UNQUOTED(GVPLUGIN_VERSION,$GVPLUGIN_VERSION,[Compatibility version number for plugins.])
-@@ -642,7 +642,7 @@ else
- if test "x$GUILE_CONFIG" = "x"; then
+@@ -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'`]
@@ -19,3 +19,13 @@ Index: configure.ac
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
+
+-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: patches/patch-lib_gvc_gvconfig_c
diff -N patches/patch-lib_gvc_gvconfig_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-lib_gvc_gvconfig_c 14 Apr 2024 20:12:00 -0000
@@ -0,0 +1,14 @@
+Ensure the plugin version check doesn't reject pugins with our version numbers.
+
+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) {
+ // turn GVPLUGIN_VERSION into a string
+ #define STRINGIZE_(x) #x
+ #define STRINGIZE(x) STRINGIZE_(x)
+- static const char VERSION[] = STRINGIZE(GVPLUGIN_VERSION);
++ static const char VERSION[] = STRINGIZE(${GVPLUGIN_VERSION});
+ #undef STRINGIZE
+ #undef STRINGIZE_
+
Index: pkg/PLIST-main
===================================================================
RCS file: /cvs/ports/math/graphviz/pkg/PLIST-main,v
diff -u -p -r1.11 PLIST-main
--- pkg/PLIST-main 1 Mar 2023 11:30:26 -0000 1.11
+++ pkg/PLIST-main 14 Apr 2024 20:23:52 -0000
@@ -42,8 +42,6 @@ include/graphviz/cgraph.h
include/graphviz/color.h
include/graphviz/geom.h
include/graphviz/graphviz_version.h
-include/graphviz/gv.cpp
-include/graphviz/gv.i
include/graphviz/gvc.h
include/graphviz/gvcext.h
include/graphviz/gvcjob.h
@@ -71,12 +69,12 @@ lib/graphviz/guile/
@lib lib/graphviz/libgvplugin_dot_layout.so.${LIBgvplugin_dot_layout_VERSION}
@lib lib/graphviz/libgvplugin_gd.so.${LIBgvplugin_gd_VERSION}
@lib lib/graphviz/libgvplugin_gdk.so.${LIBgvplugin_gdk_VERSION}
-@lib lib/graphviz/libgvplugin_gtk.so.${LIBgvplugin_gtk_VERSION}
+@lib lib/graphviz/libgvplugin_kitty.so.${LIBgvplugin_kitty_VERSION}
@lib lib/graphviz/libgvplugin_neato_layout.so.${LIBgvplugin_neato_layout_VERSION}
@lib lib/graphviz/libgvplugin_pango.so.${LIBgvplugin_pango_VERSION}
@lib lib/graphviz/libgvplugin_poppler.so.${LIBgvplugin_poppler_VERSION}
@lib lib/graphviz/libgvplugin_rsvg.so.${LIBgvplugin_rsvg_VERSION}
-@lib lib/graphviz/libgvplugin_visio.so.${LIBgvplugin_visio_VERSION}
+@lib lib/graphviz/libgvplugin_vt.so.${LIBgvplugin_vt_VERSION}
@lib lib/graphviz/libgvplugin_webp.so.${LIBgvplugin_webp_VERSION}
@lib lib/graphviz/libgvplugin_xlib.so.${LIBgvplugin_xlib_VERSION}
lib/graphviz/perl/
@@ -87,14 +85,12 @@ lib/graphviz/perl/gv.pm
@lib lib/libcgraph.so.${LIBcgraph_VERSION}
@lib lib/libgvc.so.${LIBgvc_VERSION}
@lib lib/libgvpr.so.${LIBgvpr_VERSION}
-@lib lib/liblab_gamut.so.${LIBlab_gamut_VERSION}
@lib lib/libpathplan.so.${LIBpathplan_VERSION}
@lib lib/libxdot.so.${LIBxdot_VERSION}
lib/pkgconfig/libcdt.pc
lib/pkgconfig/libcgraph.pc
lib/pkgconfig/libgvc.pc
lib/pkgconfig/libgvpr.pc
-lib/pkgconfig/liblab_gamut.pc
lib/pkgconfig/libpathplan.pc
lib/pkgconfig/libxdot.pc
${P5ARCH}/
Index: pkg/PLIST-tcl
===================================================================
RCS file: /cvs/ports/math/graphviz/pkg/PLIST-tcl,v
diff -u -p -r1.1 PLIST-tcl
--- pkg/PLIST-tcl 1 Mar 2023 11:30:26 -0000 1.1
+++ pkg/PLIST-tcl 14 Apr 2024 20:24:06 -0000
@@ -1,4 +1,5 @@
@conflict graphviz-<3
+lib/tcl/
lib/tcl/graphviz/
@so lib/tcl/graphviz/libgdtclft.so
@so lib/tcl/graphviz/libgv_tcl.so
--
Best Regards
Edd Barrett
https://www.theunixzoo.co.uk
UPDATE: graphviz-10.0.0.1