Skip to content

Commit

Permalink
graphics/graphviz: Update to 5.0.0
Browse files Browse the repository at this point in the history
- 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
  • Loading branch information
Michael Baeuerle authored and Michael Baeuerle committed Jul 13, 2022
1 parent 34bca3d commit 5f14e38
Show file tree
Hide file tree
Showing 17 changed files with 1,139 additions and 0 deletions.
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -1383,6 +1383,7 @@ SUBDIR+= granite
SUBDIR+= grantlee-editor
SUBDIR+= grantleetheme
SUBDIR+= graphmonkey
SUBDIR+= graphviz
SUBDIR+= grass
SUBDIR+= grass-JockeyRidge
SUBDIR+= grass-Maas
Expand Down
192 changes: 192 additions & 0 deletions graphviz/COMMIT_MSG
Original file line number Diff line number Diff line change
@@ -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
9 changes: 9 additions & 0 deletions graphviz/DEINSTALL
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# $NetBSD$

: ${PKG_PREFIX=@PREFIX@}

case ${STAGE} in
DEINSTALL)
${RM} ${PKG_PREFIX}/lib/graphviz/config6
;;
esac
11 changes: 11 additions & 0 deletions graphviz/DESCR
Original file line number Diff line number Diff line change
@@ -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
9 changes: 9 additions & 0 deletions graphviz/INSTALL
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# $NetBSD$

: ${PKG_PREFIX=@PREFIX@}

case ${STAGE} in
POST-INSTALL)
${PKG_PREFIX}/bin/dot -c
;;
esac
137 changes: 137 additions & 0 deletions graphviz/Makefile
Original file line number Diff line number Diff line change
@@ -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
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"
Loading

0 comments on commit 5f14e38

Please sign in to comment.