summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/graphviz/graphviz-2.16.1-r1.ebuild')
-rw-r--r--media-gfx/graphviz/graphviz-2.16.1-r1.ebuild204
1 files changed, 204 insertions, 0 deletions
diff --git a/media-gfx/graphviz/graphviz-2.16.1-r1.ebuild b/media-gfx/graphviz/graphviz-2.16.1-r1.ebuild
new file mode 100644
index 000000000000..0ea63497d242
--- /dev/null
+++ b/media-gfx/graphviz/graphviz-2.16.1-r1.ebuild
@@ -0,0 +1,204 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/graphviz/graphviz-2.16.1-r1.ebuild,v 1.1 2007/12/19 01:38:46 robbat2 Exp $
+
+WANT_AUTOCONF=latest
+WANT_AUTOMAKE=latest
+
+inherit eutils autotools multilib python
+
+DESCRIPTION="Open Source Graph Visualization Software"
+HOMEPAGE="http://www.graphviz.org/"
+SRC_URI="http://www.graphviz.org/pub/graphviz/ARCHIVE/${P}.tar.gz"
+
+LICENSE="CPL-1.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
+IUSE="doc examples gnome gtk jpeg nls perl png python ruby X tcl tk"
+
+# Requires ksh
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-libs/expat-2.0.0
+ >=dev-libs/glib-2.11.1
+ >=media-libs/fontconfig-2.3.95
+ >=media-libs/freetype-2.1.10
+ >=media-libs/gd-2.0.28
+ >=media-libs/jpeg-6b
+ >=media-libs/libpng-1.2.10
+ >=x11-libs/pango-1.12
+ >=x11-libs/cairo-1.1.10
+ virtual/libiconv
+ ruby? ( dev-lang/ruby )
+ tcl? ( >=dev-lang/tcl-8.3 )
+ tk? ( >=dev-lang/tk-8.3 )
+ X? ( x11-libs/libXaw )
+ gnome? ( gnome-base/libgnomeui )
+ gtk? ( >=x11-libs/gtk+-2 )"
+
+DEPEND="${RDEPEND}
+ >=dev-util/pkgconfig-0.20
+ nls? ( >=sys-devel/gettext-0.14.5 )
+ perl? ( dev-lang/swig )
+ python? ( dev-lang/swig )
+ ruby? ( dev-lang/swig )
+ tcl? ( dev-lang/swig )"
+
+# Dependency description / Maintainer-Info:
+
+# Rendering is done via the following plugins (/plugins):
+# - core, dot_layout, neato_layout, gd
+# (the ones which are always compiled in, depend on zlib, gd)
+# - dot
+# ( depends explicitly on pango and cairo now,
+# --without-x --without-pangocairo will fail!)
+# - gtk
+# ( depends on gtk-2, cairo, libX11,
+# gtk-2 depends on cairo and libX11 as well)
+# - ming
+# ( depends on ming-3.0 which is still p.masked)
+# - pango, cairo
+# ( depends on pango and cairo, pango depends on an older cairo as well)
+# - xlib
+# ( depends on libX11, Xrender AND pango, can make use of gnomeui and
+# inotify support, libXaw deps on libXpm)
+# - ming
+# ( depends on ming-3 which is still masked, ?)
+# - gdk-pixbuf
+# ( disabled, GTK-1 junk )
+
+# There can be swig-generated bindings for the following languages (/tclpkg/gv):
+# - c-sharp (disabled)
+# - scheme (enabled via guile) ... broken on ~x86
+# - io (disabled)
+# - java (enabled via java) *2
+# - lua (enabled via lua)
+# - ocaml (enabled via ocaml)
+# - perl (enabled via perl) *1
+# - php (enabled via php) *2
+# - python (enabled via python) *1
+# - ruby (enabled via ruby) *1
+# - tcl (enabled via tcl)
+# *1 = The ${P}-bindings.patch takes care that those bindings are installed to the right location
+# *2 = Those bindings don't build because the paths for the headers/libs aren't
+# detected correctly and/or the options passed to swig are wrong (-php instead of -php4/5)
+
+# There are several other tools in /tclpkg:
+# gdtclft, tcldot, tclhandle, tclpathplan, tclstubs ; enabled with: --with-tcl
+# tkspline, tkstubs ; enabled with: --with-tk
+
+# And the commands (/cmd):
+# - dot, dotty, gvpr, lefty, lneato, tools/* :)
+# Lefty needs Xaw and X to build
+
+pkg_setup() {
+ if use tcl && ! built_with_use dev-lang/swig tcl ; then
+ eerror "SWIG has to be built with tcl support."
+ die "Missing tcl USE-flag for dev-lang/swig"
+ fi
+ # bug 181147
+ if use png && ! built_with_use media-libs/gd png ; then
+ eerror "media-libs/gd has to be built with png support"
+ die "remerge media-libs/gd with USE=\"png\""
+ fi
+ if use jpeg && ! built_with_use media-libs/gd jpeg ; then
+ eerror "media-libs/gd has to be built with jpeg support"
+ die "remerge media-libs/gd with USE=\"jpeg\""
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}"/${P}-bindings.patch
+ epatch "${FILESDIR}"/${P}-gcc43-missing-includes.patch
+ epatch "${FILESDIR}"/${P}-python-buildfix.patch
+
+ # ToDo: Do the same thing for examples and/or
+ # write a patch for a configuration-option
+ # and send it to upstream
+ if ! use doc ; then
+ find . -iname Makefile.am \
+ | xargs sed -i -e '/html_DATA/d' -e '/pdf_DATA/d' || die
+ fi
+
+ # This is an old version of libtool
+ rm -rf libltdl
+ sed -i -e '/libltdl/d' configure.ac || die
+
+ # Update this file from our local libtool which is much newer than the
+ # bundled one. This allows MAKEOPTS=-j2 to work on FreeBSD.
+ cp /usr/share/libtool/install-sh config
+
+ # no nls, no gettext, no iconv macro, so disable it
+ use nls || { sed -i -e '/^AM_ICONV/d' configure.ac || die; }
+
+ # Nuke the dead symlinks for the bindings
+ sed -i -e '/$(pkgluadir)/d' tclpkg/gv/Makefile.am || die
+
+ eautoreconf
+}
+
+src_compile() {
+ econf \
+ $(use_with X x) \
+ --enable-ltdl \
+ --disable-guile \
+ --disable-java \
+ --disable-io \
+ --disable-lua \
+ --disable-ocaml \
+ $(use_enable perl) \
+ --disable-php \
+ $(use_enable python) \
+ $(use_enable ruby) \
+ --disable-sharp \
+ $(use_enable tcl) \
+ $(use_enable tk) \
+ --with-pangocairo \
+ $(use_with gnome gnomeui) \
+ $(use_with gtk) \
+ --without-ming \
+ --with-digcola \
+ --with-ipsepcola \
+ --with-fontconfig \
+ --with-freetype \
+ --with-libgd \
+ --without-gdk-pixbuf \
+ || die "econf failed"
+
+ emake || die "emake failed"
+}
+
+src_install() {
+ sed -i -e "s:htmldir:htmlinfodir:g" doc/info/Makefile || die
+
+ emake DESTDIR="${D}" \
+ txtdir=/usr/share/doc/${PF} \
+ htmldir=/usr/share/doc/${PF}/html \
+ htmlinfodir=/usr/share/doc/${PF}/html/info \
+ pdfdir=/usr/share/doc/${PF}/pdf \
+ pkgconfigdir=/usr/$(get_libdir)/pkgconfig \
+ install || die "emake install failed"
+
+ use examples || rm -rf "${D}/usr/share/graphviz/demo"
+
+ dodoc AUTHORS ChangeLog NEWS README
+}
+
+pkg_postinst() {
+ # This actually works if --enable-ltdl is passed
+ # to configure
+ dot -c
+ if use python ; then
+ python_mod_optimize
+ fi
+}
+
+pkg_postrm() {
+ if use python ; then
+ python_mod_cleanup
+ fi
+}