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...


Reply via email to