diff options
author | zeising <zeising@FreeBSD.org> | 2014-07-24 04:11:10 +0800 |
---|---|---|
committer | zeising <zeising@FreeBSD.org> | 2014-07-24 04:11:10 +0800 |
commit | bfe22bdabc6672f90e9e2668a17da16925f6f202 (patch) | |
tree | acff0235f236dc6bc7ca0a1d89a25befeba12ef2 /databases/rrdtool | |
parent | f02768fe2900c107be84e0bf8f829770476da4b6 (diff) | |
download | freebsd-ports-gnome-bfe22bdabc6672f90e9e2668a17da16925f6f202.tar.gz freebsd-ports-gnome-bfe22bdabc6672f90e9e2668a17da16925f6f202.tar.zst freebsd-ports-gnome-bfe22bdabc6672f90e9e2668a17da16925f6f202.zip |
Clean up databases/rrdtool
Change library dependensies to use USES= where applicable.
Build ports documentation and examples, depending on respective option.
Add two new options, NLS and GRAPH, the GRAPH option enables the rrdtool graph
command, which pulls in cario and a lot of other dependencies. [1]
Add missing dependencies.
Becase of shlib version bump, bump portrevision on depending ports.
PR: 192024 [1] (based on)
Submitted by: asomers
Approved by: portmgr (blanket, portrevision bumps)
Diffstat (limited to 'databases/rrdtool')
-rw-r--r-- | databases/rrdtool/Makefile | 57 | ||||
-rw-r--r-- | databases/rrdtool/files/patch-configure | 11 | ||||
-rw-r--r-- | databases/rrdtool/files/patch-src__rrd_graph.c | 68 | ||||
-rw-r--r-- | databases/rrdtool/pkg-plist | 163 |
4 files changed, 242 insertions, 57 deletions
diff --git a/databases/rrdtool/Makefile b/databases/rrdtool/Makefile index 3d2d38421a8a..e8cf543267e1 100644 --- a/databases/rrdtool/Makefile +++ b/databases/rrdtool/Makefile @@ -3,7 +3,7 @@ PORTNAME= rrdtool PORTVERSION= 1.4.8 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= databases graphics MASTER_SITES= http://oss.oetiker.ch/rrdtool/pub/ @@ -12,29 +12,24 @@ COMMENT= Round Robin Database Tools LICENSE= GPLv2 -LIB_DEPENDS= libfreetype.so:${PORTSDIR}/print/freetype2 \ - libcairo.so:${PORTSDIR}/graphics/cairo \ - libpng15.so:${PORTSDIR}/graphics/png \ - libxml2.so:${PORTSDIR}/textproc/libxml2 \ - libpangocairo-1.0.so:${PORTSDIR}/x11-toolkits/pango - CONFLICTS= rrdtool10-* rrdtool12-* USE_RC_SUBR= rrdcached -USE_AUTOTOOLS= libtool USE_LDCONFIG= yes GNU_CONFIGURE= yes -USES= gmake pkgconfig -USE_GNOME= gnomehack intltool +USES= gmake libtool pathfix pkgconfig +USE_GNOME= glib20 libxml2 +INSTALL_TARGET= install-strip -CONFIGURE_ARGS= --disable-tcl +CONFIGURE_ARGS= --disable-tcl --disable-silent-rules -PORTDOCS= * PORTEXAMPLES= 4charts.pl bigtops.pl cgi-demo.cgi minmax.pl perftest.pl \ piped-demo.pl shared-demo.pl stripes.pl -OPTIONS_DEFINE= DEJAVU JSON MMAP PERL_MODULE PYTHON_MODULE RUBY_MODULE EXAMPLES DOCS -OPTIONS_DEFAULT= MMAP PERL_MODULE +OPTIONS_DEFINE= DEJAVU GRAPH JSON MMAP NLS PERL_MODULE PYTHON_MODULE \ + RUBY_MODULE EXAMPLES DOCS +OPTIONS_DEFAULT= GRAPH MMAP PERL_MODULE +GRAPH_DESC= Enable the rrdtool graph command (needs cairo) DEJAVU_DESC= Use DejaVu fonts (requires X11) JSON_DESC= Support of json export MMAP_DESC= Use mmap in rrd_update @@ -68,6 +63,7 @@ PLIST_SUB+= WITH_RUBY="@comment " .if ${PORT_OPTIONS:MPERL_MODULE} USES+= perl5 +USE_PERL5+= build run fixpacklist CONFIGURE_ARGS+= --enable-perl --enable-perl-site-install PLIST_SUB+= WITH_PERL="" .else @@ -83,26 +79,43 @@ CONFIGURE_ARGS+= --disable-mmap EXTRA_PATCHES+= ${FILESDIR}/thirdparty-json.diff .endif +.if ${PORT_OPTIONS:MGRAPH} +LIB_DEPENDS+= libfreetype.so:${PORTSDIR}/print/freetype2 \ + libpng15.so:${PORTSDIR}/graphics/png +USE_GNOME+= cairo pango +PLIST_SUB+= WITH_GRAPH="" +.else +CONFIGURE_ARGS+=--disable-rrdcgi --disable-rrd_graph +PLIST_SUB+= WITH_GRAPH="@comment " +.endif + +.if ${PORT_OPTIONS:MNLS} +USES+= gettext +USE_GNOME+= intltool +.else +CONFIGURE_ARGS+=--disable-nls +.endif + .if exists(${LOCALBASE}/lib/X11/fonts/dejavu) || ${PORT_OPTIONS:MDEJAVU} RUN_DEPENDS+= ${LOCALBASE}/lib/X11/fonts/dejavu:${PORTSDIR}/x11-fonts/dejavu .endif CPPFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/freetype2 -##LDFLAGS+= -L${LOCALBASE}/lib -CFLAGS:= ${CFLAGS:N-ffast-math} post-extract: - @${REINPLACE_CMD} -e 's/^POD3/#POD3/' ${WRKSRC}/doc/Makefile.in .if ! ${PORT_OPTIONS:MDOCS} - @${REINPLACE_CMD} -e 's/[[:space:]]install-idocDATA//g' \ - -e 's/[[:space:]]install-ihtmlDATA//g' \ - -e 's/^[[:space:]].*cd .* rrdtool.html index.html/ #/' \ - ${WRKSRC}/doc/Makefile.in + @${REINPLACE_CMD} -e '/^SUBDIRS = /s| doc | |' \ + ${WRKSRC}/Makefile.in .endif .if ! ${PORT_OPTIONS:MEXAMPLES} - ${REINPLACE_CMD} -e '/^SUBDIRS = /s| examples | |' \ + @${REINPLACE_CMD} -e '/^SUBDIRS = /s| examples | |' \ ${WRKSRC}/Makefile.in .endif + @${REINPLACE_CMD} -E 's|(^rrdcached_LDADD = librrd_th.la)|\1 $$\(ALL_LIBS\)|' \ + ${WRKSRC}/src/Makefile.in + + @${REINPLACE_CMD} -E 's|(^rrdtool_LDADD = librrd.la)|\1 $$\(ALL_LIBS\)|' \ + ${WRKSRC}/src/Makefile.in post-install: .if !defined(BATCH) && ${PORT_OPTIONS:MEXAMPLES} diff --git a/databases/rrdtool/files/patch-configure b/databases/rrdtool/files/patch-configure new file mode 100644 index 000000000000..baf59b07e1af --- /dev/null +++ b/databases/rrdtool/files/patch-configure @@ -0,0 +1,11 @@ +--- configure.orig 2013-05-23 09:55:19.000000000 +0200 ++++ configure 2014-07-15 19:59:43.000000000 +0200 +@@ -12846,7 +12846,7 @@ + + + if test "x$GCC" = "xyes"; then +- for flag in -fno-strict-aliasing -Wall -std=gnu99 -pedantic -Wundef -Wshadow -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wold-style-definition -W; do ++ for flag in -fno-strict-aliasing -Wall -std=gnu99 -pedantic -Wundef -Wshadow -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wold-style-definition; do + oCFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $flag" + cachename=rd_cv_gcc_flag_`echo $flag|sed 's/[^A-Za-z]/_/g'` diff --git a/databases/rrdtool/files/patch-src__rrd_graph.c b/databases/rrdtool/files/patch-src__rrd_graph.c new file mode 100644 index 000000000000..5cccdcf53c73 --- /dev/null +++ b/databases/rrdtool/files/patch-src__rrd_graph.c @@ -0,0 +1,68 @@ +--- src/rrd_graph.c.orig 2013-05-23 09:55:07.000000000 +0200 ++++ src/rrd_graph.c 2014-07-20 22:11:58.000000000 +0200 +@@ -305,6 +305,52 @@ + + #undef conv_if + ++ ++static int bad_format_imginfo( ++ char *fmt) ++{ ++ char *ptr; ++ int n = 0; ++ ++ ptr = fmt; ++ while (*ptr != '\0') ++ if (*ptr++ == '%') { ++ ++ /* line cannot end with percent char */ ++ if (*ptr == '\0') ++ return 1; ++ /* '%%' is allowed */ ++ if (*ptr == '%') ++ ptr++; ++ /* '%s', '%S' are allowed */ ++ else if (*ptr == 's' || *ptr == 'S') { ++ n = 1; ++ ptr++; ++ } ++ ++ /* or else '% 4lu' and such are allowed */ ++ else { ++ /* optional padding character */ ++ if (*ptr == ' ') ++ ptr++; ++ /* This should take care of 'm' */ ++ while (*ptr >= '0' && *ptr <= '9') ++ ptr++; ++ /* 'lu' must follow here */ ++ if (*ptr++ != 'l') ++ return 1; ++ if (*ptr == 'u') ++ ptr++; ++ else ++ return 1; ++ n++; ++ } ++ } ++ ++ return (n != 3); ++} ++ ++ + int im_free( + image_desc_t *im) + { +@@ -4022,6 +4068,12 @@ + char *path; + char *filename; + ++ if (bad_format_imginfo(im.imginfo)) { ++ rrd_info_free(im.grinfo); ++ im_free(&im); ++ rrd_set_error("bad format for imginfo"); ++ return NULL; ++ } + path = strdup(im.graphfile); + filename = basename(path); + info.u_str = diff --git a/databases/rrdtool/pkg-plist b/databases/rrdtool/pkg-plist index 483166758af1..81ce140461b1 100644 --- a/databases/rrdtool/pkg-plist +++ b/databases/rrdtool/pkg-plist @@ -1,5 +1,5 @@ bin/rrdcached -bin/rrdcgi +%%WITH_GRAPH%%bin/rrdcgi bin/rrdcreate bin/rrdinfo bin/rrdtool @@ -8,42 +8,43 @@ include/rrd.h include/rrd_client.h include/rrd_format.h lib/librrd.a -lib/librrd.la lib/librrd.so -lib/librrd.so.6 +lib/librrd.so.4 +lib/librrd.so.4.2.1 lib/librrd_th.a -lib/librrd_th.la lib/librrd_th.so -lib/librrd_th.so.6 +lib/librrd_th.so.4 +lib/librrd_th.so.4.2.1 libdata/pkgconfig/librrd.pc -man/man1/bin_dec_hex.1.gz -man/man1/cdeftutorial.1.gz -man/man1/rpntutorial.1.gz -man/man1/rrd-beginners.1.gz -man/man1/rrdbuild.1.gz -man/man1/rrdcached.1.gz -man/man1/rrdcgi.1.gz -man/man1/rrdcreate.1.gz -man/man1/rrddump.1.gz -man/man1/rrdfetch.1.gz -man/man1/rrdfirst.1.gz -man/man1/rrdflushcached.1.gz -man/man1/rrdgraph.1.gz -man/man1/rrdgraph_data.1.gz -man/man1/rrdgraph_examples.1.gz -man/man1/rrdgraph_graph.1.gz -man/man1/rrdgraph_rpn.1.gz -man/man1/rrdinfo.1.gz -man/man1/rrdlast.1.gz -man/man1/rrdlastupdate.1.gz -man/man1/rrdresize.1.gz -man/man1/rrdrestore.1.gz -man/man1/rrdthreads.1.gz -man/man1/rrdtool.1.gz -man/man1/rrdtune.1.gz -man/man1/rrdtutorial.1.gz -man/man1/rrdupdate.1.gz -man/man1/rrdxport.1.gz +%%PORTDOCS%%man/man1/bin_dec_hex.1.gz +%%PORTDOCS%%man/man1/cdeftutorial.1.gz +%%PORTDOCS%%man/man1/rpntutorial.1.gz +%%PORTDOCS%%man/man1/rrd-beginners.1.gz +%%PORTDOCS%%man/man1/rrdbuild.1.gz +%%PORTDOCS%%man/man1/rrdcached.1.gz +%%PORTDOCS%%man/man1/rrdcgi.1.gz +%%PORTDOCS%%man/man1/rrdcreate.1.gz +%%PORTDOCS%%man/man1/rrddump.1.gz +%%PORTDOCS%%man/man1/rrdfetch.1.gz +%%PORTDOCS%%man/man1/rrdfirst.1.gz +%%PORTDOCS%%man/man1/rrdflushcached.1.gz +%%PORTDOCS%%man/man1/rrdgraph.1.gz +%%PORTDOCS%%man/man1/rrdgraph_data.1.gz +%%PORTDOCS%%man/man1/rrdgraph_examples.1.gz +%%PORTDOCS%%man/man1/rrdgraph_graph.1.gz +%%PORTDOCS%%man/man1/rrdgraph_rpn.1.gz +%%PORTDOCS%%man/man1/rrdinfo.1.gz +%%PORTDOCS%%man/man1/rrdlast.1.gz +%%PORTDOCS%%man/man1/rrdlastupdate.1.gz +%%PORTDOCS%%man/man1/rrdresize.1.gz +%%PORTDOCS%%man/man1/rrdrestore.1.gz +%%PORTDOCS%%man/man1/rrdthreads.1.gz +%%PORTDOCS%%man/man1/rrdtool.1.gz +%%PORTDOCS%%man/man1/rrdtune.1.gz +%%PORTDOCS%%man/man1/rrdtutorial.1.gz +%%PORTDOCS%%man/man1/rrdupdate.1.gz +%%PORTDOCS%%man/man1/rrdxport.1.gz +%%PORTDOCS%%man/man3/librrd.3.gz %%WITH_PERL%%%%PERL5_MAN3%%/RRDp.3.gz %%WITH_PERL%%%%PERL5_MAN3%%/RRDs.3.gz %%WITH_PERL%%%%SITE_PERL%%/%%PERL_ARCH%%/auto/RRDp/.packlist @@ -53,10 +54,102 @@ man/man1/rrdxport.1.gz %%WITH_PERL%%%%SITE_PERL%%/RRDp.pm %%WITH_PYTHON%%%%PYTHON_SITELIBDIR%%/rrdtoolmodule.so %%WITH_RUBY%%%%RUBY_SITEARCHLIBDIR%%/RRD.so -%%WITH_PERL%%@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/RRDp -%%WITH_PERL%%@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/RRDs %%PORTEXAMPLES%%share/rrdtool/examples/rrdcached/RRDCached.pm %%PORTEXAMPLES%%share/rrdtool/examples/rrdcached/rrdcached-size.pl +%%PORTDOCS%%%%DOCSDIR%%/html/RRDp.html +%%PORTDOCS%%%%DOCSDIR%%/html/RRDs.html +%%PORTDOCS%%%%DOCSDIR%%/html/bin_dec_hex.html +%%PORTDOCS%%%%DOCSDIR%%/html/cdeftutorial.html +%%PORTDOCS%%%%DOCSDIR%%/html/index.html +%%PORTDOCS%%%%DOCSDIR%%/html/librrd.html +%%PORTDOCS%%%%DOCSDIR%%/html/rpntutorial.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrd-beginners.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdbuild.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdcached.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdcgi.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdcreate.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrddump.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdfetch.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdfirst.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdflushcached.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdgraph.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdgraph_data.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdgraph_examples.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdgraph_graph.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdgraph_rpn.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdinfo.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdlast.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdlastupdate.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdresize.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdrestore.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdthreads.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdtool.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdtune.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdtutorial.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdupdate.html +%%PORTDOCS%%%%DOCSDIR%%/html/rrdxport.html +%%PORTDOCS%%%%DOCSDIR%%/txt/bin_dec_hex.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/bin_dec_hex.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/cdeftutorial.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/cdeftutorial.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/librrd.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rpntutorial.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rpntutorial.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrd-beginners.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrd-beginners.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdbuild.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdbuild.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdcached.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdcached.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdcgi.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdcgi.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdcreate.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdcreate.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrddump.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrddump.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdfetch.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdfetch.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdfirst.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdfirst.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdflushcached.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdflushcached.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdgraph.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdgraph.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdgraph_data.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdgraph_data.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdgraph_examples.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdgraph_examples.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdgraph_graph.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdgraph_graph.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdgraph_rpn.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdgraph_rpn.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdinfo.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdinfo.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdlast.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdlast.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdlastupdate.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdlastupdate.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdresize.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdresize.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdrestore.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdrestore.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdthreads.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdthreads.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdtool.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdtool.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdtune.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdtune.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdtutorial.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdtutorial.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdupdate.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdupdate.txt +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdxport.pod +%%PORTDOCS%%%%DOCSDIR%%/txt/rrdxport.txt +%%WITH_PERL%%@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/RRDp +%%WITH_PERL%%@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/RRDs +%%PORTDOCS%%@dirrm %%DOCSDIR%%/html +%%PORTDOCS%%@dirrm %%DOCSDIR%%/txt +%%PORTDOCS%%@dirrm %%DOCSDIR%% %%PORTEXAMPLES%%@dirrm share/rrdtool/examples/rrdcached %%PORTEXAMPLES%%@dirrm share/rrdtool/examples %%PORTEXAMPLES%%@dirrm share/rrdtool |