summaryrefslogtreecommitdiff
path: root/graphics/graphviz/Makefile
blob: ccded35703c97c27d5b8e6f124d01ba520663c8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# $NetBSD: Makefile,v 1.249 2022/06/28 11:34:01 wiz Exp $

DISTNAME=	graphviz-2.50.0
PKGREVISION=	6
CATEGORIES=	graphics
MASTER_SITES=	https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/${PKGVERSION_NOREV}/
EXTRACT_SUFX=	.tar.gz

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"