From Rin Okuyama in PR 50363.
While here, clean up some unrecognized configure arguments
and fix the build with the qt4 option.
XXX: this supports qt5 now too, does someone want to add an option for that?
- Two targets added, post-build: and post-install:,
to build gnuplot.pdf (which was in 4.6.6 PLIST),
and two dependency for above process. Thanks gdt@ for comment.
(upstream)
- Update 4.6.6 to 5.0.0
---------------------
GNUPLOT Version 5.0 Release Notes
=================================
Gnuplot version 5 contains significant new capabilities and enhancements.
The most recent previous release was 4.6 patchlevel 6 (4.6.6).
Please see the NEWS file for bugfixes and minor changes to version 5.0
applied after feedback on release candidates -rc1, -rc2, and -rc3.
Release Notes date: 31 December 2014
NOTABLE NEW FEATURES
====================
* New plot styles "with parallelaxes" and labeled contours.
* New coordinate system (Degrees, Minutes, Seconds) "set xdata geographic".
* The "fit" command can now handle functions with up to 12 variables, and
can take into account errors on x as well as errors on dependent variables.
Final covariance terms are stored in user-accessible variables.
Fitting options are now controlled by the command "set fit ..." rather than
by environmental variables.
* The interpretation of columns in a "fit" command depends on new keywords
"error", "xyerror", "zerror". In most cases the program can also recognize
version 4 syntax (no error keyword but last column contains zerror).
* The dot/dash pattern of a line can now be controlled independently
from other line properties using the keyword "dashtype".
* The default color of individual line types can be changed using
"set linetype" (introduced in 4.6). In version 5 a default overall color
sequence can be selected using "set colors {default|classic|podo}".
The "classic" sequence is red/green/blue/magenta/cyan/yellow as used by
older gnuplot versions. The default and podo colors are chosen to be
more easily distinguished in print and in particular by people with color
vision problems.
* Text markup now supports bold and italic font settings in addition to
the subscript, superscript, font size and other options previously
provided by the "enhanced text" mode. This mode is now the default.
* Command scripts may place in-line data in a named data block for
repeated plotting.
* Bit shift operators << and >>
* RGB colors can include an alpha-channel for transparency.
# ARGBcolor = (Alpha << 24) + (Red << 16) + (Green << 8) + Blue
* Secondary axes (x2, y2) can be locked to the primary axis via a mapping
function. In the simplest case this guarantees that the primary and
secondary axis ranges are identical. In the general case it allows you
to define a non-linear axis, something that previously was only possible
for the special case of log scaling.
* The "import" command attaches a user-defined function name to a
function provided by an extenal shared object (i.e. a plugin library).
* Previous commands in the history list of an interactive session can be
reexecuted by number. For example "history !5" will reexecute the
command numbered 5 in the list reported by "history".
* Hypertext labels in the interactive terminals including web display
using the HTML canvas or svg terminals.
Many other additions are described in the "New Features" section of the
documentation.
CHANGES
=======
Gnuplot development assigns very high priority to backward compatibility
with earlier versions. For example any command script that worked in
version 4.0 is expected to continue to work for all version 4 releases
including the most recent one (4.6.6). However changes introduced in
version 5 can affect the operation of some version 4 scripts.
A brief summary of potentially incompatible changes is given here.
* Earlier versions of gnuplot used the keyword "linetype" to mean both
the color and the solid/dot/dash pattern of a line. Version 5 has
separate keywords "linecolor" and "dashtype". You can use these keywords
directly in a plot command or assign any desired color and a dash pattern
to a linetype. The program now provides a default set of 8 linetypes, all solid.
You can change these or add new linetypes as you please. You do not need
to change the current terminal or terminal mode in order to use dashed lines.
* The handling of input data containing NaN, Inf, an inconsistent number of
data columns, or other unexpected content has changed. See documentation
under "missing" for examples and figures.
* Time coordinates are stored internally as the number of seconds relative
to the standard unix epoch 1-Jan-1970. Earlier versions of gnuplot used
a different epoch internally (1-Jan-2000). This change resolves
inconsistencies introduced when time in seconds was generated externally.
The epoch convention used by a particular gnuplot installation can be
determined using the command `print strftime("%F",0)`.
Time is now stored to at least millisecond precision.
* The function `timecolumn(N,"timeformat")` now has 2 parameters.
Because the second parameter is not associated with any particular data axis,
this allows using the `timecolumn` function to read time data for reasons
other than specifying the x or y coordinate. Use of time formats
to generate axis tick labels is now controlled by "set {xy}tics time" rather
than by "set {xy}data time". Thus prior calls to `set xdata time` or
`set timefmt x` are unnecessary for either input or output.
These older commands still work, but are deprecated.
* The "reverse" keyword (e.g. "set xrange [*:*] reverse") now affects only
autoscaling. It has no effect on explicit ranges.
"set xrange [0:1] reverse" is _not_ the same as "set xrange [1:0]".
* Options to the "fit" command are now given by "set fit ..." rather than
by setting environmental variables. Fit can handle up to MAX_NUM_VAR
independent variables (currently 12). Variables other than the first
two (x, y) have been dissociated from axis names. This means, for example,
"set urange [U1:U2]" has no effect on fitting because "u" is not a fit
variable. Use the command "set dummy ..." to assign names to fit variables
3 ... 12.
* The `call` command is implemented by providing a set of variables ARGC,
ARG0, ..., ARG9. ARG0 holds the name of the script file being executed.
ARG1 to ARG9 are string variables and thus may either be referenced directly
or expanded as macros, e.g. @ARG1. The older convention for referencing
call parameters as tokens $0 ... $9 is deprecated.
* "unset xrange" (and other axis ranges) restores the default range.
* "unset terminal" restores the original terminal of the current session.
Update a comment in patch-ag.
Remove the point patch for the "crash on first command when using editline",
since this problem is now fixed upstream.
Upstream changes relative to version 4.6.0:
* NEW syntax hints inside Emacs gnuplot-mode
* NEW support tabulation (set table) of pixel values from image plot styles
* NEW support tabulation of variable color column
* CHANGE emf output modified for better compatibility with MS Office programs
* CHANGE canvas terminal loads appropriate font file for UTF-8 encoding
* CHANGE skip execution of empty iteration loops in set and do commands
* CHANGE build scripts modified to accommodate automake 1.12
* CHANGE new policy: objects given in screen coords are not clipped to graph
* CHANGE Draw the z-axis label at a fixed distance to the left of the z-axis
* CHANGE "unset object N" succeeds even if there is currently no object N
* FIX margin space required for rotated axis tic labels
* FIX check for NaN values in binary input
* FIX backslash handling in enhanced text strings
* FIX cairo terminals sometimes lost the line segment before a polygon
* FIX interactive toggle of multiplots in svg
* FIX failure to balance {} if an input file did not end with a newline
* FIX strlen() and substring operators correctly handle UTF-8
* FIX initialization of history when configured --with-readline=bsd
* FIX set term cairolatex pdf mono
* FIX palette-related corruption in some cairolatex output
* FIX preserve number of active call arguments across a nested call command
* FIX wxt terminal mutex protecting execution of the command list
* FIX apply clipping to the interior fill of circles and ellipses
* FIX corruption of weights used for plotting with smooth acsplines
* FIX skip columnheader line when applying "every" filter
* FIX handle out-of-range pm3d values when cb axis is set to log scale
* FIX top/bottom color distinction in hidden3d when not using palette/RGB colors
* FIX allow toggling on/off of more than 10 plots in windows terminal
* FIX color printing from windows terminal
* FIX set term win font ",<size>"
* FIX incorrect return for acos(x) when imag(x) > 0 (bug present since v3.7)
incorrect return for asin(x) when imag(x) > 0 (bug in 4.4.4, 4.6.0)
incorrect asinh(x) when real(x) < 0 && imag(x) == 0 (bug in 4.4.4, 4.6.0)
* FIX keep sufficient precision in canvas and svg coords to report time in msec
* FIX the input buffer was not always extended correctly inside a { clause }
* FIX some cairolatex set_color requests were being ignored
* FIX calculated value of kernel density mean and sigma
* FIX emf terminal dashed line support
changes:
- New syntax supporting multi-line blocks of code delimited by curly braces
if (<cond>) { ... } else { ... }
do for [<iteration-spec>] { ... }
while (<cond>) { ... }
- Time formats can handle fractional seconds to microsecond precision.
- User-definable linetypes that can be used to establish a locally
preferred default sequence of colors or dash/thickness/point styles.
- Statistical summary of the data to be plotted (new command "stats")
- New terminal drivers: qt context epscairo cairolatex
- Improved support for UTF-8, SJIS and other multi-byte encodings
pkgsrc change: added "qt4" and "wxwindows" options (not enabled
by default)
* NEW Implement pan and zoom via mouse wheel.
* NEW set key maxcolumns N maxrows M
* NEW value("varname") returns the value of the named variable
* NEW encoding cp1251 - 8-bit Cyrillic
* CHANGE backport emf terminal driver from version 4.5
* FIX better estimation of latex string lengths
* FIX colorbar representation of discrete color palettes is pixel accurate
* FIX NaN initialization and tests working on more (all?) platforms
* FIX configuration script tests for readline+ncurses
* FIX prevent out-of-range boxes from creating degenerate ghosts on the border
* FIX missing alpha channel flag for pdfcairo terminal
* FIX font initialization in windows terminal
* FIX color specification "lc N"
* FIX clipping error in filled curves
* FIX segfault if "refresh" command follows an interrupted replot
Changes 4.4.1:
* NEW Support the "%s" format specifier in strftime()
* NEW Optional 6th data column in candlesticks style to specific box width
* NEW If integer arithmetic i*j or i**j would overflow, return value as a real
* NEW "set style circle radius <default-radius>"
* FIX autoconfiguration of readline support in OSX
* FIX font problems in win terminal
* FIX Protect against runaway recursion by limiting depth of nested functions
* FIX metapost terminal: Fix inheritance of line thickness by text strings
* FIX cairo terminals could segfault on certain enhanced text strings
* FIX pdfcairo output to stdout now works
* FIX font ",size" in non-enhanced mode postscript terminals
* FIX Do a better job of estimating the width of UTF-8 encoded strings
* FIX baseline bug in canvas terminal rotation of enhanced text
* FIX Allow "with labels" to work for binary input data
* FIX update user GPVAL variables after plot in table mode
* CHANGE depth-sorting of pm3d surfaces now applies jointly to all in the plot
* CHANGE 3D impulses are now always drawn from z=0
* CHANGE Enable HIDDEN_QUADTREE by default
* CHANGE Enable "set fit errorvariables" by default
* CHANGE Regardless of current timefmt, read time from binary files as a binary
* CHANGE do not limit 3D rotation to 0<rotx<180
changes:
* NEW options front and back to "set colorbox"
* NEW character encoding support for emf and pdf terminals
* NEW "format" keyword for "set tics" and "set {x|y|...}tics"
* NEW allow user to set colorbar label rotatation if the bar is vertical
+bugfixes
1.) Remove directory "share/gnuplot/4.2/PostScript" during deinstallation.
2.) Prevent installation of "share/texmf-local/tex/latex/gnuplot" if
LaTeX is available (because we don't want to depend on "tetex").
3.) Update package list of "gnuplot-nox11" for version 4.2.
Bump revision of both packages.
* New plot styles
o Histogram
o Label plots
o Image data
o Filled curves
o Vectors
* Input from binary data files
* New plot elements
o RGB colors
o Arbitrary rectangles
* String handling
o String and text data read from datafiles
o User-defined string variables, operators, and functions
* Macros
* Auto-layout of multiple plots on a page
* Internal variables
* New or revised terminal drivers
o wxt
o emf
o gif, jpeg, png
o postscript
o ai
o epslatex, pslatex, pstex
o windows
* Canvas size
Closes PR #25450 submitted by me.
Ok'ed wiz@/snj@/root (at) garbled.net
Thanks to xtraeme@ for fixing GD's X11 issues.
From the CHANGELOG:
What's New
==========
The list of changes is immense this time, so only the highlights
can be given here. For the full details, see the NEWS file or the
ChangeLog, or look into the online version of the documentation at
http://www.gnuplot.info/docs/gnuplot.html#What_is_New_in_Version_4.0
You'll quite probably have to (re-)read large parts of the
documentation to learn all the details that have changed.
Major changes visible to users:
-------------------------------
o Global Command syntax change: instead of 'set no...' it's now
'unset ...'.
o Commands 'set data style', 'set function style' and 'set linestyle'
changed to 'set style {data|function|line}, respectively.
o Colour-coded plots in 3D and simulated 2D through the new 'pm3d'
plotting style.
o Boxes drawn by plotstyles 'boxes', 'candlesticks' and boxed errorbar
styles can be filled with solid colors or hatch patterns.
o New plot style 'with filledcurves' to fill an area defined by a curve
in solid colour.
o Windows, X11, OS/2 and GGI interactive graphical terminals now support
interaction with the plot window by mouse and hotkeys.
o The "enhanced" mode has been generalized from PostScript to some
other terminal drivers.
o 'set hidden3d' mode accepts non-grid data and hides them behind gridded
surfaces plotted with them.
o Several new terminal drivers: EMF, PDF, SVG, GGI, epslatex, aqua.
o New function to query if a user-defined variable exists.
o PNG and JPEG terminals using the GD library support libfreetype to
use true-type fonts.
o 'set label' can output a point symbol the comment refers to, and the
text itself can be rotated by arbitrary angles (on some terminals).
o The color of text elements can be changed.
o 'set size ratio' now affects 3D plots, too.
o The 'dgrid3d' can be switched between thin-plate splines and
the older weighted averaging method, at compile time.
o Some terminals now support 'koi8-r', ISO-Latin-2 and CP-852
encoding of user input.
o Windows gnuplot recognizes the Unix/X11 style '-persist' option,
and supports changing linewidth by core gnuplot commands.
o A native compilation option of gnuplot for Mac OS X is now part of
the mainline source, using the 'aquaterm' driver [3].
o Datafile comment character, column separator and decimal sign
can be changed.
o Arrows can be drawn with relative coordinates for the head, and the
heads can be filled.
o Allows 'set timefmt' independantly for each axis, and supports new
'%s' format for seconds-since-1970 input.
o Even more documentation misprints have been fixed, thanks to
Shigeharu TAKENO
Internal changes:
-----------------
o Reorganization of the entire source tree.
o Broken into considerably more source files than before.
o Large sets of related global variables have been collected into
relatively few global data structures (the 'axis' array and a
global 'key' data structure, e.g.).
o The gnuplot_x11 driver no longer is installed in the PATH, to
avoid confusion about it.
o Scaling and ticking of time/date axes respects the fact that
12 and 60 are not the same 10 or 100 much better.
And, obviously, more bug fixes than could possibly fit into this
narrow margin...
(alternatively, we could have renamed one to '<pkgname>-x11', but for the
element of least surprise, the default remains x11 enabled).
This will work much better than the previous attempt to build two packages
from one Makefile, which wasn't all thought out wrt to dependencies, buildlinks etc.
Bump PKGREVISION on plotutils and gnuplot for this.
Changes:
3.7.3
* Major: contributed code to re-add gamma, inverse normal, and
inverse error function
* Windows specific fixes, most visibly changing the 'pause' command
to avoid cpu hogging, and updated build procedures
* Improved metapost driver
* Make Linux driver work with devfs
* Numerous bugfixes backported from development version, see ChangeLog
* A large number of documentation misprints have been fixed
3.7.2
* Major: we have removed code that was labeled with a
non-commercial use clause. The effect is that this
removes the gamma, inverse normal, and inverse error
function from platforms that have no native
implementation.
* Support for BeOS
* New terminal drivers: emf (Enhanced Metafile Format),
epslatex, ggi (General Graphics Interface), pdf, svg
(W3C Scalable Vector Graphics)
* Updated png driver: web-friendly palette, transparent
images, explicit colour specification
* Updated HPGL driver: optional multi-pen support,
alternative plot sizes, variable font sizes
* Updated gnugraph driver: now requires GNU plotutils 2.2
or better
* Updated eepic driver: picture environment now scales with
"set size"
* Updated fig driver to fig file format 3.2
* Updated tkcanvas driver
* Fix font size option in pslatex driver
* configure-alike script for VMS
* Command substitution in double-quoted strings
* Vector clipping style for 2D plots
* Sort terminals by name before displaying
* Numerous bugfixes