2009-10-15 08:07:12 +00:00
|
|
|
require 'formula'
|
2009-09-27 06:03:35 +00:00
|
|
|
|
2011-12-13 10:13:51 +00:00
|
|
|
def build_bindings?
|
|
|
|
ARGV.include? '--with-bindings' or (MacOS.lion? and not ARGV.include? '--without-bindings')
|
|
|
|
end
|
|
|
|
|
2011-03-10 05:11:03 +00:00
|
|
|
class Graphviz < Formula
|
2012-03-15 00:29:05 +00:00
|
|
|
homepage 'http://graphviz.org/'
|
2011-07-25 16:17:15 +00:00
|
|
|
url 'http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.28.0.tar.gz'
|
|
|
|
md5 '8d26c1171f30ca3b1dc1b429f7937e58'
|
2009-09-27 06:03:35 +00:00
|
|
|
|
2010-09-19 17:21:57 +00:00
|
|
|
depends_on 'pkg-config' => :build
|
2011-12-25 05:53:36 +00:00
|
|
|
depends_on 'pango' if ARGV.include? '--with-pangocairo'
|
2011-12-13 10:13:51 +00:00
|
|
|
depends_on 'swig' if build_bindings?
|
|
|
|
|
2012-03-18 20:33:24 +00:00
|
|
|
fails_with :clang do
|
|
|
|
build 318
|
|
|
|
end
|
2012-03-15 00:29:05 +00:00
|
|
|
|
2011-03-10 15:06:37 +00:00
|
|
|
def options
|
2011-12-13 10:13:51 +00:00
|
|
|
[["--with-pangocairo", "Build with Pango/Cairo for alternate PDF output"],
|
|
|
|
["--with[out]-bindings", "Build Perl/Python/Ruby/etc. bindings (default on Lion; may not work on earlier systems)"]]
|
2011-03-10 15:06:37 +00:00
|
|
|
end
|
|
|
|
|
2011-09-15 03:38:21 +00:00
|
|
|
def patches
|
2011-12-13 10:13:51 +00:00
|
|
|
{ :p0 => "https://trac.macports.org/export/78507/trunk/dports/graphics/graphviz-gui/files/patch-project.pbxproj.diff",
|
|
|
|
:p1 => DATA}
|
2011-09-15 03:38:21 +00:00
|
|
|
end
|
|
|
|
|
2009-09-27 06:03:35 +00:00
|
|
|
def install
|
2010-08-13 15:42:45 +00:00
|
|
|
ENV.x11
|
2011-12-13 10:13:51 +00:00
|
|
|
args = ["--disable-debug",
|
|
|
|
"--disable-dependency-tracking",
|
|
|
|
"--prefix=#{prefix}",
|
|
|
|
"--with-qt=no",
|
|
|
|
"--with-quartz"]
|
|
|
|
args << "--disable-swig" unless build_bindings?
|
|
|
|
args << "--without-pangocairo" unless ARGV.include? '--with-pangocairo'
|
|
|
|
|
|
|
|
system "./configure", *args
|
2009-09-27 06:03:35 +00:00
|
|
|
system "make install"
|
2011-12-13 10:13:51 +00:00
|
|
|
|
2011-12-31 06:06:56 +00:00
|
|
|
# build Graphviz.app
|
2012-02-21 06:04:21 +00:00
|
|
|
cd "macosx" do
|
2011-12-13 10:13:51 +00:00
|
|
|
system "xcodebuild", "-configuration", "Release", "SYMROOT=build", "PREFIX=#{prefix}", "ONLY_ACTIVE_ARCH=YES"
|
|
|
|
end
|
2011-12-31 06:06:56 +00:00
|
|
|
prefix.install "macosx/build/Release/Graphviz.app"
|
2009-09-27 06:03:35 +00:00
|
|
|
end
|
2011-09-01 19:04:27 +00:00
|
|
|
|
|
|
|
def test
|
|
|
|
mktemp do
|
2012-02-24 20:50:21 +00:00
|
|
|
(Pathname.pwd+'sample.dot').write <<-EOS.undent
|
2011-09-01 19:04:27 +00:00
|
|
|
digraph G {
|
|
|
|
a -> b
|
|
|
|
}
|
|
|
|
EOS
|
|
|
|
|
2012-05-06 05:45:18 +00:00
|
|
|
system "#{bin}/dot", "-Tpdf", "-o", "sample.pdf", "sample.dot"
|
|
|
|
system "/usr/bin/qlmanage", "-p", "./sample.pdf"
|
2011-09-01 19:04:27 +00:00
|
|
|
end
|
|
|
|
end
|
2011-12-13 10:13:51 +00:00
|
|
|
|
|
|
|
def caveats; <<-EOS
|
2011-12-31 06:06:56 +00:00
|
|
|
Graphviz.app was installed in:
|
2011-12-13 10:13:51 +00:00
|
|
|
#{prefix}
|
|
|
|
|
|
|
|
To symlink into ~/Applications, you can do:
|
|
|
|
brew linkapps
|
|
|
|
EOS
|
|
|
|
end
|
2009-09-27 06:03:35 +00:00
|
|
|
end
|
2011-09-15 03:38:21 +00:00
|
|
|
|
2011-12-13 10:13:51 +00:00
|
|
|
# fix build on platforms without /usr/lib/libltdl.a (i.e., Lion)
|
|
|
|
# http://www.graphviz.org/mantisbt/view.php?id=2109
|
|
|
|
# fixed in upstream development version 2.29
|
|
|
|
# second part of DATA patch fixes quartz plugin build, may not be in upstream yet
|
2011-09-15 03:38:21 +00:00
|
|
|
__END__
|
|
|
|
diff --git a/lib/gvc/Makefile.in b/lib/gvc/Makefile.in
|
|
|
|
index 2d345a0..67183f2 100644
|
|
|
|
--- a/lib/gvc/Makefile.in
|
|
|
|
+++ b/lib/gvc/Makefile.in
|
|
|
|
@@ -41,8 +41,7 @@ host_triplet = @host@
|
|
|
|
@WITH_WIN32_TRUE@am__append_1 = -O0
|
|
|
|
@WITH_ORTHO_TRUE@am__append_2 = $(top_builddir)/lib/ortho/libortho_C.la
|
|
|
|
@WITH_ORTHO_TRUE@am__append_3 = $(top_builddir)/lib/ortho/libortho_C.la
|
|
|
|
-@ENABLE_LTDL_TRUE@am__append_4 = $(LIBLTDL) $(LIBLTDL_LDFLAGS)
|
|
|
|
-@ENABLE_LTDL_TRUE@am__append_5 = $(LIBLTDL)
|
|
|
|
+@ENABLE_LTDL_TRUE@am__append_4 = @LIBLTDL@ $(LIBLTDL_LDFLAGS)
|
|
|
|
subdir = lib/gvc
|
|
|
|
DIST_COMMON = $(noinst_HEADERS) $(pkginclude_HEADERS) \
|
|
|
|
$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
|
|
|
@@ -87,8 +86,7 @@ am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(man3dir)" \
|
|
|
|
"$(DESTDIR)$(pkgincludedir)"
|
|
|
|
LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
|
|
|
|
am__DEPENDENCIES_1 =
|
|
|
|
-@ENABLE_LTDL_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) \
|
|
|
|
-@ENABLE_LTDL_TRUE@ $(am__DEPENDENCIES_1)
|
|
|
|
+@ENABLE_LTDL_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
|
|
|
|
am__DEPENDENCIES_3 = $(top_builddir)/lib/pack/libpack_C.la \
|
|
|
|
$(top_builddir)/lib/xdot/libxdot_C.la \
|
|
|
|
$(top_builddir)/lib/common/libcommon_C.la $(am__append_2) \
|
2011-12-13 10:13:51 +00:00
|
|
|
diff --git a/plugin/quartz/Makefile.in b/plugin/quartz/Makefile.in
|
|
|
|
index 20ec9c6..dbeb46b 100644
|
|
|
|
--- a/plugin/quartz/Makefile.in
|
|
|
|
+++ b/plugin/quartz/Makefile.in
|
|
|
|
@@ -89,7 +89,7 @@ libgvplugin_quartz_la_OBJECTS = $(am_libgvplugin_quartz_la_OBJECTS)
|
|
|
|
AM_V_lt = $(am__v_lt_$(V))
|
|
|
|
am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
|
|
|
|
am__v_lt_0 = --silent
|
|
|
|
-libgvplugin_quartz_la_LINK = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
|
|
|
|
+libgvplugin_quartz_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
|
|
|
$(LIBTOOLFLAGS) --mode=link $(OBJCLD) $(AM_OBJCFLAGS) \
|
|
|
|
$(OBJCFLAGS) $(libgvplugin_quartz_la_LDFLAGS) $(LDFLAGS) -o $@
|
|
|
|
@WITH_QUARTZ_TRUE@@WITH_WIN32_FALSE@am_libgvplugin_quartz_la_rpath = \
|
|
|
|
@@ -128,7 +128,7 @@ am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
|
|
|
|
am__v_CCLD_0 = @echo " CCLD " $@;
|
|
|
|
OBJCCOMPILE = $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
|
|
|
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS)
|
|
|
|
-LTOBJCCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
|
|
|
|
+LTOBJCCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
|
|
|
$(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) \
|
|
|
|
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
|
|
|
$(AM_OBJCFLAGS) $(OBJCFLAGS)
|
|
|
|
@@ -136,7 +136,7 @@ AM_V_OBJC = $(am__v_OBJC_$(V))
|
|
|
|
am__v_OBJC_ = $(am__v_OBJC_$(AM_DEFAULT_VERBOSITY))
|
|
|
|
am__v_OBJC_0 = @echo " OBJC " $@;
|
|
|
|
OBJCLD = $(OBJC)
|
|
|
|
-OBJCLINK = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
|
|
|
+OBJCLINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
|
|
|
--mode=link $(OBJCLD) $(AM_OBJCFLAGS) $(OBJCFLAGS) \
|
|
|
|
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
|
|
|
AM_V_OBJCLD = $(am__v_OBJCLD_$(V))
|