Summary of bugs fixed for version 6.4.0 (2021-10-30) ---------------------------------------------------- Improvements and fixes - Reduce memory usage in BISTs for `copyobj`, `hgsave`. - `hgsave.m`, `copyobj.m`: Use `'qt'` graphics toolkit in BISTs. - `main.cc`: Use `getopt` to parse command line arguments. - `main.cc`: Remove invalid case. - Disable `getopt` error reporting in wrapper program. - `interp1.m`: Don't interpret later numeric input as `xi`. - `pkg`: Improve similar package name suggestion. - Store parent name in function object when caching parents in scope. - Avoid internal error and segfault with `eval` and scripts. - `rmpath`: Prevent removing the current directory from the load path. GUI - Fix missing interpreter event in `octave-scintilla`. - Fix opening a file in a custom editor. Documentation - Improve docstring for `disable_diagonal_matrix`, `disable_diagonal_matrix`, and `disable_range`. - `cbrt`: Clarify that function errors for non-real input. - `dsearchn.m`: Added optional distance output description. - Add Hungarian translation for project description files. - Document fsolve output "info" -2. Build system - Correct error message for incompatible CXSparse. Summary of bugs fixed for version 6.3.0 (2021-07-11) ---------------------------------------------------- Important notice - This bug fix release breaks ABI compatiblity with Octave 6.2.0. Re-build binaries (like .oct or .mex files) when updating to this version. Improvements and fixes - `ls-hdf5.cc`: Avoid throwing inside HDF5 function. - `ls-hdf5.cc`: Handle non-zero terminated type strings. - Fix occasional segfault in `symbfact`. - `fsolve.m`: Fix undefined output error when using `Output` function. - Fix compilation error with `iconv_t` on Solaris. - build: Check for `stropts.h`. - Avoid ambiguous call to `pow`. - Fix context link when creating handle to nested function. - `print.m`: Warn when figure is too large to be printed to output page. - Defer clearing function vars until stack frame is deleted. - Avoid memory leaks when returning handles to nested functions. - Hold references to closure frames in anon functions if needed. - `eigs`: Prevent possible segmentation fault at exit. - Issue warning when gnuplot graphics toolkit is initialized. - mpoles.m: Fix detection of pole multiplicity. - Perform shutdown actions in interpreter destructor. - build: Make relocation of dependencies with Octave optional. - `qz.cc`: Return correct number of eigenvalues. - `qz.cc`: Let test pass with LAPACK 3.9.1 and earlier versions. - `pkg.m`: Use default prefixes unless otherwise set previously. - `betaincinv.m`: Correctly handle small inputs. - `betaincinv.m`: Correctly handle inputs very close to 1.0. - `unistd-wrappers.c`: Allocate sufficient memory for `new_argv`. - Mark system functions correctly if `OCTAVE_HOME` is non-canonical. - Mark compiled system functions correctly if `OCTAVE_HOME` is non-canonical. - Fix error if test suite is run before Octave is installed. - `lo-array-errwarn.cc`: Include `<limits>`. - Use `std::size_t` and `std::ptrdiff_t` in C++ code. - Use `std::size_t` in more instances. - Return proper number of stack frames for `dbstack (N)` call. - Avoid ambiguous match of overloaded function. - `lscov.m`: Relax BIST tolerance to pass with OpenBLAS. - `print`: Fix error when `"px"` word is present in a figure. - `logm.m`: Fix check for real negative values in complex vector. - build: Set necessary flags to allow execution on Windows Vista. - Declare base_parser destructor virtual. - `hist.m`: Improve handling and docstring for third parameter "norm". - `logm.m`: Allow tolerance in check for real negative values in complex vector. - `expm.m`, `logm.m`: Use function `isdiag` to detect if input is a diagonal matrix. - tests: Relax tolerance for some tests on macOS. - `logspace.m`: Mark tests as known to fail on macOS. - `hist.m`: Use deterministic test. - `rgb2ind.m`: Reduce memory usage and eliminate randomness in test. - `logm.m`: Allow larger tolerance for test on macOS. - build: Use correct path to `octave` binary in build tree on macOS. - build: Fix typo in folder to libraries when building `.oct` or `.mex` files. - build: Set DL_LDFLAGS in the build rules for .oct or .mex files. - `rgb2ind.m`: Suppress output in test. - Improve documentation for `log2` function. - `ind2sub`: Fix typo in "see also" section of docstring. - `mrdivide`, `mldivide`: Document that functions might return minimum norm solutions. - Fix scoping issue for handles to sibling nested functions. - `ls-mat5.cc`: Avoid integer overflow in calculation of buffer size for zlib. - Move top-level REPL from interpreter to evaluator. - Avoid crash with `dbquit` when executing command in terminal from GUI. GUI - Fix calling external editor. - Fix missing file suffix .m when saving a new script. - Do not run files that are not saved as Octave files. - Fix confirm overwrite for native editor file "save as" dialogs. - Fix crash when GUI tries to restore missing previous Octave dir. - Fix restoring the horizontal position of docked GUI widgets. - Prevent floating widgets from re-opening after restart. - Avoid crash in GUI for `rmdir("")`. - Fix EOL mode when saving files under new names. - Fix auto indentation of switch-structure in GUI editor. - Avoid crash when closing GUI with open editor tabs. - `octave-qscintilla.cc` (`contextmenu_run`): Fix keyboard command handling. Documentation - Improve Differential Equations chapter and example for lsode. - Clarify usage of "Depends" keyword in package `DESCRIPTION` file. - Add note that wildcard patterns for `save` are glob patterns. - Change example for Delaunay triangulation to match the generating code. - Document single precision issues with OpenGL graphics toolkits. - Minor changes to documentation of single precision issues with OpenGL. - Expand on documentation for command syntax. - `isprop.m`: Document that function only works on graphics objects in Octave 6.X. - Explain how to write dual-purpose executable scripts and Octave functions. - Update keyword docstrings. - Use Texinfo commands to improve `transpose()` docstring rendering. - `betainc.m`, `betaincinv.m`: Correct non-TeX definition of beta incomplete integral. - Grammarcheck documentation ahead of 6.3 release. - Spellcheck documentation ahead of 6.3 release.
133 lines
4.7 KiB
Makefile
133 lines
4.7 KiB
Makefile
# $NetBSD: Makefile,v 1.226 2021/12/15 17:20:57 adam Exp $
|
|
|
|
DISTNAME= octave-6.4.0
|
|
CATEGORIES= math
|
|
MASTER_SITES= ${MASTER_SITE_GNU:=octave/}
|
|
EXTRACT_SUFX= .tar.xz
|
|
|
|
MAINTAINER= adam@NetBSD.org
|
|
HOMEPAGE= https://www.gnu.org/software/octave/
|
|
COMMENT= High-level language, intended for numerical computations
|
|
LICENSE= gnu-gpl-v3
|
|
|
|
# These BUILD_DEPENDS are only needed if we need to rebuild the documentation
|
|
#BUILD_DEPENDS+= tex-latex-fonts-[0-9]*:../../fonts/tex-latex-fonts
|
|
#BUILD_DEPENDS+= dvipsk-[0-9]*:../../print/dvipsk
|
|
#BUILD_DEPENDS+= tex-epsf-[0-9]*:../../print/tex-epsf
|
|
#BUILD_DEPENDS+= tex-tex-[0-9]*:../../print/tex-tex
|
|
#BUILD_DEPENDS+= tex-pdftex-[0-9]*:../../print/tex-pdftex
|
|
#TOOL_DEPENDS+= gtexinfo>=5.1:../../devel/gtexinfo
|
|
|
|
DEPENDS+= gnuplot>=3.7:../../graphics/gnuplot
|
|
|
|
USE_LANGUAGES= c c++ fortran77
|
|
USE_LIBTOOL= yes
|
|
USE_TOOLS+= autoconf gsed gmake:run perl pkg-config bison bsdtar:run
|
|
USE_TOOLS+= makeinfo:test
|
|
GNU_CONFIGURE= yes
|
|
|
|
# needed for loading of shared objects such as those in the
|
|
# octave-forge package or user written ones compiled with mkoctfile
|
|
CONFIGURE_ARGS+= --enable-static
|
|
CONFIGURE_ARGS+= --enable-shared
|
|
CONFIGURE_ARGS+= --disable-java
|
|
CONFIGURE_ARGS+= --disable-docs
|
|
CONFIGURE_ARGS+= --with-blas=${BLAS_LIBS:Q}
|
|
CONFIGURE_ARGS+= --with-lapack=${LAPACK_LIBS:Q}
|
|
TEST_TARGET= check
|
|
|
|
# Provide a full path gfortran in MKOCTFILE for octave-forge
|
|
CONFIGURE_ENV+= MKOCTFILE_F77=${FCPATH}
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
# When __APPLE__ is defined, fltk headers typedef an alternate version of Window
|
|
# which conflicts with the one in the X11 headers, so avoid pulling in X11.
|
|
CONFIGURE_ARGS.Darwin+= --without-x
|
|
|
|
# This is needed on Darwin or we get link failures on modules.
|
|
CONFIGURE_ARGS.Darwin+= --enable-link-all-dependencies
|
|
|
|
# We use this to install .oct files so it doesn't strip them.
|
|
CONFIGURE_ENV+= INSTALL_LIB=${INSTALL_LIB:Q}
|
|
|
|
.include "options.mk"
|
|
|
|
INFO_FILES= yes
|
|
OCTAVE_DOC= doc/interpreter/octave.pdf doc/liboctave/liboctave.pdf \
|
|
doc/refcard/refcard-a4.pdf doc/refcard/refcard-legal.pdf \
|
|
doc/refcard/refcard-letter.pdf
|
|
OCTAVE_INFO= doc/interpreter/octave.info doc/liboctave/liboctave.info
|
|
OCTAVE_MAN= doc/interpreter/mkoctfile.1 doc/interpreter/octave.1 \
|
|
doc/interpreter/octave-cli.1 doc/interpreter/octave-config.1
|
|
|
|
|
|
INSTALLATION_DIRS+= share/octave/${PKGVERSION_NOREV}/doc
|
|
INSTALLATION_DIRS+= ${PKGMANDIR}/man1
|
|
INSTALLATION_DIRS+= ${PKGINFODIR}
|
|
|
|
PRINT_PLIST_AWK+= { gsub(/${MACHINE_GNU_PLATFORM}/, "$${MACHINE_GNU_PLATFORM}"); }
|
|
CHECK_WRKREF_SKIP+= lib/octave/${PKGVERSION_NOREV}/liboctinterp*.${SHLIB_TYPE}* \
|
|
lib/octave/${PKGVERSION_NOREV}/liboctinterp.a
|
|
|
|
SUBST_CLASSES+= fix-make
|
|
SUBST_STAGE.fix-make= pre-configure
|
|
SUBST_MESSAGE.fix-make= Fixing path to gmake.
|
|
SUBST_FILES.fix-make= scripts/pkg/private/configure_make.m
|
|
SUBST_VARS.fix-make= GMAKE
|
|
|
|
SUBST_CLASSES+= qtchooser
|
|
SUBST_STAGE.qtchooser= pre-configure
|
|
SUBST_MESSAGE.qtchooser= Avoiding qtchooser assumption (-qt=x argument)
|
|
SUBST_FILES.qtchooser= configure
|
|
SUBST_SED.qtchooser= -e 's,-qt=\$$qt_version,,'
|
|
|
|
# Matches reduce-relocations logic in x11/qt5-qtbase
|
|
.if ${OPSYS} != "Darwin" && ${OPSYS} != "SunOS" && \
|
|
${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == x86_64
|
|
CFLAGS+= -fPIC
|
|
.endif
|
|
|
|
PREPEND_PATH+= ${QTDIR}/bin
|
|
|
|
CHECK_WRKREF_SKIP+= lib/octave/${PKGVERSION_NOREV}/liboctinterp.so*
|
|
|
|
pre-configure:
|
|
cd ${WRKSRC} && autoconf
|
|
|
|
post-install:
|
|
.for f in ${OCTAVE_DOC}
|
|
${INSTALL_DATA} ${WRKSRC}/${f} ${DESTDIR}${PREFIX}/share/octave/${PKGVERSION_NOREV}/doc
|
|
.endfor
|
|
.for f in ${OCTAVE_MAN}
|
|
${INSTALL_DATA} ${WRKSRC}/${f} ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
|
|
.endfor
|
|
.for f in ${OCTAVE_INFO}
|
|
${INSTALL_DATA} ${WRKSRC}/${f} ${DESTDIR}${PREFIX}/${PKGINFODIR}
|
|
.endfor
|
|
${RM} -f ${DESTDIR}/${PREFIX}/lib/charset.alias
|
|
|
|
.if ${OPSYS} != "Darwin"
|
|
# Also can use osmesa for plotting.
|
|
.include "../../graphics/MesaLib/buildlink3.mk"
|
|
.include "../../x11/libX11/buildlink3.mk"
|
|
.endif
|
|
.include "../../audio/libsndfile/buildlink3.mk"
|
|
.include "../../devel/gperf/buildlink3.mk"
|
|
.include "../../devel/ncurses/buildlink3.mk"
|
|
.include "../../devel/pcre/buildlink3.mk"
|
|
.include "../../devel/readline/buildlink3.mk"
|
|
.include "../../devel/zlib/buildlink3.mk"
|
|
.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
|
|
.include "../../graphics/gl2ps/buildlink3.mk"
|
|
.include "../../math/arpack-ng/buildlink3.mk"
|
|
.include "../../math/fftw/buildlink3.mk"
|
|
.include "../../math/qrupdate/buildlink3.mk"
|
|
.include "../../sysutils/desktop-file-utils/desktopdb.mk"
|
|
.include "../../www/curl/buildlink3.mk"
|
|
.include "../../x11/fltk13/buildlink3.mk"
|
|
.include "../../x11/qt5-qtbase/buildlink3.mk"
|
|
.include "../../x11/qt5-qttools/buildlink3.mk"
|
|
.include "../../x11/qt5-qscintilla/buildlink3.mk"
|
|
.include "../../mk/blas.buildlink3.mk"
|
|
.include "../../mk/bsd.pkg.mk"
|