Index | Thread | Search

From:
Stuart Henderson <stu@spacehopper.org>
Subject:
Re: UPDATE: graphviz-10.0.0.1
To:
Edd Barrett <edd@theunixzoo.co.uk>
Cc:
ports@openbsd.org
Date:
Tue, 16 Apr 2024 12:46:36 +0100

Download raw body.

Thread
On 2024/04/16 11:35, Edd Barrett wrote:
> Diff follows. Let me know if I missed anything. Cheers

I've built and done some quick tests on arm64. Things I tried that are
already working on 7.1.0 are OK here too. I tried running some of the
tcl/wish based examples; they fail on both 10.0.1 and 7.1.0. Since that's
not a regression from the existing version I don't think it's a blocker
so ok with me.

wish8.6:/usr/local/lib/tcl/graphviz/libtcldot.so: undefined symbol 'tclStubsPtr'
wish8.6:/usr/local/lib/tcl/graphviz/libtcldot.so: undefined symbol 'Tcl_InitStubs'
wish8.6:/usr/local/lib/tcl/graphviz/libtcldot.so: undefined symbol 'tclStubsPtr'
wish8.6:/usr/local/lib/tcl/graphviz/libtcldot.so: undefined symbol 'Tcl_InitStubs'
Error in startup script: couldn't load file "/usr/local/lib/tcl/graphviz/libtcldot.so": Cannot load specified object
    while executing
"load /usr/local/lib/tcl/graphviz/libtcldot.so Tcldot"
    ("package ifneeded Tcldot 10.0.1" script)
    invoked from within
"package require Tcldot"
    (file "./gcat.tcl" line 5)



> 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
>