summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Roovers <jer@gentoo.org>2014-07-15 14:04:32 +0000
committerJeroen Roovers <jer@gentoo.org>2014-07-15 14:04:32 +0000
commit8acb89e4c5ea353d17005342cabb89c0a941f3f7 (patch)
tree981c73f199dbe3bb42595751bcb16a753c4b38c5 /net-analyzer/rrdtool
parentSet USE=graph dependency on net-analyzer/rrdtool (bug #509682). (diff)
downloadgentoo-2-8acb89e4c5ea353d17005342cabb89c0a941f3f7.tar.gz
gentoo-2-8acb89e4c5ea353d17005342cabb89c0a941f3f7.tar.bz2
gentoo-2-8acb89e4c5ea353d17005342cabb89c0a941f3f7.zip
When USE=-graph, do not compile rrd_graph* support into dependent libraries.
(Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key A792A613)
Diffstat (limited to 'net-analyzer/rrdtool')
-rw-r--r--net-analyzer/rrdtool/ChangeLog8
-rw-r--r--net-analyzer/rrdtool/files/rrdtool-1.4.8-disable-rrd_graph.patch189
-rw-r--r--net-analyzer/rrdtool/rrdtool-1.4.8-r2.ebuild161
3 files changed, 357 insertions, 1 deletions
diff --git a/net-analyzer/rrdtool/ChangeLog b/net-analyzer/rrdtool/ChangeLog
index 77cc9c8e2097..8c96a1b93440 100644
--- a/net-analyzer/rrdtool/ChangeLog
+++ b/net-analyzer/rrdtool/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-analyzer/rrdtool
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-analyzer/rrdtool/ChangeLog,v 1.263 2014/05/20 06:01:00 graaff Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/rrdtool/ChangeLog,v 1.264 2014/07/15 14:04:32 jer Exp $
+
+*rrdtool-1.4.8-r2 (15 Jul 2014)
+
+ 15 Jul 2014; Jeroen Roovers <jer@gentoo.org> +rrdtool-1.4.8-r2.ebuild,
+ +files/rrdtool-1.4.8-disable-rrd_graph.patch:
+ When USE=-graph, do not compile rrd_graph* support into dependent libraries.
*rrdtool-1.4.8-r1 (20 May 2014)
diff --git a/net-analyzer/rrdtool/files/rrdtool-1.4.8-disable-rrd_graph.patch b/net-analyzer/rrdtool/files/rrdtool-1.4.8-disable-rrd_graph.patch
new file mode 100644
index 000000000000..1af3d848147a
--- /dev/null
+++ b/net-analyzer/rrdtool/files/rrdtool-1.4.8-disable-rrd_graph.patch
@@ -0,0 +1,189 @@
+--- a/bindings/perl-shared/RRDs.xs
++++ b/bindings/perl-shared/RRDs.xs
+@@ -189,6 +189,7 @@
+ OUTPUT:
+ RETVAL
+
++#ifdef HAVE_RRD_GRAPH
+ SV *
+ rrd_graph(...)
+ PROTOTYPE: @
+@@ -235,6 +236,8 @@
+ PUSHs(sv_2mortal(newSViv(xsize)));
+ PUSHs(sv_2mortal(newSViv(ysize)));
+
++#endif /* HAVE_RRD_GRAPH */
++
+ SV *
+ rrd_fetch(...)
+ PROTOTYPE: @
+@@ -397,6 +400,7 @@
+ OUTPUT:
+ RETVAL
+
++#ifdef HAVE_RRD_GRAPH
+ SV*
+ rrd_graphv(...)
+ PROTOTYPE: @
+@@ -410,6 +414,8 @@
+ OUTPUT:
+ RETVAL
+
++#endif /* HAVE_RRD_GRAPH */
++
+ int
+ rrd_dump(...)
+ PROTOTYPE: @
+--- a/bindings/lua/rrdlua.c
++++ b/bindings/lua/rrdlua.c
+@@ -267,6 +267,7 @@
+ return 1;
+ }
+
++#ifdef HAVE_RRD_GRAPH
+ static int
+ lua_rrd_graph (lua_State * L)
+ {
+@@ -291,6 +292,7 @@
+ rrd_freemem(calcpr);
+ return 3;
+ }
++#endif /* HAVE_RRD_GRAPH */
+
+ static int
+ lua_rrd_flushcached(lua_State *L)
+@@ -305,11 +307,13 @@
+ return lua_rrd_infocall(L, "info", rrd_info);
+ }
+
++#ifdef HAVE_RRD_GRAPH
+ static int
+ lua_rrd_graphv (lua_State * L)
+ {
+ return lua_rrd_infocall(L, "graphv", rrd_graph_v);
+ }
++#endif /* HAVE_RRD_GRAPH */
+
+ static int
+ lua_rrd_updatev (lua_State * L)
+@@ -347,7 +351,9 @@
+ {"dump", lua_rrd_dump},
+ {"fetch", lua_rrd_fetch},
+ {"first", lua_rrd_first},
++#ifdef HAVE_RRD_GRAPH
+ {"graph", lua_rrd_graph},
++#endif /* HAVE_RRD_GRAPH */
+ {"last", lua_rrd_last},
+ {"resize", lua_rrd_resize},
+ {"restore", lua_rrd_restore},
+@@ -357,7 +363,9 @@
+ #if defined(DINF)
+ {"info", lua_rrd_info},
+ {"updatev", lua_rrd_updatev},
++#ifdef HAVE_RRD_GRAPH
+ {"graphv", lua_rrd_graphv},
++#endif /* HAVE_RRD_GRAPH */
+ #endif
+ {NULL, NULL}
+ };
+--- a/bindings/python/rrdtoolmodule.c
++++ b/bindings/python/rrdtoolmodule.c
+@@ -261,6 +261,7 @@
+ return r;
+ }
+
++#ifdef HAVE_RRD_GRAPH
+ static char PyRRD_graph__doc__[] =
+ "graph(args..): Create a graph based on data from one or several RRD\n"
+ " graph filename [-s|--start seconds] "
+@@ -327,6 +328,7 @@
+ destroy_args(&argv);
+ return r;
+ }
++#endif /* HAVE_RRD_GRAPH */
+
+ static char PyRRD_tune__doc__[] =
+ "tune(args...): Modify some basic properties of a Round Robin Database\n"
+@@ -503,6 +505,7 @@
+ return r;
+ }
+
++#ifdef HAVE_RRD_GRAPH
+ static char PyRRD_graphv__doc__[] =
+ "graphv is called in the same manner as graph";
+
+@@ -530,6 +533,7 @@
+ destroy_args(&argv);
+ return r;
+ }
++#endif /* HAVE_RRD_GRAPH */
+
+ static char PyRRD_updatev__doc__[] =
+ "updatev is called in the same manner as update";
+@@ -672,13 +676,17 @@
+ meth("create", PyRRD_create, PyRRD_create__doc__),
+ meth("update", PyRRD_update, PyRRD_update__doc__),
+ meth("fetch", PyRRD_fetch, PyRRD_fetch__doc__),
++#ifdef HAVE_RRD_GRAPH
+ meth("graph", PyRRD_graph, PyRRD_graph__doc__),
++#endif /* HAVE_RRD_GRAPH */
+ meth("tune", PyRRD_tune, PyRRD_tune__doc__),
+ meth("first", PyRRD_first, PyRRD_first__doc__),
+ meth("last", PyRRD_last, PyRRD_last__doc__),
+ meth("resize", PyRRD_resize, PyRRD_resize__doc__),
+ meth("info", PyRRD_info, PyRRD_info__doc__),
++#ifdef HAVE_RRD_GRAPH
+ meth("graphv", PyRRD_graphv, PyRRD_graphv__doc__),
++#endif /* HAVE_RRD_GRAPH */
+ meth("updatev", PyRRD_updatev, PyRRD_updatev__doc__),
+ meth("flushcached", PyRRD_flushcached, PyRRD_flushcached__doc__),
+ meth("xport", PyRRD_xport, PyRRD_xport__doc__),
+--- a/src/rrd_cgi.c
++++ b/src/rrd_cgi.c
+@@ -56,6 +56,7 @@
+ const char **);
+
+ /* call rrd_graph and insert appropriate image tag */
++#ifdef HAVE_RRD_GRAPH
+ char *drawgraph(
+ long,
+ const char **);
+@@ -64,6 +65,7 @@
+ char *drawprint(
+ long,
+ const char **);
++#endif /* HAVE_RRD_GRAPH */
+
+ /* pretty-print the <last></last> value for some.rrd via strftime() */
+ char *printtimelast(
+@@ -542,9 +544,13 @@
+ }
+ parse(&buffer, i, "<RRD::GETVAR", rrdgetvar);
+ parse(&buffer, i, "<RRD::GOODFOR", rrdgoodfor);
++#ifdef HAVE_RRD_GRAPH
+ parse(&buffer, i, "<RRD::GRAPH", drawgraph);
++#endif /* HAVE_RRD_GRAPH */
+ parse(&buffer, i, "<RRD::INCLUDE", includefile);
++#ifdef HAVE_RRD_GRAPH
+ parse(&buffer, i, "<RRD::PRINT", drawprint);
++#endif /* HAVE_RRD_GRAPH */
+ parse(&buffer, i, "<RRD::SETCONSTVAR", rrdsetvarconst);
+ parse(&buffer, i, "<RRD::SETENV", rrdsetenv);
+ parse(&buffer, i, "<RRD::SETVAR", rrdsetvar);
+@@ -929,7 +935,7 @@
+ }
+
+
+-
++#ifdef HAVE_RRD_GRAPH
+ char *drawgraph(
+ long argc,
+ const char **args)
+@@ -961,6 +967,7 @@
+ }
+ return NULL;
+ }
++#endif /* HAVE_RRD_GRAPH */
+
+ char *drawprint(
+ long argc,
diff --git a/net-analyzer/rrdtool/rrdtool-1.4.8-r2.ebuild b/net-analyzer/rrdtool/rrdtool-1.4.8-r2.ebuild
new file mode 100644
index 000000000000..cc358201d590
--- /dev/null
+++ b/net-analyzer/rrdtool/rrdtool-1.4.8-r2.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/rrdtool/rrdtool-1.4.8-r2.ebuild,v 1.1 2014/07/15 14:04:32 jer Exp $
+
+EAPI="5"
+
+DISTUTILS_OPTIONAL="true"
+GENTOO_DEPEND_ON_PERL="no"
+PYTHON_COMPAT=( python2_7 )
+inherit eutils distutils-r1 flag-o-matic multilib perl-module autotools
+
+DESCRIPTION="A system to store and display time-series data"
+HOMEPAGE="http://oss.oetiker.ch/rrdtool/"
+SRC_URI="http://oss.oetiker.ch/rrdtool/pub/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~x86-macos ~x86-solaris"
+IUSE="dbi doc +graph lua perl python ruby rrdcgi static-libs tcl tcpd"
+
+PDEPEND="
+ ruby? ( ~dev-ruby/rrdtool-bindings-${PV} )
+"
+
+RDEPEND="
+ >=dev-libs/glib-2.28.7[static-libs(+)?]
+ >=dev-libs/libxml2-2.7.8[static-libs(+)?]
+ dbi? ( dev-db/libdbi[static-libs(+)?] )
+ graph? (
+ >=media-libs/libpng-1.5.10[static-libs(+)?]
+ >=x11-libs/cairo-1.10.2[svg,static-libs(+)?]
+ >=x11-libs/pango-1.28
+ )
+ lua? ( dev-lang/lua[deprecated] )
+ perl? ( dev-lang/perl )
+ python? ( ${PYTHON_DEPS} )
+ tcl? ( dev-lang/tcl )
+ tcpd? ( sys-apps/tcp-wrappers )
+"
+
+DEPEND="
+ ${RDEPEND}
+ sys-apps/groff
+ virtual/pkgconfig
+ virtual/awk
+"
+
+python_compile() {
+ cd bindings/python || die 'can not enter to python bindings directory'
+ distutils-r1_python_compile
+}
+
+python_install() {
+ cd bindings/python || die 'can not enter to python bindings directory'
+ distutils-r1_python_install
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-1.4.7-configure.ac.patch \
+ "${FILESDIR}"/${P}-disable-rrd_graph.patch
+
+ # bug 456810
+ # no time to sleep
+ sed -i \
+ -e 's|$LUA_CFLAGS|IGNORE_THIS_BAD_TEST|g' \
+ -e 's|^sleep 1$||g' \
+ configure.ac || die
+
+ # Python bindings are built/installed manually
+ sed -i \
+ -e '/^all-local:/s| @COMP_PYTHON@||' \
+ bindings/Makefile.am || die
+
+ eautoreconf
+}
+
+src_configure() {
+ filter-flags -ffast-math
+
+ export RRDDOCDIR=${EPREFIX}/usr/share/doc/${PF}
+
+ # to solve bug #260380
+ [[ ${CHOST} == *-solaris* ]] && append-flags -D__EXTENSIONS__
+
+ # Stub configure.ac
+ local myconf=()
+ if ! use tcpd; then
+ myconf+=( "--disable-libwrap" )
+ fi
+ if ! use dbi; then
+ myconf+=( "--disable-libdbi" )
+ fi
+
+ econf \
+ $(use_enable graph rrd_graph) \
+ $(use_enable lua lua-site-install) \
+ $(use_enable lua) \
+ $(use_enable perl perl-site-install) \
+ $(use_enable perl) \
+ $(use_enable python) \
+ $(use_enable rrdcgi) \
+ $(use_enable static-libs static) \
+ $(use_enable tcl) \
+ $(use_with tcl tcllib "${EPREFIX}"/usr/$(get_libdir)) \
+ --with-perl-options=INSTALLDIRS=vendor \
+ --disable-ruby-site-install \
+ --disable-ruby \
+ ${myconf[@]}
+}
+
+src_compile() {
+ default
+
+ use python && distutils-r1_src_compile
+}
+
+src_install() {
+ default
+
+ if ! use doc ; then
+ rm -rf "${ED}"usr/share/doc/${PF}/{html,txt}
+ fi
+
+ if use !rrdcgi ; then
+ # uses rrdcgi, causes invalid shebang error in Prefix, useless
+ # without rrdcgi installed
+ rm -f "${ED}"usr/share/${PN}/examples/cgi-demo.cgi
+ fi
+
+ if use perl ; then
+ perl_delete_localpod
+ perl_delete_packlist
+ fi
+
+ use python && distutils-r1_src_install
+
+ dodoc CHANGES CONTRIBUTORS NEWS README THREADS TODO
+
+ find "${ED}"usr -name '*.la' -exec rm -f {} +
+
+ keepdir /var/lib/rrdcached/journal/
+ keepdir /var/lib/rrdcached/db/
+
+ newconfd "${FILESDIR}"/rrdcached.confd rrdcached
+ newinitd "${FILESDIR}"/rrdcached.init rrdcached
+}
+
+pkg_postinst() {
+ ewarn "Since version 1.3, rrdtool dump emits completely legal xml. Basically this"
+ ewarn "means that it contains an xml header and a DOCTYPE definition. Unfortunately"
+ ewarn "this causes older versions of rrdtool restore to be unhappy."
+ ewarn
+ ewarn "To restore a new dump with an old rrdtool restore version, either remove"
+ ewarn "the xml header and the doctype by hand (both on the first line of the dump)"
+ ewarn "or use rrdtool dump --no-header."
+ ewarn
+ ewarn ">=net-analyzer/rrdtool-1.3 does not have any default font bundled. Thus if"
+ ewarn ">you've upgraded from rrdtool-1.2.x and don't have any font installed to make"
+ ewarn ">lables visible, please, install some font, e.g. media-fonts/dejavu."
+}