head 1.9; access; symbols pkgsrc-2018Q4:1.8.0.2 pkgsrc-2018Q4-base:1.8 pkgsrc-2018Q3:1.7.0.2 pkgsrc-2018Q3-base:1.7 pkgsrc-2018Q2:1.6.0.10 pkgsrc-2018Q2-base:1.6 pkgsrc-2018Q1:1.6.0.8 pkgsrc-2018Q1-base:1.6 pkgsrc-2017Q4:1.6.0.6 pkgsrc-2017Q4-base:1.6 pkgsrc-2017Q3:1.6.0.4 pkgsrc-2017Q3-base:1.6 pkgsrc-2017Q2:1.5.0.6 pkgsrc-2017Q2-base:1.5 pkgsrc-2017Q1:1.5.0.4 pkgsrc-2017Q1-base:1.5 pkgsrc-2016Q4:1.5.0.2 pkgsrc-2016Q4-base:1.5 pkgsrc-2016Q3:1.4.0.2 pkgsrc-2016Q3-base:1.4 pkgsrc-2016Q2:1.3.0.4 pkgsrc-2016Q2-base:1.3 pkgsrc-2016Q1:1.3.0.2 pkgsrc-2016Q1-base:1.3 pkgsrc-2015Q4:1.2.0.6 pkgsrc-2015Q4-base:1.2 pkgsrc-2015Q3:1.2.0.4 pkgsrc-2015Q3-base:1.2 pkgsrc-2015Q2:1.2.0.2 pkgsrc-2015Q2-base:1.2 pkgsrc-2015Q1:1.1.0.12 pkgsrc-2015Q1-base:1.1 pkgsrc-2014Q4:1.1.0.10 pkgsrc-2014Q4-base:1.1 pkgsrc-2014Q3:1.1.0.8 pkgsrc-2014Q3-base:1.1 pkgsrc-2014Q2:1.1.0.6 pkgsrc-2014Q2-base:1.1 pkgsrc-2014Q1:1.1.0.4 pkgsrc-2014Q1-base:1.1 pkgsrc-2013Q4:1.1.0.2 pkgsrc-2013Q4-base:1.1; locks; strict; comment @# @; 1.9 date 2019.03.05.11.11.12; author ryoon; state dead; branches; next 1.8; commitid FiubCOAe4X3LpaeB; 1.8 date 2018.12.26.10.45.46; author adam; state Exp; branches; next 1.7; commitid PjmlJnASOpc9ui5B; 1.7 date 2018.08.12.08.33.55; author maya; state Exp; branches; next 1.6; commitid Arw395EVlWOL7ONA; 1.6 date 2017.08.01.11.06.18; author maya; state Exp; branches; next 1.5; commitid BpFR7Wu9Tb183v1A; 1.5 date 2016.11.19.21.53.12; author maya; state Exp; branches; next 1.4; commitid S1QkkVSFrvRyOMuz; 1.4 date 2016.09.28.02.54.15; author maya; state Exp; branches; next 1.3; commitid tFxMtaIhKYAzb0oz; 1.3 date 2016.02.16.04.21.40; author dbj; state Exp; branches; next 1.2; commitid hnQrzL067GiWU5Vy; 1.2 date 2015.04.23.06.50.41; author dbj; state Exp; branches; next 1.1; commitid qYDILZ1rKf9emGiy; 1.1 date 2013.10.27.20.35.16; author joerg; state Exp; branches; next ; commitid LyP7Orv4pvq6nYax; desc @@ 1.9 log @Update to 5.1.0 Changelog: # General improvements The Octave plotting system now supports high resolution screens, i.e., those with greater than 96 DPI which are referred to as HiDPI/Retina monitors. Unicode character support for files and folders in Windows. A new core function movfun will apply a function to a sliding window of arbitrary size on a dataset and accumulate the results. Many common cases have been implemented using the naming scheme movXXX where XXX is the function that will be applied. For example, the moving average over a dataset is movmean. New moving window functions: movfun movslice movmad movmax movmean movmedian movmin movprod movstd movsum movvar The fsolve function has been tweaked to use larger step sizes when calculating the Jacobian of a function with finite differences. This leads to faster convergence. The ranks function has been recoded for performance and is now 25X faster. In addition, it now supports a third argument that specifies how to resolve the ranking of tie values. The function randi has been recoded to produce an unbiased (all results are equally likely) sample of integers. This may produce different results in existing code. If it is necessary to reproduce the exact random integer sequence as in previous versions use ri = imin + floor ((imax - imin + 1) * rand ()); The function isdefinite now returns true or false rather than -1, 0, or 1. To test for a positive semi-definite matrix (old output of 0) check whether the following two conditions hold: isdefinite (A) => 0 and isdefinite (A + 5*TOL, TOL) => 1 The intmax, intmin, and flintmax functions now accept a variable as input. Existing code to query the range of an existing variable can be simplified by removing the call to class that was previously required. For example defining the variable x = int8 (3) in the workspace, calls like range = [ intmin(class(x)), intmax(class(x)) ] can in Octave 5 be simplified to range = [ intmin(x), intmax(x) ]. The path handling functions no longer perform variable or brace expansion on path elements and Octave’s load-path is no longer subject to these expansions. A new printing device is available, "-ddumb", which produces ASCII art for plots. This device is only available with the gnuplot toolkit. # Dependencies The GUI requires Qt libraries. The minimum Qt4 version supported is Qt4.8. Qt5 of any version is preferred. The OSMesa library is no longer used. To print invisible figures when using OpenGL graphics, the Qt QOFFSCREENSURFACE feature must be available and you must use the qt graphics toolkit. The FFTW library is now required to perform FFT calculations. The FFTPACK sources have been removed from Octave. Matlab compatibility * Many improvements. @ text @$NetBSD: patch-configure,v 1.8 2018/12/26 10:45:46 adam Exp $ Regen. install .oct loadable modules with INSTALL_LIB to avoid stripping them 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), seems to trample over our own tools: https://mail-index.netbsd.org/pkgsrc-users/2014/03/26/msg019464.html Allow overriding MKOCTFILE_F77 so we can provide the full path to gfortran (for building octave-forge packages like control) Additional changes are due to autoconf changes. --- configure.orig 2018-08-09 18:20:32.000000000 +0000 +++ configure @@@@ -761,10 +761,6 @@@@ ac_ct_QHELPGENERATOR QHELPGENERATOR ac_ct_QHELPGENERATOR_QTVER QHELPGENERATOR_QTVER -ac_ct_QCOLLECTIONGENERATOR -QCOLLECTIONGENERATOR -ac_ct_QCOLLECTIONGENERATOR_QTVER -QCOLLECTIONGENERATOR_QTVER ac_ct_LRELEASE LRELEASE ac_ct_LRELEASE_QTVER @@@@ -1733,6 +1729,7 @@@@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE INCLUDE_NEXT LIB_CRYPTO pkglibexecdir +runstatedir lispdir REPLACE_FDOPENDIR REPLACE_DIRFD @@@@ -2092,6 +2089,7 @@@@ PYTHON DEFAULT_PAGER GNUPLOT GHOSTSCRIPT +INSTALL_LIB LN_S REPRODUCIBLE_TAR_FLAGS TEXI2PDF @@@@ -2221,7 +2219,6 @@@@ infodir docdir oldincludedir includedir -runstatedir localstatedir sharedstatedir sysconfdir @@@@ -2446,7 +2443,6 @@@@ datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' -runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' @@@@ -2699,15 +2695,6 @@@@ do | -silent | --silent | --silen | --sile | --sil) silent=yes ;; - -runstatedir | --runstatedir | --runstatedi | --runstated \ - | --runstate | --runstat | --runsta | --runst | --runs \ - | --run | --ru | --r) - ac_prev=runstatedir ;; - -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ - | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ - | --run=* | --ru=* | --r=*) - runstatedir=$ac_optarg ;; - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@@@ -2845,7 +2832,7 @@@@ fi for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir runstatedir + libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. @@@@ -2998,7 +2985,6 @@@@ Fine tuning of the installation director --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] @@@@ -6043,7 +6029,7 @@@@ case $host_os in *\ *) host_os=`echo "$h { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: configuring Octave for unknown system type" >&5 $as_echo "$as_me: WARNING: configuring Octave for unknown system type" >&2;} fi - canonical_host_type=$host + canonical_host_type=$host_alias if test -z "$host_cpu"; then host_cpu=unknown @@@@ -9414,7 +9400,10 @@@@ fi -INSTALL_SCRIPT="${INSTALL}" +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_LIB" && INSTALL_LIB='${INSTALL_SCRIPT}' + ## Programs used when running Octave. @@@@ -12974,6 +12963,11 @@@@ fi done ;; -[lLR]*) + case $ac_arg in + -R*) + ac_arg="-Wl,$ac_arg" + ;; + esac ac_exists=false for ac_i in $ac_cv_f77_libs; do if test x"$ac_arg" = x"$ac_i"; then @@@@ -34971,13 +34965,13 @@@@ if test "$cross_compiling" = yes && test MKOCTFILE_LD_CXX=`echo "$LD_CXX" | $SED "s,$CROSS_TOOL_PREFIX,,"` MKOCTFILE_RANLIB=`echo "$RANLIB" | $SED "s,$CROSS_TOOL_PREFIX,,"` else - MKOCTFILE_AR="$AR" - MKOCTFILE_CC="$CC" - MKOCTFILE_CXX="$CXX" - MKOCTFILE_DL_LD="$DL_LD" - MKOCTFILE_F77="$F77" - MKOCTFILE_LD_CXX="$LD_CXX" - MKOCTFILE_RANLIB="$RANLIB" + MKOCTFILE_AR="${MKOCTFILE_AR-$AR}" + MKOCTFILE_CC="${MKOCTFILE_CC-$CC}" + MKOCTFILE_CXX="${MKOCTFILE_CXX-$CXX}" + MKOCTFILE_DL_LD="${MKOCTFILE_DL_LD-$DL_LD}" + MKOCTFILE_F77="${MKOCTFILE_F77-$F77}" + MKOCTFILE_LD_CXX="${MKOCTFILE_LD_CXX-$LD_CXX}" + MKOCTFILE_RANLIB="${MKOCTFILE_RANLIB-$RANLIB}" fi { $as_echo "$as_me:${as_lineno-$LINENO}: defining CROSS_TOOL_PREFIX to be $CROSS_TOOL_PREFIX" >&5 $as_echo "$as_me: defining CROSS_TOOL_PREFIX to be $CROSS_TOOL_PREFIX" >&6;} @@@@ -36091,6 +36085,8 @@@@ else # ifdef _MSC_VER # include # define alloca _alloca +# elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__OpenBSD__) +# include # else # ifdef HAVE_ALLOCA_H # include @@@@ -71654,221 +71650,6 @@@@ fi if test -n "$ac_tool_prefix"; then - for ac_prog in qcollectiongenerator-qt$qt_version - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_QCOLLECTIONGENERATOR_QTVER+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$QCOLLECTIONGENERATOR_QTVER"; then - ac_cv_prog_QCOLLECTIONGENERATOR_QTVER="$QCOLLECTIONGENERATOR_QTVER" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_QCOLLECTIONGENERATOR_QTVER="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -QCOLLECTIONGENERATOR_QTVER=$ac_cv_prog_QCOLLECTIONGENERATOR_QTVER -if test -n "$QCOLLECTIONGENERATOR_QTVER"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $QCOLLECTIONGENERATOR_QTVER" >&5 -$as_echo "$QCOLLECTIONGENERATOR_QTVER" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$QCOLLECTIONGENERATOR_QTVER" && break - done -fi -if test -z "$QCOLLECTIONGENERATOR_QTVER"; then - ac_ct_QCOLLECTIONGENERATOR_QTVER=$QCOLLECTIONGENERATOR_QTVER - for ac_prog in qcollectiongenerator-qt$qt_version -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_QCOLLECTIONGENERATOR_QTVER+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_QCOLLECTIONGENERATOR_QTVER"; then - ac_cv_prog_ac_ct_QCOLLECTIONGENERATOR_QTVER="$ac_ct_QCOLLECTIONGENERATOR_QTVER" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_QCOLLECTIONGENERATOR_QTVER="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_QCOLLECTIONGENERATOR_QTVER=$ac_cv_prog_ac_ct_QCOLLECTIONGENERATOR_QTVER -if test -n "$ac_ct_QCOLLECTIONGENERATOR_QTVER"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_QCOLLECTIONGENERATOR_QTVER" >&5 -$as_echo "$ac_ct_QCOLLECTIONGENERATOR_QTVER" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_QCOLLECTIONGENERATOR_QTVER" && break -done - - if test "x$ac_ct_QCOLLECTIONGENERATOR_QTVER" = x; then - QCOLLECTIONGENERATOR_QTVER="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - QCOLLECTIONGENERATOR_QTVER=$ac_ct_QCOLLECTIONGENERATOR_QTVER - fi -fi - - if test -z "$QCOLLECTIONGENERATOR_QTVER"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in qcollectiongenerator - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_QCOLLECTIONGENERATOR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$QCOLLECTIONGENERATOR"; then - ac_cv_prog_QCOLLECTIONGENERATOR="$QCOLLECTIONGENERATOR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_QCOLLECTIONGENERATOR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -QCOLLECTIONGENERATOR=$ac_cv_prog_QCOLLECTIONGENERATOR -if test -n "$QCOLLECTIONGENERATOR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $QCOLLECTIONGENERATOR" >&5 -$as_echo "$QCOLLECTIONGENERATOR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$QCOLLECTIONGENERATOR" && break - done -fi -if test -z "$QCOLLECTIONGENERATOR"; then - ac_ct_QCOLLECTIONGENERATOR=$QCOLLECTIONGENERATOR - for ac_prog in qcollectiongenerator -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_QCOLLECTIONGENERATOR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_QCOLLECTIONGENERATOR"; then - ac_cv_prog_ac_ct_QCOLLECTIONGENERATOR="$ac_ct_QCOLLECTIONGENERATOR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_QCOLLECTIONGENERATOR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_QCOLLECTIONGENERATOR=$ac_cv_prog_ac_ct_QCOLLECTIONGENERATOR -if test -n "$ac_ct_QCOLLECTIONGENERATOR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_QCOLLECTIONGENERATOR" >&5 -$as_echo "$ac_ct_QCOLLECTIONGENERATOR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_QCOLLECTIONGENERATOR" && break -done - - if test "x$ac_ct_QCOLLECTIONGENERATOR" = x; then - QCOLLECTIONGENERATOR="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - QCOLLECTIONGENERATOR=$ac_ct_QCOLLECTIONGENERATOR - fi -fi - - if test -n "$QCOLLECTIONGENERATOR"; then - if test -n "$QTCHOOSER"; then - QCOLLECTIONGENERATORFLAGS="-qt$qt_version" - fi - QT_TOOLS_AVAILABLE="$QT_TOOLS_AVAILABLE qcollectiongenerator" - else - QT_TOOLS_MISSING="$QT_TOOLS_MISSING qcollectiongenerator" - fi - else - QCOLLECTIONGENERATOR="$QCOLLECTIONGENERATOR_QTVER" - QT_TOOLS_AVAILABLE="$QT_TOOLS_AVAILABLE qcollectiongenerator" - fi - - - if test -n "$ac_tool_prefix"; then for ac_prog in qhelpgenerator-qt$qt_version do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. @@@@ -72084,7 +71865,7 @@@@ fi if test -n "$QT_TOOLS_MISSING"; then - warn_qt_tools="one or more of the Qt utilities moc, uic, rcc, lrelease, qcollectiongenerator, and qhelpgenerator not found; disabling Qt GUI" + warn_qt_tools="one or more of the Qt utilities moc, uic, rcc, lrelease, and qhelpgenerator not found; disabling Qt GUI" build_qt_gui=no MOC_QTVER= UIC_QTVER= @ 1.8 log @octave: fix building with recent Qt5 Do not look for qcollectiongenerator, it has been incorporared into qhelpgenerator. @ text @d1 1 a1 1 $NetBSD: patch-configure,v 1.7 2018/08/12 08:33:55 maya Exp $ @ 1.7 log @Octave: update to 4.4.1 Remove hack that had a high chance of resulting in a dysfunctional package qttools can't be a build dependency because we link against something in it. XXX pkgsrc claims this package has work directory references Summary of important user-visible changes for version 4.4 (2018-04-30): ---------------------------------------------------------------------- ** A graphical Variable Editor has been added to the GUI interface. It uses a spreadsheet-like interface for quick, intuitive editing of variables. The Variable Editor is launched by double-clicking on a variable name in the Workspace Window or by typing "openvar VARIABLE_NAME" in the Command Window. ** On systems with 64-bit pointers, --enable-64 is now the default and Octave always uses 64-bit indexing. However, if the configure script determines that the BLAS library uses 32-bit integers, then operations using the following libraries are limited to arrays with dimensions that are smaller than 2^31 elements: BLAS LAPACK QRUPDATE SuiteSparse ARPACK Additionally, the following libraries use "int" internally, so maximum problem sizes are always limited: glpk Qhull ** The octave command no longer starts the GUI by default. Most users starting Octave from a shell were expecting the command line interface, and desktop launchers already required the `--force-gui' option. With this change, desktop launchers should be modified to use the new option `--gui'. The previous `--force-gui' option will continue to work, and maps to `--gui', but it will be removed in Octave 6. ** A known bug in Qt (https://bugreports.qt.io/browse/QTBUG-55357) is addressed by limiting GUI sub-panel relocation capabilities for Qt versions in the range >= 5.6.1 and < 5.7.1. However, this may not thoroughly avoid issues on all platforms. ** A new container data type--containers.Map--is available. Map is a key/value storage container (a.k.a, a hash) that efficiently allows storing and retrieving values by name, rather than by position which is how arrays work. ** The bareword "import" is now recognized in scripts and functions. However, the functionality to import functions and classes from other namespaces into the local scope has not yet been implemented. Attempting to use "import" will provoke an error message. ** hex2num and num2hex now work for integer and char types and num2hex may optionally return a cell array of strings instead of a character array. If given a cell array of strings, hex2num now returns a numeric array of the same size as the input cell array. Previously, hex2num would accept a cell array of strings of arbitrary dimension but would always return a column vector. ** New special functions cosint, sinint, and gammaincinv have been added. ** Special functions in Octave have been rewritten for larger input domains, better accuracy, and additional options. * gammainc now accepts negative real values for X. * improved accuracy for gammainc, betainc, betaincinv, expint. * gammainc has new options "scaledlower" and "scaledupper". * betainc, betaincinv have new option "upper". ** The "names" option used in regular expressions now returns a struct array, rather than a struct with a cell array for each field. This change was made for Matlab compatibility. ** The quadcc function now uses both absolute tolerance and relative tolerance to determine the stopping criteria for an integration. To be compatible with other quadXXX functions, such as quadgk, the calling syntax has changed to quadcc (f, a, b, [AbsTol, [RelTol]]) To update existing code, change instances of RelTol to [0, RelTol]. quadcc (f, a, b, tol) => quadcc (f, a, b, [0, tol]) A warning that a single tolerance input is now interpreted as an absolute tolerance will be issued in Octave versions 4.4 and 5, after which it will be removed. The warning has ID "Octave:quadcc:RelTol-conversion" and can be disabled with warning ("off", "Octave:quadcc:RelTol-conversion") ** The qr function now returns a standard factorization unless explicitly instructed to perform an economy factorization by using a final argument of 0. ** The Qt graphics toolkit now supports offscreen printing without osmesa if Octave was built with Qt >= 5.1. ** The built-in pager for display of large data is now disabled by default. To re-enable it for every Octave session add the following to your .octaverc file: more on; ** The FLTK toolkit is no longer prioritized for development. The number of Octave Maintainers is too small to support three different graphic toolkits. New development will target the Qt toolkit. While no longer prioritized, the FLTK toolkit is not deprecated and there is no schedule for its removal. ** The graphic object property "PickableParts" has been implemented which controls whether an object can accept mouse clicks. ** The graphic object property "Interruptible" has been fully implemented which controls whether a running callback function can be interrupted by another callback function. ** The graphic object property "HitTest" has been updated to be fully compatible with Matlab. ** Text objects now implement the properties "BackgroundColor", "EdgeColor", "LineStyle", "LineWidth", and "Margin". ** An initial implementation of alpha transparency has been made for patch and surface objects. Printing to svg and pdf is supported. ** ishandle now returns true for both graphics handle objects and Java objects. The latter change was made for Matlab compatibility. Use ishghandle or isgraphics if it is important not to include Java objects. ** The pkg command now accepts a URL as an argument, allowing a valid Octave package to be installed from any remote host with one command, for example pkg install https://example.org/download/example-package.tar.gz ** The following statistical functions have been moved from core Octave to the statistics package available from Octave Forge. BASE cloglog logit prctile probit qqplot table (renamed to crosstab) DISTRIBUTIONS betacdf betainv betapdf betarnd binocdf binoinv binopdf binornd cauchy_cdf cauchy_inv cauchy_pdf cauchy_rnd chi2cdf chi2inv chi2pdf chi2rnd expcdf expinv exppdf exprnd fcdf finv fpdf frnd gamcdf gaminv gampdf gamrnd geocdf geoinv geopdf geornd hygecdf hygeinv hygepdf hygernd kolmogorov_smirnov_cdf laplace_cdf laplace_inv laplace_pdf laplace_rnd logistic_cdf logistic_inv logistic_pdf logistic_rnd logncdf logninv lognpdf lognrnd nbincdf nbininv nbinpdf nbinrnd normcdf norminv normpdf normrnd poisscdf poissinv poisspdf poissrnd stdnormal_cdf stdnormal_inv stdnormal_pdf stdnormal_rnd tcdf tinv tpdf trnd unidcdf unidinv unidpdf unidrnd unifcdf unifinv unifpdf unifrnd wblcdf wblinv wblpdf wblrnd wienrnd MODELS logistic_regression TESTS anova bartlett_test chisquare_test_homogeneity chisquare_test_independence cor_test f_test_regression hotelling_test hotelling_test_2 kolmogorov_smirnov_test kolmogorov_smirnov_test_2 kruskal_wallis_test manova mcnemar_test prop_test_2 run_test sign_test t_test t_test_2 t_test_regression u_test var_test welch_test wilcoxon_test z_test z_test_2 ** The following image functions have been moved from core Octave to the image package available from Octave Forge. ntsc2rgb rgb2ntsc ** Other new functions added in 4.4: bounds camlookat camorbit campos camroll camtarget camup camva camzoom corrcoef cosint decic erase gammaincinv getframe groot gsvd hgtransform humps integral integral2 integral3 isgraphics isstring mad ode15i ode15s openvar quad2d repelem rgb2gray rticks sinint tfqmr thetaticks vecnorm winqueryreg xticklabels xticks yticklabels yticks zticklabels zticks ** Deprecated functions. The following functions have been deprecated in Octave 4.4 and will be removed from Octave 6 (or whatever version is the second major release after 4.4): Function | Replacement ---------------------|------------------ chop | sprintf for visual results desktop | isguirunning tmpnam | tempname toascii | double java2mat | __java2mat__ ** The following functions were deprecated in Octave 4.0 and have been removed from Octave 4.4. allow_noninteger_range_as_index bicubic delaunay3 do_braindead_shortcircuit_evaluation dump_prefs find_dir_in_path finite fmod fnmatch gmap40 loadaudio luinc mouse_wheel_zoom nfields octave_tmp_file_name playaudio saveaudio setaudio syl usage ** The "Octave:undefined-return-values" warning ID is obsolete. Octave now throws an error for any attempts to assign undefined values that might be returned from functions. ** Deprecated graphics properties. The following properties or allowed corresponding values have been deprecated in Octave 4.4 and will be removed from Octave 6 (or whatever version is the second major release after 4.4): Object | Property | Value ---------------------|-------------------------|------------------- figure | doublebuffer | | mincolormap | | wvisual | | wvisualmode | | xdisplay | | xvisual | | xvisualmode | axes | drawmode | annotation | edgecolor ("rectangle") | text | fontweight | "demi" and "light" uicontrol | fontweight | "demi" and "light" uipanel | fontweight | "demi" and "light" uibuttongroup | fontweight | "demi" and "light" ** The rectangle and ellipse annotation property "edgecolor" has been deprecated and will be removed from Octave 6 (or whatever version is the second major release after 4.4). Use the property "color" instead. ** The header file oct-alloc.h has been removed along with the macros that it defined (DECLARE_OCTAVE_ALLOCATOR, DEFINE_OCTAVE_ALLOCATOR, and DEFINE_OCTAVE_ALLOCATOR2). @ text @d1 1 a1 1 $NetBSD: patch-configure,v 1.6 2017/08/01 11:06:18 maya Exp $ d20 12 a31 1 @@@@ -1733,6 +1733,7 @@@@ INCLUDE_NEXT_AS_FIRST_DIRECTIVE d39 1 a39 1 @@@@ -2092,6 +2093,7 @@@@ PYTHON d47 1 a47 1 @@@@ -2221,7 +2223,6 @@@@ infodir d55 1 a55 1 @@@@ -2446,7 +2447,6 @@@@ datadir='${datarootdir}' d63 1 a63 1 @@@@ -2699,15 +2699,6 @@@@ do d79 1 a79 1 @@@@ -2845,7 +2836,7 @@@@ fi d88 1 a88 1 @@@@ -2998,7 +2989,6 @@@@ Fine tuning of the installation director d96 10 a105 1 @@@@ -9414,7 +9404,10 @@@@ fi d117 1 a117 1 @@@@ -12974,6 +12967,11 @@@@ fi d129 1 a129 1 @@@@ -34971,13 +34969,13 @@@@ if test "$cross_compiling" = yes && test d150 1 a150 1 @@@@ -36091,6 +36089,8 @@@@ else d159 231 @ 1.6 log @Make octave-forge work (on netbsd, with gfortran) allow overriding MKOCTFILE_* and use it to provide a full path gfortran, so the invocation doesn't fail because gfortran isn't normally in PATH Force the use of bsdtar. unpacking yielding random PaxHeaders.1234 triggers an octave package sanity check making the build of the 'signal' package fail with a cryptic error with no further diagnostics. bump PKGREVISION @ text @d1 3 a3 1 $NetBSD: patch-configure,v 1.5 2016/11/19 21:53:12 maya Exp $ d16 3 a18 1 --- configure.orig 2016-11-13 15:22:50.000000000 +0000 d20 10 a29 1 @@@@ -1971,6 +1971,7 @@@@ DEFAULT_PAGER a31 1 DESKTOP_FILE_INSTALL d34 1 d36 50 a85 11 TEXI2DVI @@@@ -5938,7 +5939,7 @@@@ case $host_os in *\ *) host_os=`echo "$h { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: configuring Octave for unknown system type" >&5 $as_echo "$as_me: WARNING: configuring Octave for unknown system type" >&2;} fi - canonical_host_type=$host + canonical_host_type=$host_alias if test -z "$host_cpu"; then host_cpu=unknown @@@@ -9211,8 +9212,9 @@@@ fi d89 1 d91 1 a91 2 -INSTALL_SCRIPT="${INSTALL}" d93 1 d96 2 a97 3 @@@@ -28323,7 +28325,12 @@@@ else fi d100 6 a105 7 - -[lLR]*) + -R*) + ac_arg="-Wl,$ac_arg" + shift + set X $ac_arg "$@@" + ;; + -[lLR]*|-Wl*) d109 1 a109 1 @@@@ -29516,13 +29523,13 @@@@ if test "$cross_compiling" = yes && test d130 9 @ 1.5 log @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. @ text @d1 1 a1 1 $NetBSD: patch-configure,v 1.4 2016/09/28 02:54:15 maya Exp $ d11 3 d58 21 @ 1.4 log @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 @ text @d1 1 a1 1 $NetBSD: patch-configure,v 1.3 2016/02/16 04:21:40 dbj Exp $ d11 1 a11 1 --- configure.orig 2015-05-26 16:21:37.000000000 +0000 d13 1 a13 1 @@@@ -1952,6 +1952,7 @@@@ DEFAULT_PAGER d21 1 a21 1 @@@@ -5870,7 +5871,7 @@@@ case $host_os in *\ *) host_os=`echo "$h d30 1 a30 1 @@@@ -8620,7 +8621,9 @@@@ fi a33 1 -INSTALL_SCRIPT='${INSTALL}' d35 2 a36 1 + d41 1 a41 1 @@@@ -14005,7 +14008,12 @@@@ else @ 1.3 log @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. @ text @d1 1 a1 1 $NetBSD$ d5 6 d13 1 a13 1 @@@@ -1951,6 +1951,7 @@@@ DEFAULT_PAGER d21 10 a30 1 @@@@ -8609,7 +8610,9 @@@@ fi d41 1 a41 1 @@@@ -13788,7 +13791,12 @@@@ else @ 1.2 log @install .oct loadable modules with INSTALL_LIB to avoid stripping them regenerate patch sums in distinfo bump PKGREVISION @ text @d3 3 a5 1 --- configure.orig 2013-02-21 20:21:49.000000000 +0000 d7 1 a7 2 @@@@ -663,6 +663,7 @@@@ GPERF DEFAULT_PAGER d9 1 d12 15 a26 4 YFLAGS YACC LFLAGS @@@@ -33819,7 +33820,12 @@@@ else a39 11 @@@@ -60080,7 +60086,9 @@@@ fi -INSTALL_SCRIPT='${INSTALL}' +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_LIB" && INSTALL_LIB='${INSTALL_SCRIPT}' # Extract the first word of "desktop-file-install", so it can be a program name with args. @ 1.1 log @When extracting rpath options from the Fortran linker, qualify them with -Wl before passing them to CC. @ text @d3 1 a3 1 --- configure.orig 2013-10-27 16:08:37.000000000 +0000 d5 9 a13 1 @@@@ -33819,7 +33819,12 @@@@ else d27 11 @