pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

graphviz: Import 11.0.0



Module Name:	pkgsrc-wip
Committed By:	Michael Baeuerle <micha%NetBSD.org@localhost>
Pushed By:	micha
Date:		Mon Apr 29 13:03:38 2024 +0200
Changeset:	90c0430d4c7ea293c0a5e6a6f907ab7c939e3e11

Modified Files:
	Makefile
Added Files:
	graphviz/COMMIT_MSG
	graphviz/DEINSTALL
	graphviz/DESCR
	graphviz/INSTALL
	graphviz/Makefile
	graphviz/PLIST
	graphviz/buildlink3.mk
	graphviz/distinfo
	graphviz/options.mk
	graphviz/patches/patch-config_config__perl.pl
	graphviz/patches/patch-configure.ac
	graphviz/patches/patch-lib_gvc_Makefile.am
	graphviz/patches/patch-plugin_gs_gvloadimage__gs.c

Log Message:
graphviz: Import 11.0.0

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=90c0430d4c7ea293c0a5e6a6f907ab7c939e3e11

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                                           |   1 +
 graphviz/COMMIT_MSG                                | 136 +++++++++
 graphviz/DEINSTALL                                 |   9 +
 graphviz/DESCR                                     |  10 +
 graphviz/INSTALL                                   |   9 +
 graphviz/Makefile                                  | 143 ++++++++++
 graphviz/PLIST                                     | 311 +++++++++++++++++++++
 graphviz/buildlink3.mk                             |  22 ++
 graphviz/distinfo                                  |   9 +
 graphviz/options.mk                                | 127 +++++++++
 graphviz/patches/patch-config_config__perl.pl      |  15 +
 graphviz/patches/patch-configure.ac                |  24 ++
 graphviz/patches/patch-lib_gvc_Makefile.am         |  15 +
 graphviz/patches/patch-plugin_gs_gvloadimage__gs.c |  33 +++
 14 files changed, 864 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index 4ce3c9a806..7f290fa199 100644
--- a/Makefile
+++ b/Makefile
@@ -1310,6 +1310,7 @@ SUBDIR+=	gramscii
 SUBDIR+=	grandr
 SUBDIR+=	granite
 SUBDIR+=	graphmonkey
+SUBDIR+=	graphviz
 SUBDIR+=	grass-Spearfish
 SUBDIR+=	graveman
 SUBDIR+=	grc
diff --git a/graphviz/COMMIT_MSG b/graphviz/COMMIT_MSG
new file mode 100644
index 0000000000..4105d9ebe0
--- /dev/null
+++ b/graphviz/COMMIT_MSG
@@ -0,0 +1,136 @@
+graphics/graphviz: Update to 11.0.0
+
+## [11.0.0] – 2024-04-28
+
+### Added
+
+- `gv2gml` gained a `-y` option to output the yWorks.com variant of GML instead
+  of the default.
+- A new command line option, `--filepath=…` has been added to perform the
+  function previously served by the `$GV_FILE_PATH` environment variable, use of
+  which was removed in Graphviz 6.0.1. Unlike the old `$GV_FILE_PATH` mechanism,
+  `--filepath=…` takes effect regardless of the setting of the `$SERVER_NAME`
+  environment variable. #2396
+
+### Changed
+
+- `gvpack`, in addition to recognizing a “cluster” name prefix as a mark of a
+  cluster, now recognizes this case insensitively as well as recognizing the
+  `cluster` attribute. This is more consistent with how the Graphviz libraries
+  work.
+- **Breaking**: `pkg-config` (.pc) files shipped with Graphviz now include
+  `${prefix}/include` in the include path in addition to
+  `${prefix}/include/graphviz`. Previously this missing path meant building
+  Graphviz demo examples against an installation of Graphviz in a non-system
+  path would not work. #2474
+- The core PostScript output format (`-Tps`) warns if using an
+  out-of-specification font name. To avoid this, use a more sophisticated output
+  format like Cairo (`-Tps:cairo`) that does font name lookup and translation.
+  #218
+- **Breaking**: The libpack functions `putRects`, `packRects`, `putGraphs`,
+  `packGraphs`, `packSubgraphs`, `pack_graph`, `shiftGraphs`, `ccomps`,
+  `cccomps`, and `pccomps` now take the number of items they are operating on
+  (`ng`) as a `size_t`.
+- **Breaking**: The `bsearch_cmpf` and `qsort_cmpf` typedefs have been removed.
+- `dot -c -v`, when constructing the config6 file, includes comments explaining
+  any attempted actions that failed during plugin loading. #2456
+- **Breaking**: The `Ndim` global is now a `unsigned short`.
+- fdpgen no longer truncates graph names when inferring new names for connected
+  component subgraphs.
+- **Breaking**: The `nodequeue` type has been removed.
+- **Breaking**: The field `Agraphinfo_t.n_nodes` has been removed. The function
+  `agnnodes` is a more robust way of retrieving the number of nodes.
+- The `-q` command line option will now suppress “no hard-coded metrics…”
+  and other font lookup warnings. #2379
+- **Breaking**: The `CMP` and `SGN` macros have been removed.
+- The CMake build system no longer early-binds all enabled plugins into
+  `dot`/`dot.exe`. This early binding was a change introduced in 10.0.1, but was
+  not noted in this changelog. Traditionally, of the three Graphviz build
+  systems (Autotools, CMake, MS Build), only changes to the Autotools build
+  system were noted in this changelog under the assumption that packaging
+  ecosystems making use of the other two build systems would need finer grained
+  details and would be monitoring the Git commit history instead. This seems to
+  not be the case, so in future side-effecting changes to any of the three build
+  systems will be included here. #2527, #2528
+- The precision of `sep`- and `esep`-based calculations has been improved.
+- **Breaking**: Defines `AGRAPH`, `AGNODE`, `AGOUTEDGE`, `AGINEDGE`, and `AGEDGE` are
+  replaced with `enum`.
+- **Breaking**: The `obj_state_t.url_bsplinemap_poly_n` field is now a `size_t`
+  and the `obj_state_t.url_bsplinemap_n` field is now a `size_t *`.
+- **Breaking**: The `Ppoly_t.pn` (`Ppolyline_t.pn`) field is now a `size_t`.
+- **Breaking**: The `Proutespline` function takes its `n_barriers` parameter as
+  a `size_t`.
+- **Breaking**: The `gvattr_t` type and the `GVJ_t.selected_obj_attributes` and
+  `GVJ_t.selected_obj_type_name` fields have been removed.
+- **Breaking**: The `gv_argvlist_t` type and functions that operate on it have
+  been removed.
+- Control characters in some error messages are escaped, preventing certain
+  types of text injection that could cause user confusion.
+- **Breaking**: `GVJ_t.numkeys` is a `size_t`.
+
+### Fixed
+
+- Indexing within `gvNextInputGraph` no longer incorrectly retains the index
+  from prior use of the GVC context. When using Graphviz libraries
+  programmatically, this could previously cause crashes or misbehavior. #2484
+- Color schemes, typically controlled through the `colorscheme` attribute are
+  now pushed and popped as they are applied and released. Previously processing
+  multiple graphs wherein the first uses color schemes but later ones do not
+  could result in color schemes being incorrectly retained and reapplied or
+  use-after-free memory accesses.
+- The GDI+ plugin, when asked to render a graphic metafile, no longer references
+  uninitialized memory. This bug was introduced in Graphviz 2.24.0.
+- A `free` of an invalid pointer in `edgepaint` was fixed. #2513
+- `gvmap` no longer references uninitialized variables when trying to process
+  triangles and encountering only 2 points.
+- Using the `point` shape in combination with `peripheries=0` no longer causes
+  out of bounds memory writes. This was a regression in Graphviz 7.0.0. #2497
+- Unsafe use of a dangling pointer in `ccomps` has been removed. This was a
+  regression in Graphviz 7.1.0.
+- `gvcolor` no longer crashes when processing color names longer than 127
+  characters.
+- Interleaving calls to `colorxlate` and `gvrender_resolve_color` no longer
+  confuse internal caching mechanisms. Callers should now get the correct color
+  back.
+- The `nop2` layout engine provided by the neato layout plugin is now equivalent
+  to `neato -n2` as intended instead of mistakenly being equivalent to
+  `nop`/`nop1`/`neato -n1`.
+- An off-by-one error in rank installation was corrected. Previously, an unusual
+  `rank=same` constraint could cause a crash when installing ranks. #1308
+- `gxl2gv` no longer crashes or misbehaves when symlinked to a non-ASCII file
+  name. This is a rare scenario that normal users should not encounter.
+- `mm2gv` no longer crashes or misbehaves when reading malformed Matrix Market
+  files with non-ASCII bytes in the header.
+- A stack buffer overflow in `mm2gv` when processing malformed Matrix Market
+  files has been fixed.
+- The `newrank` attribute is treated as a boolean instead of any value
+  (including `"false"`) being coerced into `"true"`. #2521
+- Crashes and misbehavior no longer occur when the `sides` attribute contains
+  non-ASCII characters.
+- Graphviz binaries like `dot.exe` and `neato.exe` no longer crash or misbehave
+  when symlinked to a non-ASCII file name on Windows. This is a rare scenario
+  that normal users should not encounter.
+- GVPR programs that use `tolower` or `toupper` on strings containing non-ASCII
+  characters no longer crash. These functions do not lowercase/uppercase
+  non-ASCII characters, so users probably still do not want to use non-ASCII
+  strings in a GVPR program.
+- Some `routesplines` miscalculations that led to lost edges and fatal errors
+  have been avoided. #2368
+- An inaccuracy involving an edge case when constructing lines within libpack
+  has been corrected.
+- A bug in the internal heap implementation used in the network simplex
+  algorithm has been corrected. This would previously cause certain runs to
+  infer incorrect ordering or subtrees. This was a regression in Graphviz
+  2.40.0. #2391, #2529
+- Compass points may be more accurately placed on the node boundary in some cases.
+- A very small random adjustment in the calculation of the space available for
+  edge routing around ellipse shaped nodes in fdp and neato layouts, has been
+  removed.
+- Incorrect edge splines for ellipse shaped nodes with ports using fdp or
+  neato. #2168
+- Incorrect edge splines for ellipse and polygon shaped nodes with ports and
+  large penwidths using fdp or neato, causing the same symptoms as #2168.
+- Incorrect edge splines for polygon shaped nodes with ports more than one
+  periphery using fdp or neato, causing the same symptoms as #2168.
+- Adjust the space available for edge routing based on penwidth when
+  using fdp or neato and `splines=ortho`.
diff --git a/graphviz/DEINSTALL b/graphviz/DEINSTALL
new file mode 100644
index 0000000000..03d91fd863
--- /dev/null
+++ b/graphviz/DEINSTALL
@@ -0,0 +1,9 @@
+# $NetBSD$
+
+: ${PKG_PREFIX=@PREFIX@}
+
+case ${STAGE} in
+DEINSTALL)
+	${RM} ${PKG_PREFIX}/lib/graphviz/config6
+	;;
+esac
diff --git a/graphviz/DESCR b/graphviz/DESCR
new file mode 100644
index 0000000000..0f0918af1c
--- /dev/null
+++ b/graphviz/DESCR
@@ -0,0 +1,10 @@
+Graphviz is a set of graph drawing tools from AT&T Research and Lucent Bell
+Laboratories.
+
+It includes:
+- dot: makes hierarchical layouts of directed graphs
+- neato: makes "spring" model layouts of undirected graphs
+- tcldot: a customizable graphical interface written in TCL
+  (part of "tcl" option)
+- libcgraph: the base library for graph tools
+- various associated utilities
diff --git a/graphviz/INSTALL b/graphviz/INSTALL
new file mode 100644
index 0000000000..47a3696bab
--- /dev/null
+++ b/graphviz/INSTALL
@@ -0,0 +1,9 @@
+# $NetBSD$
+
+: ${PKG_PREFIX=@PREFIX@}
+
+case ${STAGE} in
+POST-INSTALL)
+	${PKG_PREFIX}/bin/dot -c
+	;;
+esac
diff --git a/graphviz/Makefile b/graphviz/Makefile
new file mode 100644
index 0000000000..28db93c044
--- /dev/null
+++ b/graphviz/Makefile
@@ -0,0 +1,143 @@
+# $NetBSD$
+
+DISTNAME=	graphviz-11.0.0
+CATEGORIES=	graphics
+MASTER_SITES=	${MASTER_SITE_GITLAB:=api/v4/projects/4207231/packages/generic/graphviz-releases/${PKGVERSION_NOREV}/}
+#EXTRACT_SUFX=	.tar.xz
+
+MAINTAINER=	micha%NetBSD.org@localhost
+HOMEPAGE=	https://www.graphviz.org/
+COMMENT=	Graph Drawing Programs from AT&T Research and Lucent Bell Labs
+LICENSE=	epl-v1.0
+
+CHECK_FILES_SKIP+=		${PREFIX}/lib/graphviz/config6
+CHECK_PORTABILITY_SKIP+=	windows/*
+
+USE_LANGUAGES=		c c++
+USE_CC_FEATURES+=	c99
+USE_CXX_FEATURES+=	c++11 unique_ptr
+
+USE_TOOLS+=		automake autoreconf makeinfo bison flex gmake groff pkg-config
+USE_LIBTOOL=		yes
+GNU_CONFIGURE=		yes
+GNU_CONFIGURE_STRICT=	no # has sub-configures
+CONFIGURE_ARGS+=	--disable-d
+CONFIGURE_ARGS+=	--disable-debug
+CONFIGURE_ARGS+=	--disable-go
+CONFIGURE_ARGS+=	--disable-guile
+CONFIGURE_ARGS+=	--disable-io
+CONFIGURE_ARGS+=	--disable-java
+CONFIGURE_ARGS+=	--disable-javascript
+CONFIGURE_ARGS+=	--disable-man-pdfs
+CONFIGURE_ARGS+=	--disable-ocaml
+CONFIGURE_ARGS+=	--disable-php
+CONFIGURE_ARGS+=	--disable-python
+CONFIGURE_ARGS+=	--disable-python3
+CONFIGURE_ARGS+=	--disable-r
+CONFIGURE_ARGS+=	--disable-ruby
+CONFIGURE_ARGS+=	--disable-sharp
+CONFIGURE_ARGS+=	--enable-ltdl
+CONFIGURE_ARGS+=	--enable-rpath
+CONFIGURE_ARGS+=	--without-ann
+CONFIGURE_ARGS+=	--without-devil
+CONFIGURE_ARGS+=	--without-gdiplus
+CONFIGURE_ARGS+=	--without-glade
+CONFIGURE_ARGS+=	--without-glitz
+CONFIGURE_ARGS+=	--without-glut
+CONFIGURE_ARGS+=	--without-gtkgl
+CONFIGURE_ARGS+=	--without-gtkglext
+CONFIGURE_ARGS+=	--without-lasi
+CONFIGURE_ARGS+=	--without-ming
+CONFIGURE_ARGS+=	--without-qt
+CONFIGURE_ARGS+=	--without-smyrna
+CONFIGURE_ARGS+=	--with-digcola
+CONFIGURE_ARGS+=	--with-expat
+CONFIGURE_ARGS+=	--with-fontconfig
+CONFIGURE_ARGS+=	--with-freetype2
+CONFIGURE_ARGS+=	--with-gts
+CONFIGURE_ARGS+=	--with-ipsepcola
+CONFIGURE_ARGS+=	--with-ortho
+CONFIGURE_ARGS+=	--with-pangocairo
+CONFIGURE_ARGS+=	--with-sfdp
+CONFIGURE_ARGS+=	--with-visio
+CONFIGURE_ARGS+=	--with-webp
+# build fails when PHP and/or Ruby are also installed
+CONFIGURE_ENV+=		ac_cv_prog_PHP=
+CONFIGURE_ENV+=		ac_cv_prog_RUBY=
+
+CPPFLAGS+=		-DNO_POSTSCRIPT_ALIAS=1
+LDFLAGS.SunOS+=		-lsocket -lnsl
+
+PKGCONFIG_OVERRIDE+=	lib/cdt/libcdt.pc.in
+PKGCONFIG_OVERRIDE+=	lib/cgraph/libcgraph.pc.in
+PKGCONFIG_OVERRIDE+=	lib/edgepaint/liblab_gamut.pc.in
+PKGCONFIG_OVERRIDE+=	lib/expr/libexpr.pc.in
+PKGCONFIG_OVERRIDE+=	lib/gvc/libgvc.pc.in
+PKGCONFIG_OVERRIDE+=	lib/gvpr/libgvpr.pc.in
+PKGCONFIG_OVERRIDE+=	lib/pack/libpack.pc.in
+PKGCONFIG_OVERRIDE+=	lib/pathplan/libpathplan.pc.in
+PKGCONFIG_OVERRIDE+=	lib/sfdpgen/libsfdp.pc.in
+PKGCONFIG_OVERRIDE+=	lib/xdot/libxdot.pc.in
+
+# With lua51 there's a PLIST divergence and it isn't obvious whether
+# it's serious or not, or what causes it.
+LUA_VERSIONS_INCOMPATIBLE=	51
+
+REPLACE_LUA+=		tclpkg/gv/demo/modgraph.lua
+
+REPLACE_INTERPRETER+=	tclsh
+REPLACE.tclsh.old=	.*tclsh
+REPLACE.tclsh.new=	${PREFIX}/bin/tclsh
+REPLACE_FILES.tclsh=	tclpkg/gv/demo/modgraph.tcl
+
+REPLACE_PERL+=		tclpkg/gv/demo/modgraph.pl contrib/dotmcl.pl \
+			contrib/dirgraph/dirgraph.pl
+
+.include "../../mk/bsd.prefs.mk"
+
+# Override Xaw type configured by user
+XAW_TYPE=		standard
+
+.if ${OPSYS} == "NetBSD" && ${MACHINE_ARCH} == "powerpc"
+# Forces link with -lgomp directly instead of via dlopen()
+# so we don't overflow thread-local storage in ld.elf_so
+CFLAGS+=		-fopenmp
+CONFIGURE_ARGS+=	CFLAGS="${CFLAGS}"
+.endif
+
+.if ${OPSYS} == "FreeBSD"
+SUBST_CLASSES+=		sfflags
+SUBST_STAGE.sfflags=	pre-configure
+SUBST_MESSAGE.sfflags=	Fixing SF_FLAGS identifier for FreeBSD.
+SUBST_FILES.sfflags=	lib/sfio/sfclrlock.c lib/sfio/sfio_t.h lib/sfio/sfio.h
+SUBST_FILES.sfflags+=	lib/sfio/sfnew.c lib/sfio/sfopen.c lib/sfio/sfset.c
+SUBST_SED.sfflags=	-e 's|SF_FLAGS|SFIO_FLAGS|g'
+.endif
+
+pre-configure:
+	cd ${WRKSRC} && autoreconf -fiv
+
+# Remove temporary files and directories created by re-linking "libgv_lua.la".
+post-install:
+	${RM} -rf ${DESTDIR}${PREFIX}/lib/graphviz/lua/gv.so \
+		${DESTDIR}${PREFIX}/lib/graphviz/tcl/tcl \
+		${DESTDIR}${PREFIX}/lib/lua/5.1/gv.so
+
+.include "options.mk"
+
+DEPENDS+=	urw-fonts-[0-9]*:../../fonts/urw-fonts
+
+.include "../../converters/libiconv/buildlink3.mk"
+.include "../../devel/gettext-lib/buildlink3.mk"
+.include "../../devel/libltdl/buildlink3.mk"
+BUILDLINK_API_DEPENDS.pango+=	pango>=1.22.0
+.include "../../devel/pango/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../fonts/fontconfig/buildlink3.mk"
+.include "../../graphics/freetype2/buildlink3.mk"
+.include "../../graphics/gts/buildlink3.mk"
+.include "../../graphics/libwebp/buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../textproc/expat/buildlink3.mk"
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/graphviz/PLIST b/graphviz/PLIST
new file mode 100644
index 0000000000..0fedf45078
--- /dev/null
+++ b/graphviz/PLIST
@@ -0,0 +1,311 @@
+@comment $NetBSD$
+bin/acyclic
+bin/bcomps
+bin/ccomps
+bin/circo
+bin/cluster
+${PLIST.gd}bin/diffimg
+bin/dijkstra
+bin/dot
+bin/dot2gxl
+bin/dot_builtins
+bin/edgepaint
+bin/fdp
+bin/gc
+bin/gml2gv
+bin/graphml2gv
+bin/gv2gml
+bin/gv2gxl
+bin/gvcolor
+bin/gvgen
+bin/gvmap
+bin/gvmap.sh
+bin/gvpack
+bin/gvpr
+bin/gxl2dot
+bin/gxl2gv
+bin/mm2gv
+bin/neato
+bin/nop
+bin/osage
+bin/patchwork
+bin/prune
+bin/sccmap
+bin/sfdp
+bin/tred
+bin/twopi
+bin/unflatten
+${PLIST.x11}bin/vimdot
+include/graphviz/arith.h
+include/graphviz/cdt.h
+include/graphviz/cgraph.h
+include/graphviz/color.h
+include/graphviz/geom.h
+include/graphviz/graphviz_version.h
+include/graphviz/gvc.h
+include/graphviz/gvcext.h
+include/graphviz/gvcjob.h
+include/graphviz/gvcommon.h
+include/graphviz/gvconfig.h
+include/graphviz/gvplugin.h
+include/graphviz/gvplugin_device.h
+include/graphviz/gvplugin_layout.h
+include/graphviz/gvplugin_loadimage.h
+include/graphviz/gvplugin_render.h
+include/graphviz/gvplugin_textlayout.h
+include/graphviz/gvpr.h
+include/graphviz/pack.h
+include/graphviz/pathgeom.h
+include/graphviz/pathplan.h
+include/graphviz/textspan.h
+include/graphviz/types.h
+include/graphviz/usershape.h
+include/graphviz/xdot.h
+lib/graphviz/libgvplugin_core.la
+lib/graphviz/libgvplugin_dot_layout.la
+${PLIST.gd}lib/graphviz/libgvplugin_gd.la
+${PLIST.ghostscript}${PLIST.x11}lib/graphviz/libgvplugin_gs.la
+lib/graphviz/libgvplugin_kitty.la
+lib/graphviz/libgvplugin_neato_layout.la
+lib/graphviz/libgvplugin_pango.la
+${PLIST.poppler}lib/graphviz/libgvplugin_poppler.la
+${PLIST.quartz}lib/graphviz/libgvplugin_quartz.la
+${PLIST.svg}lib/graphviz/libgvplugin_rsvg.la
+lib/graphviz/libgvplugin_vt.la
+lib/graphviz/libgvplugin_webp.la
+${PLIST.x11}lib/graphviz/libgvplugin_xlib.la
+${PLIST.lua}lib/graphviz/lua/libgv_lua.la
+${PLIST.perl}lib/graphviz/perl/gv.pm
+${PLIST.perl}lib/graphviz/perl/gv.so
+${PLIST.perl}lib/graphviz/perl/libgv_perl.la
+${PLIST.tcl}${PLIST.x11}lib/graphviz/tcl/libgdtclft.la
+${PLIST.tcl}lib/graphviz/tcl/libgv_tcl.la
+${PLIST.tcl}lib/graphviz/tcl/libtcldot.la
+${PLIST.tcl}lib/graphviz/tcl/libtcldot_builtin.la
+${PLIST.tcl}lib/graphviz/tcl/libtclplan.la
+${PLIST.tcl}lib/graphviz/tcl/pkgIndex.tcl
+lib/libcdt.la
+lib/libcgraph.la
+lib/libgvc.la
+lib/libgvpr.la
+lib/libpathplan.la
+lib/libxdot.la
+${PLIST.lua}lib/lua/gv.so
+${PLIST.perl}${PERL5_SUB_INSTALLVENDORARCH}/gv.pm
+${PLIST.perl}${PERL5_SUB_INSTALLVENDORARCH}/gv.so
+lib/pkgconfig/libcdt.pc
+lib/pkgconfig/libcgraph.pc
+lib/pkgconfig/libgvc.pc
+lib/pkgconfig/libgvpr.pc
+lib/pkgconfig/libpathplan.pc
+lib/pkgconfig/libxdot.pc
+${PLIST.tcl}${PLIST.x11}lib/tcl${TCL_BASEVER}/graphviz/libgdtclft.la
+${PLIST.tcl}lib/tcl${TCL_BASEVER}/graphviz/libgv_tcl.la
+${PLIST.tcl}lib/tcl${TCL_BASEVER}/graphviz/libtcldot.la
+${PLIST.tcl}lib/tcl${TCL_BASEVER}/graphviz/libtcldot_builtin.la
+${PLIST.tcl}lib/tcl${TCL_BASEVER}/graphviz/libtclplan.la
+${PLIST.tcl}lib/tcl${TCL_BASEVER}/graphviz/pkgIndex.tcl
+man/man1/acyclic.1
+man/man1/bcomps.1
+man/man1/ccomps.1
+man/man1/circo.1
+man/man1/cluster.1
+${PLIST.gd}man/man1/diffimg.1
+man/man1/dijkstra.1
+man/man1/dot.1
+man/man1/dot2gxl.1
+man/man1/edgepaint.1
+man/man1/fdp.1
+man/man1/gc.1
+man/man1/gml2gv.1
+man/man1/graphml2gv.1
+man/man1/gv2gml.1
+man/man1/gv2gxl.1
+man/man1/gvcolor.1
+man/man1/gvgen.1
+man/man1/gvmap.1
+man/man1/gvmap.sh.1
+man/man1/gvpack.1
+man/man1/gvpr.1
+man/man1/gxl2dot.1
+man/man1/gxl2gv.1
+man/man1/mm2gv.1
+man/man1/neato.1
+man/man1/nop.1
+man/man1/osage.1
+man/man1/patchwork.1
+man/man1/prune.1
+man/man1/sccmap.1
+man/man1/sfdp.1
+man/man1/tred.1
+man/man1/twopi.1
+man/man1/unflatten.1
+${PLIST.x11}man/man1/vimdot.1
+man/man3/cdt.3
+man/man3/cgraph.3
+man/man3/expr.3
+${PLIST.tcl}${PLIST.gd}man/man3/gdtclft.3tcl
+${PLIST.lua}man/man3/gv.3lua
+${PLIST.perl}man/man3/gv.3perl
+${PLIST.swig}man/man3/gv.3python
+${PLIST.tcl}man/man3/gv.3tcl
+man/man3/gvc.3
+man/man3/gvpr.3
+man/man3/pack.3
+man/man3/pathplan.3
+${PLIST.tcl}man/man3/tcldot.3tcl
+man/man3/xdot.3
+man/man7/graphviz.7
+share/doc/graphviz/AUTHORS
+share/doc/graphviz/Agraph.pdf
+share/doc/graphviz/CHANGELOG.md
+share/doc/graphviz/COPYING
+share/doc/graphviz/Dot.ref
+share/doc/graphviz/FAQ.html
+share/doc/graphviz/NEWS
+share/doc/graphviz/build.html
+share/doc/graphviz/char.html
+share/doc/graphviz/cpl1.0.txt
+share/doc/graphviz/dotguide.pdf
+share/doc/graphviz/gdtclft.entities.example.png
+share/doc/graphviz/index.html
+share/doc/graphviz/info/arrows.html
+share/doc/graphviz/info/attrs.html
+share/doc/graphviz/info/colors.html
+share/doc/graphviz/info/command.html
+share/doc/graphviz/info/index.html
+share/doc/graphviz/info/lang.html
+share/doc/graphviz/info/output.html
+share/doc/graphviz/info/shapes.html
+share/doc/graphviz/internal_todo.html
+share/doc/graphviz/latex_suggestions.txt
+share/doc/graphviz/libguide.pdf
+share/doc/graphviz/neatoguide.pdf
+share/doc/graphviz/pspdf.png
+share/doc/graphviz/schema/arguments.xml
+share/doc/graphviz/schema/attributes.xml
+share/doc/graphviz/schema/attributes.xslt
+${PLIST.tcl}share/doc/graphviz/tcldot.html
+share/doc/graphviz/todo.html
+share/doc/graphviz/winbuild.html
+${PLIST.tcl}share/graphviz/demo/doted.tcl
+${PLIST.tcl}share/graphviz/demo/doted.tcl.README
+${PLIST.tcl}share/graphviz/demo/entities.html
+${PLIST.tcl}share/graphviz/demo/entities.tcl
+${PLIST.tcl}share/graphviz/demo/entities.tcl.README
+${PLIST.tcl}share/graphviz/demo/gcat.tcl
+${PLIST.tcl}share/graphviz/demo/gcat.tcl.README
+${PLIST.lua}share/graphviz/demo/modgraph.lua
+${PLIST.perl}share/graphviz/demo/modgraph.pl
+${PLIST.tcl}share/graphviz/demo/modgraph.tcl
+${PLIST.tcl}share/graphviz/demo/pathplan.tcl
+${PLIST.tcl}share/graphviz/demo/pathplan.tcl.README
+${PLIST.tcl}share/graphviz/demo/pathplan_data/boxes.dat
+${PLIST.tcl}share/graphviz/demo/pathplan_data/dpd.dat
+${PLIST.tcl}share/graphviz/demo/pathplan_data/funny.dat
+${PLIST.tcl}share/graphviz/demo/pathplan_data/maze.dat
+${PLIST.tcl}share/graphviz/demo/pathplan_data/nested.dat
+${PLIST.tcl}share/graphviz/demo/pathplan_data/northo.dat
+${PLIST.tcl}share/graphviz/demo/pathplan_data/obs.dat
+${PLIST.tcl}share/graphviz/demo/pathplan_data/other.dat
+${PLIST.tcl}share/graphviz/demo/pathplan_data/paths.dat
+${PLIST.tcl}share/graphviz/demo/pathplan_data/rotor.dat
+${PLIST.tcl}share/graphviz/demo/pathplan_data/u.dat
+${PLIST.tcl}share/graphviz/demo/pathplan_data/unknown.dat
+share/graphviz/graphs/directed/KW91.gv
+share/graphviz/graphs/directed/Latin1.gv
+share/graphviz/graphs/directed/NaN.gv
+share/graphviz/graphs/directed/abstract.gv
+share/graphviz/graphs/directed/alf.gv
+share/graphviz/graphs/directed/arrows.gv
+share/graphviz/graphs/directed/awilliams.gv
+share/graphviz/graphs/directed/biological.gv
+share/graphviz/graphs/directed/clust.gv
+share/graphviz/graphs/directed/clust1.gv
+share/graphviz/graphs/directed/clust2.gv
+share/graphviz/graphs/directed/clust3.gv
+share/graphviz/graphs/directed/clust4.gv
+share/graphviz/graphs/directed/clust5.gv
+share/graphviz/graphs/directed/crazy.gv
+share/graphviz/graphs/directed/ctext.gv
+share/graphviz/graphs/directed/dfa.gv
+share/graphviz/graphs/directed/fig6.gv
+share/graphviz/graphs/directed/fsm.gv
+share/graphviz/graphs/directed/grammar.gv
+share/graphviz/graphs/directed/hashtable.gv
+share/graphviz/graphs/directed/honda-tokoro.gv
+share/graphviz/graphs/directed/japanese.gv
+share/graphviz/graphs/directed/jcctree.gv
+share/graphviz/graphs/directed/jsort.gv
+share/graphviz/graphs/directed/ldbxtried.gv
+share/graphviz/graphs/directed/longflat.gv
+share/graphviz/graphs/directed/mike.gv
+share/graphviz/graphs/directed/nhg.gv
+share/graphviz/graphs/directed/oldarrows.gv
+share/graphviz/graphs/directed/pgram.gv
+share/graphviz/graphs/directed/pm2way.gv
+share/graphviz/graphs/directed/pmpipe.gv
+share/graphviz/graphs/directed/polypoly.gv
+share/graphviz/graphs/directed/proc3d.gv
+share/graphviz/graphs/directed/psfonttest.gv
+share/graphviz/graphs/directed/record2.gv
+share/graphviz/graphs/directed/records.gv
+share/graphviz/graphs/directed/rowe.gv
+share/graphviz/graphs/directed/russian.gv
+share/graphviz/graphs/directed/sdh.gv
+share/graphviz/graphs/directed/shells.gv
+share/graphviz/graphs/directed/states.gv
+share/graphviz/graphs/directed/structs.gv
+share/graphviz/graphs/directed/switch.gv
+share/graphviz/graphs/directed/table.gv
+share/graphviz/graphs/directed/train11.gv
+share/graphviz/graphs/directed/trapeziumlr.gv
+share/graphviz/graphs/directed/tree.gv
+share/graphviz/graphs/directed/triedds.gv
+share/graphviz/graphs/directed/try.gv
+share/graphviz/graphs/directed/unix.gv
+share/graphviz/graphs/directed/unix2.gv
+share/graphviz/graphs/directed/viewfile.gv
+share/graphviz/graphs/directed/world.gv
+share/graphviz/graphs/undirected/ER.gv
+share/graphviz/graphs/undirected/Heawood.gv
+share/graphviz/graphs/undirected/Petersen.gv
+share/graphviz/graphs/undirected/ngk10_4.gv
+share/graphviz/graphs/undirected/process.gv
+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
+share/graphviz/gvpr/color
+share/graphviz/gvpr/cycle
+share/graphviz/gvpr/dechain
+share/graphviz/gvpr/deghist
+share/graphviz/gvpr/deledges
+share/graphviz/gvpr/delmulti
+share/graphviz/gvpr/delnodes
+share/graphviz/gvpr/depath
+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
+share/graphviz/gvpr/path
+share/graphviz/gvpr/rotate
+share/graphviz/gvpr/scale
+share/graphviz/gvpr/scalexy
+share/graphviz/gvpr/span
+share/graphviz/gvpr/topon
+share/graphviz/gvpr/treetoclust
diff --git a/graphviz/buildlink3.mk b/graphviz/buildlink3.mk
new file mode 100644
index 0000000000..9067077c00
--- /dev/null
+++ b/graphviz/buildlink3.mk
@@ -0,0 +1,22 @@
+# $NetBSD$
+
+BUILDLINK_TREE+=	graphviz
+
+.if !defined(GRAPHVIZ_BUILDLINK3_MK)
+GRAPHVIZ_BUILDLINK3_MK:=
+
+USE_CC_FEATURES+=	c99
+USE_CXX_FEATURES+=	c++11 unique_ptr
+
+BUILDLINK_API_DEPENDS.graphviz+=	graphviz>=2.26.3
+BUILDLINK_ABI_DEPENDS.graphviz+=	graphviz>=11.0.0
+BUILDLINK_PKGSRCDIR.graphviz?=		../../wip/graphviz
+
+.include "../../converters/libiconv/buildlink3.mk"
+.include "../../devel/libltdl/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../textproc/expat/buildlink3.mk"
+.endif # GRAPHVIZ_BUILDLINK3_MK
+
+BUILDLINK_TREE+=	-graphviz
diff --git a/graphviz/distinfo b/graphviz/distinfo
new file mode 100644
index 0000000000..10e2264917
--- /dev/null
+++ b/graphviz/distinfo
@@ -0,0 +1,9 @@
+$NetBSD$
+
+BLAKE2s (graphviz-11.0.0.tar.gz) = 854ea061b8bbce60238ff383bd09d5e193f5ae959354de219e0b718f4609d903
+SHA512 (graphviz-11.0.0.tar.gz) = 624d54b34ce4205452db9a7ee81c93b82e688173679d8080ced46f9e4c62e16ca615b6c298b2ca44a5bfcea99162e8b3c794770fd5d45da8b546ab6d9189f64b
+Size (graphviz-11.0.0.tar.gz) = 27292727 bytes
+SHA1 (patch-config_config__perl.pl) = 430acb7d7ee3e149de0af9832c5a29602884f83e
+SHA1 (patch-configure.ac) = dcb9fd2822d3eb5dddcda5a55746d51114f92d06
+SHA1 (patch-lib_gvc_Makefile.am) = 180b45f810e5bb3948509d50b5be3b159b38a78f
+SHA1 (patch-plugin_gs_gvloadimage__gs.c) = 982ac1db252e3224633069db956c5dc803cd5ea9
diff --git a/graphviz/options.mk b/graphviz/options.mk
new file mode 100644
index 0000000000..a5b443ba31
--- /dev/null
+++ b/graphviz/options.mk
@@ -0,0 +1,127 @@
+# $NetBSD$
+
+PKG_OPTIONS_VAR=	PKG_OPTIONS.graphviz
+PKG_SUPPORTED_OPTIONS=	gd ghostscript lua perl poppler svg tcl x11
+PKG_SUGGESTED_OPTIONS=	gd
+.if exists(/System/Library/Frameworks/Quartz.framework)
+PKG_SUPPORTED_OPTIONS+=	quartz
+PKG_SUGGESTED_OPTIONS+=	quartz
+.else
+PKG_SUGGESTED_OPTIONS+=	x11
+.endif
+
+.include "../../mk/bsd.options.mk"
+
+PLIST_VARS+=		gd ghostscript lua perl poppler quartz svg swig tcl x11
+
+# Basic graphic format support, especially GIF
+.if !empty(PKG_OPTIONS:Mgd)
+.  include "../../graphics/gd/buildlink3.mk"
+PLIST.gd=		yes
+CONFIGURE_ARGS+=	--with-libgd
+.else
+CONFIGURE_ARGS+=	--without-libgd
+.endif
+
+# Better support for PS/PDF, plus EPS
+.if !empty(PKG_OPTIONS:Mghostscript)
+.  include "../../print/ghostscript/buildlink3.mk"
+# Also required as tool dependency according to documentation
+TOOL_DEPENDS+=		ghostscript-[0-9]*:../../print/ghostscript
+PLIST.ghostscript=	yes
+CONFIGURE_ARGS+=	--with-ghostscript
+.else
+CONFIGURE_ARGS+=	--without-ghostscript
+.endif
+
+# Support for reading PDF images
+.if !empty(PKG_OPTIONS:Mpoppler)
+BUILDLINK_API_DEPENDS.poppler+=	poppler>=23.12.0
+.  include "../../print/poppler/buildlink3.mk"
+PLIST.poppler=		yes
+CONFIGURE_ARGS+=	--with-poppler
+.else
+CONFIGURE_ARGS+=	--without-poppler
+.endif
+
+# Support for Quartz on macOS
+.if !empty(PKG_OPTIONS:Mquartz)
+PLIST.quartz=		yes
+CONFIGURE_ARGS+=	--with-quartz
+.else
+CONFIGURE_ARGS+=	--without-quartz
+.endif
+
+# Support for SVG images. Attention: librsvg has large dependencies!
+.if !empty(PKG_OPTIONS:Msvg)
+BUILDLINK_API_DEPENDS.librsvg+=	librsvg>=2.36.0
+.  include "../../graphics/librsvg/buildlink3.mk"
+PLIST.svg=		yes
+CONFIGURE_ARGS+=	--with-rsvg
+.else
+CONFIGURE_ARGS+=	--without-rsvg
+.endif
+
+# X11 graphics supports as well as X11 frontend support
+.if !empty(PKG_OPTIONS:Mx11)
+.  include "../../mk/xaw.buildlink3.mk"
+.  include "../../x11/libXrender/buildlink3.mk"
+PLIST.x11=		yes
+CONFIGURE_ENV+=		X11BASE=${X11BASE}
+CONFIGURE_ARGS+=	--with-x
+.else
+CONFIGURE_ARGS+=	--without-x
+.endif
+
+USING_SWIG=	no
+
+# Extension language support
+.if !empty(PKG_OPTIONS:Mlua)
+USING_SWIG=	yes
+.  include "../../lang/lua/tool.mk"
+.  include "../../lang/lua/buildlink3.mk"
+.  include "../../lang/lua/application.mk"
+PLIST.lua=		yes
+CONFIGURE_ARGS+=	--enable-lua
+.else
+CONFIGURE_ARGS+=	--disable-lua
+.endif
+
+# Extension language support
+.if !empty(PKG_OPTIONS:Mtcl)
+.  if empty(PKG_OPTIONS:Mx11)
+PKG_FAIL_REASON=	"tcl option requires x11 option"
+.  endif
+USING_SWIG=	yes
+.  include "../../lang/tcl/Makefile.version"
+.  include "../../x11/tk/buildlink3.mk"
+PLIST.tcl=		yes
+PLIST_SUBST+=		TCL_BASEVER=${TCL_BASEVER}
+CONFIGURE_ENV+=		TCLCONFIG=${TCLCONFIG_SH:Q}
+CONFIGURE_ENV+=		TKCONFIG=${TKCONFIG_SH:Q}
+CONFIGURE_ARGS+=	--with-tclsh=${TCLSH:Q}
+CONFIGURE_ARGS+=	--enable-tcl
+.else
+CONFIGURE_ARGS+=	--disable-tcl
+.endif
+
+# Extension language support
+.if !empty(PKG_OPTIONS:Mperl)
+USING_SWIG=	yes
+.  include "../../lang/perl5/buildlink3.mk"
+PLIST.perl=		yes
+USE_TOOLS+=		perl
+CONFIGURE_ARGS+=	--enable-perl
+.else
+CONFIGURE_ARGS+=	--disable-perl
+.endif
+
+# Required by some of the other options
+.if !empty(USING_SWIG:Myes)
+PLIST.swig=		yes
+# Tool dependency according to documentation
+TOOL_DEPENDS+=		swig>=1.3.29:../../devel/swig
+CONFIGURE_ARGS+=	--enable-swig
+.else
+CONFIGURE_ARGS+=	--disable-swig
+.endif
diff --git a/graphviz/patches/patch-config_config__perl.pl b/graphviz/patches/patch-config_config__perl.pl
new file mode 100644
index 0000000000..e5535469b4
--- /dev/null
+++ b/graphviz/patches/patch-config_config__perl.pl
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Add rpath for pkgsrc
+
+--- config/config_perl.pl.orig	2013-08-01 17:35:15.000000000 +0000
++++ config/config_perl.pl
+@@ -4,7 +4,7 @@ if ($ARGV[0] eq "PERL_LIBS") {
+ 	$archlib = $Config{archlib};
+ 	$libperl = $Config{libperl};
+ 	$libperl =~ s/lib([^\.]+).*/$1/;
+-	print "-L$archlib/CORE -l$libperl";
++	print "-Wl,-rpath,$archlib/CORE -L$archlib/CORE -l$libperl";
+ }
+ if ($ARGV[0] eq "PERL_INCLUDES") {
+ 	$archlib = $Config{archlib};
diff --git a/graphviz/patches/patch-configure.ac b/graphviz/patches/patch-configure.ac
new file mode 100644
index 0000000000..0834ec9433
--- /dev/null
+++ b/graphviz/patches/patch-configure.ac
@@ -0,0 +1,24 @@
+$NetBSD$
+
+Use the same path for all platforms in pkgsrc.
+
+--- configure.ac.orig	2024-02-10 22:00:40.000000000 +0000
++++ configure.ac
+@@ -92,8 +92,7 @@ if test -z "${LIBPOSTFIX++}"; then
+   case "${host_os}" in
+     *linux* )
+       case "${host_cpu}" in
+-        aarch64 | powerpc64 | powerpc64le | s390x | x86_64 | sparc64 | mips64* | riscv64 | e2k )
+-          LIBPOSTFIX="64"
++        aarch64* | powerpc64 | powerpc64le | s390x | x86_64 | sparc64 | mips64* | riscv64 | e2k )
+           INTGOSIZE=64
+           ;;
+       esac
+@@ -101,7 +100,6 @@ if test -z "${LIBPOSTFIX++}"; then
+     *solaris* )
+       case "${host_cpu}" in
+         x86_64 | sparc64 )
+-          LIBPOSTFIX="/64"
+           INTGOSIZE=64
+           ;;
+       esac
diff --git a/graphviz/patches/patch-lib_gvc_Makefile.am b/graphviz/patches/patch-lib_gvc_Makefile.am
new file mode 100644
index 0000000000..b019ae3ccd
--- /dev/null
+++ b/graphviz/patches/patch-lib_gvc_Makefile.am
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Link with pthread library, if needed.
+
+--- lib/gvc/Makefile.am.orig	2022-07-07 15:43:58.000000000 +0000
++++ lib/gvc/Makefile.am
+@@ -54,7 +54,7 @@ libgvc_la_LIBADD = $(libgvc_C_la_LIBADD)
+ 	$(top_builddir)/lib/cdt/libcdt.la \
+ 	$(top_builddir)/lib/cgraph/libcgraph.la \
+ 	$(top_builddir)/lib/pathplan/libpathplan.la \
+-	$(EXPAT_LIBS) $(Z_LIBS) $(MATH_LIBS)
++	$(EXPAT_LIBS) $(Z_LIBS) $(MATH_LIBS) ${PTHREAD_LDFLAGS} ${PTHREAD_LIBS}
+ libgvc_la_DEPENDENCIES = $(libgvc_C_la_DEPENDENCIES)
+ 
+ .3.3.pdf:
diff --git a/graphviz/patches/patch-plugin_gs_gvloadimage__gs.c b/graphviz/patches/patch-plugin_gs_gvloadimage__gs.c
new file mode 100644
index 0000000000..1a95d08e50
--- /dev/null
+++ b/graphviz/patches/patch-plugin_gs_gvloadimage__gs.c
@@ -0,0 +1,33 @@
+$NetBSD$
+
+ghostscript-agpl enforces using gserrors.h which is not included
+by default in ghostscript-gpl, so conditionalise based upon which
+one is being used.
+
+--- plugin/gs/gvloadimage_gs.c.orig	2022-10-11 18:31:29.000000000 +0000
++++ plugin/gs/gvloadimage_gs.c
+@@ -77,6 +77,16 @@ static void gs_error(GVJ_t * job, const 
+ 
+     assert (err < 0);
+ 
++#ifdef gserrors_INCLUDED /* ghostscript-agpl uses gserrors.h */
++    if (err >= gs_error_VMerror) 
++	errsrc = "PostScript Level 1"; 
++    else if (err >= gs_error_unregistered)
++	errsrc = "PostScript Level 2";
++    else if (err >= gs_error_invalidid)
++	errsrc = "DPS error";
++    else
++	errsrc = "Ghostscript internal error";
++#else
+     if (err >= e_VMerror) 
+ 	errsrc = "PostScript Level 1"; 
+     else if (err >= e_unregistered)
+@@ -85,6 +95,7 @@ static void gs_error(GVJ_t * job, const 
+ 	errsrc = "DPS error";
+     else
+ 	errsrc = "Ghostscript internal error";
++#endif
+ 
+     job->common->errorfn("%s: %s() returned: %d (%s)\n",
+ 		name, funstr, err, errsrc);


Home | Main Index | Thread Index | Old Index