Commit graph

51 commits

Author SHA1 Message Date
maya
cca2e981f2 octave: amend wrapper patches to be netbsd-specific. fix sunOS build
octave is using gnulib for portability, but has an additional wrapper
around it. unfortunately that means that this type signature is no longer
portable. netbsd doesn't have struct tm_zone, others do.

I failed to use gnulib to provide struct tm_zone, using an OS-specific macro
as an ugly hack.

reported by hans
2017-03-15 11:33:03 +00:00
maya
4e3fbdc176 Octave: update to 4.2.0
pkgsrc changes: removed all patches to do with qt5 support, upstream
code does it now. blindly moved some patches that were replacing
INSTALL_PROGRAM to INSTALL_LIB as the build changed. added patch
replacing struct tm_zone with timezone_t to accommodate for missing
type in NetBSD - same as libgnu does.

ok adam

Summary of important user-visible changes for version 4.2:
---------------------------------------------------------

 ** The parser has been extended to accept, but ignore, underscore
    characters in numbers.  This facilitates writing more legible code
    by using '_' as a thousands separator or to group nibbles into bytes
    in hex constants.

    Examples: 1_000_000 == 1e6  or  0xDE_AD_BE_EF

 ** The parser has been extended to understand binary numbers which
    begin with the prefix '0b' or '0B'.  The value returned is Octave's
    default numeric class of double, not at unsigned integer class.
    Therefore numbers greater than flintmax, i.e., 2^53, will lose some
    precision.

    Examples: 0b101 == 5  or  0B1100_0001 == 0xC1

 ** gnuplot 4.4 is now the minimum version supported by Octave.

 ** The default set of colors used to plot lines has been updated to be
    compatible with Matlab's new default color scheme.  The line plot
    color scheme can be set with the axes property "ColorOrder".

 ** The default colormap is now set to "viridis" which is also the
    default colormap in matplotlib.  This new colormap fixes some of the
    main issues with the old default colormap "jet" such as its bad
    "luminance profile" and is also more similar to Matlab's new default
    colormap "parula".

 ** The colormap function no longer supports the input argument "list"
    to show built-in colormaps.  Use "help colormap" to find the
    built-in colormaps.

 ** The graphics command "hold on" now ensures that each new plot added
    to an existing plot has a different color or linestyle according to
    the "ColorOrder" and/or "LineStyleOrder" properties.  This is
    equivalent to the old command "hold all" and was made for Matlab
    compatibility.  Existing code *may* produce differently colored
    plots if it did not specify the color for a plot and relied on each
    new plot having the default first color in the "ColorOrder"
    property.

 ** When starting, Octave now looks in the function path for a file
    startup.m and executes any commands found there.  This change was
    made to accommodate Matlab users.  Octave has it's own configuration
    system based on the file .octaverc which is preferred.

 ** Octal ('\NNN') and hex ('\xNN') escape sequences in single quoted
    strings are now interpreted by the function do_string_escapes().
    The *printf family of functions now supports octal and hex escape
    sequences in single-quoted strings for Matlab compatibility.

 ** Special octal and hex escape sequences for the pattern and
    replacement strings in regular expressions are now interpreted for
    Matlab compatibility.

    octal: '\oNNN' or '\o{NNN}'
    hex  : '\xNN'  or '\x{NN}'

 ** Unknown escape sequences in the replacement string for regexprep are
    now substituted with their unescaped version and no warning is
    emitted.  This change was made for Matlab compatibility.

    Example: regexprep ('a', 'a', 'x\yz')
             => 'xyz'

 ** mkfifo now interprets the MODE argument as an octal, not decimal,
    integer.  This is consistent with the equivalent shell command.

 ** linspace now returns an empty matrix if the number of requested
    points is 0 or a negative number.  This change was made to be
    compatible with Matlab releases newer than 2011.  In addition,
    Octave no longer supports matrix inputs for A or B.

 ** The cov function now returns the complex conjugate of the result
    from previous versions of Octave.  This change was made for
    compatibility with Matlab.

 ** condest now works with a normest1 compatible syntax.

 ** The griddata function no longer plots the interpolated mesh if no
    output argument is requested, instead the vector or array of
    interpolated values is always returned for Matlab compatibility.

 ** The new function "light" and the corresponding graphics object
    provide light and shadow effects for patch and surface objects.

 ** The surfnorm function now returns unnormalized (magnitude != 1)
    normal vectors for compatibility with Matlab.

 ** The normal vectors returned from isonormals have been reversed to
    point towards smaller values for compatibility with Matlab.

 ** The quadl function now uses an absolute, rather than relative,
    tolerance for Matlab compatibility.  The default tolerance is 1e-6
    which may result in lower precision results than previous versions
    of Octave which used eps as the relative tolerance.  The quadl
    function has also been extended to return a second output with the
    total number of function evaluations.

 ** The textscan function is now built-in and is much faster and much
    more Matlab-compatible than the previous m-file version.

 ** Dialog boxes--errordlg, helpdlg, inputdlg, listdlg, msgbox,
    questdlg, and warndlg--now exclusively use Qt for rendering.
    Java based versions have been removed.

 ** The axes properties "TitleFontSizeMultiplier" and "TitleFontWeight"
    are now implemented which control the default appearance of text
    created with title().
    The axes property "LabelFontSizeMultiplier" is now implemented
    which controls the default appearance of text created with
    xlabel(), ylabel(), or zlabel().

 ** The graphics property "box" for axes now defaults to "off".
    To obtain equivalent plots to previous versions of Octave use
      set (0, "DefaultAxesBox", "on");
    in your .octaverc file.

 ** The graphics property "boxstyle" has been implemented.  The default
    is "back" which draws only the back planes in a 3-D view.  If the
    option is "full" then all planes are drawn.

 ** The graphics property "erasemode" has been hidden, and will
    eventually be removed.  This property has also been removed
    from Matlab, and was never implemented in Octave.

 ** The graphics property "graphicssmoothing" for figures now controls
    whether anti-aliasing will be used for lines.  The default is "on".

 ** The value "zero" for the axes properties "xaxislocation" and
    "yaxislocation" has been deprecated and will be removed from
    Octave 4.6.  Use "origin" instead.

 ** The publish function allows easy publication of Octave script files
    in HTML or other formats, including figures and output created by
    this script.  It comes with its counterpart grabcode, which lets one
    literally grab the HTML published code from a remote website, for
    example.

 ** The value of the MEX variable TrapFlag now defaults to 0, which will
    cause Octave to abort execution of a MEX file and return to the
    prompt if an error is encountered in mexCallMATLAB.

 ** The MEX API now includes the function mexCallMATLABWithTrap.  This
    function will not abort if an error occurs during mexCallMATLAB, but
    instead will return execution to the MEX function for error
    handling.

 ** The MEX API functions for input validation that begin with "mxIs"
    (e.g., mxIsDouble, mxIsEmpty, etc.) now return type bool rather than
    type int.

 ** The functions mxAssert and mxAssertS for checking assertions have
    been added.  In order to avoid a performance penalty they are only
    compiled in to debug versions of a MEX file, i.e., that are produced
    when the '-g' option is given to mex or mkoctfile.

 ** Other new MEX API functions include mexEvalStringWithTrap,
    mxIsScalar, mxCreateUninitNumericArray, mxCreateUninitNumericMatrix.

 ** Other new functions added in 4.2:

      audioformats
      camlight
      condeig
      deg2rad
      dialog
      evalc
      hash
      im2double
      isocaps
      lighting
      localfunctions
      material
      normest1
      ode23
      ode45
      odeget
      odeplot
      odeset
      padecoef
      profexport
      psi
      rad2deg
      reducepatch
      reducevolume
      smooth3
      uibuttongroup

 ** Deprecated functions.

    The following functions have been deprecated in Octave 4.2 and will
    be removed from Octave 4.6 (or whatever version is the second major
    release after 4.2):

      Function             | Replacement
      ---------------------|------------------
      bitmax               | flintmax
      mahalanobis          | mahal in Octave-Forge statistics pkg
      md5sum               | hash
      octve_config_info    | __octave_config_info__
      onenormest           | normest1
      sleep                | pause
      usleep               | pause
      wavread              | audioread
      wavwrite             | audiowrite

 ** The following functions were deprecated in Octave 3.8 and have been
    removed from Octave 4.2.

      default_save_options    java_new
      gen_doc_cache           java_unsigned_conversion
      interp1q                javafields
      isequalwithequalnans    javamethods
      java_convert_matrix     re_read_readline_init_file
      java_debug              read_readline_init_file
      java_invoke             saving_history

 ** The global error_state variable in Octave's C++ API has been
    deprecated and will be removed in a future version.  Now the error
    and print_usage functions throw an exception
    (octave::execution_exception) after displaying the error message.
    This makes the error and print_usage functions in C++ work more like
    the corresponding functions in the scripting language.

 ** The default error handlers in liboctave have been updated to use
    exceptions.  After displaying an error message they no longer return
    control to the calling program.  The error handler function can be
    customized through the global variables
    "current_liboctave_error_handler" and
    "current_liboctave_error_with_id_handler".  If a programmer has
    installed their own custom error handling routines when directly
    linking with liboctave then these must be updated to throw an
    exception and not return to the calling program.

 ** The system for common errors and warnings has been renamed from
    gripe_XXX to either err_XXX if error is called or warn_XXX if
    warning is called.  The gripe_XXX functions are deprecated and will
    be removed in version 4.6.

 ** New configure option, --enable-address-sanitizer-flags, to build
    Octave with memory allocator checks (similar to those in valgrind)
    built in.
2016-11-19 21:53:12 +00:00
maya
e6436c8062 octave: reference llvm & octave bug reports for ambiguous float
precision patch.
2016-11-19 00:47:08 +00:00
maya
da1715b30d octave: fix linux install
we pass and assume a given MACHINE_GNU_PLATFORM, but this package did not
use this value due to an error.
the guess it had for linux (x86_64-unknown-linux-gnu) is different, and
this seems to trample over our own tools, see:
https://mail-index.netbsd.org/pkgsrc-users/2014/03/26/msg019464.html

add this patch to the original m4 script too, not just the resulting configure
file, so it won't be accidentially forgotten (and can be upstreamed).

patch originally by Iain Morgan
reminded by Dr. Thomas Orgis
2016-09-28 02:54:15 +00:00
prlw1
86295677b9 Update octave to 4.0.3
XXX installs lib/charset.alias - is this a problem?

Bugs Fixed in GNU Octave 4.0.3

* doc: clarify differences between atan and atan2 (bug #48178)
* doc: delete mention of unsupported syntax for looping over structs
  (bug #48064)
* ver.m: return empty struct for unknown package (bug #48235).
* Update gnulib subrepo for texinfo formatting fixes (bug #48001)
* Fix typos in Java conversion of 32 and 64 bit integers (bug #48107)
* Create valid gnuplot commands even for single-entry colormaps
  (bug #48083).
* orderfields.m: Remove trailing bracket in docstring (bug #48063).
* Don't overly restrict options passed to Java jvm (bug #39063).
* Write integers with correct byte order on big-endian systems
  (bug #47434)
* doc: Document syntax for specifying color when using Tex
  interpreter (bug #47907).
* Round quantized pixel values before writing uintN images (bug #47746)
* Fix popen2 error on Windows when child writes to stderr (bug #43036)
* it_IT.ts: Correct Italian translation of "col:" (bug #47857).
* avoid crash in audiowrite argument processing (bug #47875)
* make __magick_read__ a built-in function (bug #41699)
* sortrows.m: Improve docstring (bug #47844).
* doc: Fix typo in exec docstring.
* Use correct URL for Online Documentation (bug #47835).
* Fix autoscale affecting legend axes objects (bug #47765).
* configure.ac: Remove AC_CHECK_FUNC for pipe now that gnulib::pipe used.
* doc: fix on manual the syntax to empty elements from cell array.
* octave.texi: Set document encoding to UTF-8.
* Enable the pipe function on Windows (bug #47614)
* avoid mulitple definitions of static function-scope vars (bug #47372)
* Array-sym.cc: Delete obsolete file.
* Initialize variable to stop unstable results for lgamma (bug #47524).
* call openmp function at initialization (bug #47372)
* macros.texi: Colorized links for PDF files with Texinfo 6.x.
2016-08-06 13:03:35 +00:00
joerg
27332ff217 Don't do clever things with include guards, clever things tend to break. 2016-03-01 20:13:19 +00:00
dbj
e739676bb0 update to octave-4.0.0
Octave 4.0 is a major new release with many new features,
including a graphical user interface, support for classdef
object-oriented programming, better compatibility with Matlab,
and many new and improved functions.

A list of important user-visible changes is availble at
http://octave.org/NEWS-4.0.html, by selecting the Release Notes
item in the News menu of the GUI, or by typing news at the Octave
command prompt.
2016-02-16 04:21:40 +00:00
joerg
435f30495c Fix missing dependency that I am regulary hitting in bulk builds. 2015-12-10 02:59:28 +00:00
agc
286ea2536c Add SHA512 digests for distfiles for math category
Problems found locating distfiles:
	Package dfftpack: missing distfile dfftpack-20001209.tar.gz
	Package eispack: missing distfile eispack-20001130.tar.gz
	Package fftpack: missing distfile fftpack-20001130.tar.gz
	Package linpack: missing distfile linpack-20010510.tar.gz
	Package minpack: missing distfile minpack-20001130.tar.gz
	Package odepack: missing distfile odepack-20001130.tar.gz
	Package py-networkx: missing distfile networkx-1.10.tar.gz
	Package py-sympy: missing distfile sympy-0.7.6.1.tar.gz
	Package quadpack: missing distfile quadpack-20001130.tar.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-03 23:33:26 +00:00
dbj
e5b845f477 install .oct loadable modules with INSTALL_LIB to avoid stripping them
regenerate patch sums in distinfo
bump PKGREVISION
2015-04-23 06:50:41 +00:00
joerg
ad26d7db4f Don't force std::pow into the global namespace. See comment for further
details.
2014-06-05 18:33:07 +00:00
jperkin
6cb16ed9c2 Do not re-define gets() on SunOS, incompatible prototype. 2014-03-06 23:09:04 +00:00
jperkin
8d45f39a9a Pull in Texinfo 5.x compatibility fixes from upstream. 2014-03-06 23:06:58 +00:00
joerg
8c6b77896c When extracting rpath options from the Fortran linker, qualify them with
-Wl before passing them to CC.
2013-10-27 20:35:16 +00:00
joerg
fd43f256ed Deal with C++11 vs TR1 headers. 2013-09-15 12:30:55 +00:00
asau
fd3519b81c Update to Octave 3.6.4
This version is a minor bug fixing release.
2013-02-23 13:11:06 +00:00
asau
517199494b Let users install packages from OctaveForge:
provide path to GNU make which is assumed there.
2012-10-27 13:01:35 +00:00
asau
297b3f88cc Update to Octave 3.6.3
Mostly bug and documentation fixes.
2012-09-13 23:39:14 +00:00
asau
fafce37539 Update to Octave 3.6.2
Summary of important user-visible changes for version 3.6:
---------------------------------------------------------

 ** The PCRE library is now required to build Octave.  If a pre-compiled
    package does not exist for your system, you can find PCRE sources
    at http://www.pcre.org

 ** The ARPACK library is no longer distributed with Octave.
    If you need the eigs or svds functions you must provide an
    external ARPACK through a package manager or by compiling it
    yourself.  If a pre-compiled package does not exist for your system,
    you can find the current ARPACK sources at
    http://forge.scilab.org/index.php/p/arpack-ng

 ** Many of Octave's binary operators (.*, .^, +, -, ...) now perform
    automatic broadcasting for array operations which allows you to use
    operator notation instead of calling bsxfun or expanding arrays (and
    unnecessarily wasting memory) with repmat or similar idioms.  For
    example, to scale the columns of a matrix by the elements of a row
    vector, you may now write

      rv .* M

    In this expression, the number of elements of rv must match the
    number of columns of M.  The following operators are affected:

      plus      +  .+
      minus     -  .-
      times     .*
      rdivide   ./
      ldivide   .\
      power     .^  .**
      lt        <
      le        <=
      eq        ==
      gt        >
      ge        >=
      ne        !=  ~=
      and       &
      or        |
      atan2
      hypot
      max
      min
      mod
      rem
      xor

    additionally, since the A op= B assignment operators are equivalent
    to A = A op B, the following operators are also affected:

      +=  -=  .+=  .-=  .*=  ./=  .\=  .^=  .**=  &=  |=

    See the "Broadcasting" section in the new "Vectorization and Faster
    Code Execution" chapter of the manual for more details.

 ** Octave now features a profiler, thanks to the work of Daniel Kraft
    under the Google Summer of Code mentorship program.  The manual has
    been updated to reflect this addition.  The new user-visible
    functions are profile, profshow, and profexplore.

 ** Overhaul of statistical distribution functions

    Functions now return "single" outputs for inputs of class "single".

    75% reduction in memory usage through use of logical indexing.

    Random sample functions now use the same syntax as rand and accept
    a comma separated list of dimensions or a dimension vector.

    Functions have been made Matlab-compatible with regard to special
    cases (probability on boundaries, probabilities for values outside
    distribution, etc.).  This may cause subtle changes to existing
    scripts.

    negative binomial function has been extended to real, non-integer
    inputs.  The discrete_inv function now returns v(1) for 0 instead of
    NaN.  The nbincdf function has been recoded to use a closed form
    solution with betainc.

 ** strread, textscan, and textread have been completely revamped.

    They now support nearly all Matlab functionality including:

      * Matlab-compatible whitespace and delimiter defaults

      * Matlab-compatible options: 'whitespace', treatasempty', format
        string repeat count, user-specified comment style, uneven-length
        output arrays, %n and %u conversion specifiers (provisionally)

 ** All .m string functions have been modified for better performance or
    greater Matlab compatibility.  Performance gains of 15X-30X have
    been demonstrated.  Operations on cell array of strings no longer pay
    quite as high a penalty as those on 2-D character arrays.

      deblank:  Now requires character or cellstr input.

      strtrim:  Now requires character or cellstr input.
                No longer trims nulls ("\0") from string for Matlab
                compatibility.

      strmatch: Follows documentation precisely and ignores trailing spaces
                in pattern and in string.  Note that this is documented
                Matlab behavior but the implementation apparently does
                not always follow it.

      substr:   Now possible to specify a negative LEN option which
                extracts to within LEN of the end of the string.

      strtok:   Now accepts cellstr input.

      base2dec, bin2dec, hex2dec:
                Now accept cellstr inputs.

      dec2base, dec2bin, dec2hex:
                Now accept cellstr inputs.

      index, rindex:
                Now accept 2-D character array input.

      strsplit: Now accepts 2-D character array input.

 ** Geometry functions derived from Qhull (convhull, delaunay, voronoi)
    have been revamped.  The options passed to the underlying qhull
    command have been changed for better results or for Matlab
    compatibility.

      convhull: Default options are "Qt" for 2D, 3D, 4D inputs
                Default options are "Qt Qx" for 5D and higher

      delaunay: Default options are "Qt Qbb Qc Qz" for 2D and 3D inputs
                Default options are "Qt Qbb Qc Qx" for 4D and higher

      voronoi:  No default arguments

 ** Date/Time functions updated.  Millisecond support with FFF format
    string now supported.

    datestr: Numerical formats 21, 22, 29 changed to match Matlab.
             Now accepts cellstr input.

 ** The following warning IDs have been removed:

      Octave:associativity-change
      Octave:complex-cmp-ops
      Octave:empty-list-elements
      Octave:fortran-indexing
      Octave:precedence-change

 ** The warning ID Octave:string-concat has been renamed to
    Octave:mixed-string-concat.

 ** Octave now includes the following Matlab-compatible preference
    functions:

      addpref  getpref  ispref  rmpref  setpref

 ** The following Matlab-compatible handle graphics functions have been
    added:

      guidata         uipanel        uitoolbar
      guihandles      uipushtool     uiwait
      uicontextmenu   uiresume       waitfor
      uicontrol       uitoggletool

    The uiXXX functions above are experimental.

    Except for uiwait and uiresume, the uiXXX functions are not
    supported with the FLTK+OpenGL graphics toolkit.

    The gnuplot graphics toolkit does not support any of the uiXXX
    functions nor the waitfor function.

 ** New keyword parfor (parallel for loop) is now recognized as a valid
    keyword.  Implementation, however, is still mapped to an ordinary
    for loop.

 ** Other new functions added in 3.6.0:

      bicg                       nthargout                   usejava
      is_dq_string               narginchk                   waitbar
      is_sq_string               python                      zscore
      is_function_handle         register_graphics_toolkit
      loaded_graphics_toolkits   recycle

 ** Deprecated functions.

    The following functions were deprecated in Octave 3.2 and have been
    removed from Octave 3.6.

      create_set          spcholinv    splu
      dmult               spcumprod    spmax
      iscommand           spcumsum     spmin
      israwcommand        spdet        spprod
      lchol               spdiag       spqr
      loadimage           spfind       spsum
      mark_as_command     sphcat       spsumsq
      mark_as_rawcommand  spinv        spvcat
      spatan2             spkron       str2mat
      spchol              splchol      unmark_command
      spchol2inv          split        unmark_rawcommand

    The following functions have been deprecated in Octave 3.6 and will
    be removed from Octave 3.10 (or whatever version is the second major
    release after 3.6):

      cut                is_duplicate_entry
      cor                polyderiv
      corrcoef           shell_cmd
      __error_text__     studentize
      error_text         sylvester_matrix

 ** The following functions have been modified for Matlab compatibility:

      randperm
2012-07-05 19:18:29 +00:00
christos
6289cdd551 Fix the bloody fpos_t/off_t mess. 2012-03-23 22:32:59 +00:00
asau
1ca95f59ca Update to Octave 3.4.3
This makes the package build and work at least in NetBSD on some platforms.


Summary of important user-visible changes for version 3.4.3:
-----------------------------------------------------------

 ** Octave 3.4.3 is a bug fixing release.

Summary of important user-visible changes for version 3.4.2:
-----------------------------------------------------------

 ** Octave 3.2.4 fixes some minor installation problems that affected
    version 3.4.1.

Summary of important user-visible changes for version 3.4.1:
-----------------------------------------------------------

 ** Octave 3.4.1 is primarily a bug fixing release.

 ** IMPORTANT note about binary incompatibility in this release:

    Binary compatibility for all 3.4.x releases was originally planned,
    but this is impossible for the 3.4.1 release due to a bug in the way
    shared libraries were built in Octave 3.4.0.  Because of this bug,
    .oct files built for Octave 3.4.0 must be recompiled before they
    will work with Octave 3.4.1.

    Given that there would be binary incompatibilities with shared
    libraries going from Octave 3.4.0 to 3.4.1, the following
    incompatible changes were also made in this release:

      * The Perl Compatible Regular Expression (PCRE) library is now
        required to build Octave.

      * Octave's libraries and .oct files are now installed in
        subdirectories of $libdir instead of $libexecdir.

    Any future Octave 3.4.x release versions should remain binary
    compatible with Octave 3.4.1 as proper library versioning is now
    being used as recommended by the libtool manual.

 ** The following functions have been deprecated in Octave 3.4.1 and will
    be removed from Octave 3.8 (or whatever version is the second major
    release after 3.4):

      cquad  is_duplicate_entry  perror  strerror

 ** The following functions are new in 3.4.1:

      colstyle  gmres  iscolumn  isrow  mgorth  nproc  rectangle

 ** The get_forge_pkg function is now private.

 ** The rectangle_lw, rectangle_sw, triangle_lw, and triangle_sw
    functions are now private.

 ** The logistic_regression_derivatives and logistic_regression_likelihood
    functions are now private.

 ** ChangeLog files in the Octave sources are no longer maintained
    by hand.  Instead, there is a single ChangeLog file generated from
    the Mercurial version control commit messages.  Older ChangeLog
    information can be found in the etc/OLD-ChangeLogs directory in the
    source distribution.

Summary of important user-visible changes for version 3.4:
---------------------------------------------------------

 ** BLAS and LAPACK libraries are now required to build Octave.  The
    subset of the reference BLAS and LAPACK libraries has been removed
    from the Octave sources.

 ** The `lookup' function was extended to be more useful for
    general-purpose binary searching.  Using this improvement, the
    ismember function was rewritten for significantly better
    performance.

 ** Real, integer and logical matrices, when used in indexing, will now
    cache the internal index_vector value (zero-based indices) when
    successfully used as indices, eliminating the conversion penalty for
    subsequent indexing by the same matrix.  In particular, this means it
    is no longer needed to avoid repeated indexing by logical arrays
    using find for performance reasons.

 ** Logical matrices are now treated more efficiently when used as
    indices.  Octave will keep the index as a logical mask unless the
    ratio of true elements is small enough, using a specialized
    code.  Previously, all logical matrices were always first converted
    to index vectors.  This results in savings in both memory and
    computing time.

 ** The `sub2ind' and `ind2sub' functions were reimplemented as compiled
    functions for better performance.  These functions are now faster,
    can deliver more economized results for ranges, and can reuse the
    index cache mechanism described in previous paragraph.

 ** The built-in function equivalents to associative operators (`plus',
    `times', `mtimes', `and', and `or') have been extended to accept
    multiple arguments.  This is especially useful for summing
    (multiplying, etc.) lists of objects (of possibly distinct types):

      matrix_sum = plus (matrix_list{:});

 ** An FTP object type based on libcurl has been implemented.  These
    objects allow ftp connections, downloads and uploads to be
    managed.  For example,

      fp = ftp ("ftp.octave.org);
      cd (fp, "gnu/octave");
      mget (fp, "octave-3.2.3.tar.bz2");
      close (fp);

 ** The default behavior of `assert (observed, expected)' has been
    relaxed to employ less strict checking that does not require the
    internals of the values to match.  This avoids previously valid
    tests from breaking due to new internal classes introduced in future
    Octave versions.

    For instance, all of these assertions were true in Octave 3.0.x
    but false in 3.2.x due to new optimizations and improvements:

      assert (2*linspace (1, 5, 5), 2*(1:5))
      assert (zeros (0, 0), [])
      assert (2*ones (1, 5), (2) (ones (1,5)))

 ** The behavior of library functions `ismatrix', `issquare', and
    `issymmetric' has been changed for better consistency.

    * The `ismatrix' function now returns true for all numeric,
      logical and character 2-D or N-D matrices.  Previously, `ismatrix'
      returned false if the first or second dimension was zero.
      Hence, `ismatrix ([])' was false,
      while `ismatrix (zeros (1,2,0))' was true.

    * The `issquare' function now returns a logical scalar, and is
      equivalent to the expression

        ismatrix (x) && ndims (x) == 2 && rows (x) == columns (x)

      The dimension is no longer returned.  As a result, `issquare ([])'
      now yields true.

    * The `issymmetric' function now checks for symmetry instead of
      Hermitianness.  For the latter, ishermitian was created.  Also,
      logical scalar is returned rather than the dimension, so
      `issymmetric ([])' is now true.

 ** Function handles are now aware of overloaded functions.  If a
    function is overloaded, the handle determines at the time of its
    reference which function to call.  A non-overloaded version does not
    need to exist.

 ** Overloading functions for built-in classes (double, int8, cell,
    etc.) is now compatible with Matlab.

 ** Function handles can now be compared with the == and != operators,
    as well as the `isequal' function.

 ** Performance of concatenation (using []) and the functions `cat',
    `horzcat', and `vertcat' has been improved for multidimensional
    arrays.

 ** The operation-assignment operators +=, -=, *= and /= now behave more
    efficiently in certain cases.  For instance, if M is a matrix and S a
    scalar, then the statement

      M += S;

    will operate on M's data in-place if it is not shared by another
    variable, usually increasing both time and memory efficiency.

    Only selected common combinations are affected, namely:

      matrix += matrix
      matrix -= matrix
      matrix .*= matrix
      matrix ./= matrix

      matrix += scalar
      matrix -= scalar
      matrix *= scalar
      matrix /= scalar

      logical matrix |= logical matrix
      logical matrix &= logical matrix

    where matrix and scalar belong to the same class.  The left-hand
    side must be a simple variable reference.

    Moreover, when unary operators occur in expressions, Octave will
    also try to do the operation in-place if it's argument is a
    temporary expresssion.

 ** The effect of comparison operators (<, >, <=, and >=) applied to
    complex numbers has changed to be consistent with the strict
    ordering defined by the `max', `min', and `sort' functions.  More
    specifically, complex numbers are compared by lexicographical
    comparison of the pairs `[abs(z), arg(z)]'.  Previously, only real
    parts were compared; this can be trivially achieved by wrapping the
    operands in real().

 ** The automatic simplification of complex computation results has
    changed.  Octave will now simplify any complex number with a zero
    imaginary part or any complex matrix with all elements having zero
    imaginary part to a real value.  Previously, this was done only for
    positive zeros.  Note that the behavior of the complex function is
    unchanged and it still produces a complex value even if the
    imaginary part is zero.

 ** As a side effect of code refactoring in liboctave, the binary
    logical operations are now more easily amenable to compiler
    optimizations and are thus significantly faster.

 ** Octave now allows user-defined `subsasgn' methods to optimize out
    redundant copies.  For more information, see the manual.

 ** More efficient matrix division handling.  Octave is now able to
    handle the expressions

       M' \ V
       M.' \ V
       V / M

    (M is a matrix and V is a vector) more efficiently in certain cases.
    In particular, if M is triangular, all three expressions will be
    handled by a single call to xTRTRS (from LAPACK), with appropriate
    flags.  Previously, all three expressions required a physical
    transpose of M.

 ** More efficient handling of certain mixed real-complex matrix
    operations.  For instance, if RM is a real matrix and CM a complex
    matrix,

      RM * CM

    can now be evaluated either as

      complex (RM * real (CM), RM * imag (CM))

    or as

      complex (RM) * CM,

    depending on the dimensions.  The first form requires more
    temporaries and copying, but halves the FLOP count, which normally
    brings better performance if RM has enough rows.  Previously, the
    second form was always used.

    Matrix division is similarly affected.

 ** More efficient handling of triangular matrix factors returned from
    factorizations.  The functions for computing QR, LU and Cholesky
    factorizations will now automatically return the triangular matrix
    factors with proper internal matrix_type set, so that it won't need
    to be computed when the matrix is used for division.

 ** The built-in `sum' function now handles the non-native summation
    (i.e., double precision sum of single or integer inputs) more
    efficiently, avoiding a temporary conversion of the whole input
    array to doubles.  Further, `sum' can now accept an extra option
    argument, using a compensated summation algorithm rather than a
    straightforward sum, which significantly improves precision if lots
    of cancellation occurs in the summation.

 ** The built-in `bsxfun' function now uses optimized code for certain
    cases where built-in operator handles are passed in.  Namely, the
    optimizations concern the operators `plus', `minus', `times',
    `ldivide', `rdivide', `power', `and', `or' (for logical arrays),
    the relational operators `eq', `ne', `lt', `le', `gt', `ge', and the
    functions `min' and `max'.  Optimizations only apply when both
    operands are of the same built-in class.  Mixed real/complex and
    single/double operations will first convert both operands to a
    common type.

 ** The `strfind' and `strrep' functions now have compiled
    implementations, facilitating significantly more efficient searching
    and replacing in strings, especially with longer patterns.  The code
    of `strcat' has been vectorized and is now much more efficient when
    many strings are concatenated.  The `strcmpi' and `strncmpi'
    functions are now built-in functions, providing better performance.

 ** Matlab-style ignoring input and output function arguments using
    tilde (~) is now supported.  Ignored output arguments may be
    detected from a function using the built-in function `isargout'.
    For more details, consult the manual.

 ** The list datatype, deprecated since the introduction of cells, has
    been removed.

 ** The accumarray function has been optimized and is now significantly
    faster in certain important cases.

 ** The behavior of isreal and isnumeric functions was changed to be more
    Matlab-compatible.

 ** The integer math & conversion warnings (Octave:int-convert-nan,
    Octave:int-convert-non-int-val, Octave:int-convert-overflow,
    Octave:int-math-overflow) have been removed.

 ** rem and mod are now built-in functions.  They also handle integer
    types efficiently using integer arithmetic.

 ** Sparse indexing and indexed assignment has been mostly rewritten.
    Since Octave uses compressed column storage for sparse matrices,
    major attention is devoted to operations manipulating whole columns.
    Such operations are now significantly faster, as well as some other
    important cases.

    Further, it is now possible to pre-allocate a sparse matrix and
    subsequently fill it by assignments, provided they meet certain
    conditions.  For more information, consult the `spalloc' function,
    which is no longer a mere dummy.  Consequently, nzmax and nnz are no
    longer always equal in Octave.  Octave may also produce a matrix
    with nnz < nzmax as a result of other operations, so you should
    consistently use nnz unless you really want to use nzmax (i.e. the
    space allocated for nonzero elements).

    Sparse concatenation is also affected, and concatenating sparse
    matrices, especially larger collections, is now significantly more
    efficient.  This applies to both the [] operator and the
    cat/vertcat/horzcat functions.

 ** It is now possible to optionally employ the xGESDD LAPACK drivers
    for computing the singular value decomposition using svd(), instead
    of the default xGESVD, using the configuration pseudo-variable
    svd_driver.  The xGESDD driver can be up to 6x times faster when
    singular vectors are requested, but is reported to be somewhat less
    robust on highly ill-conditioned matrices.

 ** Configuration pseudo-variables, such as page_screen_output or
    confirm_recursive_rmdir (or the above mentioned svd_driver), now
    accept a "local" option as second argument, requesting the change
    to be undone when the current function returns:

    function [status, msg] = rm_rf (dir)
      confirm_recursive_rmdir (false, "local");
      [status, msg] = rmdir (dir, "s");
      ...
    endfunction

    Upon return, confirm_recursive_rmdir will be restored to the value
    it had on entry to the function, even if there were subsequent
    changes to the variable in function rm_rf or any of the functions
    it calls.

 ** pkg now accepts a -forge option for downloading and installing
    packages from Octave Forge automatically.  For example,

      pkg install -forge general

    will automatically download the latest release of the general
    package and attempt to install it. No automatic resolving of
    dependencies is provided.  Further,

      pkg list -forge

    can be used to list all available packages.

  ** The internal data representation of structs has been completely
     rewritten to make certain optimizations feasible.  The field data
     can now be shared between structs with equal keys but different
     dimensions or values, making operations that preserve the fields
     faster.  Economized storage is now used for scalar structs (just
     like most other scalars), making their usage more
     memory-efficient.  Certain array-like operations on structs
     (concatenation, uniform cellfun, num2cell) have gained a
     significant speed-up.  Additionally, the octave_scalar_map class
     now provides a simpler interface to work with scalar structs within
     a C++ DLD function.

  ** Two new formats are available for displaying numbers:

       format short eng
       format long eng

     Both display numbers in engineering notation, i.e., mantissa +
     exponent where the exponent is a multiple of 3.

  ** The following functions are new in Octave 3.4:

       accumdim    erfcx        nfields      pqpnonneg  uigetdir
       bitpack     fileread     nth_element  quadcc     uigetfile
       bitunpack   fminbnd      onCleanup    randi      uiputfile
       blkmm       fskipl       pbaspect     repelems   uimenu
       cbrt        ifelse       pie3         reset      whitebg
       curl        ishermitian  powerset     rsf2csf
       chop        isindex      ppder        saveas
       daspect     luupdate     ppint        strread
       divergence  merge        ppjumps      textread

  ** Using the image function to view images with external programs such
     as display, xv, and xloadimage is no longer supported.  The
     image_viewer function has also been removed.

  ** The behavior of struct assignments to non-struct values has been
     changed.  Previously, it was possible to overwrite an arbitrary
     value:

        a = 1;
        a.x = 2;

     This is no longer possible unless a is an empty matrix or cell
     array.

  ** The dlmread function has been extended to allow specifying a custom
     value for empty fields.

  ** The dlmread and dlmwrite functions have been modified to accept
     file IDs (as returned by fopen) in addition to file names.

  ** Octave can now optimize away the interpreter overhead of an
     anonymous function handle, if the function simply calls another
     function or handle with some of its parameters bound to certain
     values.  Example:

       f = @(x) sum (x, 1);

     When f is called, the call is forwarded to @sum with the constant 1
     appended, and the anonymous function call does not occur on the
     call stack.

 ** Deprecated functions.

    The following functions were deprecated in Octave 3.0 and have been
    removed from Octave 3.4.

      beta_cdf         geometric_pdf        pascal_pdf
      beta_inv         geometric_rnd        pascal_rnd
      beta_pdf         hypergeometric_cdf   poisson_cdf
      beta_rnd         hypergeometric_inv   poisson_inv
      binomial_cdf     hypergeometric_pdf   poisson_pdf
      binomial_inv     hypergeometric_rnd   poisson_rnd
      binomial_pdf     intersection         polyinteg
      binomial_rnd     is_bool              setstr
      chisquare_cdf    is_complex           struct_contains
      chisquare_inv    is_list              struct_elements
      chisquare_pdf    is_matrix            t_cdf
      chisquare_rnd    is_scalar            t_inv
      clearplot        is_square            t_pdf
      clg              is_stream            t_rnd
      com2str          is_struct            uniform_cdf
      exponential_cdf  is_symmetric         uniform_inv
      exponential_inv  is_vector            uniform_pdf
      exponential_pdf  isstr                uniform_rnd
      exponential_rnd  lognormal_cdf        weibcdf
      f_cdf            lognormal_inv        weibinv
      f_inv            lognormal_pdf        weibpdf
      f_pdf            lognormal_rnd        weibrnd
      f_rnd            meshdom              weibull_cdf
      gamma_cdf        normal_cdf           weibull_inv
      gamma_inv        normal_inv           weibull_pdf
      gamma_pdf        normal_pdf           weibull_rnd
      gamma_rnd        normal_rnd           wiener_rnd
      geometric_cdf    pascal_cdf
      geometric_inv    pascal_inv

    The following functions were deprecated in Octave 3.2 and will
    be removed from Octave 3.6 (or whatever version is the second major
    release after 3.2):

      create_set          spcholinv    splu
      dmult               spcumprod    spmax
      iscommand           spcumsum     spmin
      israwcommand        spdet        spprod
      lchol               spdiag       spqr
      loadimage           spfind       spsum
      mark_as_command     sphcat       spsumsq
      mark_as_rawcommand  spinv        spvcat
      spatan2             spkron       str2mat
      spchol              splchol      unmark_command
      spchol2inv          split        unmark_rawcommand

    The following functions have been deprecated in Octave 3.4 and will
    be removed from Octave 3.8 (or whatever version is the second major
    release after 3.4):

      autocor  cellidx   gammai     krylovb    values
      autocov  dispatch  glpkmex    replot
      betai    fstat     is_global  saveimage

  * For compatibility with Matlab, mu2lin (x) is now equivalent to
    mu2lin (x, 0).

  * The ARPACK library is now distributed with Octave so it no longer
    needs to be available as an external dependency when building
    Octave.
2011-12-24 23:46:02 +00:00
drochner
d7de3f8f02 remove incomplete libtoolization which made that plugins were built
as executables rather than loadable modules
This might cause that the pkg doesn't build on as many platforms as
it did before, but it has a chance to work now.
bump PKGREV
2011-11-28 22:51:27 +00:00
obache
7f5c8217b5 Fixes build with curl-7.21.7.
Let not to include deprecated header file.
2011-09-12 08:31:39 +00:00
joerg
39935a788a Fix configure handling of Magick option 2010-06-27 17:52:56 +00:00
asau
9b33729e06 Use BSD_INSTALL_LIB to install shared objects.
Rediscovered by Taylor R. Campbell in PR 43205
2010-04-24 20:58:36 +00:00
asau
0f0d3eec0b Update to Octave 3.2.4, this is bug fixing release.
pkgsrc changes: fix shared library versions.
2010-02-12 00:41:48 +00:00
drochner
7e6c854bce fix build: libtoolization missed to link against required libraries 2009-12-22 17:46:17 +00:00
adam
5f98cbddc4 Changes 3.2.3:
* This is a bug-fixing release.
2009-10-12 09:28:02 +00:00
dmcmahill
bec8334d40 gcc44 fixes 2009-10-08 16:43:13 +00:00
asau
e6d6a59dc1 Update to Octave 3.2.2.
Changes since previous (3.2.0) are minor bug fixes.
2009-07-23 13:43:25 +00:00
asau
b1cb5486e8 Update to Octave 2.2.0.
User-visible changes since previous release:
- Compatibility with Matlab graphics has been improved.
- New graphics functions.
- New experimental OpenGL/FLTK based plotting system.
- Functions providing direct access to gnuplot have been removed.
- The Control, Finance and Quaternion functions have been removed.
- Specific sparse matrix functions removed.
- Improvements to the debugger.
- Improved traceback error messages.
- Object Oriented Programming.
- Parsing of Command-style Functions.
- Block comments.
- Special treatment in the parser of expressions like "a' * b".
- Single Precision data type.
- Improved array indexing.
- Improved memory management.
- Improved performance for reduction operations.
- Sorting and searching.
- Range arithmetics.
- Various performance improvements.
- 64-bit integer arithmetic.
- Diagonal and permutation matrices.
- Improvements to fsolve.
- Improvements to the norm function.
- New functions for computing some eigenvalues or singular values.
- New QR and Cholesky factorization updating functions.
- New quadrature functions.
- New functions for reading and writing images.
- Other miscellaneous new functions.
- Changes to strcat.
- Improvements to the help functions.
- Deprecated functions.
2009-07-19 00:33:10 +00:00
adam
6413d6c4b5 Changes 3.0.5:
* Fixed a serious file reading bug.

Changes 3.0.4:
* Bug-fixing release.
2009-04-12 20:46:20 +00:00
asau
331426e08b Add DESTDIR support.
Approved by <tnn>.
2009-01-27 12:04:14 +00:00
adam
b6441dac9f Changes 3.0.3:
* Bug fixes
* Improvements
2008-10-25 08:26:12 +00:00
adam
ad772600da Changes 3.0.2:
* Bug-fix release.
2008-09-11 10:26:41 +00:00
dholland
5c4c0363db Use the PIC flag for Fortran that autoconf picks out. Fixes broken
build on amd64 and probably others.
2008-08-18 00:28:21 +00:00
adam
46fbc52a40 Changes 3.0.1:
* This is a bug-fixing release.
2008-05-02 08:50:46 +00:00
adam
2ba7f5e00f Changes 3.0.0:
* Compatibility with Matlab graphics is much better now.  We now
  have some graphics features that work like Matlab's Handle
  Graphics (tm):
* The way Octave handles search paths has changed.
* Previous versions of Octave had a number of built-in variables to
  control warnings (for example, warn_divide_by_zero).  These
  variables have been replaced by warning identifiers that are used
  with the warning function to control the state of warnings.
* All built-in variables have been converted to functions.
* For compatibility with Matlab, the output order of Octave's
  "system" function has changed.
* For compatibility with Matlab, the output of Octave's fsolve
  function has been changed.
* For compatibility with Matlab, normcdf, norminv, normpdf, and
  normrnd have been modified to compute distributions using the
  standard deviation instead of the variance.
* For compatibility with Matlab, gamcdf, gaminv, gampdf, gamrnd,
  expcdf, expinv, exppdf and exprnd have been modified to compute
  the distributions using the standard scale factor rather than
  one over the scale factor.
2008-01-11 01:23:43 +00:00
adam
ef30427934 Changes 2.1.73:
* Bug fixes
2006-04-06 09:10:28 +00:00
adam
e23c61d444 Changes 2.1.72:
* Bug fixes
* Improvements
2005-11-29 13:11:05 +00:00
adam
90f2268b2a Changes 2.1.71:
* Bug fixes
2005-07-01 11:49:02 +00:00
drochner
ab9d3e7692 update to 2.1.71
changes: cleanup, build system fixes
2005-05-31 17:24:23 +00:00
jlam
4bcb3e6d4f Fix broken GNU configure script that was overriding the SED that was
passed to it with an empty string.
2005-05-26 21:11:35 +00:00
adam
bf24a02001 Changes 2.1.70:
* Bug fixes
2005-05-18 15:42:22 +00:00
adam
1fdfffb0f2 Changes 2.1.69:
* Bug fixes
2005-04-01 10:15:46 +00:00
jtb
5e48103bb6 Remove egcs-patch-aa from distinfo to silence pkglint. 2003-08-29 07:08:23 +00:00
seb
75ffb0f31d Convert to USE_NEW_TEXINFO.
Remove now unnecessary patch files.
2003-08-02 19:39:08 +00:00
jtb
c4189c6825 Update to version 2.0.17. Convert to using buildlink.
Summary of changes for version 2.0.17:
-------------------------------------

  This will probably be the last release in the 2.0.x series.  There
  are a few bug fixes, but the major change is to print a message
  saying that Octave 2.0.x cannot be compiled with gcc 3.0.x or gcc
  2.96.  If you want to build Octave 2.0.x, you will need to use gcc
  2.95.x.  If you want to use gcc 3.0.x or some later version, you
  should be using the Octave 2.1.35 sources or a more recent version.
2003-07-02 20:58:34 +00:00
seb
66111c6d15 Introduce new framework for handling info files generation and installation.
Summary of changes:
- removal of USE_GTEXINFO
- addition of mk/texinfo.mk
- inclusion of this file in package Makefiles requiring it
- `install-info' substituted by `${INSTALL_INFO}' in PLISTs
- tuning of mk/bsd.pkg.mk:
    removal of USE_GTEXINFO
    INSTALL_INFO added to PLIST_SUBST
    `${INSTALL_INFO}' replace `install-info' in target rules
    print-PLIST target now generate `${INSTALL_INFO}' instead of `install-info'
- a couple of new patch files added for a handful of packages
- setting of the TEXINFO_OVERRIDE "switch" in packages Makefiles requiring it
- devel/cssc marked requiring texinfo 4.0
- a couple of packages Makefiles were tuned with respect of INFO_FILES and
  makeinfo command usage

See -newly added by this commit- section 10.24 of Packages.txt for
further information.
2002-02-18 15:14:00 +00:00
dmcmahill
f9f48957e4 make sure this configures and builds correctly with either f77 or f2c. 2001-04-19 03:03:24 +00:00