pkgsrc/graphics/graphviz/Makefile
adam 4e6e936d5f graphviz: updated to 2.50.0
2.50.0

Added

hard-coded lookup tables for fallback font metrics for more fonts and font
variants
a new gvputs_nonascii API function has been implemented for GVC I/O with C
escaping


Changed

Check for existence of dl_iterate_phdr(3) and if it is available, prefer
using it instead of iterating over /proc/self/maps for computing libdir.
A limit on GVC config files of 100000 bytes has been removed.
MD5 checksums of release artifacts are no longer provided. SHA256 checksums
are still provided and these should be used instead.
when cross-compiling, the dot -c is no longer run during installation

$CMAKE_INCLUDE_PATH is no longer manually configured in the CMake build
system


Fixed

remove Bashism from gvmap.sh

Lefty artifacts are no longer installed when Lefty is disabled

Smyrna artifacts are no longer installed when Smyrna is disabled
calling convention mismatches in delaunay.c’s GTS code
impure assertion in jacobi

undefined behavior in libgvc’s reading of little endian numbers
boldness of agnxtsubg in cgraph man page
parameter name in gvusershape_find prototype corrected to a const pointer,
to match the implementation
xdot JSON output is not valid JSON

fix uninitialized read of pid in _sfpopen on Windows
claimed minimum CMake version supported has been corrected to 3.9
2021-12-29 16:19:18 +00:00

145 lines
4.7 KiB
Makefile

# $NetBSD: Makefile,v 1.243 2021/12/29 16:19:18 adam Exp $
DISTNAME= graphviz-2.50.0
CATEGORIES= graphics
MASTER_SITES= https://gitlab.com/graphviz/graphviz/-/archive/${PKGVERSION_NOREV}/
EXTRACT_SUFX= .tar.bz2
MAINTAINER= sno@NetBSD.org
HOMEPAGE= https://www.graphviz.org/
COMMENT= Graph Drawing Programs from AT&T Research and Lucent Bell Labs
LICENSE= epl-v1.0
TOOL_DEPENDS+= ghostscript-[0-9]*:../../print/ghostscript
CHECK_FILES_SKIP+= ${PREFIX}/lib/graphviz/config6
CHECK_PORTABILITY_SKIP+= windows/*
USE_LANGUAGES= c99 c++11
USE_LIBTOOL= yes
USE_TOOLS+= automake autoreconf makeinfo bison flex groff pkg-config
# GNU make is needed since BSD Make does not know $< in explicit rules,
# such as used by lib/cdt/Makefile.am.
USE_TOOLS+= gmake
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-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
XAW_TYPE= standard
# 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"
.include "../../mk/compiler.mk"
.if !empty(CC_VERSION:Mgcc-2*)
BUILDLINK_TRANSFORM+= rm:-Wno-unused-parameter
.endif
.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"
.include "../../lang/lua/application.mk"
.include "../../converters/libiconv/buildlink3.mk"
.include "../../devel/gettext-lib/buildlink3.mk"
.include "../../devel/libltdl/buildlink3.mk"
#.include "../../devel/libltdl/convenience.mk"
.include "../../devel/pango/buildlink3.mk"
.include "../../fonts/fontconfig/buildlink3.mk"
.include "../../graphics/cairo/buildlink3.mk"
.include "../../graphics/freetype2/buildlink3.mk"
.include "../../graphics/gts/buildlink3.mk"
.include "../../graphics/libwebp/buildlink3.mk"
.include "../../textproc/expat/buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"