# $Id: Portfile 44608 2008-12-31 07:31:45Z ryandesign@macports.org $ PortSystem 1.0 name graphviz-devel set my_name graphviz version 2.21.20081230.0545 categories graphics maintainers ryandesign homepage http://www.graphviz.org/ platforms darwin use_parallel_build yes dist_subdir ${my_name} distname ${my_name}-${version} distfiles ${distname}${extract.suffix}:source 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. master_sites \ ${homepage}pub/graphviz/development/SOURCES/:source \ http://www.pixelglow.com/downloads/:guiapp checksums \ ${distname}${extract.suffix} \ md5 5e5ed159a180b8b82bfd76fe85347795 \ sha1 819905d5c64488720d9284c3d10458215ca38e52 \ rmd160 3e04e1da55fac5ee7937ba08c2e65d3f95003be1 platform darwin 6 { pre-fetch { ui_msg "Note: dot2gxl and gxl2dot do not build on Mac OS X 10.2 Jaguar," ui_msg "but the rest of Graphviz should work correctly." } patchfiles-append \ patch-Makefile.in } platform darwin 7 { depends_lib-append \ port:gnuregex post-extract { reinplace "s|||g" ${worksrcpath}/lib/gvc/gvconfig.c } } platform darwin 9 { # http://developer.apple.com/qa/qa2007/qa1567.html configure.ldflags-append \ "-dylib_file /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib" } depends_lib \ lib:libX11.6:XFree86 \ port:cairo \ path:lib/pkgconfig/pango.pc:pango \ port:jpeg \ port:libpng \ port:freetype \ port:expat \ port:zlib \ port:gettext depends_build \ port:pkgconfig depends_run \ port:urw-fonts configure.args \ --mandir=${prefix}/share/man \ --with-codegens \ --with-x \ --without-devil \ --without-smyrna \ --with-digcola \ --without-ipsepcola \ --without-rsvg \ --with-pangocairo \ --with-freetype2 \ --with-fontconfig \ --without-gdk-pixbuf \ --without-gtk \ --without-gtkgl \ --without-gtkglext \ --without-glade \ --without-gnomeui \ --without-ming \ --without-quartz \ --with-mylibgd \ --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 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 } 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 } variant perl description {Include PERL 5 language bindings} { depends_lib-append \ path:bin/perl:perl5.8 depends_build-append \ port:swig configure.args-delete \ --disable-swig \ --disable-perl configure.args-append \ --enable-perl } variant php description {Include PHP 4 language bindings} { depends_lib-append \ port:php4 depends_build-append \ port:swig configure.args-delete \ --disable-swig \ --disable-php configure.args-append \ --enable-php } variant python description {Include Python 2.4 language bindings} { depends_lib-append \ port:python24 depends_build-append \ port:swig configure.args-delete \ --disable-swig \ --disable-python configure.args-append \ --enable-python } 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} { depends_lib-append \ port:tcl depends_build-append \ port:swig configure.args-delete \ --disable-swig \ --disable-tcl configure.args-append \ --enable-tcl } 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 } variant no_pangocairo description {Remove pangocairo support (no antialiased bitmapped output; no PDF output)} { depends_lib-delete \ port:cairo \ port:pango configure.args-delete \ --with-pangocairo configure.args-append \ --without-pangocairo } variant no_x11 requires no_pangocairo description {Remove X11 support (removes lefty; implies no_pangocairo)} { depends_lib-delete \ lib:libX11.6:XFree86 configure.args-append \ --without-x } # Can be removed once MacPorts 1.7.0 is released if {![info exists applications_dir]} { set applications_dir /Applications/MacPorts } variant gui description {Include the Pixelglow graph viewer} { distfiles-append \ graphviz-1.13-v16.tgz:guiapp checksums-append \ graphviz-1.13-v16.tgz \ md5 a3278f993ef3ce021043a17b16a9fd5f \ sha1 87ee05a99088a98aef4937d72c3bb6cf488e3074 \ rmd160 35eac7c7013bddc0d1f107fcaf8e9c7d1e078231 post-extract { copy "${workpath}/Graphviz 1.13 (v16)/Graphviz.app" ${worksrcpath} delete ${worksrcpath}/Graphviz.app/Contents/Frameworks system "cd ${worksrcpath}/Graphviz.app/Contents/Resources/English.lproj && iconv -f utf-16 -t utf-8 InfoPlist.strings > InfoPlist.strings.utf8" } patchfiles-append \ patch-gv-extension.diff post-patch { reinplace "s|1\.13|${version}|g" \ ${worksrcpath}/Graphviz.app/Contents/Info.plist \ ${worksrcpath}/Graphviz.app/Contents/Resources/Info.plist \ ${worksrcpath}/Graphviz.app/Contents/Resources/English.lproj/InfoPlist.strings.utf8 system "cd ${worksrcpath}/Graphviz.app/Contents/Resources/English.lproj && iconv -f utf-8 -t utf-16 InfoPlist.strings.utf8 > InfoPlist.strings" delete ${worksrcpath}/Graphviz.app/Contents/Resources/English.lproj/InfoPlist.strings.utf8 } post-destroot { set apppath ${destroot}${applications_dir} set macospath ${apppath}/Graphviz.app/Contents/MacOS set dispatcher graphviz-dispatcher.php xinstall -d ${apppath} copy ${worksrcpath}/Graphviz.app ${apppath} xinstall -m 755 ${filespath}/${dispatcher}.in ${macospath}/${dispatcher} reinplace "s%@PREFIX@%${prefix}%g" ${macospath}/${dispatcher} foreach prog {acyclic bcomps ccomps circo cvtgxl dijkstra dot gc gvcolor gvpack gvpr neato nop sccmap tred twopi unflatten} { delete ${macospath}/${prog} ln -s ${dispatcher} ${macospath}/${prog} } } } # Make the configuration file that makes the plugins work: post-activate { system "dot -c" } livecheck.check regex livecheck.url ${homepage}Download_source.php livecheck.regex ${my_name}-(\[0-9\]+\\.\[0-9\]*\[13579\](\\.\[0-9\]+)*)\\.tar