On 2014/11/10 16:09, Eric Lalonde wrote:
> Hi ports —
>
> Attached is a new port, graphics/ploticus.
> pkg/DESCR:
> Ploticus is a scriptable utility that can produce various types of plots
> and graphs. Data input is usually csv files or text files such as used
> with sort, awk, etc. Output options are GIF, PNG, PostScript, SVG and
> some others. HTML imagemaps are supported. Ploticus can produce
> just-in-time plots in dynamic web content systems, or in batch
> production settings.
>
> Ploticus strengths:
> * variety of standard graphs and plots supported
> * lots of control over minutae of displays, graphical elements, labelling
> * production-oriented features eg. automatic cropping of output images
> * fairly flexible, semi-automatic legends
> * pretty good clientside imagemap support for tooltips and clickthru
> * work with numeric, categorical, date and time data
> * some statistical, curvefit, summarizing, and data manipulation capabilities
> built-in
> * small footprint, fast performance
> * both vector (PS, SVG) and raster (GIF, PNG) output formats with decent
> consistency
> * full documention and lots of examples available
>
> Lots of examples available at:
> http://ploticus.sourceforge.net/gallery/index.html
>
> This is my first port. Comments and feedback are welcome.
>
> - Eric
>
I haven't looked at all of it, but here are a few comments..
| WRKDIST= ${WRKDIR}/ploticus242/src
| ...
| # also patch files that live outside of $WRKSRC
| post-patch:
| @${PATCH} -s -d ${WRKTEST} -p0 < ${PATCHDIR}/post-patch-run_script_test
The normal patch scaffolding works with files under WRKDIR, not WRKSRC.
The problem here is that WRKDIST is too far down; it should be
${WRKDIR}/ploticus242 or something using the VERSION string e.g.
maybe ${WRKDIR}/ploticus${VERSION:C/.//g}
| WRKTEST= ${WRKDIR}/ploticus242/pltestsuite
...then there's no need for this variable any more, just use
"cd ${WRKDIR}/pltestsuite && ./run_script_test" in do-test.
| CFLAGS-common= -Wall -I${LOCALBASE}/include
-I${X11BASE}/include -DLOCALE -DPLOTICUS -DUNIX -DTDH_NOREC -DWZ -DNOSWF
You need to preserve CFLAGS from whatever the user passed in (or the
default from the OS), so a better approach is to add to CFLAGS in your
Makefile.
...
| CFLAGS-nox11= ${CFLAGS-common} -DNOX11
...and the indirection with the CFLAGS-nox11 / LDFLAGS-nox11 is a little
awkward; something like this would be clearer and closer to other ports:
WANTLIB= c freetype gd jpeg m png pthread z
CFLAGS+= -Wall -I${LOCALBASE}/include -I${X11BASE}/include \
-DLOCALE -DPLOTICUS -DUNIX -DTDH_NOREC -DWZ -DNOSWF
LDFLAGS= -L${LOCALBASE}/lib -L${X11BASE}/lib -lm -lpng -lz \
-ljpeg -lgd -lfreetype
.if ${FLAVOR:Mno_x11}
MAKE_FLAGS= CFLAGS="${CFLAGS} -DNOX11" \
LDFLAGS="${LDFLAGS}"
.else
WANTLIB+= X11
MAKE_FLAGS= CFLAGS="${CFLAGS}" \
LDFLAGS="${LDFLAGS} -lX11" \
XOBJ="x11.o interact.o"
.endif
That manpage is a bit odd...