summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-gfx/graphviz/Manifest1
-rw-r--r--media-gfx/graphviz/files/graphviz-2.26.3-automake-1.11.2.patch35
-rw-r--r--media-gfx/graphviz/files/graphviz-2.26.3-libtool-configure.patch52
-rw-r--r--media-gfx/graphviz/files/graphviz-2.26.3-libtool.patch27
-rw-r--r--media-gfx/graphviz/graphviz-2.26.3-r4.ebuild223
5 files changed, 338 insertions, 0 deletions
diff --git a/media-gfx/graphviz/Manifest b/media-gfx/graphviz/Manifest
index 64a0ea90523f..c42f116e969d 100644
--- a/media-gfx/graphviz/Manifest
+++ b/media-gfx/graphviz/Manifest
@@ -1 +1,2 @@
+DIST graphviz-2.26.3.tar.gz 17092429 SHA256 f410996e69b1095237c2128deae5fc7b6ce99055b095271abb14447bc2f37fa1 SHA512 6225141752318af0b50714d70d31dd1ef1bc414d134d22f066f159843991194215bb9bc4e8df38a194e1de67ebbf137d371e875948fa6a6eebfca9df1a414a6d WHIRLPOOL ca35d0ed9cb3751ae968e1c6d425efe42e8b681685eb66f975c0ff1b73e245fc3db6418ec69300331c94275fe3bfcdcd168b931b880c280f3dd63f1f03c4d4db
DIST graphviz-2.38.0.tar.gz 25848858 SHA256 81aa238d9d4a010afa73a9d2a704fc3221c731e1e06577c2ab3496bdef67859e SHA512 0e51a97dae595f4e80bc9e4a12ba3c48485fab19941a28d522f5a0624b6a767e0ba720e9e55bff8efe8308dd1cd3793e2c99cb5fdfceb2d5cafb0cbee907e531 WHIRLPOOL b59bb517c4aa690ffd23e1b4d448d5dbaae5594eb1059d574e0cb3bf2091beb9ed867bd4fa7e8ca0259863f24849c96d4d1da056091922bf33ace7da43c8b5d4
diff --git a/media-gfx/graphviz/files/graphviz-2.26.3-automake-1.11.2.patch b/media-gfx/graphviz/files/graphviz-2.26.3-automake-1.11.2.patch
new file mode 100644
index 000000000000..86280f2b05dd
--- /dev/null
+++ b/media-gfx/graphviz/files/graphviz-2.26.3-automake-1.11.2.patch
@@ -0,0 +1,35 @@
+Install dir ( buiding with media-libs/ming ):
+ /usr/$(get_libdir)/graphviz/Bitstream_Vera_Serif.fdb
+ /usr/$(get_libdir)/graphviz/Bitstream_Vera_Sans.fdb
+ /usr/include/graphviz/gv.cpp
+ /usr/include/graphviz/gv.i
+
+Due to the following change, {pkglib,pkginclude}_DATA is invalid:
+ http://git.savannah.gnu.org/cgit/automake.git/commit/?id=9ca632642b006ac6b0fc4ce0ae5b34023faa8cbf
+
+---
+diff --git a/plugin/ming/Makefile.am b/plugin/ming/Makefile.am
+--- a/plugin/ming/Makefile.am
++++ b/plugin/ming/Makefile.am
+@@ -17,7 +17,8 @@ lib_LTLIBRARIES = libgvplugin_ming.la
+ else
+ pkglib_LTLIBRARIES = libgvplugin_ming.la
+ endif
+-pkglib_DATA = Bitstream_Vera_Sans.fdb Bitstream_Vera_Serif.fdb
++fdblibdir = $(libdir)/@PACKAGE@
++fdblib_DATA = Bitstream_Vera_Sans.fdb Bitstream_Vera_Serif.fdb
+ endif
+
+ libgvplugin_ming_C_la_SOURCES = \
+diff --git a/tclpkg/gv/Makefile.am b/tclpkg/gv/Makefile.am
+--- a/tclpkg/gv/Makefile.am
++++ b/tclpkg/gv/Makefile.am
+@@ -258,7 +258,7 @@ libgv_tcl_la_CPPFLAGS = $(BASECPPFLAGS)
+ gv_tcl.cpp: gv.i
+ $(SWIG) -c++ -tcl -namespace -o gv_tcl.cpp $(srcdir)/gv.i
+
+-pkginclude_DATA = gv.i gv.cpp
++pkginclude_HEADERS = gv.i gv.cpp
+ pkglib_LTLIBRARIES =
+ man_MANS =
+ pdf_DATA =
diff --git a/media-gfx/graphviz/files/graphviz-2.26.3-libtool-configure.patch b/media-gfx/graphviz/files/graphviz-2.26.3-libtool-configure.patch
new file mode 100644
index 000000000000..142aea2843fd
--- /dev/null
+++ b/media-gfx/graphviz/files/graphviz-2.26.3-libtool-configure.patch
@@ -0,0 +1,52 @@
+backport newer libtool logic
+
+https://bugs.gentoo.org/539032
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -464,28 +464,15 @@
+ dnl -----------------------------------
+ dnl libtool ltdl on-demand plugin loading
+
+-m4_ifdef([LT_INIT],
+- [ #code that is for Libtool 2.x
+-AM_PROG_LIBTOOL
+- ],
+- [ #code that is for 1.5.x
+- ])
++LT_INIT([dlopen])
++LT_CONFIG_LTDL_DIR([libltdl])
++LTDL_INIT
++
+ AC_ARG_ENABLE(ltdl,
+ [AS_HELP_STRING([--enable-ltdl],[support on-demand plugin loading])])
+ if test "x$enable_ltdl" != "xno"; then
+ AC_DEFINE(ENABLE_LTDL,1,[Define if you want on-demand plugin loading])
+- AC_LIBTOOL_DLOPEN
+-m4_ifdef([LT_INIT],
+- [ #code that is for Libtool 2.x
+- LT_CONFIG_LTDL_DIR([libltdl])
+- LTDL_INIT
+- ],
+- [ #code that is for 1.5.x
+- AC_CONFIG_SUBDIRS([libltdl])
+- ])
+ use_ltdl="Yes"
+-
+- AC_LIBLTDL_CONVENIENCE
+ if test "x$DARWIN9" = "xyes"; then
+ LIBLTDL_LDFLAGS="-Wl,-unexported_symbol,_lt_*"
+ fi
+@@ -494,12 +483,6 @@
+ AC_SUBST(INCLTDL)
+ AC_SUBST(LIBLTDL)
+ AC_SUBST(LIBLTDL_LDFLAGS)
+-m4_ifdef([LT_INIT],
+- [ #code that is for Libtool 2.x
+- ],
+- [ #code that is for 1.5.x
+-AM_PROG_LIBTOOL
+- ])
+
+ # Checks for libraries.
+ #AC_CHECK_LIB([ICE], [main])
diff --git a/media-gfx/graphviz/files/graphviz-2.26.3-libtool.patch b/media-gfx/graphviz/files/graphviz-2.26.3-libtool.patch
new file mode 100644
index 000000000000..f82312dbbebf
--- /dev/null
+++ b/media-gfx/graphviz/files/graphviz-2.26.3-libtool.patch
@@ -0,0 +1,27 @@
+http://bugs.gentoo.org/339298
+
+--- lib/gvc/gvcext.h
++++ lib/gvc/gvcext.h
+@@ -80,9 +80,11 @@
+ #if defined(GVDLL)
+ __declspec(dllexport) lt_symlist_t lt_preloaded_symbols[];
+ #else
++#if !defined(LTDL_H)
+ extern lt_symlist_t lt_preloaded_symbols[];
+ #endif
+ #endif
++#endif
+
+
+ #ifdef __cplusplus
+--- lib/gvc/Makefile.am
++++ lib/gvc/Makefile.am
+@@ -18,7 +18,7 @@
+ -I$(top_srcdir)/lib/pathplan \
+ -I$(top_srcdir)/lib/$(GRAPH) \
+ -I$(top_srcdir)/lib/cdt \
+- $(INCLTDL) -I$(top_srcdir)/libltdl \
++ $(INCLTDL) \
+ -DGVLIBDIR=\"$(pkglibdir)\"
+
+ if WITH_WIN32
diff --git a/media-gfx/graphviz/graphviz-2.26.3-r4.ebuild b/media-gfx/graphviz/graphviz-2.26.3-r4.ebuild
new file mode 100644
index 000000000000..fd33185512e5
--- /dev/null
+++ b/media-gfx/graphviz/graphviz-2.26.3-r4.ebuild
@@ -0,0 +1,223 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=3
+PYTHON_DEPEND="python? 2"
+
+inherit eutils autotools multilib python flag-o-matic
+
+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 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
+IUSE="cairo doc examples gtk java lasi nls perl python ruby static-libs tcl elibc_FreeBSD"
+
+# 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[fontconfig,jpeg,png,truetype,zlib]
+ >=media-libs/libpng-1.4
+ virtual/jpeg:0
+ virtual/libiconv
+ cairo? (
+ x11-libs/libXaw
+ >=x11-libs/pango-1.12
+ >=x11-libs/cairo-1.1.10[svg]
+ )
+ gtk? (
+ x11-libs/gtk+:2
+ x11-libs/libXaw
+ >=x11-libs/pango-1.12
+ >=x11-libs/cairo-1.1.10
+ )
+ lasi? ( media-libs/lasi )
+ perl? ( dev-lang/perl )
+ ruby? ( dev-lang/ruby )
+ tcl? ( >=dev-lang/tcl-8.3:0 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ sys-devel/flex
+ java? ( dev-lang/swig )
+ 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 , dot
+# the ones which are always compiled in, depend on zlib, gd
+# - gtk
+# Directly depends on gtk-2.
+# gtk-2 depends on pango, cairo and libX11 directly.
+# - gdk-pixbuf
+# Disabled, GTK-1 junk.
+# - ming
+# flash plugin via -Tswf requires media-libs/ming-0.4. Disabled as it's
+# incomplete.
+# - cairo:
+# Needs pango for text layout, uses cairo methods to draw stuff
+# - xlib :
+# needs cairo+pango,
+# can make use of gnomeui and inotify support,
+# needs libXaw for UI
+
+# 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 python; then
+ python_set_active_version 2
+ python_pkg_setup
+ fi
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-libtool.patch \
+ "${FILESDIR}"/${P}-libtool-configure.patch \
+ "${FILESDIR}"/${P}-automake-1.11.2.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
+ # use the ./configure option to exclude its use, and
+ # delete the dir since we don't need to eautoreconf it
+ rm -rf libltdl
+
+ # 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
+
+ # replace the whitespace with tabs
+ sed -i -e 's: :\t:g' doc/info/Makefile.am || die
+
+ # workaround for http://www.graphviz.org/mantisbt/view.php?id=1895
+ use elibc_FreeBSD && append-flags $(test-flags -fno-builtin-sincos)
+
+ eautoreconf
+}
+
+src_configure() {
+ # libtool file collision, bug 276609
+ local myconf="--without-included-ltdl --disable-ltdl-install"
+
+ # Core functionality:
+ # All of X, cairo-output, gtk need the pango+cairo functionality
+ if use gtk || use cairo; then
+ myconf="${myconf} --with-x"
+ else
+ myconf="${myconf} --without-x"
+ fi
+ myconf="${myconf}
+ $(use_with cairo pangocairo)
+ $(use_with gtk)
+ $(use_with lasi)
+ --with-digcola
+ --with-fontconfig
+ --with-freetype2
+ --with-ipsepcola
+ --with-libgd
+ --with-sfdp
+ --without-gdk-pixbuf
+ --without-ming"
+
+ # new/experimental features, to be tested, disable for now
+ myconf="${myconf}
+ --without-cgraph
+ --without-devil
+ --without-digcola
+ --without-ipsepcola
+ --without-rsvg
+ --without-smyrna"
+
+ # Bindings:
+ myconf="${myconf}
+ --disable-guile
+ --disable-io
+ $(use_enable java)
+ --disable-lua
+ --disable-ocaml
+ $(use_enable perl)
+ --disable-php
+ $(use_enable python)
+ --disable-r
+ $(use_enable ruby)
+ --disable-sharp
+ $(use_enable tcl)"
+
+ econf \
+ --enable-ltdl \
+ $(use_enable static-libs static) \
+ ${myconf}
+}
+
+src_install() {
+ sed -i -e "s:htmldir:htmlinfodir:g" doc/info/Makefile || die
+
+ emake DESTDIR="${D}" \
+ txtdir="${EPREFIX}"/usr/share/doc/${PF} \
+ htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ htmlinfodir="${EPREFIX}"/usr/share/doc/${PF}/html/info \
+ pdfdir="${EPREFIX}"/usr/share/doc/${PF}/pdf \
+ pkgconfigdir="${EPREFIX}"/usr/$(get_libdir)/pkgconfig \
+ install || die "emake install failed"
+
+ use examples || rm -rf "${D}/usr/share/graphviz/demo"
+
+ if ! use static-libs; then
+ find "${ED}"/usr/$(get_libdir)/ -name '*.la' -delete || die
+ fi
+
+ dodoc AUTHORS ChangeLog NEWS README
+}
+
+pkg_postinst() {
+ # This actually works if --enable-ltdl is passed
+ # to configure
+ dot -c
+ use python && python_mod_optimize gv.py
+}
+
+pkg_postrm() {
+ use python && python_mod_cleanup gv.py
+}