[BACK]Return to Makefile CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / math / octave

File: [cvs.NetBSD.org] / pkgsrc / math / octave / Makefile (download)

Revision 1.235, Sun Nov 6 17:02:55 2022 UTC (17 months, 1 week ago) by adam
Branch: MAIN
Changes since 1.234: +3 -4 lines

octave: updated to 7.3.0

GNU Octave 7.3.0

This version is a bug fixing release:

Improvements and fixes

scanf: DonãàÑÕ set error when reaching end of stream
Fix duplicate names displayed with mixed @class/classdef classes
canonicalize_file_name: Handle symlinks to UNC network shares
canonicalize_file_name: Generalize check for mapped network drive
fortran_vec: Fix instances of method chaining that may cause dangling pointer.
Fix wrong color in PDF printout of some LaTeX strings
unpack.m: Escape backslashes in paths on Windows
canonicalize_file_name: Check root of potential mapped network drive
nextpow2.m: Fix for input between 0.5 and 1
quad2d: Fix unintended complex conjugate return
Make sure we donãàÑÕ pass short 8.3 path to latex on Windows
canonicalize_file_name: Trim trailing file separators from root of mapped network drive
imformats.m: Fix isa function in return value
pie3: Fix ãà×µoo many inputãàargs error.
Accept negative inputs to -2^63 for dec2bin and dec2hex
Fix incorrect lambda outputs for lsqnonneg and pqpnonneg
addtodate.m: Fix wrong month returned when subtracting a month from some end-of-month dates
var.m: Fix some Inf and NaN inputs returning 0 instead of NaN
var.m: Fix automatic broadcasting error for sparse and diagonal matrix inputs with vector weighting
legend.m: Fix error with contour plot containing clabels
dec2bin.m: Fix input validation
glpk.m: Avoid using isfinite on potentially sparse input.
var.m: Use bsxfun rather than broadcasting with vector weighting
Fix out of bound indexing in in-place broadcasting operations

GUI

Respect confirmation when deleting files in file browser widget

Build system / Tests

io.tst: Add test case for scanf
nextpow2.m: Add bug number tag to regression tests
quad2d.m: Add BIST to cset b0e90ca8e679
Add test for number of methods with classdef in @folder
Use Autoconf macro to find egrep executable.

Documentation

uitable.m: Fix example code
Clarify number of processors returned by nproc with hyperthreading.
Minor wording change to hashing documentation.
lsqnonneg and pqpnonneg: Document undocumented outputs.
pqpnonneg.m: Improve docstring readability.
lsode: Make TeX and non-TeX docstrings agree.
curl: Fix error in TeX docstring.
Update text on function argument checking.
schur: Update documentation.

# $NetBSD: Makefile,v 1.235 2022/11/06 17:02:55 adam Exp $

DISTNAME=	octave-7.3.0
CATEGORIES=	math
MASTER_SITES=	${MASTER_SITE_GNU:=octave/}
EXTRACT_SUFX=	.tar.xz

MAINTAINER=	adam@NetBSD.org
HOMEPAGE=	https://octave.org/
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 "../../fonts/fontconfig/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 "../../textproc/rapidjson/buildlink3.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"