# $Id$ PortSystem 1.0 name graphviz set my_name graphviz # keep version in sync between graphviz and graphviz-gui version 2.24.0 categories graphics maintainers ryandesign homepage http://www.graphviz.org/ master_sites ${homepage}pub/graphviz/stable/SOURCES/ platforms darwin use_parallel_build yes dist_subdir ${my_name} distname ${my_name}-${version} description \ Graph visualization software from AT&T and Bell Labs long_description \ Graph Visualization Software from AT&T Laboratories and \ Bell Laboratories (Lucent Technologies). \ The package contains: \ dot - batch program for drawing directed graphs as \ hierarchies \ neato - batch program for drawing undirected graphs \ using Kamada-Kawai spring models. \ Users wishing to have only the graph layout \ programs (for non-interactive use) can use the +no_x11 \ variant to build graphviz without its display routines. checksums \ md5 806a30dbc3f8deb219216f35be0e7a40 \ sha1 1d91b3a7d2c7fa15e5e718eb456210cd15731e14 \ rmd160 d003cfa57e73c44fbb71ae8f8726ecc9c74735f9 platform darwin 7 { depends_lib-append \ port:gnuregex post-extract { reinplace "s|||g" ${worksrcpath}/lib/gvc/gvconfig.c } } pre-extract { if {"darwin" == ${os.platform} && 9 == ${os.major}} { # graphviz needs Xcode 3.1+ to avoid the libGL error when building the smyrna variant # graphviz-gui needs Xcode 3.1.2+; see #18811 set minimum_xcodeversion 3.1.2 set current_xcodeversion [exec defaults read /Developer/Applications/Xcode.app/Contents/Info CFBundleShortVersionString] if {[rpm-vercomp ${current_xcodeversion} ${minimum_xcodeversion}] < 0} { ui_error "On Mac OS X ${macosx_version}, ${name} ${version} requires Xcode ${minimum_xcodeversion} or later but you have Xcode ${current_xcodeversion}." return -code error "incompatible Xcode version" } } } depends_lib \ port:xorg-libXaw \ path:lib/pkgconfig/pango.pc:pango \ port:jpeg \ port:libpng \ port:fontconfig \ port:freetype \ port:expat \ port:gd2 \ port:zlib \ port:gettext depends_build \ port:pkgconfig depends_run \ port:urw-fonts configure.args \ --with-codegens \ --with-x \ --without-devil \ --without-smyrna \ --with-digcola \ --with-ipsepcola \ --without-rsvg \ --with-pangocairo \ --without-glitz \ --with-freetype2 \ --with-fontconfig \ --without-gdk-pixbuf \ --without-gtk \ --without-gtkgl \ --without-gtkglext \ --without-glade \ --without-gnomeui \ --without-ming \ --without-quartz \ --disable-swig \ --disable-sharp \ --disable-guile \ --disable-io \ --disable-java \ --disable-lua \ --disable-ocaml \ --disable-perl \ --disable-php \ --disable-python \ --disable-python23 \ --disable-python24 \ --disable-python25 \ --disable-r \ --disable-ruby \ --disable-tcl platform macosx { if {${os.major} > 8} { configure.args-delete --without-quartz configure.args-append --with-quartz } } variant guile description {Include Guile language bindings} { depends_lib-append \ port:guile depends_build-append \ port:swig configure.args-delete \ --disable-swig \ --disable-guile configure.args-append \ --enable-guile } variant lua description {Include Lua language bindings} { depends_lib-append \ port:lua depends_build-append \ port:swig configure.args-delete \ --disable-swig \ --disable-lua configure.args-append \ --enable-lua post-patch { reinplace "s|/usr/lib\$LIBPOSTFIX/lua|${prefix}/lib\$LIBPOSTFIX/lua|g" ${worksrcpath}/configure } } variant ocaml description {Include Objective Caml language bindings} { depends_lib-append \ port:ocaml depends_build-append \ port:swig configure.args-delete \ --disable-swig \ --disable-ocaml configure.args-append \ --enable-ocaml configure.cppflags-append \ -I${prefix}/lib/ocaml } variant perl description {Include PERL 5 language bindings} { depends_lib-append \ path:bin/perl:perl5 depends_build-append \ port:swig configure.args-delete \ --disable-swig \ --disable-perl configure.args-append \ --enable-perl configure.perl ${prefix}/bin/perl } variant php description {Include PHP language bindings} { depends_lib-append \ path:bin/php:php5 depends_build-append \ port:swig configure.args-delete \ --disable-swig \ --disable-php configure.args-append \ --enable-php post-patch { reinplace "s|/usr/include/php|${prefix}/include/php|g" ${worksrcpath}/configure reinplace "s|/usr/lib\${LIBPOSTFIX}/php|${prefix}/lib\${LIBPOSTFIX}/php|g" ${worksrcpath}/configure reinplace "s|/usr/share/php|${prefix}/share/php|g" ${worksrcpath}/configure } } variant python24 description {Include Python 2.4 language bindings} conflicts python25 python26 { depends_lib-append \ port:python24 depends_build-append \ port:swig configure.args-delete \ --disable-swig \ --disable-python configure.args-append \ --enable-python configure.python ${prefix}/bin/python2.4 # The configure script asks python where to install # This doesn't work for 2.4 and 2.5 (see #16334) post-patch { reinplace "s|PYTHON_INSTALL_DIR=.*|PYTHON_INSTALL_DIR=${prefix}/lib/python2.4|" ${worksrcpath}/configure } } variant python25 description {Include Python 2.5 language bindings} conflicts python24 python26 { depends_lib-append \ port:python25 depends_build-append \ port:swig configure.args-delete \ --disable-swig \ --disable-python configure.args-append \ --enable-python configure.python ${prefix}/bin/python2.5 # The configure script asks python where to install # This doesn't work for 2.4 and 2.5 (see #16334) post-patch { reinplace "s|PYTHON_INSTALL_DIR=.*|PYTHON_INSTALL_DIR=${prefix}/lib/python2.5|" ${worksrcpath}/configure } } variant python26 description {Include Python 2.6 language bindings} conflicts python24 python25 { depends_lib-append \ port:python26 depends_build-append \ port:swig configure.args-delete \ --disable-swig \ --disable-python configure.args-append \ --enable-python configure.python ${prefix}/bin/python2.6 } variant ruby description {Include Ruby language bindings} { depends_lib-append \ port:ruby depends_build-append \ port:swig configure.args-delete \ --disable-swig \ --disable-ruby configure.args-append \ --enable-ruby } variant tcl description {Include Tcl language bindings} { pre-configure { if {"" == [glob -nocomplain ${prefix}/share/swig/*/tcl/tcl8.swg]} { ui_msg "To install ${name} with the +tcl variant, swig must first be installed with the +tcl variant." ui_msg "Rebuild swig using:" ui_msg " sudo port -nf upgrade swig +tcl" return -code error "swig missing +tcl variant" } } depends_lib-append \ port:tcl depends_build-append \ port:swig configure.args-delete \ --disable-swig \ --disable-tcl configure.args-append \ --enable-tcl } variant java description {Include Java language bindings} { depends_build-append \ port:swig configure.args-delete \ --disable-swig \ --disable-java configure.args-append \ --enable-java } variant smyrna description {Include the Smyrna large graph viewer} { configure.args-delete \ --without-smyrna \ --without-gtk \ --without-gtkglext \ --without-glade configure.args-append \ --with-smyrna \ --with-gtk \ --with-gtkglext \ --with-glade depends_lib-append \ port:gtk2 \ port:gtkglext \ port:libglade2 \ port:gts } variant r description {Include R language bindings} { depends_build-append \ port:swig configure.args-delete \ --disable-swig \ --disable-r configure.args-append \ --enable-r } variant rsvg description {enable the rsvg plugin} { depends_lib-append \ port:librsvg configure.args-delete \ --without-rsvg configure.args-append \ --with-rsvg } variant gdk_pixbuf description {enable the gdk_pixbuf plugin} { depends_lib-append \ port:gtk2 configure.args-delete \ --without-gdk-pixbuf configure.args-append \ --with-gdk-pixbuf } variant glitz description {enable the incomplete glitz plugin} { depends_lib-append \ port:glitz configure.args-delete \ --without-glitz configure.args-append \ --with-glitz } variant ming description {enable the incomplete ming plugin} { depends_lib-append \ port:ming configure.args-delete \ --without-ming configure.args-append \ --with-ming } variant no_pangocairo description {Remove pangocairo support (no antialiased bitmapped output; no PDF output)} { depends_lib-delete \ path:lib/pkgconfig/pango.pc:pango configure.args-delete \ --with-pangocairo configure.args-append \ --without-pangocairo } variant no_x11 requires no_pangocairo { depends_lib-delete \ port:xorg-libXaw configure.args-append \ --without-x } variant gui description {Obsolete; install graphviz-gui port instead} { pre-configure { set newport graphviz-gui if {${os.major} < 9} { set newport graphviz-oldgui } ui_msg "The +gui variant is obsolete. Please install the ${newport} port instead." } } post-destroot { # Make the configuration file that makes the plugins work. system "GVBINDIR=${destroot}${prefix}/lib/graphviz DYLD_LIBRARY_PATH=${destroot}${prefix}/lib ${destroot}${prefix}/bin/dot -c" } pre-install { # Remove old configuration files left behind by old versions of this port. foreach file [glob -nocomplain -directory ${prefix}/lib/graphviz config*] { delete ${file} } } # keep livecheck in sync between graphviz and graphviz-gui livecheck.check regex livecheck.url ${homepage}Download_source.php livecheck.regex ${my_name}-(\[0-9\]+\\.\[0-9\]*\[02468\](\\.\[0-9\]+)*)\\.tar