18685168 graphviz should move to ruby 1.9 s11-update
authorDanek Duvall <danek.duvall@oracle.com>
Wed, 29 Apr 2015 16:36:59 -0700
branchs11-update
changeset 4227 35a4398c64cb
parent 4226 efcbdc9d6dd8
child 4228 52da6acd4360
18685168 graphviz should move to ruby 1.9
components/graphviz/Makefile
components/graphviz/graphviz-java.p5m
components/graphviz/graphviz-lua.p5m
components/graphviz/graphviz-ocaml.p5m
components/graphviz/graphviz-perl-512.p5m
components/graphviz/graphviz-php.p5m
components/graphviz/graphviz-python-26.p5m
components/graphviz/graphviz-python-27.p5m
components/graphviz/graphviz-ruby.p5m
components/graphviz/graphviz-sharp.p5m
components/graphviz/graphviz-tcl.p5m
components/graphviz/graphviz.p5m
components/graphviz/patches/install-lang-mods.patch
components/graphviz/patches/ruby-include.patch
make-rules/shared-macros.mk
--- a/components/graphviz/Makefile	Wed Apr 29 14:18:37 2015 -0700
+++ b/components/graphviz/Makefile	Wed Apr 29 16:36:59 2015 -0700
@@ -23,6 +23,7 @@
 # Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
 #
 
+PERL_VERSION =		5.12
 include ../../make-rules/shared-macros.mk
 
 COMPONENT_NAME=		graphviz
@@ -41,10 +42,10 @@
 include $(WS_MAKE_RULES)/configure.mk
 include $(WS_MAKE_RULES)/ips.mk
 
-PATH =		/usr/bin:/usr/gnu/bin:/usr/php/5.2/bin
+PATH =		/usr/php/5.3/bin:/usr/bin:/usr/gnu/bin
 
 # GMP header files for the guile extension (no --with- flag)
-# The guile build is broken with studio (7073649), so we disable this for now.
+# The guile build is broken with studio (15732452), so we disable this for now.
 # CPPFLAGS +=	-I/usr/include/gmp
 # Java header files (--with-javaincludedir allows for only one directory)
 CPPFLAGS +=	-I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/solaris
@@ -53,10 +54,11 @@
 CXX +=		$(studio_NORUNPATH)
 
 CONFIGURE_ENV +=	CPPFLAGS="$(CPPFLAGS)"
-CONFIGURE_ENV +=	PERL=$(PERL)
-# Explicitly use Ruby 1.8.  Allows switching Ruby default without
-# affecting graphviz build.
-CONFIGURE_ENV +=	RUBY=$(RUBY.1.8)
+CONFIGURE_ENV +=	CFLAGS="$(CFLAGS)"
+CONFIGURE_ENV +=	CXXFLAGS="$(CXXFLAGS)"
+# Make sure to use the right python, depending on the 32/64-bit build.
+CONFIGURE_ENV +=	PYTHON26=$(PYTHON.2.6)
+CONFIGURE_ENV +=	PYTHON27=$(PYTHON.2.7)
 CONFIGURE_OPTIONS +=	--without-included-ltdl
 CONFIGURE_OPTIONS +=	--enable-python=no
 CONFIGURE_OPTIONS +=	--enable-python26=yes
@@ -65,13 +67,35 @@
 
 COMPONENT_BUILD_ARGS += 	GREP=/usr/bin/ggrep
 
-# common targets
-build:		$(BUILD_32)
+# Ruby ships 64-bit only.
+$(CONFIGURE_32): CONFIGURE_OPTIONS +=	--enable-ruby=no
+$(CONFIGURE_64): CONFIGURE_ENV +=	RUBY=$(RUBY.1.9)
+# Lua, Perl and PHP ship 32-bit only.
+$(CONFIGURE_64): CONFIGURE_OPTIONS +=	--enable-lua=no
+$(INSTALL_32): COMPONENT_INSTALL_ARGS += LUA_INSTALL_DIR=/usr/lib/lua/5.1
+$(CONFIGURE_64): CONFIGURE_OPTIONS +=	--enable-php=no
+$(CONFIGURE_64): CONFIGURE_OPTIONS +=	--enable-perl=no
+$(CONFIGURE_32): CONFIGURE_ENV +=	PERL=$(PERL)
+$(INSTALL_64): COMPONENT_INSTALL_ARGS += PHP_INSTALL_DIR=$(shell PATH=$(PATH) php-config --extension-dir)
+# tcl ships both 32 and 64 bit, but even though /usr/bin/tclsh is 64-bit, there
+# is no place to stick 64-bit modules, so skip it.  On the other hand, make
+# sure to find the right tcl bits when building 32-bit.
+$(CONFIGURE_64): CONFIGURE_OPTIONS +=	--enable-tcl=no
+$(CONFIGURE_32): CONFIGURE_OPTIONS +=	--with-tclsh=/usr/bin/$(MACH32)/tclsh
+$(CONFIGURE_32): CONFIGURE_ENV += 	TCLCONFIG=/usr/lib/tclConfig.sh
+# Use GNU ln, which supports the -r (--relative) option.
+COMPONENT_INSTALL_ARGS += LN_S="gln -s"
 
-install:	$(INSTALL_32)
+ASLR_MODE = $(ASLR_ENABLE)
+
+# We build 32 and 64 bit because we build libraries, and we build modules for
+# runtimes which provide 64 or 32 (or both) bit environments.
+build:		$(BUILD_32_and_64)
+
+install:	$(INSTALL_32_and_64)
 	env LD_LIBRARY_PATH=$(PROTO_DIR)/usr/lib GVBINDIR=$(PROTO_DIR)/usr/lib/graphviz $(PROTO_DIR)/usr/bin/dot -c
-	$(PYTHON.2.6.32) -m compileall $(PROTO_DIR)/usr/lib/graphviz/python26
-	$(PYTHON.2.7.32) -m compileall $(PROTO_DIR)/usr/lib/graphviz/python27
+	$(PYTHON.2.6.32) -m compileall $(PROTO_DIR)/$(PYTHON.2.6.VENDOR_PACKAGES)
+	$(PYTHON.2.7.32) -m compileall $(PROTO_DIR)/$(PYTHON.2.7.VENDOR_PACKAGES)
 
 # The test infrastructure doesn't run in a VPATHed environment.
 COMPONENT_PRE_TEST_ACTION = \
@@ -97,7 +121,7 @@
 REQUIRED_PACKAGES += print/filter/ghostscript
 REQUIRED_PACKAGES += runtime/lua
 REQUIRED_PACKAGES += runtime/perl-512
-REQUIRED_PACKAGES += runtime/ruby-18
+REQUIRED_PACKAGES += runtime/ruby-19
 REQUIRED_PACKAGES += runtime/tk-8
 REQUIRED_PACKAGES += shell/ksh93
 REQUIRED_PACKAGES += system/library
--- a/components/graphviz/graphviz-java.p5m	Wed Apr 29 14:18:37 2015 -0700
+++ b/components/graphviz/graphviz-java.p5m	Wed Apr 29 16:36:59 2015 -0700
@@ -33,7 +33,6 @@
 set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
 set name=org.opensolaris.arc-caseid value=PSARC/2011/269
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-dir  path=usr/lib/graphviz/java
 file path=usr/lib/graphviz/java/SWIGTYPE_p_Agedge_t.java
 file path=usr/lib/graphviz/java/SWIGTYPE_p_Agnode_t.java
 file path=usr/lib/graphviz/java/SWIGTYPE_p_Agraph_t.java
--- a/components/graphviz/graphviz-lua.p5m	Wed Apr 29 14:18:37 2015 -0700
+++ b/components/graphviz/graphviz-lua.p5m	Wed Apr 29 16:36:59 2015 -0700
@@ -33,11 +33,9 @@
 set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
 set name=org.opensolaris.arc-caseid value=PSARC/2011/269
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-dir  path=usr/lib/graphviz/lua
 link path=usr/lib/graphviz/lua/gv.so target=libgv_lua.so
 file path=usr/lib/graphviz/lua/libgv_lua.so
-link path=usr/lib/lua/gv.so target=../graphviz/lua/libgv_lua.so
-dir  path=usr/share/graphviz/demo
+link path=usr/lib/lua/5.1/gv.so target=../../graphviz/lua/libgv_lua.so
 file path=usr/share/graphviz/demo/modgraph.lua
 file usr/share/man/man3/gv.3lua path=usr/share/man/man3/gv-lua.3
 license COPYING license=EPL1.0
--- a/components/graphviz/graphviz-ocaml.p5m	Wed Apr 29 14:18:37 2015 -0700
+++ b/components/graphviz/graphviz-ocaml.p5m	Wed Apr 29 16:36:59 2015 -0700
@@ -33,7 +33,6 @@
 set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
 set name=org.opensolaris.arc-caseid value=PSARC/2011/269
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-dir  path=usr/lib/graphviz/ocaml
 file path=usr/lib/graphviz/ocaml/META.gv
 file path=usr/lib/graphviz/ocaml/gv.a
 file path=usr/lib/graphviz/ocaml/gv.cma
--- a/components/graphviz/graphviz-perl-512.p5m	Wed Apr 29 14:18:37 2015 -0700
+++ b/components/graphviz/graphviz-perl-512.p5m	Wed Apr 29 16:36:59 2015 -0700
@@ -33,7 +33,6 @@
 set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
 set name=org.opensolaris.arc-caseid value=PSARC/2011/269
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-dir  path=usr/lib/graphviz/perl
 file path=usr/lib/graphviz/perl/gv.pm
 link path=usr/lib/graphviz/perl/gv.so target=libgv_perl.so
 file path=usr/lib/graphviz/perl/libgv_perl.so
@@ -41,7 +40,6 @@
     target=../../../../lib/graphviz/perl/gv.pm
 link path=usr/perl5/vendor_perl/5.12/$(PERL_ARCH)/gv.so \
     target=../../../../lib/graphviz/perl/libgv_perl.so
-dir  path=usr/share/graphviz/demo
 file path=usr/share/graphviz/demo/modgraph.pl
 file usr/share/man/man3/gv.3perl path=usr/share/man/man3/gv-perl.3
 license COPYING license=EPL1.0
--- a/components/graphviz/graphviz-php.p5m	Wed Apr 29 14:18:37 2015 -0700
+++ b/components/graphviz/graphviz-php.p5m	Wed Apr 29 16:36:59 2015 -0700
@@ -33,20 +33,15 @@
 set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
 set name=org.opensolaris.arc-caseid value=PSARC/2011/269
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-file gv.ini path=etc/php/5.2/conf.d/gv.ini
-dir  path=usr/lib/graphviz/php
+file gv.ini path=etc/php/5.3/conf.d/gv.ini
 file path=usr/lib/graphviz/php/gv.php
 link path=usr/lib/graphviz/php/gv.so target=libgv_php.so
 file path=usr/lib/graphviz/php/libgv_php.so
-# These should go in /var/php, but PHP doesn't seem to be able to pick up
-# a second directory configured in extension_dir.
-link path=usr/php/5.2/include/php/include/gv.php \
-    target=../../../../../lib/graphviz/php/gv.php
-link path=usr/php/5.2/modules/gv.so \
+link path=usr/php/5.3/modules/gv.so \
     target=../../../lib/graphviz/php/libgv_php.so
-dir  path=usr/share/graphviz/demo
 file path=usr/share/graphviz/demo/modgraph.php
 file usr/share/man/man3/gv.3php path=usr/share/man/man3/gv-php.3
+link path=var/php/5.3/pear/gv.php target=../../../../usr/lib/graphviz/php/gv.php
 license COPYING license=EPL1.0
 license graphviz.license.extra license="Other Notices"
-depend type=require fmri=web/php-52
+depend type=require fmri=web/php-53
--- a/components/graphviz/graphviz-python-26.p5m	Wed Apr 29 14:18:37 2015 -0700
+++ b/components/graphviz/graphviz-python-26.p5m	Wed Apr 29 16:36:59 2015 -0700
@@ -35,14 +35,18 @@
 set name=org.opensolaris.arc-caseid value=PSARC/2011/269
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
 #
-dir  path=usr/lib/graphviz/python26
+link path=usr/lib/$(MACH64)/graphviz/python26/_gv.so target=libgv_python26.so
+file path=usr/lib/$(MACH64)/graphviz/python26/libgv_python26.so
 link path=usr/lib/graphviz/python26/_gv.so target=libgv_python26.so
-file path=usr/lib/graphviz/python26/gv.py
+file path=usr/lib/graphviz/python26/gv.py pkg.tmp.autopyc=false
 file path=usr/lib/graphviz/python26/libgv_python26.so
+link path=usr/lib/python2.6/vendor-packages/64/_gv.so \
+    target=../../../$(MACH64)/graphviz/python26/libgv_python26.so
 link path=usr/lib/python2.6/vendor-packages/_gv.so \
     target=../../graphviz/python26/libgv_python26.so
 link path=usr/lib/python2.6/vendor-packages/gv.py \
     target=../../graphviz/python26/gv.py
+file path=usr/lib/python2.6/vendor-packages/gv.pyc
 file usr/share/man/man3/gv.3python path=usr/share/man/man3/gv-python.3
 #
 license COPYING license=EPL1.0
--- a/components/graphviz/graphviz-python-27.p5m	Wed Apr 29 14:18:37 2015 -0700
+++ b/components/graphviz/graphviz-python-27.p5m	Wed Apr 29 16:36:59 2015 -0700
@@ -34,14 +34,18 @@
 set name=org.opensolaris.arc-caseid value=PSARC/2011/269
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
 #
-dir  path=usr/lib/graphviz/python27
+link path=usr/lib/$(MACH64)/graphviz/python27/_gv.so target=libgv_python27.so
+file path=usr/lib/$(MACH64)/graphviz/python27/libgv_python27.so
 link path=usr/lib/graphviz/python27/_gv.so target=libgv_python27.so
-file path=usr/lib/graphviz/python27/gv.py
+file path=usr/lib/graphviz/python27/gv.py pkg.tmp.autopyc=false
 file path=usr/lib/graphviz/python27/libgv_python27.so
+link path=usr/lib/python2.7/vendor-packages/64/_gv.so \
+    target=../../../$(MACH64)/graphviz/python27/libgv_python27.so
 link path=usr/lib/python2.7/vendor-packages/_gv.so \
     target=../../graphviz/python27/libgv_python27.so
 link path=usr/lib/python2.7/vendor-packages/gv.py \
     target=../../graphviz/python27/gv.py
+file path=usr/lib/python2.7/vendor-packages/gv.pyc
 #
 license COPYING license=EPL1.0
 license graphviz.license.extra license="Other Notices"
--- a/components/graphviz/graphviz-ruby.p5m	Wed Apr 29 14:18:37 2015 -0700
+++ b/components/graphviz/graphviz-ruby.p5m	Wed Apr 29 16:36:59 2015 -0700
@@ -33,12 +33,11 @@
 set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
 set name=org.opensolaris.arc-caseid value=PSARC/2011/269
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-dir  path=usr/lib/graphviz/ruby
-link path=usr/lib/graphviz/ruby/gv.so target=libgv_ruby.so
-file path=usr/lib/graphviz/ruby/libgv_ruby.so
-link path=usr/ruby/1.8/lib/ruby/vendor_ruby/1.8/$(MACH)-solaris2.11/gv.so \
-    target=../../../../../../../lib/graphviz/ruby/libgv_ruby.so
-dir  path=usr/share/graphviz/demo
+link path=usr/lib/$(MACH64)/graphviz/ruby/gv.so target=libgv_ruby.so
+file path=usr/lib/$(MACH64)/graphviz/ruby/libgv_ruby.so
+link \
+    path=usr/ruby/1.9/lib/ruby/vendor_ruby/1.9.1/$(MACH64)-solaris$(SOLARIS_VERSION)/gv.so \
+    target=../../../../../../../lib/$(MACH64)/graphviz/ruby/libgv_ruby.so
 file path=usr/share/graphviz/demo/modgraph.rb
 file usr/share/man/man3/gv.3ruby path=usr/share/man/man3/gv-ruby.3
 license COPYING license=EPL1.0
--- a/components/graphviz/graphviz-sharp.p5m	Wed Apr 29 14:18:37 2015 -0700
+++ b/components/graphviz/graphviz-sharp.p5m	Wed Apr 29 16:36:59 2015 -0700
@@ -33,7 +33,6 @@
 set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
 set name=org.opensolaris.arc-caseid value=PSARC/2011/269
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-dir  path=usr/lib/graphviz/sharp
 file path=usr/lib/graphviz/sharp/SWIGTYPE_p_Agedge_t.cs
 file path=usr/lib/graphviz/sharp/SWIGTYPE_p_Agnode_t.cs
 file path=usr/lib/graphviz/sharp/SWIGTYPE_p_Agraph_t.cs
--- a/components/graphviz/graphviz-tcl.p5m	Wed Apr 29 14:18:37 2015 -0700
+++ b/components/graphviz/graphviz-tcl.p5m	Wed Apr 29 16:36:59 2015 -0700
@@ -33,7 +33,6 @@
 set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
 set name=org.opensolaris.arc-caseid value=PSARC/2011/269
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-dir  path=usr/lib/graphviz/tcl
 link path=usr/lib/graphviz/tcl/libgdtclft.so target=libgdtclft.so.0.0.0
 link path=usr/lib/graphviz/tcl/libgdtclft.so.0 target=libgdtclft.so.0.0.0
 file path=usr/lib/graphviz/tcl/libgdtclft.so.0.0.0
@@ -54,7 +53,6 @@
 file path=usr/lib/graphviz/tcl/libtkspline.so.0.0.0
 file path=usr/lib/graphviz/tcl/pkgIndex.tcl
 link path=usr/lib/tcl8.5/graphviz target=../graphviz/tcl
-dir  path=usr/share/graphviz/demo
 file path=usr/share/graphviz/demo/doted.tcl
 file path=usr/share/graphviz/demo/doted.tcl.README
 file path=usr/share/graphviz/demo/entities.tcl
@@ -65,7 +63,6 @@
 file path=usr/share/graphviz/demo/modgraph.tcl
 file path=usr/share/graphviz/demo/pathplan.tcl
 file path=usr/share/graphviz/demo/pathplan.tcl.README
-dir  path=usr/share/graphviz/demo/pathplan_data
 file path=usr/share/graphviz/demo/pathplan_data/boxes.dat
 file path=usr/share/graphviz/demo/pathplan_data/dpd.dat
 file path=usr/share/graphviz/demo/pathplan_data/funny.dat
--- a/components/graphviz/graphviz.p5m	Wed Apr 29 14:18:37 2015 -0700
+++ b/components/graphviz/graphviz.p5m	Wed Apr 29 16:36:59 2015 -0700
@@ -22,6 +22,7 @@
 #
 
 <transform file path=usr.*/man/.+ -> default mangler.man.stability volatile>
+<transform file path=usr/bin/(.+) -> set action.hash usr/bin/$(MACH64)/%<1>>
 set name=pkg.fmri \
     value=pkg:/image/[email protected]$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary value="Graph visualization software"
@@ -72,7 +73,6 @@
 link path=usr/bin/twopi target=dot
 file path=usr/bin/unflatten
 file path=usr/bin/vimdot
-dir  path=usr/include/graphviz
 file path=usr/include/graphviz/arith.h
 file path=usr/include/graphviz/cdt.h
 file path=usr/include/graphviz/cgraph.h
@@ -101,7 +101,85 @@
 file path=usr/include/graphviz/types.h
 file path=usr/include/graphviz/usershape.h
 file path=usr/include/graphviz/xdot.h
-dir  path=usr/lib/graphviz
+link path=usr/lib/$(MACH64)/graphviz/config6 target=../../graphviz/config6
+link path=usr/lib/$(MACH64)/graphviz/libgvplugin_core.so \
+    target=libgvplugin_core.so.6.0.0
+link path=usr/lib/$(MACH64)/graphviz/libgvplugin_core.so.6 \
+    target=libgvplugin_core.so.6.0.0
+file path=usr/lib/$(MACH64)/graphviz/libgvplugin_core.so.6.0.0
+link path=usr/lib/$(MACH64)/graphviz/libgvplugin_dot_layout.so \
+    target=libgvplugin_dot_layout.so.6.0.0
+link path=usr/lib/$(MACH64)/graphviz/libgvplugin_dot_layout.so.6 \
+    target=libgvplugin_dot_layout.so.6.0.0
+file path=usr/lib/$(MACH64)/graphviz/libgvplugin_dot_layout.so.6.0.0
+link path=usr/lib/$(MACH64)/graphviz/libgvplugin_gd.so \
+    target=libgvplugin_gd.so.6.0.0
+link path=usr/lib/$(MACH64)/graphviz/libgvplugin_gd.so.6 \
+    target=libgvplugin_gd.so.6.0.0
+file path=usr/lib/$(MACH64)/graphviz/libgvplugin_gd.so.6.0.0
+link path=usr/lib/$(MACH64)/graphviz/libgvplugin_gdk_pixbuf.so \
+    target=libgvplugin_gdk_pixbuf.so.6.0.0
+link path=usr/lib/$(MACH64)/graphviz/libgvplugin_gdk_pixbuf.so.6 \
+    target=libgvplugin_gdk_pixbuf.so.6.0.0
+file path=usr/lib/$(MACH64)/graphviz/libgvplugin_gdk_pixbuf.so.6.0.0
+link path=usr/lib/$(MACH64)/graphviz/libgvplugin_gs.so \
+    target=libgvplugin_gs.so.6.0.0
+link path=usr/lib/$(MACH64)/graphviz/libgvplugin_gs.so.6 \
+    target=libgvplugin_gs.so.6.0.0
+file path=usr/lib/$(MACH64)/graphviz/libgvplugin_gs.so.6.0.0
+link path=usr/lib/$(MACH64)/graphviz/libgvplugin_gtk.so \
+    target=libgvplugin_gtk.so.6.0.0
+link path=usr/lib/$(MACH64)/graphviz/libgvplugin_gtk.so.6 \
+    target=libgvplugin_gtk.so.6.0.0
+file path=usr/lib/$(MACH64)/graphviz/libgvplugin_gtk.so.6.0.0
+link path=usr/lib/$(MACH64)/graphviz/libgvplugin_neato_layout.so \
+    target=libgvplugin_neato_layout.so.6.0.0
+link path=usr/lib/$(MACH64)/graphviz/libgvplugin_neato_layout.so.6 \
+    target=libgvplugin_neato_layout.so.6.0.0
+file path=usr/lib/$(MACH64)/graphviz/libgvplugin_neato_layout.so.6.0.0
+link path=usr/lib/$(MACH64)/graphviz/libgvplugin_pango.so \
+    target=libgvplugin_pango.so.6.0.0
+link path=usr/lib/$(MACH64)/graphviz/libgvplugin_pango.so.6 \
+    target=libgvplugin_pango.so.6.0.0
+file path=usr/lib/$(MACH64)/graphviz/libgvplugin_pango.so.6.0.0
+link path=usr/lib/$(MACH64)/graphviz/libgvplugin_rsvg.so \
+    target=libgvplugin_rsvg.so.6.0.0
+link path=usr/lib/$(MACH64)/graphviz/libgvplugin_rsvg.so.6 \
+    target=libgvplugin_rsvg.so.6.0.0
+file path=usr/lib/$(MACH64)/graphviz/libgvplugin_rsvg.so.6.0.0
+link path=usr/lib/$(MACH64)/graphviz/libgvplugin_xlib.so \
+    target=libgvplugin_xlib.so.6.0.0
+link path=usr/lib/$(MACH64)/graphviz/libgvplugin_xlib.so.6 \
+    target=libgvplugin_xlib.so.6.0.0
+file path=usr/lib/$(MACH64)/graphviz/libgvplugin_xlib.so.6.0.0
+link path=usr/lib/$(MACH64)/libcdt.so target=libcdt.so.5.0.0
+link path=usr/lib/$(MACH64)/libcdt.so.5 target=libcdt.so.5.0.0
+file path=usr/lib/$(MACH64)/libcdt.so.5.0.0
+link path=usr/lib/$(MACH64)/libcgraph.so target=libcgraph.so.6.0.0
+link path=usr/lib/$(MACH64)/libcgraph.so.6 target=libcgraph.so.6.0.0
+file path=usr/lib/$(MACH64)/libcgraph.so.6.0.0
+link path=usr/lib/$(MACH64)/libgraph.so target=libgraph.so.5.0.0
+link path=usr/lib/$(MACH64)/libgraph.so.5 target=libgraph.so.5.0.0
+file path=usr/lib/$(MACH64)/libgraph.so.5.0.0
+link path=usr/lib/$(MACH64)/libgvc.so target=libgvc.so.6.0.0
+link path=usr/lib/$(MACH64)/libgvc.so.6 target=libgvc.so.6.0.0
+file path=usr/lib/$(MACH64)/libgvc.so.6.0.0
+link path=usr/lib/$(MACH64)/libgvpr.so target=libgvpr.so.2.0.0
+link path=usr/lib/$(MACH64)/libgvpr.so.2 target=libgvpr.so.2.0.0
+file path=usr/lib/$(MACH64)/libgvpr.so.2.0.0
+link path=usr/lib/$(MACH64)/libpathplan.so target=libpathplan.so.4.0.0
+link path=usr/lib/$(MACH64)/libpathplan.so.4 target=libpathplan.so.4.0.0
+file path=usr/lib/$(MACH64)/libpathplan.so.4.0.0
+link path=usr/lib/$(MACH64)/libxdot.so target=libxdot.so.4.0.0
+link path=usr/lib/$(MACH64)/libxdot.so.4 target=libxdot.so.4.0.0
+file path=usr/lib/$(MACH64)/libxdot.so.4.0.0
+file path=usr/lib/$(MACH64)/pkgconfig/libcdt.pc
+file path=usr/lib/$(MACH64)/pkgconfig/libcgraph.pc
+file path=usr/lib/$(MACH64)/pkgconfig/libgraph.pc
+file path=usr/lib/$(MACH64)/pkgconfig/libgvc.pc
+file path=usr/lib/$(MACH64)/pkgconfig/libgvpr.pc
+file path=usr/lib/$(MACH64)/pkgconfig/libpathplan.pc
+file path=usr/lib/$(MACH64)/pkgconfig/libxdot.pc
 file path=usr/lib/graphviz/config6
 link path=usr/lib/graphviz/libgvplugin_core.so target=libgvplugin_core.so.6.0.0
 link path=usr/lib/graphviz/libgvplugin_core.so.6 \
@@ -172,8 +250,6 @@
 file path=usr/lib/pkgconfig/libgvpr.pc
 file path=usr/lib/pkgconfig/libpathplan.pc
 file path=usr/lib/pkgconfig/libxdot.pc
-dir  path=usr/share/graphviz
-dir  path=usr/share/graphviz/doc
 file path=usr/share/graphviz/doc/AUTHORS
 file path=usr/share/graphviz/doc/COPYING
 file path=usr/share/graphviz/doc/ChangeLog
@@ -182,13 +258,11 @@
 file path=usr/share/graphviz/doc/addingLayout.txt
 file path=usr/share/graphviz/doc/cpl1.0.txt
 file path=usr/share/graphviz/doc/fontfaq.txt
-dir  path=usr/share/graphviz/doc/html
 file path=usr/share/graphviz/doc/html/FAQ.html
 file path=usr/share/graphviz/doc/html/Gdtclft2.2.5.example.png
 file path=usr/share/graphviz/doc/html/build.html
 file path=usr/share/graphviz/doc/html/char.html
 file path=usr/share/graphviz/doc/html/index.html
-dir  path=usr/share/graphviz/doc/html/info
 file path=usr/share/graphviz/doc/html/info/Mcircle.gif
 file path=usr/share/graphviz/doc/html/info/Mdiamond.gif
 file path=usr/share/graphviz/doc/html/info/Msquare.gif
@@ -310,7 +384,6 @@
 file path=usr/share/graphviz/doc/html/info/triangle.gif
 file path=usr/share/graphviz/doc/html/info/tripleoctagon.gif
 file path=usr/share/graphviz/doc/html/pspdf.png
-dir  path=usr/share/graphviz/doc/html/schema
 file path=usr/share/graphviz/doc/html/schema/arguments.xml
 file path=usr/share/graphviz/doc/html/schema/attributes.xml
 file path=usr/share/graphviz/doc/html/schema/attributes.xslt
@@ -318,9 +391,6 @@
 file path=usr/share/graphviz/doc/html/todo.html
 file path=usr/share/graphviz/doc/html/winbuild.html
 file path=usr/share/graphviz/doc/latex_suggestions.txt
-dir  path=usr/share/graphviz/examples
-dir  path=usr/share/graphviz/graphs
-dir  path=usr/share/graphviz/graphs/directed
 file path=usr/share/graphviz/graphs/directed/KW91.gv
 file path=usr/share/graphviz/graphs/directed/Latin1.gv
 file path=usr/share/graphviz/graphs/directed/NaN.gv
@@ -375,14 +445,11 @@
 file path=usr/share/graphviz/graphs/directed/unix2.gv
 file path=usr/share/graphviz/graphs/directed/viewfile.gv
 file path=usr/share/graphviz/graphs/directed/world.gv
-dir  path=usr/share/graphviz/graphs/undirected
 file path=usr/share/graphviz/graphs/undirected/ER.gv
 file path=usr/share/graphviz/graphs/undirected/Heawood.gv
 file path=usr/share/graphviz/graphs/undirected/Petersen.gv
 file path=usr/share/graphviz/graphs/undirected/ngk10_4.gv
 file path=usr/share/graphviz/graphs/undirected/process.gv
-dir  path=usr/share/graphviz/gvedit
-dir  path=usr/share/graphviz/lefty
 file path=usr/share/graphviz/lefty/box.lefty
 file path=usr/share/graphviz/lefty/def.lefty
 file path=usr/share/graphviz/lefty/dotty.lefty
@@ -395,7 +462,6 @@
 file path=usr/share/graphviz/lefty/lefty.psp
 file path=usr/share/graphviz/lefty/slides.lefty
 file path=usr/share/graphviz/lefty/tree.lefty
-dir  path=usr/share/graphviz/smyrna
 file path=usr/share/man/man1/acyclic.1
 file path=usr/share/man/man1/bcomps.1
 file path=usr/share/man/man1/ccomps.1
@@ -457,11 +523,11 @@
     fmri=image/graphviz/[email protected]$(IPS_COMPONENT_VERSION) \
     predicate=runtime/ocaml
 depend type=conditional \
-    fmri=image/graphviz/[email protected]$(IPS_COMPONENT_VERSION) \
-    predicate=runtime/perl-512
+    fmri=image/graphviz/[email protected]$(IPS_COMPONENT_VERSION) \
+    predicate=runtime/perl-516
 depend type=conditional \
     fmri=image/graphviz/[email protected]$(IPS_COMPONENT_VERSION) \
-    predicate=web/php-52
+    predicate=web/php-53
 depend type=conditional \
     fmri=image/graphviz/[email protected]$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
     predicate=runtime/python-26
@@ -470,7 +536,7 @@
     predicate=runtime/python-27
 depend type=conditional \
     fmri=image/graphviz/[email protected]$(IPS_COMPONENT_VERSION) \
-    predicate=runtime/ruby-18
+    predicate=runtime/ruby-19
 depend type=conditional \
     fmri=image/graphviz/[email protected]$(IPS_COMPONENT_VERSION) \
     predicate=runtime/tcl-8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/graphviz/patches/install-lang-mods.patch	Wed Apr 29 16:36:59 2015 -0700
@@ -0,0 +1,168 @@
+Allow language modules to be installed in the right place.
+
+For Python, ensure the use of the vendor-packages directory, as well as the
+use of a 64-bit-specific directory, as needed.
+
+For Lua, the appropriate variable will need to be set during installation,
+since there's no corresponding config_lua.lua file.
+
+This is an in-house patch, but has not been passed upstream because it's
+against a version of graphviz that is out of date; submission will be
+reconsidered when we upgrade.  Note that at least the Python portion is
+Solaris-specific, and likely will not be accepted.
+
+--- graphviz-2.28.0/config/config_python.py	Sat Mar 26 10:49:00 2005
++++ graphviz-2.28.0/config/config_python.py	Mon Jun 30 14:38:34 2014
[email protected]@ -1,12 +1,20 @@
+ import sys
++import struct
+ from distutils import sysconfig
+ 
++if struct.calcsize('P') == 8:
++    sixtyfour = "/64"
++else:
++    sixtyfour = ""
++
++pyver = ".".join(str(i) for i in sys.version_info[:2])
++
+ if sys.argv[1] == "archlib":
+-    print sysconfig.get_python_lib(1,1)
++    print sysconfig.get_python_lib(1,1) + sixtyfour
+ elif sys.argv[1] == "lib":
+     print sysconfig.get_python_lib(0,1)
+ elif sys.argv[1] == "archsitelib":
+-    print sysconfig.get_python_lib(1,0)
++    print "/usr/lib/python%s/vendor-packages%s" % (pyver, sixtyfour)
+ elif sys.argv[1] == "sitelib":
+     print sysconfig.get_python_lib(0,0)
+ 
+--- graphviz-2.28.0/tclpkg/Makefile.in	Fri May  6 20:27:53 2011
++++ graphviz-2.28.0/tclpkg/Makefile.in	Mon Jun 30 15:30:49 2014
[email protected]@ -878,10 +878,10 @@
+ #    ./configure --prefix=$HOME/graphviz; make; make install
+ # without root priviledges.
+ install-data-hook:
[email protected][email protected]	-mkdir -p $(DESTDIR)@[email protected];
[email protected][email protected]	if test -w $(DESTDIR)@[email protected]; then \
[email protected][email protected]		(cd $(DESTDIR)@[email protected]; \
[email protected][email protected]			$(LN_S) -f $(pkgluadir)/libgv_lua.so gv.so;) \
[email protected][email protected]	-mkdir -p $(DESTDIR)$(LUA_INSTALL_DIR);
[email protected][email protected]	if test -w $(DESTDIR)$(LUA_INSTALL_DIR); then \
[email protected][email protected]		(cd $(DESTDIR)$(LUA_INSTALL_DIR); \
[email protected][email protected]			$(LN_S) -r -f $(DESTDIR)/$(pkgluadir)/libgv_lua.so gv.so;) \
+ @[email protected]	else \
+ @[email protected]		echo "Warning: @[email protected] is not writable."; \
+ @[email protected]		echo "Skipping system installation of lua binding."; \
[email protected]@ -889,8 +889,8 @@
+ @[email protected]	-mkdir -p $(DESTDIR)@[email protected];
+ @[email protected]	if test -w $(DESTDIR)@[email protected]; then \
+ @[email protected]		(cd $(DESTDIR)@[email protected]; \
[email protected][email protected]			$(LN_S) -f $(pkgperldir)/libgv_perl.so gv.so; \
[email protected][email protected]			$(LN_S) -f $(pkgperldir)/gv.pm gv.pm;) \
[email protected][email protected]			$(LN_S) -r -f $(DESTDIR)/$(pkgperldir)/libgv_perl.so gv.so; \
[email protected][email protected]			$(LN_S) -r -f $(DESTDIR)/$(pkgperldir)/gv.pm gv.pm;) \
+ @[email protected]	else \
+ @[email protected]		echo "Warning: @[email protected] is not writable."; \
+ @[email protected]		echo "Skipping system installation of perl binding."; \
[email protected]@ -898,7 +898,7 @@
+ @[email protected]	-mkdir -p $(DESTDIR)@[email protected];
+ @[email protected]	if test -w $(DESTDIR)@[email protected]; then \
+ @[email protected]		(cd $(DESTDIR)@[email protected]; \
[email protected][email protected]			$(LN_S) -f $(pkgphpdir)/libgv_php.so gv.so;) \
[email protected][email protected]			$(LN_S) -r -f $(DESTDIR)/$(pkgphpdir)/libgv_php.so gv.so;) \
+ @[email protected]	else \
+ @[email protected]		echo "Warning: @[email protected] is not writable."; \
+ @[email protected]		echo "Skipping system installation of php binding."; \
[email protected]@ -906,7 +906,7 @@
+ @[email protected]	-mkdir -p $(DESTDIR)@[email protected];
+ @[email protected]	if test -w $(DESTDIR)@[email protected]; then \
+ @[email protected]		(cd $(DESTDIR)@[email protected]; \
[email protected][email protected]			$(LN_S) -f $(pkgphpdir)/gv.php gv.php;) \
[email protected][email protected]			$(LN_S) -r -f $(DESTDIR)/$(pkgphpdir)/gv.php gv.php;) \
+ @[email protected]	else \
+ @[email protected]		echo "Warning: @[email protected] is not writable."; \
+ @[email protected]		echo "Skipping system installation of php binding."; \
[email protected]@ -914,8 +914,8 @@
+ @[email protected]	-mkdir -p $(DESTDIR)@[email protected];
+ @[email protected]	if test -w $(DESTDIR)@[email protected]; then \
+ @[email protected]		(cd $(DESTDIR)@[email protected]; \
[email protected][email protected]			$(LN_S) -f $(pkgpythondir)/libgv_python.so _gv.so; \
[email protected][email protected]			$(LN_S) -f $(pkgpythondir)/gv.py gv.py;) \
[email protected][email protected]			$(LN_S) -r -f $(DESTDIR)/$(pkgpythondir)/libgv_python.so _gv.so; \
[email protected][email protected]			$(LN_S) -r -f $(DESTDIR)/$(pkgpythondir)/gv.py gv.py;) \
+ @[email protected]	else \
+ @[email protected]		echo "Warning: @[email protected] is not writable."; \
+ @[email protected]		echo "Skipping system installation of python binding."; \
[email protected]@ -923,8 +923,8 @@
+ @[email protected]	-mkdir -p $(DESTDIR)@[email protected];
+ @[email protected]	if test -w $(DESTDIR)@[email protected]; then \
+ @[email protected]		(cd $(DESTDIR)@[email protected]; \
[email protected][email protected]			$(LN_S) -f $(pkgpython23dir)/libgv_python23.so _gv.so; \
[email protected][email protected]			$(LN_S) -f $(pkgpython23dir)/gv.py gv.py;) \
[email protected][email protected]			$(LN_S) -r -f $(DESTDIR)/$(pkgpython23dir)/libgv_python23.so _gv.so; \
[email protected][email protected]			$(LN_S) -r -f $(DESTDIR)/$(pkgpython23dir)/gv.py gv.py;) \
+ @[email protected]	else \
+ @[email protected]		echo "Warning: @[email protected] is not writable."; \
+ @[email protected]		echo "Skipping system installation of python23 binding."; \
[email protected]@ -932,8 +932,8 @@
+ @[email protected]	-mkdir -p $(DESTDIR)@[email protected];
+ @[email protected]	if test -w $(DESTDIR)@[email protected]; then \
+ @[email protected]		(cd $(DESTDIR)@[email protected]; \
[email protected][email protected]			$(LN_S) -f $(pkgpython24dir)/libgv_python24.so _gv.so; \
[email protected][email protected]			$(LN_S) -f $(pkgpython24dir)/gv.py gv.py;) \
[email protected][email protected]			$(LN_S) -r -f $(DESTDIR)/$(pkgpython24dir)/libgv_python24.so _gv.so; \
[email protected][email protected]			$(LN_S) -r -f $(DESTDIR)/$(pkgpython24dir)/gv.py gv.py;) \
+ @[email protected]	else \
+ @[email protected]		echo "Warning: @[email protected] is not writable."; \
+ @[email protected]		echo "Skipping system installation of python24 binding."; \
[email protected]@ -941,8 +941,8 @@
+ @[email protected]	-mkdir -p $(DESTDIR)@[email protected];
+ @[email protected]	if test -w $(DESTDIR)@PYTH[email protected]; then \
+ @[email protected]		(cd $(DESTDIR)@[email protected]; \
[email protected][email protected]			$(LN_S) -f $(pkgpython25dir)/libgv_python25.so _gv.so; \
[email protected][email protected]			$(LN_S) -f $(pkgpython25dir)/gv.py gv.py;) \
[email protected][email protected]			$(LN_S) -r -f $(DESTDIR)/$(pkgpython25dir)/libgv_python25.so _gv.so; \
[email protected][email protected]			$(LN_S) -r -f $(DESTDIR)/$(pkgpython25dir)/gv.py gv.py;) \
+ @[email protected]	else \
+ @[email protected]		echo "Warning: @[email protected] is not writable."; \
+ @[email protected]		echo "Skipping system installation of python25 binding."; \
[email protected]@ -950,8 +950,8 @@
+ @[email protected]	-mkdir -p $(DESTDIR)@[email protected];
+ @[email protected]	if test -w $(DESTDIR)@[email protected]; then \
+ @[email protected]		(cd $(DESTDIR)@[email protected]; \
[email protected][email protected]			$(LN_S) -f $(pkgpython26dir)/libgv_python26.so _gv.so; \
[email protected][email protected]			$(LN_S) -f $(pkgpython26dir)/gv.py gv.py;) \
[email protected][email protected]			$(LN_S) -r -f $(DESTDIR)/$(pkgpython26dir)/libgv_python26.so _gv.so; \
[email protected][email protected]			$(LN_S) -r -f $(DESTDIR)/$(pkgpython26dir)/gv.py gv.py;) \
+ @[email protected]	else \
+ @[email protected]		echo "Warning: @[email protected] is not writable."; \
+ @[email protected]		echo "Skipping system installation of python26 binding."; \
[email protected]@ -959,8 +959,8 @@
+ @[email protected]	-mkdir -p $(DESTDIR)@[email protected];
+ @[email protected]	if test -w $(DESTDIR)@[email protected]; then \
+ @[email protected]		(cd $(DESTDIR)@[email protected]; \
[email protected][email protected]			$(LN_S) -f $(pkgpython27dir)/libgv_python27.so _gv.so; \
[email protected][email protected]			$(LN_S) -f $(pkgpython27dir)/gv.py gv.py;) \
[email protected][email protected]			$(LN_S) -r -f $(DESTDIR)/$(pkgpython27dir)/libgv_python27.so _gv.so; \
[email protected][email protected]			$(LN_S) -r -f $(DESTDIR)/$(pkgpython27dir)/gv.py gv.py;) \
+ @[email protected]	else \
+ @[email protected]		echo "Warning: @[email protected] is not writable."; \
+ @[email protected]		echo "Skipping system installation of python27 binding."; \
[email protected]@ -968,7 +968,7 @@
+ @[email protected]	-mkdir -p $(DESTDIR)@[email protected];
+ @[email protected]	if test -w $(DESTDIR)@[email protected]; then \
+ @[email protected]		(cd $(DESTDIR)@[email protected]; \
[email protected][email protected]			$(LN_S) -f $(pkgrubydir)/libgv_ruby.so gv.so;) \
[email protected][email protected]			$(LN_S) -r -f $(DESTDIR)/$(pkgrubydir)/libgv_ruby.so gv.so;) \
+ @[email protected]	else \
+ @[email protected]		echo "Warning: @[email protected] is not writable."; \
+ @[email protected]		echo "Skipping system installation of ruby binding."; \
[email protected]@ -976,7 +976,7 @@
+ @[email protected]	-mkdir -p $(DESTDIR)@[email protected];
+ @[email protected]	if test -w $(DESTDIR)@[email protected]/; then \
+ @[email protected]		(cd $(DESTDIR)@[email protected]; \
[email protected][email protected]			$(LN_S) -f $(pkgtcldir) @[email protected];) \
[email protected][email protected]			$(LN_S) -r -f $(DESTDIR)/$(pkgtcldir) @[email protected];) \
+ @[email protected]	else \
+ @[email protected]		echo "Warning: @[email protected] is not writable."; \
+ @[email protected]		echo "Skipping system installation of tcl bindings."; \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/graphviz/patches/ruby-include.patch	Wed Apr 29 16:36:59 2015 -0700
@@ -0,0 +1,31 @@
+Look in the right place for ruby headers, and silence the warnings about
+the use of the Config module.
+
+This is an in-house patch, and has not been submitted upstream, since the
+Config->RbConfig change has already been made in a newer version, and the
+remainder of the changes are Solaris-specific.
+
+--- graphviz-2.28.0/config/config_ruby.rb	Fri Feb 18 13:25:56 2011
++++ graphviz-2.28.0/config/config_ruby.rb	Tue Jul  1 14:45:16 2014
[email protected]@ -1,16 +1,16 @@
+ require 'rbconfig'
+ 
+-CONFIG = Config::MAKEFILE_CONFIG
++CONFIG = RbConfig::MAKEFILE_CONFIG
+ 
+ 
+ case ARGV[0]
+ when "INCLUDES"
+-    puts Config::expand(CONFIG["archdir"])
++    puts "#{RbConfig::expand(CONFIG['rubyhdrdir'])} -I#{RbConfig::expand(CONFIG['rubyhdrdir'])}/#{RbConfig::expand(CONFIG['arch'])}"
+ when "lib"
+-    puts Config::expand(CONFIG["libdir"])
++    puts RbConfig::expand(CONFIG["libdir"])
+ when "archsitelib"
+-    puts Config::expand(CONFIG["sitearchdir"])
++    puts RbConfig::expand(CONFIG["vendorarchdir"])
+ when "sitelib"
+-    puts Config::expand(CONFIG["sitedir"])
++    puts RbConfig::expand(CONFIG["vendordir"])
+ end
+ 
--- a/make-rules/shared-macros.mk	Wed Apr 29 14:18:37 2015 -0700
+++ b/make-rules/shared-macros.mk	Wed Apr 29 16:36:59 2015 -0700
@@ -329,20 +329,25 @@
 PYTHON_VENDOR_PACKAGES.64 = /usr/lib/python$(PYTHON_VERSION)/vendor-packages/64
 PYTHON_VENDOR_PACKAGES = $(PYTHON_VENDOR_PACKAGES.$(BITS))
 
-PYTHON.2.6.32 =	/usr/bin/python2.6
-PYTHON.2.6.64 =	/usr/bin/$(MACH64)/python2.6
+USRBIN.32 =	/usr/bin
+USRBIN.64 =	/usr/bin/$(MACH64)
+USRBIN =	$(USRBIN.$(BITS))
 
-PYTHON.2.7.32 =	/usr/bin/python2.7
-PYTHON.2.7.64 =	/usr/bin/$(MACH64)/python2.7
-PYTHON.2.7 =	/usr/bin/python2.7
+PYTHON.2.6.32 =	$(USRBIN.32)/python2.6
+PYTHON.2.6.64 =	$(USRBIN.64)/python2.6
+PYTHON.2.6 =	$(USRBIN)/python2.6
+
+PYTHON.2.7.32 =	$(USRBIN.32)/python2.7
+PYTHON.2.7.64 =	$(USRBIN.64)/python2.7
+PYTHON.2.7 =	$(USRBIN)/python2.7
 
 # Although we build Python 3 64-bit only, the BUILD_NO_ARCH macro is written
 # in such a way that we still need the .32 macro below.  And since we build
 # 64-bit only, we stick it directly in usr/bin (i.e., the 32-bit path) rather
 # than the 64-bit path.
-PYTHON.3.4.32 =	/usr/bin/python3.4
-PYTHON.3.4.64 =	/usr/bin/python3.4
-PYTHON.3.4 =	/usr/bin/python3.4
+PYTHON.3.4.32 =	$(USRBIN.32)/python3.4
+PYTHON.3.4.64 =	$(USRBIN.32)/python3.4
+PYTHON.3.4 =	$(USRBIN.32)/python3.4
 
 PYTHON.32 =	$(PYTHON.$(PYTHON_VERSION).32)
 PYTHON.64 =	$(PYTHON.$(PYTHON_VERSION).64)