Monday, December 30, 2019

UPDATE: graphviz-2.40.1

Hi porters,

Here's an update to the latest graphviz.

This is combination of Rafael's work from OpenBSD-wip with some of my
own changes on top.

Notes:

* I bumped *all* shared libs as some struct members changed in
common.h. The affected types do appear in the public headers that get
installed, but don't appear in the public API. I was nervous enough
to play it safe. I'm happy to reverse this decision if anyone
objects.

* Use their test suite and delete our local one.

* The shapes.py test is missing from the source distribution. Just skip it.

* Make removal of .a and .la automatic (assuming we want to do as the
pre-existing comment said, and not install them).

* tkspline was removed by upstream:
https://gitlab.com/graphviz/graphviz/commit/244270c75ff686ea256c7659ba29de822e8dae69

* Upstream tarball has no version number in the filename.

* This probably doesn't matter, but I noticed that neato seems to be emitting
non-deterministic output on OpenBSD, but not on Linux:
https://gitlab.com/graphviz/graphviz/issues/1644

Only lightly tested so far.

I see that we have some ports that use graphviz, so that's what I'm
going to test next:

```
sqlite> select fullpkgpath from ports where build_depends like '%%graphviz%%' or lib_depends like '%%graphviz%%';
biology/bioperl
math/p5-GraphViz
devel/darcs
devel/frama-c
lang/vala,,-valadoc
lang/vala,-valadoc
www/rt
```


Index: Makefile
===================================================================
RCS file: /cvs/ports/math/graphviz/Makefile,v
retrieving revision 1.76
diff -u -p -r1.76 Makefile
--- Makefile 18 Nov 2019 19:57:44 -0000 1.76
+++ Makefile 29 Dec 2019 18:42:02 -0000
@@ -2,8 +2,7 @@

COMMENT-main= graph drawing software

-DISTNAME= graphviz-2.36.0
-REVISION= 14
+DISTNAME= graphviz-2.40.1
PKGNAME-main= ${DISTNAME}
CATEGORIES= math devel graphics

@@ -14,30 +13,31 @@ MULTI_PACKAGES= -main
# to let update-patches work in a simpler way
PATCHORIG= .orig2

-MASTER_SITES= ${HOMEPAGE}pub/graphviz/ARCHIVE/
+# The tarball on the graphviz website no longer has a version suffix :(
+MASTER_SITES= https://theunixzoo.co.uk/distfiles/

-SHARED_LIBS += gvplugin_core 1.0 # 6.0
-SHARED_LIBS += gvplugin_gd 1.0 # 6.0
-SHARED_LIBS += gvplugin_pango 1.0 # 6.0
-SHARED_LIBS += gvplugin_dot_layout 1.0 # 6.0
-SHARED_LIBS += gvplugin_neato_layout 1.0 # 6.0
-SHARED_LIBS += gvplugin_xlib 1.0 # 6.0
-SHARED_LIBS += gvplugin_gtk 1.0 # 6.0
-SHARED_LIBS += gvplugin_rsvg 0.0 # 6.0
-SHARED_LIBS += gvplugin_gdk 0.0 # 6.0
-SHARED_LIBS += gvplugin_poppler 0.0 # 6.0
-
-SHARED_LIBS += cdt 1.0 # 5.0
-SHARED_LIBS += pathplan 2.0 # 4.0
-SHARED_LIBS += gvc 1.0 # 6.0
-SHARED_LIBS += cgraph 0.0 # 6.0
-SHARED_LIBS += gvpr 0.0 # 2.0
-SHARED_LIBS += xdot 0.0 # 4.0
-SHARED_LIBS += gdtclft 3.0 # unknown
-SHARED_LIBS += tcldot 3.0 # unknown
-SHARED_LIBS += tcldot_builtin 3.0 # unknown
-SHARED_LIBS += tclplan 3.0 # unknown
-SHARED_LIBS += tkspline 3.0 # unknown
+SHARED_LIBS += gvplugin_core 2.0 # 6.0
+SHARED_LIBS += gvplugin_gd 2.0 # 6.0
+SHARED_LIBS += gvplugin_pango 2.0 # 6.0
+SHARED_LIBS += gvplugin_dot_layout 2.0 # 6.0
+SHARED_LIBS += gvplugin_neato_layout 2.0 # 6.0
+SHARED_LIBS += gvplugin_xlib 2.0 # 6.0
+SHARED_LIBS += gvplugin_gtk 2.0 # 6.0
+SHARED_LIBS += gvplugin_rsvg 1.0 # 6.0
+SHARED_LIBS += gvplugin_gdk 1.0 # 6.0
+SHARED_LIBS += gvplugin_poppler 1.0 # 6.0
+
+SHARED_LIBS += cdt 2.0 # 5.0
+SHARED_LIBS += pathplan 3.0 # 4.0
+SHARED_LIBS += gvc 2.0 # 6.0
+SHARED_LIBS += cgraph 1.0 # 6.0
+SHARED_LIBS += gvpr 1.0 # 2.0
+SHARED_LIBS += xdot 1.0 # 4.0
+SHARED_LIBS += gdtclft 4.0 # unknown
+SHARED_LIBS += tcldot 4.0 # unknown
+SHARED_LIBS += tcldot_builtin 4.0 # unknown
+SHARED_LIBS += tclplan 4.0 # unknown
+SHARED_LIBS += lab_gamut 0.0 # 1.0

HOMEPAGE= http://www.graphviz.org/

@@ -47,14 +47,14 @@ MAINTAINER = Edd Barrett <edd@openbsd.or
PERMIT_PACKAGE= Yes

WANTLIB += ICE SM X11 Xau Xaw Xcomposite Xcursor Xdamage Xdmcp
-WANTLIB += Xext Xfixes Xft Xi Xinerama Xmu Xpm Xrandr Xrender
-WANTLIB += Xss Xt atk-1.0 c cairo cairo-gobject expat ffi fontconfig
+WANTLIB += Xext Xfixes Xi Xinerama Xmu Xpm Xrandr Xrender
+WANTLIB += Xt atk-1.0 c cairo cairo-gobject expat ffi fontconfig
WANTLIB += freetype gd gdk-x11-2.0 gdk_pixbuf-2.0 gio-2.0 glib-2.0
-WANTLIB += gmodule-2.0 gmp gobject-2.0 graphite2 gthread-2.0 gtk-x11-2.0
+WANTLIB += gmodule-2.0 gmp gobject-2.0 graphite2 gtk-x11-2.0
WANTLIB += guile harfbuzz iconv intl jpeg lcms2 ltdl lzma m openjp2 pango-1.0
WANTLIB += pangocairo-1.0 pangoft2-1.0 pcre perl pixman-1 png
WANTLIB += poppler poppler-glib pthread rsvg-2 ${COMPILER_LIBCXX}
-WANTLIB += tiff tk85 webp xcb xcb-render xcb-shm xml2 z fribidi
+WANTLIB += tiff webp xcb xcb-render xcb-shm xml2 z zstd fribidi

COMPILER = base-clang ports-gcc base-gcc

@@ -77,6 +77,7 @@ TEST_DEPENDS = ${FULLPKGNAME}:math/graph
USE_GMAKE = Yes
USE_GROFF = Yes
CONFIGURE_STYLE=gnu
+
# Note: --with-tclsh is misspelled "--with-tcl" in configure's help output
CONFIGURE_ARGS= --enable-tcl=yes \
--enable-perl \
@@ -143,22 +144,21 @@ post-install:
rm -Rf ${PREFIX}/lib/tcl${MODTCL_VERSION}/graphviz
ln -s ${TRUEPREFIX}/lib/tcl/graphviz \
${PREFIX}/lib/tcl${MODTCL_VERSION}/graphviz
+# We never want to install .a or .la files. The shared libs will suffice.
+ find ${PREFIX}/lib/ -name '*.a' -or -name '*.la' | xargs rm

-# Local tests for OpenBSD
-# Can't run built in tests, as requires ksh93 (some specific arguments
-# to the typeset builtin). Currently, there is no port.
-TEST_TMP=${WRKDIR}/test_tmp
-do-test:
- mkdir -p ${TEST_TMP}
- cd ${FILESDIR}/tests && for i in *-test.* run_tests.sh; do \
- ${SUBST_CMD} -m 0644 -c $${i} ${TEST_TMP}/$${i}; \
- done
- cd ${TEST_TMP} && /bin/sh ./run_tests.sh
-
-# NOTE: When updating this port:
-# * Check we have commented .la and .a corresponding to unversioned .so files
-# in the packing list.
-# * Run 'dot -c' manually and subsitute all hardcoded library versions to
-# ${LIB_libname_VERSION}. Put the file in files/config6
+TEST_DEPENDS = shells/ksh93 \
+ ${FULLPKGNAME}:${FULLPKGPATH}
+TEST_TARGET = check
+
+pre-test:
+ sed -i s,#!/bin/ksh,#!/${LOCALBASE}/bin/ksh93, ${WRKSRC}/rtest/rtest.sh
+
+# NOTE: When updating this port run 'dot -c' (as root) to generate a
+# /usr/local/lib/graphviz/config6. Then substitute all hard-coded library
+# versions to ${LIBlibname_VERSION}. Put the resulting file in files/config6.
+#
+# A vim regex for doing the substitution:
+# :%s/^lib\(.*\)\.so\.[0-9]\+\.[0-9]\+/lib\1.so.${LIB\1_VERSION}/g

.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/math/graphviz/distinfo,v
retrieving revision 1.7
diff -u -p -r1.7 distinfo
--- distinfo 6 Feb 2014 17:32:27 -0000 1.7
+++ distinfo 28 Dec 2019 18:12:54 -0000
@@ -1,2 +1,2 @@
-SHA256 (graphviz-2.36.0.tar.gz) = N/1m2N7xWFdcdcT22/U2g55O5GiqWTFOtHLRrssHY2E=
-SIZE (graphviz-2.36.0.tar.gz) = 23846318
+SHA256 (graphviz-2.40.1.tar.gz) = ylIY+t4CBNWZRxJsOEOfQyhTVDsIGNnXKMWJ3+fzpCE=
+SIZE (graphviz-2.40.1.tar.gz) = 25633455
Index: files/config6
===================================================================
RCS file: /cvs/ports/math/graphviz/files/config6,v
retrieving revision 1.2
diff -u -p -r1.2 config6
--- files/config6 6 Feb 2014 17:32:27 -0000 1.2
+++ files/config6 29 Dec 2019 17:16:28 -0000
@@ -24,6 +24,7 @@ libgvplugin_gd.so.${LIBgvplugin_gd_VERSI
jpe:gd 1
jpg:gd 1
png:gd 1
+ xbm:gd 1
gd:ps 1
#FAILS gd:lasi 1
gd2:ps 1
@@ -38,6 +39,8 @@ libgvplugin_gd.so.${LIBgvplugin_gd_VERSI
#FAILS jpe:lasi 1
png:ps 1
#FAILS png:lasi 1
+ xbm:ps 1
+#FAILS xbm:lasi 1
gd:cairo 1
gd2:cairo 1
gif:cairo 1
@@ -45,6 +48,7 @@ libgvplugin_gd.so.${LIBgvplugin_gd_VERSI
jpg:cairo 1
jpe:cairo 1
png:cairo -1
+ xbm:cairo 1
}
device {
gif:cairo 10
@@ -148,6 +152,9 @@ libgvplugin_core.so.${LIBgvplugin_core_V
cmapx_np:map 1
}
device {
+ mp:mp -1
+ }
+ device {
ps:ps 1
ps2:ps 1
eps:ps 1
@@ -157,6 +164,12 @@ libgvplugin_core.so.${LIBgvplugin_core_V
svgz:svg 1
}
device {
+ json:json 1
+ json0:json 1
+ dot_json:json 1
+ xdot_json:json 1
+ }
+ device {
tk:tk 1
}
device {
@@ -180,10 +193,19 @@ libgvplugin_core.so.${LIBgvplugin_core_V
map 1
}
render {
+ mp -1
+ }
+ render {
ps 1
}
render {
svg 1
+ }
+ render {
+ json 1
+ json0 1
+ dot_json 1
+ xdot_json 1
}
render {
tk 1
Index: files/tests/dot-test.dot
===================================================================
RCS file: files/tests/dot-test.dot
diff -N files/tests/dot-test.dot
--- files/tests/dot-test.dot 31 Aug 2012 19:50:01 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,5 +0,0 @@
-digraph g {
- "a" -> "b";
- "b" -> "c";
- "c" -> "a";
-}
Index: files/tests/dot-test.dot.expect
===================================================================
RCS file: files/tests/dot-test.dot.expect
diff -N files/tests/dot-test.dot.expect
--- files/tests/dot-test.dot.expect 6 Feb 2014 17:32:27 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,17 +0,0 @@
-digraph g {
- graph [bb="0,0,81,180"];
- node [label="\N"];
- a [height=0.5,
- pos="54,162",
- width=0.75];
- b [height=0.5,
- pos="27,90",
- width=0.75];
- a -> b [pos="e,33.54,107.96 47.601,144.41 44.486,136.34 40.666,126.43 37.165,117.35"];
- c [height=0.5,
- pos="54,18",
- width=0.75];
- b -> c [pos="e,47.46,35.956 33.399,72.411 36.514,64.335 40.334,54.431 43.835,45.355"];
- c -> a [pos="e,57.654,143.91 57.654,36.092 59.676,46.431 61.981,59.91 63,72 64.344,87.943 64.344,92.057 63,108 62.283,116.5 60.931,125.69 59.488,\
-133.99"];
-}
Index: files/tests/guile-test.scm
===================================================================
RCS file: files/tests/guile-test.scm
diff -N files/tests/guile-test.scm
--- files/tests/guile-test.scm 31 Aug 2012 19:50:01 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-(load-extension "${LOCALBASE}/lib/graphviz/guile/libgv_guile.so" "SWIG_init");
-(define g (digraph "g"));
-
-(define n1 (node g "a"));
-(define n2 (node g "b"));
-(define n3 (node g "c"));
-
-(define e1 (edge n1 n2));
-(define e2 (edge n2 n3));
-(define e3 (edge n3 n1));
-
-(layout g "dot");
-(render g "dot");
-
Index: files/tests/guile-test.scm.expect
===================================================================
RCS file: files/tests/guile-test.scm.expect
diff -N files/tests/guile-test.scm.expect
--- files/tests/guile-test.scm.expect 6 Feb 2014 17:32:27 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,17 +0,0 @@
-digraph g {
- graph [bb="0,0,81,180"];
- node [label="\N"];
- a [height=0.5,
- pos="54,162",
- width=0.75];
- b [height=0.5,
- pos="27,90",
- width=0.75];
- a -> b [pos="e,33.54,107.96 47.601,144.41 44.486,136.34 40.666,126.43 37.165,117.35"];
- c [height=0.5,
- pos="54,18",
- width=0.75];
- b -> c [pos="e,47.46,35.956 33.399,72.411 36.514,64.335 40.334,54.431 43.835,45.355"];
- c -> a [pos="e,57.654,143.91 57.654,36.092 59.676,46.431 61.981,59.91 63,72 64.344,87.943 64.344,92.057 63,108 62.283,116.5 60.931,125.69 59.488,\
-133.99"];
-}
Index: files/tests/neato-test.nto
===================================================================
RCS file: files/tests/neato-test.nto
diff -N files/tests/neato-test.nto
--- files/tests/neato-test.nto 31 Aug 2012 19:50:01 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,7 +0,0 @@
-graph g {
- 1 -- 2;
- 2 -- 3;
- 4 -- 3;
- 5 -- 3;
- 3 -- 1;
-}
Index: files/tests/neato-test.nto.expect
===================================================================
RCS file: files/tests/neato-test.nto.expect
diff -N files/tests/neato-test.nto.expect
--- files/tests/neato-test.nto.expect 6 Feb 2014 17:32:27 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,24 +0,0 @@
-graph g {
- graph [bb="0,0,176.35,163.87"];
- node [label="\N"];
- 1 [height=0.5,
- pos="41.352,25.566",
- width=0.75];
- 2 [height=0.5,
- pos="108.39,18",
- width=0.75];
- 1 -- 2 [pos="68.233,22.532 72.604,22.039 77.133,21.528 81.504,21.034"];
- 3 [height=0.5,
- pos="82.599,90.149",
- width=0.75];
- 2 -- 3 [pos="102.02,35.835 98.018,47.018 92.885,61.375 88.901,72.52"];
- 3 -- 1 [pos="71.977,73.517 65.866,63.95 58.21,51.962 52.081,42.366"];
- 4 [height=0.5,
- pos="27,145.87",
- width=0.75];
- 4 -- 3 [pos="42.193,130.65 50.038,122.78 59.582,113.22 67.425,105.36"];
- 5 [height=0.5,
- pos="149.35,131.88",
- width=0.75];
- 5 -- 3 [pos="129.32,119.36 120.88,114.08 111.06,107.94 102.61,102.66"];
-}
Index: files/tests/perl-test.pl
===================================================================
RCS file: files/tests/perl-test.pl
diff -N files/tests/perl-test.pl
--- files/tests/perl-test.pl 31 Aug 2012 19:50:01 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,15 +0,0 @@
-#!/usr/bin/perl
-use gv;
-
-my $g = gv::graph("test");
-
-my $n1 = gv::node($g, "a") ;
-my $n2 = gv::node($g, "b") ;
-my $n3 = gv::node($g, "c") ;
-
-gv::edge($n1, $n2) ;
-gv::edge($n2, $n3) ;
-gv::edge($n3, $n1) ;
-
-gv::layout($g, 'dot');
-gv::render($g, 'dot' );
Index: files/tests/perl-test.pl.expect
===================================================================
RCS file: files/tests/perl-test.pl.expect
diff -N files/tests/perl-test.pl.expect
--- files/tests/perl-test.pl.expect 6 Feb 2014 17:32:27 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,16 +0,0 @@
-graph test {
- graph [bb="0,0,81,180"];
- node [label="\N"];
- a [height=0.5,
- pos="54,162",
- width=0.75];
- b [height=0.5,
- pos="27,90",
- width=0.75];
- a -- b [pos="47.601,144.41 43.36,133.41 37.811,119.03 33.54,107.96"];
- c [height=0.5,
- pos="54,18",
- width=0.75];
- b -- c [pos="33.399,72.411 37.64,61.414 43.189,47.027 47.46,35.956"];
- c -- a [pos="57.654,36.092 59.676,46.431 61.981,59.91 63,72 64.344,87.943 64.344,92.057 63,108 61.981,120.09 59.676,133.57 57.654,143.91"];
-}
Index: files/tests/run_tests.sh
===================================================================
RCS file: files/tests/run_tests.sh
diff -N files/tests/run_tests.sh
--- files/tests/run_tests.sh 1 Jul 2016 14:25:17 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,39 +0,0 @@
-#!/bin/sh
-#
-# $OpenBSD: run_tests.sh,v 1.2 2016/07/01 14:25:17 sthen Exp $
-# Simple regression tests for the OpenBSD graphviz port
-
-# Silence deprecated guile constructs
-export GUILE_WARN_DEPRECATED=no
-
-# List of tests to run, of the form:
-# compiler:testfile
-tests="${LOCALBASE}/bin/guile:guile-test.scm"
-tests="${tests} /usr/bin/perl:perl-test.pl"
-tests="${tests} ${MODTCL_BIN}:tcl-test.tcl"
-tests="${tests} ${LOCALBASE}/bin/dot:dot-test.dot"
-tests="${tests} ${LOCALBASE}/bin/neato:neato-test.nto"
-
-for t in ${tests}; do
- compiler=`echo $t | awk -F: '{print $1}'`
- infile=`echo $t | awk -F: '{print $2}'`
- outfile=${infile}.out
- expectfile=${infile}.expect
- difffile=${infile}.diff
-
- echo "Running test: ${infile}"
- if ! ${compiler} ${infile} > ${outfile}; then
- echo "FAILED (execution failed)" && exit 1
- fi
-
- if [ ! -f ${expectfile} ]; then
- echo "FAILED (missing expected outcome)" && exit 1
- fi
-
- if ! diff -u ${expectfile} ${outfile} > ${difffile}; then
- echo "FAILED (unexpected outcome)" && cat ${difffile} && exit 1
- fi
-
- rm ${difffile} ${outfile}
- echo "PASSED"
-done
Index: files/tests/tcl-test.tcl
===================================================================
RCS file: files/tests/tcl-test.tcl
diff -N files/tests/tcl-test.tcl
--- files/tests/tcl-test.tcl 31 Aug 2012 19:50:01 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,20 +0,0 @@
-#!/usr/bin/tclsh
-
-# display the kernel module dependencies
-
-# author: John Ellson <ellson@research.att.com>
-
-package require gv
-
-set G [gv::digraph G]
-
-set N1 [gv::node $G "a"]
-set N2 [gv::node $G "b"]
-set N3 [gv::node $G "c"]
-
-set E1 [gv::edge $N1 $N2]
-set E2 [gv::edge $N2 $N3]
-set E3 [gv::edge $N3 $N1]
-
-gv::layout $G dot
-gv::render $G dot
Index: files/tests/tcl-test.tcl.expect
===================================================================
RCS file: files/tests/tcl-test.tcl.expect
diff -N files/tests/tcl-test.tcl.expect
--- files/tests/tcl-test.tcl.expect 6 Feb 2014 17:32:27 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,17 +0,0 @@
-digraph G {
- graph [bb="0,0,81,180"];
- node [label="\N"];
- a [height=0.5,
- pos="54,162",
- width=0.75];
- b [height=0.5,
- pos="27,90",
- width=0.75];
- a -> b [pos="e,33.54,107.96 47.601,144.41 44.486,136.34 40.666,126.43 37.165,117.35"];
- c [height=0.5,
- pos="54,18",
- width=0.75];
- b -> c [pos="e,47.46,35.956 33.399,72.411 36.514,64.335 40.334,54.431 43.835,45.355"];
- c -> a [pos="e,57.654,143.91 57.654,36.092 59.676,46.431 61.981,59.91 63,72 64.344,87.943 64.344,92.057 63,108 62.283,116.5 60.931,125.69 59.488,\
-133.99"];
-}
Index: patches/patch-Makefile_in
===================================================================
RCS file: patches/patch-Makefile_in
diff -N patches/patch-Makefile_in
--- patches/patch-Makefile_in 6 Feb 2014 17:32:27 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,15 +0,0 @@
-$OpenBSD: patch-Makefile_in,v 1.2 2014/02/06 17:32:27 edd Exp $
-
-Fix grep syntax.
-
---- Makefile.in.orig2 Sun Feb 2 17:33:01 2014
-+++ Makefile.in Sun Feb 2 17:33:08 2014
-@@ -1246,7 +1246,7 @@ dist-hook:
- find $(distdir) -name CVS -type d -prune -exec rm -rf {} \;
-
- $(top_builddir)/graphviz_version.h: config.h
-- $(GREP) 'PACKAGE\|VERSION\|GVPLUGIN' config.h > $(top_builddir)/graphviz_version.h
-+ $(GREP) -E '(PACKAGE|VERSION|GVPLUGIN)' config.h > graphviz_version.h
-
- .PHONY: rpm
- rpm: dist
Index: patches/patch-cmd_dot_Makefile_in
===================================================================
RCS file: /cvs/ports/math/graphviz/patches/patch-cmd_dot_Makefile_in,v
retrieving revision 1.3
diff -u -p -r1.3 patch-cmd_dot_Makefile_in
--- patches/patch-cmd_dot_Makefile_in 6 Feb 2014 17:32:27 -0000 1.3
+++ patches/patch-cmd_dot_Makefile_in 28 Dec 2019 18:16:14 -0000
@@ -4,9 +4,10 @@ Add pthread linkage or '@exec dot -c' wi
when trying to dlopen(). Not because the file is missing, but because
there is a linker error. Sigh, obvious isn't it?

---- cmd/dot/Makefile.in.orig2 Sun Feb 2 23:23:31 2014
-+++ cmd/dot/Makefile.in Sun Feb 2 23:24:22 2014
-@@ -615,7 +615,8 @@ dot_SOURCES = dot.c no_builtins.c
+Index: cmd/dot/Makefile.in
+--- cmd/dot/Makefile.in.orig
++++ cmd/dot/Makefile.in
+@@ -657,7 +657,8 @@ dot_SOURCES = dot.c no_builtins.c
dot_CPPFLAGS = $(AM_CPPFLAGS) -DDEMAND_LOADING=1
dot_LDADD = \
$(top_builddir)/lib/gvc/libgvc.la \
Index: patches/patch-configure
===================================================================
RCS file: /cvs/ports/math/graphviz/patches/patch-configure,v
retrieving revision 1.2
diff -u -p -r1.2 patch-configure
--- patches/patch-configure 28 Sep 2014 13:44:48 -0000 1.2
+++ patches/patch-configure 28 Dec 2019 18:16:24 -0000
@@ -5,9 +5,10 @@ Do not pick up guile2 until our devel/sw

Fix regex in guile detection.

---- configure.orig2 Sun Jan 12 00:15:44 2014
-+++ configure Sun Sep 28 15:30:06 2014
-@@ -21055,7 +21055,7 @@ else
+Index: configure
+--- configure.orig
++++ configure
+@@ -20909,7 +20909,7 @@ else
if test `$SWIG -help 2>&1 | $EGREP -c '\-guile *- Generate'` = 0; then
use_guile="No (swig does not support -guile option)"
else
@@ -16,7 +17,7 @@ Fix regex in guile detection.
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-@@ -21100,7 +21100,7 @@ done
+@@ -20954,7 +20954,7 @@ done
if test "x$GUILE" = "x"; then
use_guile="No (guile not available)"
else
Index: patches/patch-lib_cgraph_scan_l
===================================================================
RCS file: patches/patch-lib_cgraph_scan_l
diff -N patches/patch-lib_cgraph_scan_l
--- patches/patch-lib_cgraph_scan_l 21 Aug 2015 16:06:06 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,16 +0,0 @@
-$OpenBSD: patch-lib_cgraph_scan_l,v 1.2 2015/08/21 16:06:06 jasper Exp $
-
-Security fix for CVE-2014-9157, graphviz: format string vulnerability in yyerror()
-https://github.com/ellson/graphviz/commit/99eda421f7ddc27b14e4ac1d2126e5fe41719081.patch
-
---- lib/cgraph/scan.l.orig2 Fri Aug 21 10:25:19 2015
-+++ lib/cgraph/scan.l Fri Aug 21 10:25:42 2015
-@@ -223,7 +223,7 @@ void yyerror(char *str)
- agxbput (&xb, buf);
- agxbput (&xb, yytext);
- agxbput (&xb,"'\n");
-- agerr(AGWARN,agxbuse(&xb));
-+ agerr(AGWARN, "%s", agxbuse(&xb));
- agxbfree(&xb);
- }
- /* must be here to see flex's macro defns */
Index: patches/patch-lib_gvc_gvconfig_c
===================================================================
RCS file: /cvs/ports/math/graphviz/patches/patch-lib_gvc_gvconfig_c,v
retrieving revision 1.4
diff -u -p -r1.4 patch-lib_gvc_gvconfig_c
--- patches/patch-lib_gvc_gvconfig_c 6 Feb 2014 17:32:27 -0000 1.4
+++ patches/patch-lib_gvc_gvconfig_c 28 Dec 2019 18:16:31 -0000
@@ -2,9 +2,10 @@ $OpenBSD: patch-lib_gvc_gvconfig_c,v 1.4

Plugin scanner fails to find our libs because we overide lib version.

---- lib/gvc/gvconfig.c.orig2 Sat Jan 11 22:59:44 2014
-+++ lib/gvc/gvconfig.c Sun Feb 2 17:23:25 2014
-@@ -421,6 +421,8 @@ static void config_rescan(GVC_t *gvc, char *config_pat
+Index: lib/gvc/gvconfig.c
+--- lib/gvc/gvconfig.c.orig
++++ lib/gvc/gvconfig.c
+@@ -417,6 +417,8 @@ static void config_rescan(GVC_t *gvc, char *config_pat

#if defined(WIN32) && !defined(__MINGW32__) && !defined(__CYGWIN__)
sprintf(config_re,"%s%s", plugin_re_beg, plugin_re_end);
Index: patches/patch-tclpkg_tclstubs_Makefile_in
===================================================================
RCS file: /cvs/ports/math/graphviz/patches/patch-tclpkg_tclstubs_Makefile_in,v
retrieving revision 1.3
diff -u -p -r1.3 patch-tclpkg_tclstubs_Makefile_in
--- patches/patch-tclpkg_tclstubs_Makefile_in 6 Feb 2014 17:32:27 -0000 1.3
+++ patches/patch-tclpkg_tclstubs_Makefile_in 28 Dec 2019 18:16:34 -0000
@@ -1,7 +1,8 @@
$OpenBSD: patch-tclpkg_tclstubs_Makefile_in,v 1.3 2014/02/06 17:32:27 edd Exp $
---- tclpkg/tclstubs/Makefile.in.orig2 Sun Feb 2 23:24:57 2014
-+++ tclpkg/tclstubs/Makefile.in Sun Feb 2 23:25:20 2014
-@@ -249,7 +249,7 @@ LIBLTDL = @LIBLTDL@
+Index: tclpkg/tclstubs/Makefile.in
+--- tclpkg/tclstubs/Makefile.in.orig
++++ tclpkg/tclstubs/Makefile.in
+@@ -295,7 +295,7 @@ LIBLTDL = @LIBLTDL@
LIBLTDL_LDFLAGS = @LIBLTDL_LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBPOSTFIX = @LIBPOSTFIX@
Index: patches/patch-tclpkg_tkstubs_Makefile_in
===================================================================
RCS file: patches/patch-tclpkg_tkstubs_Makefile_in
diff -N patches/patch-tclpkg_tkstubs_Makefile_in
--- patches/patch-tclpkg_tkstubs_Makefile_in 6 Feb 2014 17:32:27 -0000 1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-tclpkg_tkstubs_Makefile_in,v 1.3 2014/02/06 17:32:27 edd Exp $
---- tclpkg/tkstubs/Makefile.in.orig2 Sun Feb 2 23:25:32 2014
-+++ tclpkg/tkstubs/Makefile.in Sun Feb 2 23:25:49 2014
-@@ -250,7 +250,7 @@ LIBLTDL = @LIBLTDL@
- LIBLTDL_LDFLAGS = @LIBLTDL_LDFLAGS@
- LIBOBJS = @LIBOBJS@
- LIBPOSTFIX = @LIBPOSTFIX@
--LIBS = @TK_STUB_LIB_SPEC@
-+LIBS = $(TK_STUB_LIB_SPEC)
- LIBTOOL = @LIBTOOL@
- LIPO = @LIPO@
- LN_S = @LN_S@
Index: patches/patch-tests_regression_tests_Makefile_in
===================================================================
RCS file: patches/patch-tests_regression_tests_Makefile_in
diff -N patches/patch-tests_regression_tests_Makefile_in
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-tests_regression_tests_Makefile_in 29 Dec 2019 18:36:45 -0000
@@ -0,0 +1,17 @@
+$OpenBSD$
+
+This test needs a file called shapes.py which is not included in the source
+distribution.
+
+Index: tests/regression_tests/Makefile.in
+--- tests/regression_tests/Makefile.in.orig
++++ tests/regression_tests/Makefile.in
+@@ -522,7 +522,7 @@ target_alias = @target_alias@
+ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+-SUBDIRS = shapes
++SUBDIRS =
+ all: all-recursive
+
+ .SUFFIXES:
Index: pkg/PLIST-main
===================================================================
RCS file: /cvs/ports/math/graphviz/pkg/PLIST-main,v
retrieving revision 1.7
diff -u -p -r1.7 PLIST-main
--- pkg/PLIST-main 1 Jul 2016 14:25:17 -0000 1.7
+++ pkg/PLIST-main 29 Dec 2019 16:59:16 -0000
@@ -10,6 +10,7 @@ bin/circo
bin/dot2gxl
@bin bin/dot_builtins
bin/dotty
+@bin bin/edgepaint
bin/fdp
@bin bin/gc
@bin bin/gml2gv
@@ -69,94 +70,48 @@ include/graphviz/xdot.h
lib/graphviz/
lib/graphviz/config6
lib/graphviz/guile/
-lib/graphviz/guile/libgv_guile.a
-lib/graphviz/guile/libgv_guile.la
-lib/graphviz/guile/libgv_guile.so
-lib/graphviz/libgvplugin_core.a
-lib/graphviz/libgvplugin_core.la
+@so lib/graphviz/guile/libgv_guile.so
@lib lib/graphviz/libgvplugin_core.so.${LIBgvplugin_core_VERSION}
-lib/graphviz/libgvplugin_dot_layout.a
-lib/graphviz/libgvplugin_dot_layout.la
@lib lib/graphviz/libgvplugin_dot_layout.so.${LIBgvplugin_dot_layout_VERSION}
-lib/graphviz/libgvplugin_gd.a
-lib/graphviz/libgvplugin_gd.la
@lib lib/graphviz/libgvplugin_gd.so.${LIBgvplugin_gd_VERSION}
-lib/graphviz/libgvplugin_gdk.a
-lib/graphviz/libgvplugin_gdk.la
@lib lib/graphviz/libgvplugin_gdk.so.${LIBgvplugin_gdk_VERSION}
-lib/graphviz/libgvplugin_gtk.a
-lib/graphviz/libgvplugin_gtk.la
@lib lib/graphviz/libgvplugin_gtk.so.${LIBgvplugin_gtk_VERSION}
-lib/graphviz/libgvplugin_neato_layout.a
-lib/graphviz/libgvplugin_neato_layout.la
@lib lib/graphviz/libgvplugin_neato_layout.so.${LIBgvplugin_neato_layout_VERSION}
-lib/graphviz/libgvplugin_pango.a
-lib/graphviz/libgvplugin_pango.la
@lib lib/graphviz/libgvplugin_pango.so.${LIBgvplugin_pango_VERSION}
-lib/graphviz/libgvplugin_poppler.a
-lib/graphviz/libgvplugin_poppler.la
@lib lib/graphviz/libgvplugin_poppler.so.${LIBgvplugin_poppler_VERSION}
-lib/graphviz/libgvplugin_rsvg.a
-lib/graphviz/libgvplugin_rsvg.la
@lib lib/graphviz/libgvplugin_rsvg.so.${LIBgvplugin_rsvg_VERSION}
-lib/graphviz/libgvplugin_xlib.a
-lib/graphviz/libgvplugin_xlib.la
@lib lib/graphviz/libgvplugin_xlib.so.${LIBgvplugin_xlib_VERSION}
lib/graphviz/perl/
lib/graphviz/perl/gv.pm
-lib/graphviz/perl/gv.so
-lib/graphviz/perl/libgv_perl.a
-lib/graphviz/perl/libgv_perl.la
-lib/graphviz/perl/libgv_perl.so
-lib/libcdt.a
-lib/libcdt.la
+@so lib/graphviz/perl/gv.so
+@so lib/graphviz/perl/libgv_perl.so
@lib lib/libcdt.so.${LIBcdt_VERSION}
-lib/libcgraph.a
-lib/libcgraph.la
@lib lib/libcgraph.so.${LIBcgraph_VERSION}
-lib/libgvc.a
-lib/libgvc.la
@lib lib/libgvc.so.${LIBgvc_VERSION}
-lib/libgvpr.a
-lib/libgvpr.la
@lib lib/libgvpr.so.${LIBgvpr_VERSION}
-lib/libpathplan.a
-lib/libpathplan.la
+@lib lib/liblab_gamut.so.${LIBlab_gamut_VERSION}
@lib lib/libpathplan.so.${LIBpathplan_VERSION}
-lib/libxdot.a
-lib/libxdot.la
@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
+lib/tcl/
lib/tcl/graphviz/
-lib/tcl/graphviz/libgdtclft.a
-lib/tcl/graphviz/libgdtclft.la
@lib lib/tcl/graphviz/libgdtclft.so.${LIBgdtclft_VERSION}
-lib/tcl/graphviz/libgv_tcl.a
-lib/tcl/graphviz/libgv_tcl.la
-lib/tcl/graphviz/libgv_tcl.so
-lib/tcl/graphviz/libtcldot.a
-lib/tcl/graphviz/libtcldot.la
+@so lib/tcl/graphviz/libgv_tcl.so
@lib lib/tcl/graphviz/libtcldot.so.${LIBtcldot_VERSION}
-lib/tcl/graphviz/libtcldot_builtin.a
-lib/tcl/graphviz/libtcldot_builtin.la
@lib lib/tcl/graphviz/libtcldot_builtin.so.${LIBtcldot_builtin_VERSION}
-lib/tcl/graphviz/libtclplan.a
-lib/tcl/graphviz/libtclplan.la
@lib lib/tcl/graphviz/libtclplan.so.${LIBtclplan_VERSION}
-lib/tcl/graphviz/libtkspline.a
-lib/tcl/graphviz/libtkspline.la
-@lib lib/tcl/graphviz/libtkspline.so.${LIBtkspline_VERSION}
lib/tcl/graphviz/pkgIndex.tcl
lib/tcl${MODTK_VERSION}/
lib/tcl${MODTK_VERSION}/graphviz
${P5ARCH}/
${P5ARCH}/gv.pm
-${P5ARCH}/gv.so
+@so ${P5ARCH}/gv.so
@man man/man1/acyclic.1
@man man/man1/bcomps.1
@man man/man1/ccomps.1
@@ -166,6 +121,7 @@ ${P5ARCH}/gv.so
@man man/man1/dijkstra.1
@man man/man1/dot.1
@man man/man1/dotty.1
+@man man/man1/edgepaint.1
@man man/man1/fdp.1
@man man/man1/gc.1
@man man/man1/gml2gv.1
@@ -181,6 +137,7 @@ ${P5ARCH}/gv.so
@man man/man1/gxl2gv.1
@man man/man1/lefty.1
@man man/man1/lneato.1
+@man man/man1/mingle.1
@man man/man1/mm2gv.1
@man man/man1/neato.1
@man man/man1/nop.1
@@ -189,6 +146,7 @@ ${P5ARCH}/gv.so
@man man/man1/prune.1
@man man/man1/sccmap.1
@man man/man1/sfdp.1
+@man man/man1/smyrna.1
@man man/man1/tred.1
@man man/man1/twopi.1
@man man/man1/unflatten.1
@@ -202,10 +160,10 @@ man/man3/gv.3perl
man/man3/gv.3tcl
@man man/man3/gvc.3
@man man/man3/gvpr.3
+@man man/man3/lab_gamut.3
@man man/man3/pack.3
@man man/man3/pathplan.3
man/man3/tcldot.3tcl
-man/man3/tkspline.3tk
@man man/man3/xdot.3
@man man/man7/graphviz.7
share/doc/graphviz/
@@ -300,6 +258,7 @@ share/doc/graphviz/html/colors.html
share/doc/graphviz/html/command.html
share/doc/graphviz/html/component.gif
share/doc/graphviz/html/constraint.gif
+share/doc/graphviz/html/cylinder.gif
share/doc/graphviz/html/diamond.gif
share/doc/graphviz/html/doublecircle.gif
share/doc/graphviz/html/doubleoctagon.gif
@@ -335,6 +294,7 @@ share/doc/graphviz/html/html3.gv
share/doc/graphviz/html/html4.gif
share/doc/graphviz/html/html4.gv
share/doc/graphviz/html/index.html
+share/doc/graphviz/html/internal_todo.html
share/doc/graphviz/html/invhouse.gif
share/doc/graphviz/html/invtrapezium.gif
share/doc/graphviz/html/invtriangle.gif
@@ -365,6 +325,7 @@ share/doc/graphviz/html/output.html
share/doc/graphviz/html/oval.gif
share/doc/graphviz/html/parallelogram.gif
share/doc/graphviz/html/pentagon.gif
+share/doc/graphviz/html/plain.gif
share/doc/graphviz/html/plaintext.gif
share/doc/graphviz/html/plugins.png
share/doc/graphviz/html/point.gif
@@ -410,6 +371,7 @@ share/doc/graphviz/pdf/dot.1.pdf
share/doc/graphviz/pdf/dotguide.pdf
share/doc/graphviz/pdf/dotty.1.pdf
share/doc/graphviz/pdf/dottyguide.pdf
+share/doc/graphviz/pdf/edgepaint.1.pdf
share/doc/graphviz/pdf/expr.3.pdf
share/doc/graphviz/pdf/fdp.1.pdf
share/doc/graphviz/pdf/gc.1.pdf
@@ -430,10 +392,12 @@ share/doc/graphviz/pdf/gvpack.1.pdf
share/doc/graphviz/pdf/gvpr.1.pdf
share/doc/graphviz/pdf/gvpr.3.pdf
share/doc/graphviz/pdf/gxl2gv.1.pdf
+share/doc/graphviz/pdf/lab_gamut.3.pdf
share/doc/graphviz/pdf/lefty.1.pdf
share/doc/graphviz/pdf/leftyguide.pdf
share/doc/graphviz/pdf/libguide.pdf
share/doc/graphviz/pdf/lneato.1.pdf
+share/doc/graphviz/pdf/mingle.1.pdf
share/doc/graphviz/pdf/mm2gv.1.pdf
share/doc/graphviz/pdf/neato.1.pdf
share/doc/graphviz/pdf/neatoguide.pdf
@@ -445,9 +409,9 @@ share/doc/graphviz/pdf/pathplan.3.pdf
share/doc/graphviz/pdf/prune.pdf
share/doc/graphviz/pdf/sccmap.1.pdf
share/doc/graphviz/pdf/sfdp.1.pdf
+share/doc/graphviz/pdf/smyrna.1.pdf
share/doc/graphviz/pdf/smyrna.pdf
share/doc/graphviz/pdf/tcldot.3tcl.pdf
-share/doc/graphviz/pdf/tkspline.3tk.pdf
share/doc/graphviz/pdf/tred.1.pdf
share/doc/graphviz/pdf/twopi.1.pdf
share/doc/graphviz/pdf/unflatten.1.pdf
@@ -477,8 +441,6 @@ share/examples/graphviz/demo/pathplan_da
share/examples/graphviz/demo/pathplan_data/rotor.dat
share/examples/graphviz/demo/pathplan_data/u.dat
share/examples/graphviz/demo/pathplan_data/unknown.dat
-share/examples/graphviz/demo/spline.tcl
-share/examples/graphviz/demo/spline.tcl.README
share/examples/graphviz/graphs/
share/examples/graphviz/graphs/directed/
share/examples/graphviz/graphs/directed/KW91.gv
@@ -566,13 +528,17 @@ share/graphviz/doc/html/schema/arguments
share/graphviz/doc/html/schema/attributes.xml
share/graphviz/doc/html/schema/attributes.xslt
share/graphviz/gvpr/
+share/graphviz/gvpr/addedges
share/graphviz/gvpr/addranks
share/graphviz/gvpr/addrings
share/graphviz/gvpr/anon
share/graphviz/gvpr/attr
share/graphviz/gvpr/bb
share/graphviz/gvpr/bbox
+share/graphviz/gvpr/binduce
+share/graphviz/gvpr/bipart
share/graphviz/gvpr/chkclusters
+share/graphviz/gvpr/chkedges
share/graphviz/gvpr/cliptree
share/graphviz/gvpr/col
share/graphviz/gvpr/collapse
@@ -588,6 +554,7 @@ share/graphviz/gvpr/dijkstra
share/graphviz/gvpr/flatten
share/graphviz/gvpr/get-layers-list
share/graphviz/gvpr/group
+share/graphviz/gvpr/histogram
share/graphviz/gvpr/indent
share/graphviz/gvpr/knbhd
share/graphviz/gvpr/maxdeg
Index: tests/test.dot
===================================================================
RCS file: tests/test.dot
diff -N tests/test.dot
--- tests/test.dot 22 Aug 2012 09:55:01 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,5 +0,0 @@
-digraph g {
- "a" -> "b";
- "b" -> "c";
- "c" -> "a";
-}

--
Best Regards
Edd Barrett

http://www.theunixzoo.co.uk

No comments:

Post a Comment