4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
23 # Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
24 # Copyright 2023 Friedrich Kink
27 USE_PARALLEL_BUILD
= yes
28 include ..
/..
/..
/make-rules
/shared-macros.mk
30 COMPONENT_NAME
= graphviz
31 COMPONENT_VERSION
= 12.2.0
32 COMPONENT_DESCRIPTION
= The Graphviz layout programs take descriptions of graphs in a \
33 simple text language
, and make diagrams in useful formats
, such
as images and SVG \
34 for web pages
, PDF or PostScript for inclusion in other documents
; or display in an \
35 interactive graph browser. Graphviz has many useful features for concrete diagrams
, \
36 such
as options for colors
, fonts
, tabular node layouts
, line styles
, hyperlinks
, \
38 COMPONENT_SUMMARY
= Graph visualization software
39 COMPONENT_PROJECT_URL
= https
://www.graphviz.org
/
40 COMPONENT_SRC
= $(COMPONENT_NAME
)-$(COMPONENT_VERSION
)
41 COMPONENT_ARCHIVE
= $(COMPONENT_SRC
).
tar.xz
42 COMPONENT_ARCHIVE_HASH
= sha256
:66d4acc201536a378a28d5254deeec8cf3e98cc66d7e4cb1cbfa5fc620f86474
43 COMPONENT_ARCHIVE_URL
= https
://gitlab.com
/api
/v4
/projects
/4207231/packages
/generic
/graphviz-releases
/$(COMPONENT_VERSION
)/$(COMPONENT_ARCHIVE
)
44 COMPONENT_FMRI
= image
/graphviz
45 COMPONENT_CLASSIFICATION
= Applications
/System Utilities
46 COMPONENT_LICENSE
= EPL1.0
47 COMPONENT_LICENSE_FILE
= COPYING
49 # no usable tests available
50 TEST_TARGET
= $(NO_TESTS
)
51 include $(WS_MAKE_RULES
)/common.mk
58 COMPONENT_PREP_ACTION
= ( \
59 cd
$(@D
) && PATH
="$(PATH)" libtoolize
-cf
&& \
61 autoconf
-f
-I m4
&& \
63 automake
--add-missing
)
66 CONFIGURE_ENV
+= LIBPOSTFIX
="/$(MACH64)"
67 # --with-javaincludedir allows for only one directory and we need two
68 CONFIGURE_ENV
+= JAVA_INCLUDES
="-I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/solaris"
69 CONFIGURE_ENV
+= PERL
=$(PERL
)
70 CONFIGURE_ENV
+= PYTHON
=$(PYTHON
)
71 CONFIGURE_ENV
+= RUBY
=$(RUBY
)
72 CONFIGURE_ENV
+= RUBY_VER
=$(RUBY_VERSION
)
74 CONFIGURE_OPTIONS
+= --disable-dependency-tracking
75 CONFIGURE_OPTIONS
+= --disable-man-pdfs
76 CONFIGURE_OPTIONS
+= --disable-sharp
77 #CONFIGURE_OPTIONS += --disable-go
78 CONFIGURE_OPTIONS
+= --disable-ocaml
79 CONFIGURE_OPTIONS
+= --enable-php
80 CONFIGURE_OPTIONS
+= --disable-python
81 CONFIGURE_OPTIONS
+= --enable-python3
82 CONFIGURE_OPTIONS
+= --disable-r
83 CONFIGURE_OPTIONS
+= --enable-lefty
84 CONFIGURE_OPTIONS
+= --without-included-ltdl
85 CONFIGURE_OPTIONS
+= --without-devil
86 CONFIGURE_OPTIONS
+= --without-visio
87 CONFIGURE_OPTIONS
+= --without-lasi
88 CONFIGURE_OPTIONS
+= --without-gtkgl
89 CONFIGURE_OPTIONS
+= --without-gtkglext
90 CONFIGURE_OPTIONS
+= --without-ann
91 CONFIGURE_OPTIONS
+= --without-qt
92 CONFIGURE_OPTIONS
+= --without-smyrna
94 # fix java, lua, ocaml, python, ruby man pages
95 COMPONENT_POST_INSTALL_ACTION
+= \
96 cd
$(PROTOUSRSHAREMAN3DIR
) ; \
97 for e in java lua ocaml python ruby guile go php perl
; do \
98 for f in
*.3$$e ; do \
99 $(MV
) $$f $${f
%.3$$e}-$$e.3 ; \
104 COMPONENT_POST_INSTALL_ACTION
+= \
105 cd
$(PROTOUSRSHAREMAN3DIR
) ; \
106 $(RM
) -r ..
/man3tcl
; \
107 $(MKDIR
) ..
/man3tcl
; \
108 for f in
*.3tcl
; do \
109 $(MV
) $$f ..
/man3tcl
; \
110 $(SYMLINK
) ..
/man3tcl
/$$f $${f
%.3tcl
}-tcl
.3 ; \
113 # python vendor-packages
114 COMPONENT_POST_INSTALL_ACTION
+= \
115 cd
$(PROTOUSRLIBDIR
)/python
$(PYTHON_VERSION
) ; \
116 $(RM
) -r vendor-packages
; \
117 $(MV
) site-packages vendor-packages
;
119 # Install the plugin configuration service
120 COMPONENT_POST_INSTALL_ACTION
+= \
121 $(INSTALL
) -D
$(COMPONENT_DIR
)/files
/graphviz-configure-plugins
$(PROTOLIBDIR
)/svc
/method
/graphviz-configure-plugins
; \
122 $(INSTALL
) -D
$(COMPONENT_DIR
)/files
/graphviz-configure-plugins.xml
$(PROTOLIBDIR
)/svc
/manifest
/application
/graphviz
/configure-plugins.xml
;
124 # various build dependencies not detected automatically
125 REQUIRED_PACKAGES
+= runtime
/java
/openjdk17
126 #REQUIRED_PACKAGES += runtime/ocaml
127 REQUIRED_PACKAGES
+= runtime
/tcl-8
128 REQUIRED_PACKAGES
+= web
/php-82
129 REQUIRED_PACKAGES
+= developer
/golang
131 # Auto-generated dependencies
132 PERL_REQUIRED_PACKAGES
+= runtime
/perl
133 REQUIRED_PACKAGES
+= $(GCC_RUNTIME_PKG
)
134 REQUIRED_PACKAGES
+= $(GXX_RUNTIME_PKG
)
135 REQUIRED_PACKAGES
+= SUNWcs
136 REQUIRED_PACKAGES
+= image
/library
/librsvg
137 REQUIRED_PACKAGES
+= library
/desktop
/cairo
138 REQUIRED_PACKAGES
+= library
/desktop
/gdk-pixbuf
139 REQUIRED_PACKAGES
+= library
/desktop
/gtk3
140 REQUIRED_PACKAGES
+= library
/desktop
/pango
141 REQUIRED_PACKAGES
+= library
/expat
142 REQUIRED_PACKAGES
+= library
/gd
143 REQUIRED_PACKAGES
+= library
/glib2
144 REQUIRED_PACKAGES
+= library
/guile
145 REQUIRED_PACKAGES
+= library
/libpoppler
146 REQUIRED_PACKAGES
+= library
/libtool
/libltdl
147 REQUIRED_PACKAGES
+= library
/libwebp
148 REQUIRED_PACKAGES
+= library
/math
/gts
149 REQUIRED_PACKAGES
+= library
/zlib
150 REQUIRED_PACKAGES
+= print/filter/ghostscript
151 REQUIRED_PACKAGES
+= runtime
/lua
152 REQUIRED_PACKAGES
+= runtime
/ruby-32
153 REQUIRED_PACKAGES
+= shell/ksh93
154 REQUIRED_PACKAGES
+= system
/library
155 REQUIRED_PACKAGES
+= system
/library
/math
156 REQUIRED_PACKAGES
+= x11
/library
/libx11