diff --git a/media-gfx/graphviz/Manifest b/media-gfx/graphviz/Manifest index 64a0ea90523fa..c42f116e969d4 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 0000000000000..86280f2b05dd9 --- /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 0000000000000..142aea2843fd9 --- /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 0000000000000..f82312dbbebff --- /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 0000000000000..fd33185512e5e --- /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 +}