the Fink project is an effort to port
popular Unix programs to Mac OS X
Info3: <<
Package: graphviz%type_pkg[var]
Type: var (. -nox)
Version: 2.26.3
Revision: 5
Distribution: 10.5, 10.6, 10.7
License: OSI-Approved
# License: Common Public License 1.0
Maintainer: David Fang
Homepage: http://www.graphviz.org/
Conflicts: graphviz, graphviz-nox
Replaces: graphviz, graphviz-nox
Source: mirror:custom:graphviz-%v.tar.gz
CustomMirror: <<
nam-US: http://www.graphviz.org/pub/graphviz/ARCHIVE
nam-US: http://www.graphviz.org/pub/graphviz
<<
SourceDirectory: graphviz-%v
Source-MD5: 6f45946fa622770c45609778c0a982ee
PatchFile: graphviz.patch
PatchFile-MD5: e5d39e8e229fb8259becc6b7404741a2
PatchScript: <<
#!/bin/sh -ev
%{default_script}
sed -i.orig -e '/OCAML/s|/usr|%p|g' \
-e '/framework/s|-\(framework\) |-Wl,-\1,|g' \
configure
# don't bother with Makefile.am
for f in `grep -lr -e "-framework " macosx plugin | grep -v \.am` ; do
sed -i.orig -e '/framework/s|-\(framework\) |-Wl,-\1,|g' $f
done
sed -i.orig -e '/am__append_5/s|LIBLTDL|LTDLDEPS|' lib/gvc/Makefile.in
<<
GCC: 4.0
Depends: <<
%N-shlibs (= %v-%r)
<<
BuildConflicts: tcltk-dev
BuildDepends: <<
(%type_raw[var] = .) pkgconfig (>= 0.20-1),
(%type_raw[var] = .) x11-dev,
(%type_raw[var] = .) atk1 (>= 1.20.0-1),
fink (>= 0.28),
fontconfig2-dev (>= 2.4.1-1),
(%type_raw[var] = .) freeglut,
freetype219 (>= 2.3.5-1),
giflib,
gmp5,
(%type_raw[var] = .) glib2-dev (>= 2.14.0-1),
(%type_raw[var] = .) glitz,
(%type_raw[var] = .) gtkglext1 (>= 1.0.6-1007),
(%type_raw[var] = .) gts75,
guile18,
guile18-dev,
libpng14,
libjpeg8,
(%type_raw[var] = .) librsvg2 (>= 2.20.0-1),
(%type_raw[var] = .) libiconv-dev,
(%type_raw[var] = .) libgettext8-dev (>= 0.14.5-1),
(%type_raw[var] = .) gettext-tools,
libtool2,
lua51-dev,
lua51,
expat1 (>= 2.0.0-1),
(%type_raw[var] = .) gd2 (>= 2.0.35-8),
(%type_raw[var] = .) gd2-bin (>= 2.0.35-8),
# gd2%type_raw[var] (>= 2.0.35-8),
# gd2%type_raw[var]-bin (>= 2.0.35-8),
gawk (>= 3.1.2-12),
(%type_raw[var] = .) cairo (>= 1.6.4-2),
(%type_raw[var] = .) pixman (>= 0.10.0-1),
ocaml,
swig (>= 1.3.29-1),
(%type_raw[var] = .) gtk+2-dev (>= 2.12.0-1),
(%type_raw[var] = .) orbit2-dev (>= 2.14.10-1),
(%type_raw[var] = .) libgsf1.114-dev (>= 1.14.8-2),
(%type_raw[var] = .) libcroco3,
(%type_raw[var] = .) libxml2 (>= 2.6.30-1),
(%type_raw[var] = .) pango1-xft2-ft219-dev (>= 1.18.4-4),
(%type_raw[var] = .) libglade2 (>= 2.6.2-2),
libming1-dev
<<
ConfigureParams: <<
--mandir=%p/share/man \
--disable-static \
--with-included-ltdl=no \
--with-ltdl-include=%p/include \
--with-ltdl-lib=%p/lib \
--with-extraincludedir=%p/include \
--with-extralibdir=%p/lib \
--with-tcl=/usr/bin/tclsh \
--with-tclsh=/usr/bin/tclsh \
--with-wish=/usr/bin/wish \
--without-lasi \
--without-ghostscript \
--without-devil \
--with-ming \
--with-quartz \
LUA=lua51 \
(%type_raw[var] = .) --with-x \
(%type_raw[var] = .) --with-rsvg \
(%type_raw[var] = .) --x-includes=/usr/X11R6/include \
(%type_raw[var] = .) --x-libraries=/usr/X11R6/lib \
(%type_raw[var] = .) --with-glitz \
(%type_raw[var] = .) --with-libgd \
(%type_raw[var] = .) --with-gts \
(%type_raw[var] = .) --with-glutincludedir="%p/include -I/usr/X11R6/include" \
(%type_raw[var] = .) --with-glutlibdir=%p/lib \
(%type_raw[var] = -nox) --without-x \
(%type_raw[var] = -nox) --without-gtk \
(%type_raw[var] = -nox) --without-gdk-pixbuf \
(%type_raw[var] = -nox) --without-gtkgl \
(%type_raw[var] = -nox) --without-gtkglext \
(%type_raw[var] = -nox) --without-glade \
(%type_raw[var] = -nox) --without-glitz \
(%type_raw[var] = -nox) --without-pangocairo \
(%type_raw[var] = -nox) --without-rsvg \
(%type_raw[var] = -nox) --without-libgd \
(%type_raw[var] = -nox) --without-gts \
--disable-r \
--disable-perl \
--disable-python \
GUILE=%p/bin/guile-1.8 \
(%type_raw[var] = .) PKG_CONFIG_PATH="%p/lib/fontconfig2/lib/pkgconfig:$PKG_CONFIG_PATH" \
RUBY=/usr/bin/ruby \
CPPFLAGS="-I/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Headers -I/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers -I%p/lib/ocaml -idirafter $system_ruby_include" \
-C
<<
SetLDFLAGS: -Wl,-framework,JavaVM -Wl,-framework,ApplicationServices -Wl,-framework,CoreServices
# (%type_raw[var] = -nox) --with-mylibgd \
# other possible configure params:
# PKG_CONFIG_PATH="%p/lib/pango-ft219/lib/pkgconfig:%p/lib/fontconfig2/lib/pkgconfig:%p/lib/freetype219/lib/pkgconfig:$PKG_CONFIG_PATH"
# --with-freetypeincludedir=/usr/X11R6/include/freetype2
# FREETYPE2_CFLAGS=-I%p/lib/freetype219/include/freetype2
# FREETYPE2_LIBS=-L%p/lib/freetype219/lib
# LDFLAGS=-L%p/lib/ocaml
# OCAML_LIBS=-L%p/lib/ocaml
UseMaxBuildJobs: true
CompileScript: <<
#!/bin/sh -ev
ruby_h_path=`find /usr/lib/ruby -name ruby.h | head -n 1`
test -f "$ruby_h_path" || ruby_h_path=`find /System/Library/Frameworks -name ruby.h | head -n 1`
test -f "$ruby_h_path" && echo "Found ruby.h as $ruby_h_path, using its dirname..."
system_ruby_include=`dirname $ruby_h_path`
test -d "$system_ruby_include"
./configure %c
mv config.status config.status.orig
sed -e '/framework/s|-\(framework\) |-Wl,-\1,|g' config.status.orig > config.status
chmod +x config.status
./config.status
make
<<
InfoTest: <<
TestDepends: fink-package-precedence
TestConfigureParams: --enable-dependency-tracking
TestScript: <<
#!/bin/sh -ev
fink-package-precedence --headers .
fink-package-precedence --libs .
echo "rtest.sh looks intended for post-install checking"
# cd rtest && ./rtest.sh -v || exit 2
<<
TestSuiteSize: small
<<
InstallScript: <<
#!/bin/sh -ev
make DESTDIR=%d install
# remove links in /usr
rm -rf %d/usr
rm -rf %d/Library
#mkdir -p %i/lib/perl5/darwin-thread-multi-2level/%n
#ln -s %p/lib/%n/perl/gv.pm %i/lib/perl5/darwin-thread-multi-2level/%n
mkdir -p %i/share/doc/%n
mv %i/share/graphviz/doc/* %i/share/doc/%n
mv %i/share/graphviz/{demo,examples,graphs} %i/share/doc/%n
rm -rf %i/share/graphviz/doc
# mkdir -p %i/lib/ruby/1.8/%n
# didn't find any .rb files?
# not bothering with %p/lib/php
<<
# rtest/rtest.sh is intended as a installcheck-time script
SplitOff: <<
Package: %N-shlibs
Conflicts: graphviz-shlibs, graphviz-nox-shlibs
Replaces: graphviz-shlibs, graphviz-nox-shlibs
Depends: <<
(%type_raw[var] = .) glib2-shlibs (>= 2.14.0-1),
(%type_raw[var] = .) gtkglext1-shlibs,
guile18-shlibs,
(%type_raw[var] = .) x11,
fontconfig2-shlibs (>= 2.4.1-1),
(%type_raw[var] = .) freeglut-shlibs,
freetype219-shlibs (>= 2.3.5-1),
giflib-shlibs,
(%type_raw[var] = .) glitz-shlibs,
(%type_raw[var] = .) gts75-shlibs,
libpng14-shlibs,
libjpeg8-shlibs,
(%type_raw[var] = .) libiconv,
(%type_raw[var] = .) librsvg2-shlibs (>= 2.20.0-1),
(%type_raw[var] = .) libgettext8-shlibs,
(%type_raw[var] = .) libgsf1.114-shlibs (>= 1.14.8-2),
libtool2-shlibs,
lua51-shlibs,
(%type_raw[var] = .) gd2-shlibs (>= 2.0.35-8),
(%type_raw[var] = .) cairo-shlibs (>= 1.6.4-2),
libming1-shlibs
<<
Files: <<
lib/graphviz/*.*.dylib
lib/graphviz/guile/*.so
lib/graphviz/lua/*.so
lib/graphviz/php/*.so
lib/graphviz/ruby/*.so
lib/graphviz/tcl/*.so
lib/graphviz/tcl/*.*.dylib
lib/graphviz/tcl/pkgIndex.tcl
lib/*.*.dylib
<<
Shlibs: <<
%p/lib/graphviz/libgvplugin_core.6.dylib 7.0.0 %n (>= 2.14-1)
%p/lib/graphviz/libgvplugin_dot_layout.6.dylib 7.0.0 %n (>= 2.14-1)
%p/lib/graphviz/libgvplugin_gd.6.dylib 7.0.0 %n (>= 2.14-1)
(%type_raw[var] = .) %p/lib/graphviz/libgvplugin_gdk_pixbuf.6.dylib 7.0.0 %n (>= 2.18-2)
(%type_raw[var] = .) %p/lib/graphviz/libgvplugin_gtk.6.dylib 7.0.0 %n (>= 2.18-2)
(%type_raw[var] = .) %p/lib/graphviz/libgvplugin_glitz.6.dylib 7.0.0 %n (>= 2.22.2-1)
%p/lib/graphviz/libgvplugin_ming.6.dylib 7.0.0 %n (>= 2.18-2)
%p/lib/graphviz/libgvplugin_neato_layout.6.dylib 7.0.0 %n (>= 2.14-1)
(%type_raw[var] = .) %p/lib/graphviz/libgvplugin_pango.6.dylib 7.0.0 %n (>= 2.18-2)
%p/lib/graphviz/libgvplugin_quartz.6.dylib 7.0.0 %n (>= 2.24.0-2)
(%type_raw[var] = .) %p/lib/graphviz/libgvplugin_rsvg.6.dylib 7.0.0 %n (>= 2.18-1)
(%type_raw[var] = .) %p/lib/graphviz/libgvplugin_xlib.6.dylib 7.0.0 %n (>= 2.18-2)
(%type_raw[var] = .) %p/lib/graphviz/tcl/libgdtclft.0.dylib 1.0.0 %n (>= 2.14-1)
%p/lib/graphviz/tcl/libtcldot.0.dylib 1.0.0 %n (>= 2.14-1)
%p/lib/graphviz/tcl/libtcldot_builtin.0.dylib 1.0.0 %n (>= 2.14-1)
%p/lib/graphviz/tcl/libtclplan.0.dylib 1.0.0 %n (>= 2.14-1)
%p/lib/graphviz/tcl/libtkspline.0.dylib 1.0.0 %n (>= 2.14-1)
%p/lib/libcgraph.5.dylib 6.0.0 %n (>= 2.26.3-1)
%p/lib/libcdt.4.dylib 5.0.0 %n (>= 2.14-1)
%p/lib/libgraph.4.dylib 5.0.0 %n (>= 2.14-1)
%p/lib/libgvc.5.dylib 6.0.0 %n (>= 2.14-1)
%p/lib/libpathplan.4.dylib 5.0.0 %n (>= 2.14-1)
%p/lib/libgvpr.1.dylib 2.0.0 %n (>= 2.26.0-1)
%p/lib/libxdot.4.dylib 5.0.0 %n (>= 2.26.0-1)
<<
DescPackaging: <<
There are some other lib/graphviz directories that are empty
at package-time: R/ io/ java/ ocaml/ python{23,24,25}/ sharp/.
Don't know what these are about...
<<
DocFiles: AUTHORS COPYING ChangeLog INSTALL NEWS README
<<
SplitOff2: <<
Package: %N-dev
BuildDependsOnly: true
Depends: %N-shlibs (= %v-%r)
Conflicts: graphviz-dev, graphviz-nox-dev, graphviz (<< 2.18-2)
Replaces: graphviz-dev, graphviz-nox-dev, graphviz (<< 2.18-2)
Description: development files for graphviz
Files: <<
include
lib/graphviz/*.la
lib/graphviz/guile/*.la
lib/graphviz/lua/*.la
lib/graphviz/php/*.la
lib/graphviz/ruby/*.la
lib/graphviz/tcl/*.la
lib/pkgconfig
lib/*.dylib
lib/*.la
<<
DocFiles: AUTHORS COPYING ChangeLog INSTALL NEWS README
<<
PostInstScript: %p/bin/dot -c
PostRmScript: rm -f %p/lib/graphviz/config*
DocFiles: AUTHORS COPYING ChangeLog INSTALL NEWS README
# there are more doc files
Description: Graph visualization software
DescDetail: <<
graphviz is a set of graph drawing tools for Unix or MS-Windows
(win32), including a web service interface (webdot). Graph drawing
addresses the problem of visualizing structural information by
constructing geometric representations of abstract graphs and
networks. Automatic generation of graph drawings has important
applications in key technologies such as database design, software
engineering, VLSI and network design and visual interfaces in other
domains.
.
License: Common Public License 1.0
.
Many thanks to Jeroen Scheerder
pointing me in the right directions.
.
Former maintainer(s):
Thomas Kotzian
Matthias Neeracher
<<
DescPackaging: <<
patch: configure patched to remove call to AC_LIBLTDL_CONVENIENCE
which was clobbering the override to use the installed libltdl.
Use libiconv from fink
postinstall 'dot -c' updates config file with list of built plugins.
Links with libtool2's libltdl.dylib, therefore need build-depend on libtool2
even though libltdl/ already includes ltdl.h
Blindly added deps for guile, lua, ocaml,
though some may result in optional plug-ins.
Not sure what to do about perl/python yet...
--dmacks disabled because they would need to be lang-versioned
Other deps not listed: zlib-1.2.3 (system's)
also checked in configure: pangocairo, gtkgl+
Thanks to Peter Dyballa for adding ocaml support
and using the system's Tcl and Ruby.
Ruby headers can be found in /usr/lib/ruby or /System/Library/Frameworks.
Prevent plug-in (.so) links from being installed in system paths outside of %p.
Tried to get --with-quartz to work, Peter Dyballa made some progress on this.
Adding lighter -nox variant with fewer dependencies, having stripped out
all of gnome, gtk, and glib, and pangocairo (many thanks to fink-core
team for guidance).
Rendering libraries, such as rsvg, have been removed for -nox.
-nox removed gd2-nox dep because there's no gd2-nox-shlibs (static only).
TODO: separate out extension language plug-ins
<<
<<
--- graphviz-2.24.0/configure.orig 2010-01-26 08:01:10.000000000 -0800
+++ graphviz-2.24.0/configure 2011-07-25 16:27:43.000000000 -0700
@@ -22518,6 +22523,9 @@
+# AC_LIBLTDL_CONVENIENCE is clobbering the override to use installed ltdl
+if false
+then
case $enable_ltdl_convenience in
no) { { $as_echo "$as_me:$LINENO: error: this package needs a convenience libltdl" >&5
$as_echo "$as_me: error: this package needs a convenience libltdl" >&2;}
@@ -22528,6 +22536,7 @@
LIBLTDL='${top_build_prefix}'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdlc.la"
LTDLDEPS=$LIBLTDL
LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}"
+fi
--- graphviz-2.24.0/plugin/quartz/gvplugin_quartz.h.orig 2009-12-11 16:19:44.000000000 -0800
+++ graphviz-2.24.0/plugin/quartz/gvplugin_quartz.h 2009-12-11 16:20:20.000000000 -0800
@@ -17,7 +17,10 @@
#ifndef GVPLUGIN_QUARTZ_H
#define GVPLUGIN_QUARTZ_H
-#include
+#include
+#include
+#include
+#include
#if defined(__MAC_OS_X_VERSION_MIN_REQUIRED)
#include
--- graphviz-2.24.0/plugin/quartz/gvloadimage_quartz.c.orig 2009-12-11 16:48:18.000000000 -0800
+++ graphviz-2.24.0/plugin/quartz/gvloadimage_quartz.c 2009-12-11 16:48:44.000000000 -0800
@@ -22,6 +22,10 @@
#include
#include
+#include
+#include
+#include
+
#include "gvplugin_loadimage.h"
#include "gvplugin_quartz.h"
--- graphviz-2.24.0/plugin/quartz/gvrender_quartz.c.orig 2009-12-11 16:50:12.000000000 -0800
+++ graphviz-2.24.0/plugin/quartz/gvrender_quartz.c 2009-12-11 16:51:29.000000000 -0800
@@ -21,12 +21,20 @@
#include
#include
+#include
+#include
+
#include "gvplugin_device.h"
#include "gvplugin_render.h"
#include "graph.h"
#include "gvplugin_quartz.h"
+#ifndef CGFLOAT_DEFINED
+/* nowhere defined, for Carbon Emacs the same work-around */
+typedef float CGFloat;
+#endif
+
static CGFloat dashed[] = {6.0};
static CGFloat dotted[] = {2.0, 6.0};
--- graphviz-2.24.0/lib/gvc/gvcext.h.orig 2011-07-25 17:05:11.000000000 -0700
+++ graphviz-2.24.0/lib/gvc/gvcext.h 2011-07-25 17:09:51.000000000 -0700
@@ -19,6 +19,8 @@
#ifndef GVCEXT_H
#define GVCEXT_H
+#include
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -58,10 +60,14 @@
typedef struct GVJ_s GVJ_t;
typedef struct GVC_s GVC_t;
+#if 0
typedef struct {
const char *name;
void* address;
} lt_symlist_t;
+#else
+ typedef const lt_dlsymlist lt_symlist_t; // libtool2's ltdl.h
+#endif
typedef struct gvplugin_available_s gvplugin_available_t;