pkgsrc-WIP-changes archive

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

graphics/graphviz: Update to 5.0.0



Module Name:	pkgsrc-wip
Committed By:	Michael Baeuerle <micha%NetBSD.org@localhost>
Pushed By:	micha
Date:		Wed Jul 13 18:38:29 2022 +0200
Changeset:	5f14e38f458bcd6bc94b69b389d4d37c133a1d6e

Modified Files:
	Makefile
Added Files:
	graphviz/COMMIT_MSG
	graphviz/DEINSTALL
	graphviz/DESCR
	graphviz/INSTALL
	graphviz/Makefile
	graphviz/PLIST
	graphviz/TODO
	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
	graphviz/patches/patch-plugin_xlib_gvdevice__xlib.c
	graphviz/patches/patch-tclpkg_gv_Makefile.am

Log Message:
graphics/graphviz: Update to 5.0.0

- Patch for lefty on OpenBSD removed (lefty is not installed anymore).
- Patch for configure.ac modified (list Github Issue #370 and remove hunk for
  OCaml that does no longer work).
- Patch for version.m4 removed (no longer required).
- Explicit dependency for urw-fonts added.
- Warning suppression for GCC 2 removed.
- swig is now a tool dependency (as documented by upstream).
- Guile option removed (already broken with older package versions).
- OCaml option removed (already broken with older package versions).
- Lua, Perl and Tcl language extension options are now disabled by default.

5.0.0 - 2022-07-07
==================

Changed
-------
- `use_sanitizers` option has been removed from the CMake build system.

Fixed
-----
- *Breaking*: The 4.0.0 change replacing the `Agiodisc_t` struct member
  `putstr` by `printf` has been reverted
- graphviz-4.0.0: build error: cmd/tools/gvcolor.c:159: undefined reference to
  `fmax` #2246
- Failed assertion in `chkSgraph` for twopi layout and ortho splines. #14
- Failed assertion in `chkSgraph` for dot layout and ortho splines. #1408
- Failed assertion in `chkSgraph` for circo layout and ortho splines. #1990
- Segmentation Fault with splines="ortho". #1658
- Transparent Label appear in SVG output #146
- Binary tcl modules should compile with -module #1285
- b15.gv crashes dot #827
- heap overflow in function startElementHandler in gxl2gv.c #2093
- Crash on assertion #121
- `xdotversion` attribute is no longer misparsed. This was a regression in
  Graphviz 2.47.2. #358

4.0.0 - 2022-05-29
==================

Changed
-------
- *Breaking*: The `mark` field of the `Agnodeinfo_t` struct is now a
  `size_t` instead of a `char`.
- *Breaking*: The unused `shape_t` struct has been removed from the public
  header `types.h`
- *Breaking*: The `Agiodisc_t` struct member `putstr` that was previously an
  `fputs` analog is replaced by `printf` that is required to behave similar to
  `fprintf`.
- the `mingle`, `diffimg`, `gvmap`, and `edgepaint` binaries are now included in
  the CMake build system
- the `gvmap.sh` and `vimdot` scripts are now installed by the CMake build
  system on operating systems other than Windows
- a brief note about the (previously undocumented) behavior of Graphviz when
  sent `SIGUSR1` is now mentioned in the man page
- build system support for `dotty`, `lefty`, and `lneato` has been removed
- the CMake build system now includes the DevIL, GDK, GhostScript, GTK, LASi,
  Poppler, Quartz, Rsvg, Visio, WebP, and Xlib plugins
- `awk` is no longer a build-time dependency #2118

Fixed
-----
- `agcanon`, `agcanonStr`, and `agwrite` now return error values on memory
  allocation failures instead of crashing or corrupting data
- `gvpr` programs can now pass dynamically allocated arguments to user-defined
  functions without corrupting their content. Some cases of this were a
  regression in Graphviz 2.46.0. Other cases have existed since the first
  release of `gvpr`. #2185
- spurious "no hard-coded metrics" warnings on labels with empty lines #2179
- fixed corruption of user shape characteristics during EPSF initialization
- output formats canon, dot, and xdot are not completely faithful to input #2184
- gvpr index function produces wrong results #2211. This was a regression in
  Graphviz 2.47.0.
- Error on more than 128 cluster subgraphs #2080
- `dot2gxl` no longer crashes on input `<node id="">` #2092
- remove itos #2229
- `sfdp` no longer crashes on certain graphs with cycles. #2225
- `gml2gv` does not handle integer penwidth correctly #1871

Removed
-------
- the glitz plugin has been removed. The plugin was never complete and
  distributions no longer ship glitz.

3.0.0 - 2022-02-26
==================

Changed
-------
- *Breaking*: Using Graphviz as a library on Windows now requires the `GVDLL`
  symbol to be set to ensure correct linking.
- *Breaking*: Graphviz headers no longer define the `boolean` type. A
  replacement is C99 `bool` in the C standard library's stdbool.h.
- *Breaking*: The `insidefn` member of the `shape_functions` struct must now
  be a pointer to a function returning a C99 `bool` instead of a
  Graphviz-specific `boolean`.
- *Breaking*: The `swapEnds` and `splineMerge` members of the `splineInfo`
  struct must now be pointers to functions returning a C99 `bool`s instead of
  Graphviz-specific `boolean`s. Similarly the `ignoreSwap` and `isOrtho` members
  of this struct must now be C99 `bool`s instead of a Graphviz-specific
  `boolean`s.
- *Breaking*: The `defined`, `constrained`, `clip`, and `dyna` fields of the
  `port` struct are now C99 `bool`s instead of Graphviz-specific `boolean`s.
- *Breaking*: The `set` and `html` fields of the `textlabel_t` struct are now
  C99 `bool`s instead of Graphviz-specific `boolean`s.
- *Breaking*: The `usershape` field of the `shape_desc` struct is now a C99
  `bool` instead of a Graphviz-specific `boolean`.
- *Breaking*: The `candidate` and `valid` fields of the `rank_t` struct are
  now C99 `bool`s instead of Graphviz-specific `boolean`s.
- *Breaking*: The `filled`, `landscape`, and `centered` fields of the
  `layout_t` struct are now C99 `bool`s instead of Graphviz-specific `boolean`s.
- *Breaking*: The `has_images`, `has_flat_edges`, `has_sourcerank`,
  `has_sinkrank`, `expanded`, and `exact_ranksep` fields of the `Agraphinfo_t`
  struct are now C99 `bool`s instead of Graphviz-specific `boolean`s.
- *Breaking*: The `clustnode` and `has_port` fields of the `Agnodeinfo_t`
  struct are now C99 `bool`s instead of Graphviz-specific `boolean`s.
- *Breaking*: The `conc_opp_flag` field of the `Agedgeinfo_t` struct is now a
  C99 `bool` instead of a Graphviz-specific `boolean`.
- *Breaking*: The `must_inline` and `nocache` fields of the `usershape_t`
  struct are now C99 `bool`s instead of Graphviz-specific `boolean`s.
- *Breaking*: The `device_sets_dpi`, `external_context`, `fit_mode`,
  `needs_refresh`, `click`, `has_grown`, and `has_been_rendered` fields of the
  `GVJ_t` struct are now C99 `bool`s instead of Graphviz-specific `boolean`s.
- *Breaking*: The `loadimage` member of the `gvloadimage_engine_t` struct must
  now accept a C99 `bool` parameter instead of a former Graphviz-specific
  `boolean` parameter.
- *Breaking*: The `textlayout` member of the `gvtextlayout_engine_t` struct
  must now return a C99 `bool` instead of a Graphviz-specific `boolean`.
- *Breaking*: The `config` and `auto_outfile_names` members of the
  `GVC_common_s` struct are now C99 `bool`s instead of Graphviz-specific
  `boolean`s.
- *Breaking*: The `fixed` member of the `pack_info` struct is now an array of
  C99 `bool`s instead of an array of Graphviz-specific `boolean`s. Similarly,
  `pack_graph` now takes a `bool` array instead of a `boolean` array.
- *Breaking*: `pccomps` now takes a C99 `bool` instead of a `boolean` output
  parameter.
- *Breaking*: `gvusershape_file_access` now returns a C99 `bool` instead of a
  Graphviz-specific `boolean`.
- *Breaking*: 1-bit fields of the `obj_state_s` struct are now unsigned
  instead of signed.
- *Breaking*: Graphviz headers no longer define the constant `MAXSHORT`. A
  drop-in replacement is `SHRT_MAX` in the C standard library's limits.h.
- *Breaking*: Graphviz headers no lnger define `NIL` macros. A drop-in
  replacement is `NULL` in the C standard library's stddef.h.
- *Breaking*: Graphviz headers no longer define the `NOT` macro. A drop-in
  replacement is the C/C++ operator `!`.
- *Breaking*: Graphviz headers no longer (re-)define the C constants `INT_MIN`
  and `INT_MAX`. Replacements can be found in the C standard library's limits.h.
- *Breaking*: Graphviz headers no longer define the constant `_DUMMY_ELEM`.
- *Breaking*: The `-m` memory test option to Graphviz command-line programs
  has been deprecated. Tools such as
  [Leak Sanitizer](https://clang.llvm.org/docs/LeakSanitizer.html) are a more
  effective modern way of diagnosing memory safety issues.
- *Breaking*: Graphviz headers no longer define the constant `MAXFLOAT`. A
  replacement is `FLT_MAX` in the C standard library's float.h.
- The Ming plugin that produced Shockwave files has been removed. This format
  was EOLed by Adobe in April 2019. #2160
- CentOS 7 packages now include libmingle and the `mingle` program.
- The tclpkg Makefile no longer suppresses `-fstack-clash-protection` nor
  other compiler options containing `-x`
- Lefty is no longer enabled in the portable source tarball.
- on Linux, the CMake build system uses the standard `GNUInstallDirs` to locate
  target installation paths

Fixed
-----
- *Breaking*: GVPR now typedefs `ssize_t` as `SSIZE_T` on Windows instead of
  `int` #1804
- *Breaking*: `vgpanecmd` in the TCL tclpathplan library no longer accepts
  abbreviated commands (e.g. `r` for `rotate`) and commands must be given in
  full #1961
- fix detection of unavailable output format
- SVG layout doesn't always respect requested size #1855
- mismatched format string in `mingle`
- Building from scratch with Visual Studio fails #2175
- Plugins are not configured on MinGW #2176
- gvpr on MinGW does not support absolute paths #1780
- PNG format not available in CMake builds with MinGW
- tclpkg Makefile corrupts CFLAGS #2177
- lneato -? sometimes fails with STATUS_STACK_BUFFER_OVERRUN on Windows #1934
- expr misinterprets `<<` and `>>` #2103
- stdout and stderr are not flushed at exit on MinGW #2178
- Gvedit on macOS now understands the `-?` help command line argument
- CMAKE_LIBRARY_PATH is not honored #1973
- assert failure with `nslimit1=0` #1902
- `gvpr` usage output has been restored. This was a regression in Graphviz
  2.46.0.
- C++ API not usable after install #2196

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

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                                | 192 +++++++++++
 graphviz/DEINSTALL                                 |   9 +
 graphviz/DESCR                                     |  11 +
 graphviz/INSTALL                                   |   9 +
 graphviz/Makefile                                  | 137 ++++++++
 graphviz/PLIST                                     | 368 +++++++++++++++++++++
 graphviz/TODO                                      |  15 +
 graphviz/buildlink3.mk                             |  22 ++
 graphviz/distinfo                                  |  11 +
 graphviz/options.mk                                | 133 ++++++++
 graphviz/patches/patch-config_config__perl.pl      |  15 +
 graphviz/patches/patch-configure.ac                | 134 ++++++++
 graphviz/patches/patch-lib_gvc_Makefile.am         |  15 +
 graphviz/patches/patch-plugin_gs_gvloadimage__gs.c |  33 ++
 .../patches/patch-plugin_xlib_gvdevice__xlib.c     |  16 +
 graphviz/patches/patch-tclpkg_gv_Makefile.am       |  18 +
 17 files changed, 1139 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index 9cf8c70259..1f53ff4dd7 100644
--- a/Makefile
+++ b/Makefile
@@ -1383,6 +1383,7 @@ SUBDIR+=	granite
 SUBDIR+=	grantlee-editor
 SUBDIR+=	grantleetheme
 SUBDIR+=	graphmonkey
+SUBDIR+=	graphviz
 SUBDIR+=	grass
 SUBDIR+=	grass-JockeyRidge
 SUBDIR+=	grass-Maas
diff --git a/graphviz/COMMIT_MSG b/graphviz/COMMIT_MSG
new file mode 100644
index 0000000000..2c804bf686
--- /dev/null
+++ b/graphviz/COMMIT_MSG
@@ -0,0 +1,192 @@
+graphics/graphviz: Update to 5.0.0
+
+- Patch for lefty on OpenBSD removed (lefty is not installed anymore).
+- Patch for configure.ac modified (list Github Issue #370 and remove hunk for
+  OCaml that does no longer work).
+- Patch for version.m4 removed (no longer required).
+- Explicit dependency for urw-fonts added.
+- Warning suppression for GCC 2 removed.
+- swig is now a tool dependency (as documented by upstream).
+- Guile option removed (already broken with older package versions).
+- OCaml option removed (already broken with older package versions).
+- Lua, Perl and Tcl language extension options are now disabled by default.
+
+
+5.0.0 - 2022-07-07
+==================
+
+Changed
+-------
+- `use_sanitizers` option has been removed from the CMake build system.
+
+Fixed
+-----
+- *Breaking*: The 4.0.0 change replacing the `Agiodisc_t` struct member
+  `putstr` by `printf` has been reverted
+- graphviz-4.0.0: build error: cmd/tools/gvcolor.c:159: undefined reference to
+  `fmax` #2246
+- Failed assertion in `chkSgraph` for twopi layout and ortho splines. #14
+- Failed assertion in `chkSgraph` for dot layout and ortho splines. #1408
+- Failed assertion in `chkSgraph` for circo layout and ortho splines. #1990
+- Segmentation Fault with splines="ortho". #1658
+- Transparent Label appear in SVG output #146
+- Binary tcl modules should compile with -module #1285
+- b15.gv crashes dot #827
+- heap overflow in function startElementHandler in gxl2gv.c #2093
+- Crash on assertion #121
+- `xdotversion` attribute is no longer misparsed. This was a regression in
+  Graphviz 2.47.2. #358
+
+
+4.0.0 - 2022-05-29
+==================
+
+Changed
+-------
+- *Breaking*: The `mark` field of the `Agnodeinfo_t` struct is now a
+  `size_t` instead of a `char`.
+- *Breaking*: The unused `shape_t` struct has been removed from the public
+  header `types.h`
+- *Breaking*: The `Agiodisc_t` struct member `putstr` that was previously an
+  `fputs` analog is replaced by `printf` that is required to behave similar to
+  `fprintf`.
+- the `mingle`, `diffimg`, `gvmap`, and `edgepaint` binaries are now included in
+  the CMake build system
+- the `gvmap.sh` and `vimdot` scripts are now installed by the CMake build
+  system on operating systems other than Windows
+- a brief note about the (previously undocumented) behavior of Graphviz when
+  sent `SIGUSR1` is now mentioned in the man page
+- build system support for `dotty`, `lefty`, and `lneato` has been removed
+- the CMake build system now includes the DevIL, GDK, GhostScript, GTK, LASi,
+  Poppler, Quartz, Rsvg, Visio, WebP, and Xlib plugins
+- `awk` is no longer a build-time dependency #2118
+
+Fixed
+-----
+- `agcanon`, `agcanonStr`, and `agwrite` now return error values on memory
+  allocation failures instead of crashing or corrupting data
+- `gvpr` programs can now pass dynamically allocated arguments to user-defined
+  functions without corrupting their content. Some cases of this were a
+  regression in Graphviz 2.46.0. Other cases have existed since the first
+  release of `gvpr`. #2185
+- spurious "no hard-coded metrics" warnings on labels with empty lines #2179
+- fixed corruption of user shape characteristics during EPSF initialization
+- output formats canon, dot, and xdot are not completely faithful to input #2184
+- gvpr index function produces wrong results #2211. This was a regression in
+  Graphviz 2.47.0.
+- Error on more than 128 cluster subgraphs #2080
+- `dot2gxl` no longer crashes on input `<node id="">` #2092
+- remove itos #2229
+- `sfdp` no longer crashes on certain graphs with cycles. #2225
+- `gml2gv` does not handle integer penwidth correctly #1871
+
+Removed
+-------
+- the glitz plugin has been removed. The plugin was never complete and
+  distributions no longer ship glitz.
+
+
+3.0.0 - 2022-02-26
+==================
+
+Changed
+-------
+- *Breaking*: Using Graphviz as a library on Windows now requires the `GVDLL`
+  symbol to be set to ensure correct linking.
+- *Breaking*: Graphviz headers no longer define the `boolean` type. A
+  replacement is C99 `bool` in the C standard library's stdbool.h.
+- *Breaking*: The `insidefn` member of the `shape_functions` struct must now
+  be a pointer to a function returning a C99 `bool` instead of a
+  Graphviz-specific `boolean`.
+- *Breaking*: The `swapEnds` and `splineMerge` members of the `splineInfo`
+  struct must now be pointers to functions returning a C99 `bool`s instead of
+  Graphviz-specific `boolean`s. Similarly the `ignoreSwap` and `isOrtho` members
+  of this struct must now be C99 `bool`s instead of a Graphviz-specific
+  `boolean`s.
+- *Breaking*: The `defined`, `constrained`, `clip`, and `dyna` fields of the
+  `port` struct are now C99 `bool`s instead of Graphviz-specific `boolean`s.
+- *Breaking*: The `set` and `html` fields of the `textlabel_t` struct are now
+  C99 `bool`s instead of Graphviz-specific `boolean`s.
+- *Breaking*: The `usershape` field of the `shape_desc` struct is now a C99
+  `bool` instead of a Graphviz-specific `boolean`.
+- *Breaking*: The `candidate` and `valid` fields of the `rank_t` struct are
+  now C99 `bool`s instead of Graphviz-specific `boolean`s.
+- *Breaking*: The `filled`, `landscape`, and `centered` fields of the
+  `layout_t` struct are now C99 `bool`s instead of Graphviz-specific `boolean`s.
+- *Breaking*: The `has_images`, `has_flat_edges`, `has_sourcerank`,
+  `has_sinkrank`, `expanded`, and `exact_ranksep` fields of the `Agraphinfo_t`
+  struct are now C99 `bool`s instead of Graphviz-specific `boolean`s.
+- *Breaking*: The `clustnode` and `has_port` fields of the `Agnodeinfo_t`
+  struct are now C99 `bool`s instead of Graphviz-specific `boolean`s.
+- *Breaking*: The `conc_opp_flag` field of the `Agedgeinfo_t` struct is now a
+  C99 `bool` instead of a Graphviz-specific `boolean`.
+- *Breaking*: The `must_inline` and `nocache` fields of the `usershape_t`
+  struct are now C99 `bool`s instead of Graphviz-specific `boolean`s.
+- *Breaking*: The `device_sets_dpi`, `external_context`, `fit_mode`,
+  `needs_refresh`, `click`, `has_grown`, and `has_been_rendered` fields of the
+  `GVJ_t` struct are now C99 `bool`s instead of Graphviz-specific `boolean`s.
+- *Breaking*: The `loadimage` member of the `gvloadimage_engine_t` struct must
+  now accept a C99 `bool` parameter instead of a former Graphviz-specific
+  `boolean` parameter.
+- *Breaking*: The `textlayout` member of the `gvtextlayout_engine_t` struct
+  must now return a C99 `bool` instead of a Graphviz-specific `boolean`.
+- *Breaking*: The `config` and `auto_outfile_names` members of the
+  `GVC_common_s` struct are now C99 `bool`s instead of Graphviz-specific
+  `boolean`s.
+- *Breaking*: The `fixed` member of the `pack_info` struct is now an array of
+  C99 `bool`s instead of an array of Graphviz-specific `boolean`s. Similarly,
+  `pack_graph` now takes a `bool` array instead of a `boolean` array.
+- *Breaking*: `pccomps` now takes a C99 `bool` instead of a `boolean` output
+  parameter.
+- *Breaking*: `gvusershape_file_access` now returns a C99 `bool` instead of a
+  Graphviz-specific `boolean`.
+- *Breaking*: 1-bit fields of the `obj_state_s` struct are now unsigned
+  instead of signed.
+- *Breaking*: Graphviz headers no longer define the constant `MAXSHORT`. A
+  drop-in replacement is `SHRT_MAX` in the C standard library's limits.h.
+- *Breaking*: Graphviz headers no lnger define `NIL` macros. A drop-in
+  replacement is `NULL` in the C standard library's stddef.h.
+- *Breaking*: Graphviz headers no longer define the `NOT` macro. A drop-in
+  replacement is the C/C++ operator `!`.
+- *Breaking*: Graphviz headers no longer (re-)define the C constants `INT_MIN`
+  and `INT_MAX`. Replacements can be found in the C standard library's limits.h.
+- *Breaking*: Graphviz headers no longer define the constant `_DUMMY_ELEM`.
+- *Breaking*: The `-m` memory test option to Graphviz command-line programs
+  has been deprecated. Tools such as
+  [Leak Sanitizer](https://clang.llvm.org/docs/LeakSanitizer.html) are a more
+  effective modern way of diagnosing memory safety issues.
+- *Breaking*: Graphviz headers no longer define the constant `MAXFLOAT`. A
+  replacement is `FLT_MAX` in the C standard library's float.h.
+- The Ming plugin that produced Shockwave files has been removed. This format
+  was EOLed by Adobe in April 2019. #2160
+- CentOS 7 packages now include libmingle and the `mingle` program.
+- The tclpkg Makefile no longer suppresses `-fstack-clash-protection` nor
+  other compiler options containing `-x`
+- Lefty is no longer enabled in the portable source tarball.
+- on Linux, the CMake build system uses the standard `GNUInstallDirs` to locate
+  target installation paths
+
+Fixed
+-----
+- *Breaking*: GVPR now typedefs `ssize_t` as `SSIZE_T` on Windows instead of
+  `int` #1804
+- *Breaking*: `vgpanecmd` in the TCL tclpathplan library no longer accepts
+  abbreviated commands (e.g. `r` for `rotate`) and commands must be given in
+  full #1961
+- fix detection of unavailable output format
+- SVG layout doesn't always respect requested size #1855
+- mismatched format string in `mingle`
+- Building from scratch with Visual Studio fails #2175
+- Plugins are not configured on MinGW #2176
+- gvpr on MinGW does not support absolute paths #1780
+- PNG format not available in CMake builds with MinGW
+- tclpkg Makefile corrupts CFLAGS #2177
+- lneato -? sometimes fails with STATUS_STACK_BUFFER_OVERRUN on Windows #1934
+- expr misinterprets `<<` and `>>` #2103
+- stdout and stderr are not flushed at exit on MinGW #2178
+- Gvedit on macOS now understands the `-?` help command line argument
+- CMAKE_LIBRARY_PATH is not honored #1973
+- assert failure with `nslimit1=0` #1902
+- `gvpr` usage output has been restored. This was a regression in Graphviz
+  2.46.0.
+- C++ API not usable after install #2196
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..2338de39f8
--- /dev/null
+++ b/graphviz/DESCR
@@ -0,0 +1,11 @@
+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
+- lefty: a programmable graphics editor
+- dotty: a customizable interface written in LEFTY
+- tcldot: a customizable graphical interface written in TCL
+- libgraph: 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..1af233a374
--- /dev/null
+++ b/graphviz/Makefile
@@ -0,0 +1,137 @@
+# $NetBSD$
+
+DISTNAME=	graphviz-5.0.0
+CATEGORIES=	graphics
+MASTER_SITES=	${MASTER_SITE_GITLAB:=api/v4/projects/4207231/packages/generic/graphviz-releases/${PKGVERSION_NOREV}/}
+
+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=		c99 c++11
+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-io
+CONFIGURE_ARGS+=	--disable-java
+CONFIGURE_ARGS+=	--disable-javascript
+CONFIGURE_ARGS+=	--disable-php
+CONFIGURE_ARGS+=	--disable-python
+CONFIGURE_ARGS+=	--disable-python3
+CONFIGURE_ARGS+=	--disable-guile
+CONFIGURE_ARGS+=	--disable-ocaml
+CONFIGURE_ARGS+=	--disable-r
+CONFIGURE_ARGS+=	--disable-ruby
+CONFIGURE_ARGS+=	--disable-sharp
+CONFIGURE_ARGS+=	--enable-ltdl
+CONFIGURE_ARGS+=	--enable-man-pdfs
+CONFIGURE_ARGS+=	--enable-rpath
+CONFIGURE_ARGS+=	--without-ann
+CONFIGURE_ARGS+=	--without-devil
+CONFIGURE_ARGS+=	--without-glut
+CONFIGURE_ARGS+=	--without-lasi
+CONFIGURE_ARGS+=	--without-gdiplus
+CONFIGURE_ARGS+=	--without-glade
+CONFIGURE_ARGS+=	--without-glitz
+CONFIGURE_ARGS+=	--without-gtkgl
+CONFIGURE_ARGS+=	--without-gtkglext
+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"
+.include "../../devel/pango/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..60895a4400
--- /dev/null
+++ b/graphviz/PLIST
@@ -0,0 +1,368 @@
+@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/gv.cpp
+include/graphviz/gv.i
+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.gtk}lib/graphviz/libgvplugin_gdk.la
+${PLIST.ghostscript}${PLIST.x11}lib/graphviz/libgvplugin_gs.la
+${PLIST.gtk}lib/graphviz/libgvplugin_gtk.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_visio.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.gd}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/liblab_gamut.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/liblab_gamut.pc
+lib/pkgconfig/libpathplan.pc
+lib/pkgconfig/libxdot.pc
+${PLIST.tcl}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/acyclic.1.pdf
+share/doc/graphviz/addingLayout.txt
+share/doc/graphviz/bcomps.1.pdf
+share/doc/graphviz/build.html
+share/doc/graphviz/ccomps.1.pdf
+share/doc/graphviz/cdt.3.pdf
+share/doc/graphviz/cgraph.3.pdf
+share/doc/graphviz/char.html
+share/doc/graphviz/circo.1.pdf
+share/doc/graphviz/cluster.1.pdf
+share/doc/graphviz/cpl1.0.txt
+${PLIST.gd}share/doc/graphviz/diffimg.1.pdf
+share/doc/graphviz/dijkstra.1.pdf
+share/doc/graphviz/dot.1.pdf
+share/doc/graphviz/dot2gxl.1.pdf
+share/doc/graphviz/dotguide.pdf
+share/doc/graphviz/edgepaint.1.pdf
+share/doc/graphviz/expr.3.pdf
+share/doc/graphviz/fdp.1.pdf
+share/doc/graphviz/fontfaq.txt
+share/doc/graphviz/gc.1.pdf
+${PLIST.tcl}${PLIST.gd}share/doc/graphviz/gdtclft.3tcl.pdf
+share/doc/graphviz/gdtclft.entities.example.png
+share/doc/graphviz/gml2gv.1.pdf
+share/doc/graphviz/graphml2gv.1.pdf
+${PLIST.lua}share/doc/graphviz/gv.3lua.pdf
+${PLIST.perl}share/doc/graphviz/gv.3perl.pdf
+${PLIST.swig}share/doc/graphviz/gv.3python.pdf
+${PLIST.tcl}share/doc/graphviz/gv.3tcl.pdf
+share/doc/graphviz/gv2gml.1.pdf
+share/doc/graphviz/gv2gxl.1.pdf
+share/doc/graphviz/gvc.3.pdf
+share/doc/graphviz/gvcolor.1.pdf
+share/doc/graphviz/gvgen.1.pdf
+share/doc/graphviz/gvmap.1.pdf
+share/doc/graphviz/gvmap.sh.1.pdf
+share/doc/graphviz/gvpack.1.pdf
+share/doc/graphviz/gvpr.1.pdf
+share/doc/graphviz/gvpr.3.pdf
+share/doc/graphviz/gxl2dot.1.pdf
+share/doc/graphviz/gxl2gv.1.pdf
+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/mm2gv.1.pdf
+share/doc/graphviz/neato.1.pdf
+share/doc/graphviz/neatoguide.pdf
+share/doc/graphviz/nop.1.pdf
+share/doc/graphviz/osage.1.pdf
+share/doc/graphviz/pack.3.pdf
+share/doc/graphviz/patchwork.1.pdf
+share/doc/graphviz/pathplan.3.pdf
+share/doc/graphviz/prune.1.pdf
+share/doc/graphviz/pspdf.png
+share/doc/graphviz/sccmap.1.pdf
+share/doc/graphviz/schema/arguments.xml
+share/doc/graphviz/schema/attributes.xml
+share/doc/graphviz/schema/attributes.xslt
+share/doc/graphviz/sfdp.1.pdf
+${PLIST.tcl}share/doc/graphviz/tcldot.3tcl.pdf
+${PLIST.tcl}share/doc/graphviz/tcldot.html
+share/doc/graphviz/todo.html
+share/doc/graphviz/tred.1.pdf
+share/doc/graphviz/twopi.1.pdf
+share/doc/graphviz/unflatten.1.pdf
+${PLIST.x11}share/doc/graphviz/vimdot.1.pdf
+share/doc/graphviz/winbuild.html
+share/doc/graphviz/xdot.3.pdf
+${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/TODO b/graphviz/TODO
new file mode 100644
index 0000000000..2acff2b9b8
--- /dev/null
+++ b/graphviz/TODO
@@ -0,0 +1,15 @@
+Verify that package can be build with and without options:
+[X] Test option gd
+[X] Test option ghostscript
+[X] Test option gtk
+[X] Test option lua
+[X] Test option perl
+[X] Test option poppler
+[X] Test option svg
+[X] Test option tcl
+[X] Test option x11
+
+[ ] Test with devel/doxygen
+[ ] Test with graphics/py-graphviz
+[ ] Test with lang/vala
+[ ] Test with sysutils/openxenmanager
diff --git a/graphviz/buildlink3.mk b/graphviz/buildlink3.mk
new file mode 100644
index 0000000000..f6508e6d69
--- /dev/null
+++ b/graphviz/buildlink3.mk
@@ -0,0 +1,22 @@
+# $NetBSD$
+
+BUILDLINK_TREE+=	graphviz
+
+.if !defined(GRAPHVIZ_BUILDLINK3_MK)
+GRAPHVIZ_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.graphviz+=	graphviz>=5.0.0
+BUILDLINK_PKGSRCDIR.graphviz?=		../../wip/graphviz
+
+DEPENDS+=	urw-fonts-[0-9]*:../../fonts/urw-fonts
+
+# doxygen PLIST varies with pangocairo of PKG_OPTIONS
+pkgbase := graphviz
+.include "../../mk/pkg-build-options.mk"
+
+.include "../../converters/libiconv/buildlink3.mk"
+.include "../../fonts/fontconfig/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..a0968c18ce
--- /dev/null
+++ b/graphviz/distinfo
@@ -0,0 +1,11 @@
+$NetBSD$
+
+BLAKE2s (graphviz-5.0.0.tar.gz) = 6755b14a2b5fed1365c5dbfe1d72406e8bb6707f29c7955c4372afcc32aa09f1
+SHA512 (graphviz-5.0.0.tar.gz) = ea21c39b8735215073972af94affae20f76ee04e7f6c8833c9018d6b1fdcb763cec48cde8972f7443f08b2febd1a04ecb7d07ec48ea74ae785f0af98cc5e136a
+Size (graphviz-5.0.0.tar.gz) = 27590532 bytes
+SHA1 (patch-config_config__perl.pl) = 430acb7d7ee3e149de0af9832c5a29602884f83e
+SHA1 (patch-configure.ac) = 1c39f0b25cfc995de10a07492656c2f12a24686f
+SHA1 (patch-lib_gvc_Makefile.am) = b5d793ec0a676c5d4b257c6fec1eb182ee93718b
+SHA1 (patch-plugin_gs_gvloadimage__gs.c) = d777c822ef11b15eff992f36a9f4073c02cd4ca6
+SHA1 (patch-plugin_xlib_gvdevice__xlib.c) = 05d1549db3b9221f5bcb947173034775b0df7c6c
+SHA1 (patch-tclpkg_gv_Makefile.am) = 1cc05da71077aacc65b772ba26e7958ad52d83b3
diff --git a/graphviz/options.mk b/graphviz/options.mk
new file mode 100644
index 0000000000..f9511c5be4
--- /dev/null
+++ b/graphviz/options.mk
@@ -0,0 +1,133 @@
+# $NetBSD$
+
+PKG_OPTIONS_VAR=	PKG_OPTIONS.graphviz
+PKG_SUPPORTED_OPTIONS=	gd ghostscript gtk lua perl poppler svg tcl x11
+.if exists(/System/Library/Frameworks/Quartz.framework)
+PKG_SUPPORTED_OPTIONS+=	quartz
+.endif
+PKG_SUGGESTED_OPTIONS=	gd x11
+# Explanation of consequence of options, to help those trying to slim down:
+#   lua tcl perl: extension language support
+#   x11: Omits all linking with x11, which means x11 graphics supports as
+#     well as x11 frontend support.
+#   gtk: basic graphic format support (in addition to gd, which isn't
+#     maintained anymore)
+#   svg: Omitting loses svg support. librsvg has large dependencies
+#     including some GNOME libs.
+#   gd: basic graphic format support, especially gif
+#   ghostscript: provides better ps/pdf-support, plus eps
+
+.include "../../mk/bsd.options.mk"
+
+PLIST_VARS+=		gd ghostscript gtk lua perl poppler quartz svg swig tcl x11
+
+.if !empty(PKG_OPTIONS:Mgd)
+.  include "../../graphics/gd/buildlink3.mk"
+PLIST.gd=		yes
+CONFIGURE_ARGS+=	--with-libgd
+.else
+CONFIGURE_ARGS+=	--without-libgd
+.endif
+
+.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
+
+.if !empty(PKG_OPTIONS:Mgtk)
+.  include "../../x11/gtk2/buildlink3.mk"
+PLIST.gtk=		yes
+CONFIGURE_ARGS+=	--with-gdk
+CONFIGURE_ARGS+=	--with-gdk-pixbuf
+CONFIGURE_ARGS+=	--with-gtk
+CONFIGURE_ARGS+=	--with-gnomeui
+.else
+CONFIGURE_ARGS+=	--without-gdk
+CONFIGURE_ARGS+=	--without-gdk-pixbuf
+CONFIGURE_ARGS+=	--without-gtk
+CONFIGURE_ARGS+=	--without-gnomeui
+.endif
+
+.if !empty(PKG_OPTIONS:Mpoppler)
+.  include "../../print/poppler-glib/buildlink3.mk"
+PLIST.poppler=		yes
+CONFIGURE_ARGS+=	--with-poppler
+.else
+CONFIGURE_ARGS+=	--without-poppler
+.endif
+
+.if !empty(PKG_OPTIONS:Mquartz)
+PLIST.quartz=		yes
+CONFIGURE_ARGS+=	--with-quartz
+.else
+CONFIGURE_ARGS+=	--without-quartz
+.endif
+
+.if !empty(PKG_OPTIONS:Msvg)
+.  include "../../graphics/librsvg/buildlink3.mk"
+PLIST.svg=		yes
+CONFIGURE_ARGS+=	--with-rsvg
+.else
+CONFIGURE_ARGS+=	--without-rsvg
+.endif
+
+.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
+
+.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
+
+.if !empty(PKG_OPTIONS:Mtcl)
+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
+
+.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
+
+.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..06a0d5f318
--- /dev/null
+++ b/graphviz/patches/patch-configure.ac
@@ -0,0 +1,134 @@
+$NetBSD$
+
+1. chunk: fix
+./configure.lineno: 1: Syntax error: Bad substitution
+http://www.graphviz.org/mantisbt/view.php?id=2362
+https://gitlab.com/graphviz/graphviz/-/issues/370
+2. chunk: use the same path for all platforms in pkgsrc
+other chunks: use lua/php/... from pkgsrc
+last chunk: fix
+./configure.lineno: 27203: Syntax error: ")" unexpected (expecting "fi")
+http://www.graphviz.org/mantisbt/view.php?id=2362
+https://gitlab.com/graphviz/graphviz/-/issues/370
+last last chunk: fix sed expression not to use + which is not in BRE (guile)
+
+--- configure.ac.orig	2022-07-07 15:43:58.000000000 +0000
++++ configure.ac
+@@ -101,8 +101,15 @@ case "${host_os}" in
+ 	# For the build number: months since Jan 2000, day of month from the timestamp
+ 	# For the revision number: hour, minute from the timestamp
+ 	if test $GRAPHVIZ_VERSION_MICRO != "0"; then
+-		GRAPHVIZ_VERSION_BUILD=`expr \( ${GRAPHVIZ_VERSION_MICRO:0:4} - 2000 \) \* 12 + ${GRAPHVIZ_VERSION_MICRO:4:2}`${GRAPHVIZ_VERSION_MICRO:6:2}
+-		GRAPHVIZ_VERSION_REVISION=${GRAPHVIZ_VERSION_MICRO:9:4}
++		# JR: patch from Michael van Elst:
++		#     if we have a shellm we should have a working awk, too
++		eval `echo "$GRAPHVIZ_VERSION_MICRO" | awk '{
++			print "GRAPHVIZ_VERSION_BUILD=" \
++				(substr($1,1,4)-2000)*12+substr($1,5,2) \
++				substr($1,7,2)
++			print "GRAPHVIZ_VERSION_REVISION=" \
++				substr($1,10,4)
++		}'`
+ 	fi
+ 	;;
+ esac
+@@ -118,8 +125,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
+@@ -127,7 +133,6 @@ if test -z "$LIBPOSTFIX"; then
+     *solaris* )
+       case "${host_cpu}" in
+         x86_64 | sparc64 )
+-          LIBPOSTFIX="/64"
+           INTGOSIZE=64
+           ;;
+       esac
+@@ -694,7 +699,7 @@ else
+       if test "x$GUILE_CONFIG" = "x"; 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 -n '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)
+@@ -918,7 +923,7 @@ else
+ 		        LUA_VERSION=`$PKG_CONFIG --modversion lua$l`
+                         LUA_INCLUDES="$LUA_CFLAGS "`$PKG_CONFIG --cflags lua$l`
+                         LUA_LIBS="$LUA_LFLAGS "`$PKG_CONFIG --libs lua$l`
+-		        LUA_INSTALL_DIR="/usr/lib$LIBPOSTFIX/lua/`$PKG_CONFIG --variable=V lua`"
++		        LUA_INSTALL_DIR="${PREFIX}/lib$LIBPOSTFIX/lua/`$PKG_CONFIG --variable=V lua`"
+ 
+ 		        pkgconfig_lualib_found=`$PKG_CONFIG --exists lualib$l 2>/dev/null`
+ 		        if test  "x$?" = "x0"; then
+@@ -940,7 +945,7 @@ else
+                 LUA_INCLUDES=`$LUACONFIG --include`
+                 LUA_LIBS=`$LUACONFIG --libs`
+ 	        LUA_VERSION="5.0.x"
+-	        LUA_INSTALL_DIR="/usr/lib$LIBPOSTFIX/lua/5.0"
++	        LUA_INSTALL_DIR="${PREFIX}/lib$LIBPOSTFIX/lua/5.0"
+             fi
+         fi
+ 
+@@ -1137,7 +1142,7 @@ else
+         else
+           PHP_INCLUDES="`$PHPCONFIG --includes`"
+           PHP_INSTALL_DIR="`$PHPCONFIG --extension-dir`"
+-          PHP_INSTALL_DATADIR="/usr/share/php"
++          PHP_INSTALL_DATADIR="${PREFIX}/share/php"
+           PHP_LIBS="`$PHPCONFIG --ldflags` `$PHPCONFIG --libs`"
+           save_CPPFLAGS=$CPPFLAGS
+           CPPFLAGS="$CPPFLAGS $PHP_INCLUDES"
+@@ -2130,45 +2135,6 @@ else
+ fi
+ AM_CONDITIONAL(WITH_QUARTZ, [test "x$use_quartz" = "xYes"])
+ 
+-dnl -----------------------------------
+-dnl INCLUDES and LIBS for PLATFORMSDK
+-
+-AC_ARG_WITH(platformsdkincludedir,
+-  [AS_HELP_STRING([--with-platformsdkincludedir=DIR],[use Platform SDK (Windows) includes from DIR])],
+-  [PLATFORMSDKINCLUDE=$withval; PLATFORMSDKINCLUDE_ESCAPED=${PLATFORMSDKINCLUDE//'\\'/\\\\}; PLATFORMSDKINCLUDE_ESCAPED=${PLATFORMSDKINCLUDE_ESCAPED// /\\ }])
+-
+-AC_ARG_WITH(platformsdklibdir,
+-  [AS_HELP_STRING([--with-platformsdklibdir=DIR],[use Platform SDK (Windows) libraries from DIR])],
+-  [PLATFORMSDKLIB=$withval])
+-
+-AC_SUBST([PLATFORMSDKINCLUDE])
+-AC_SUBST([PLATFORMSDKINCLUDE_ESCAPED])
+-AC_SUBST([PLATFORMSDKLIB])
+-
+-dnl -----------------------------------
+-dnl INCLUDES and LIBS for GDI+
+-
+-AC_ARG_WITH(gdiplus,
+-  [AS_HELP_STRING([--with-gdiplus=no],[GDI+ framework (Windows)])],
+-  [], [with_gdiplus=no])
+-
+-if test "x$with_gdiplus" != "xyes"; then
+-  use_gdiplus="No (disabled by default - Windows only)"
+-else
+-  if test -f "$PLATFORMSDKINCLUDE\GdiPlus.h" -a -f "$PLATFORMSDKLIB\GdiPlus.lib"; then
+-    use_gdiplus="Yes"
+-    AC_DEFINE_UNQUOTED(HAVE_GDIPLUS,1,[Define if you have the GDI+ framework for Windows])
+-    GDIPLUS_HEADS=`cd "$PLATFORMSDKINCLUDE" && echo GdiPlus*.h`
+-    GDIPLUS_CFLAGS=''
+-    GDIPLUS_LIBS=''
+-    AC_SUBST([GDIPLUS_HEADS])
+-    AC_SUBST([GDIPLUS_CFLAGS])
+-    AC_SUBST([GDIPLUS_LIBS])
+-  else
+-    use_gdiplus="No (missing headers)"
+-    AC_MSG_WARN(--with-gdiplus requires valid --with-platformsdkincludedir and --with-platformsdklibdir.)
+-  fi
+-fi
+ AM_CONDITIONAL(WITH_GDIPLUS, [test "x$use_gdiplus" = "xYes"])
+ 
+ dnl -----------------------------------
diff --git a/graphviz/patches/patch-lib_gvc_Makefile.am b/graphviz/patches/patch-lib_gvc_Makefile.am
new file mode 100644
index 0000000000..2bcbcf342b
--- /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
+@@ -55,7 +55,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..3b733b11fd
--- /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	2021-10-16 16:39:12.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\" (%s)\n",
+ 		name, funstr, err, gs_error_names[-err - 1], errsrc);
diff --git a/graphviz/patches/patch-plugin_xlib_gvdevice__xlib.c b/graphviz/patches/patch-plugin_xlib_gvdevice__xlib.c
new file mode 100644
index 0000000000..0429bcde37
--- /dev/null
+++ b/graphviz/patches/patch-plugin_xlib_gvdevice__xlib.c
@@ -0,0 +1,16 @@
+$NetBSD$
+
+SunOS inotify requires sys/filio.h for FIONREAD.
+
+--- plugin/xlib/gvdevice_xlib.c.orig	2020-04-08 07:51:58.000000000 +0000
++++ plugin/xlib/gvdevice_xlib.c
+@@ -32,6 +32,9 @@
+ #endif
+ #ifdef HAVE_SYS_INOTIFY_H
+ #include <sys/inotify.h>
++#ifdef __sun
++#include <sys/filio.h>
++#endif
+ #endif
+ #include <errno.h>
+ #ifdef HAVE_FCNTL_H
diff --git a/graphviz/patches/patch-tclpkg_gv_Makefile.am b/graphviz/patches/patch-tclpkg_gv_Makefile.am
new file mode 100644
index 0000000000..c5264d4354
--- /dev/null
+++ b/graphviz/patches/patch-tclpkg_gv_Makefile.am
@@ -0,0 +1,18 @@
+$NetBSD$
+
+Add missing -I flags to point to perl files.
+
+See https://gitlab.com/graphviz/graphviz/issues/1576.
+Issue was closed, but patch is still missing. Regression?
+
+--- tclpkg/gv/Makefile.am.orig	2021-10-16 16:39:12.000000000 +0000
++++ tclpkg/gv/Makefile.am
+@@ -180,7 +180,7 @@ nodist_libgv_perl_la_SOURCES = gv_perl.c
+ libgv_perl_la_SOURCES = $(BASESOURCES) gv_dummy_init.c
+ libgv_perl_la_LIBADD = $(BASELIBS) $(PERL_LIBS)
+ libgv_perl_la_LDFLAGS = -module -avoid-version $(PERL_LD)
+-libgv_perl_la_CPPFLAGS = $(BASECPPFLAGS) $(PERL_CC)
++libgv_perl_la_CPPFLAGS = $(BASECPPFLAGS) $(PERL_INCLUDES) $(PERL_CC)
+ $(PERL_data): gv_perl.cpp
+ gv_perl.cpp: gv.i
+ 	$(SWIG) -c++ $(SWIG_PERL_OPT) -o $@ $(srcdir)/gv.i


Home | Main Index | Thread Index | Old Index