Revert "media-gfx/graphviz: Remove old", see bug 609772
authorAndreas K. Hüttel <dilfridge@gentoo.org>
Fri, 17 Mar 2017 22:20:32 +0000 (23:20 +0100)
committerAndreas K. Hüttel <dilfridge@gentoo.org>
Fri, 17 Mar 2017 22:20:32 +0000 (23:20 +0100)
This reverts commit 80232c73b05f744e16968c5e60968b5951a6f4cc.

media-gfx/graphviz/Manifest
media-gfx/graphviz/files/graphviz-2.26.3-automake-1.11.2.patch [new file with mode: 0644]
media-gfx/graphviz/files/graphviz-2.26.3-libtool-configure.patch [new file with mode: 0644]
media-gfx/graphviz/files/graphviz-2.26.3-libtool.patch [new file with mode: 0644]
media-gfx/graphviz/graphviz-2.26.3-r4.ebuild [new file with mode: 0644]

index 64a0ea90523fa1a36c4fec63f96188865f823801..c42f116e969d4848efb532198f7e1fef202fec7e 100644 (file)
@@ -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 (file)
index 0000000..86280f2
--- /dev/null
@@ -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 (file)
index 0000000..142aea2
--- /dev/null
@@ -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 (file)
index 0000000..f82312d
--- /dev/null
@@ -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 (file)
index 0000000..fd33185
--- /dev/null
@@ -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
+}