octave: update to 7.3.0.

- Fix cross build
- Use SuiteSparse
- Use rapidjson
- Use --disable-docs to skip building docs; install the docs from the
  tarball. This way we don't makedepend on texlive/texinfo/gnuplot.
- Avoid warnings due to egrep deprecation
- xlint fixes
- disable spqr on i686 (it segfaults)
This commit is contained in:
Gonzalo Tornaría 2022-11-17 15:17:33 -03:00 committed by Piraty
parent 0464bd6240
commit 7d77a184cb
1 changed files with 81 additions and 45 deletions

View File

@ -1,20 +1,24 @@
# Template file for 'octave'
pkgname=octave
version=6.3.0
version=7.3.0
revision=1
build_style=gnu-configure
hostmakedepends="perl gcc-fortran pkg-config gnuplot texinfo texlive-dvi tar"
configure_args="--disable-docs"
hostmakedepends="perl gcc-fortran pkg-config"
makedepends="pcre-devel readline-devel libSM-devel libltdl-devel lcms2-devel
glpk-devel"
depends="$(vopt_if gui qt5-plugin-sqlite) texinfo"
checkdepends="zip unzip"
glpk-devel SuiteSparse-devel rapidjson"
depends="$(vopt_if gui qt5-plugin-sqlite)"
checkdepends="zip unzip ghostscript gnuplot tar texinfo"
short_desc="High-level language, primarily intended for numerical computations"
maintainer="Diogo Leal <diogo@diogoleal.com>"
license="GPL-3.0-or-later"
homepage="https://gnu.org/software/octave/"
changelog="https://www.gnu.org/software/octave/NEWS-6.1.html"
changelog="https://www.gnu.org/software/octave/NEWS-7.html"
distfiles="${GNU_SITE}/octave/octave-${version}.tar.gz"
checksum=232065f3a72fc3013fe9f17f429a3df69d672c1f6b6077029a31c8f3cd58a66e
checksum=6e14a4649d70af45ab660f8cbbf645aaf1ec33f25f88bfda4697cb17e440c4f5
# avoid warnings due to egrep deprecation
export EGREP="grep -E"
# Use OpenBLAS on platforms where it is available and fallback to regular BLAS
# on all others.
@ -22,29 +26,40 @@ case "$XBPS_TARGET_MACHINE" in
# List of supported architectures copied from openblas.
armv[67]*|aarch64*|i686*|x86_64*|ppc64*)
makedepends+=" openblas-devel"
configure_args=" --with-blas=openblas --with-lapack=openblas"
configure_args+=" --with-blas=openblas --with-lapack=openblas"
;;
*)
makedepends+=" blas-devel lapack-devel"
;;
esac
case $XBPS_TARGET_MACHINE in
i686*)
# spqr is broken on i686; running `qr(sparse(1,1))` yields a segfault:
#
# octave:1> qr(sparse(1,1));
# fatal: caught signal Segmentation fault -- stopping myself...
# Segmentation fault
#
configure_args+=" --without-spqr"
;;
esac
# Package build options
# TODO: some options are still missing, such as
# java, qrupdate, suitesparse
# TODO: some options are still missing, such as java, qrupdate
build_options="
arpack
audio
curl
fftw3
graphicsmagick
gui
hdf5
imagemagick
opengl
openmp
qhull
zlib"
arpack
audio
curl
fftw3
graphicsmagick
gui
hdf5
imagemagick
opengl
openmp
qhull
zlib"
vopt_conflict graphicsmagick imagemagick
@ -61,31 +76,42 @@ desc_option_openmp="Enable support for OpenMP SMP multi-threading"
desc_option_zlib="Support for compressed data."
build_options_default="
arpack
audio
curl
fftw3
graphicsmagick
gui
hdf5
opengl
openmp
qhull
zlib"
arpack
audio
curl
fftw3
graphicsmagick
gui
opengl
openmp
qhull
zlib"
if [ -z "$CROSS_BUILD" ]; then
# hdf5 is nocross
build_options_default+=" hdf5"
fi
if [ -n "$CROSS_BUILD" ];then
# cross build cannot determine integer size for BLAS
# our BLAS (lapack and openblas) are built with 32 bit ints
# even in 64 bit architectures
configure_args+=" ax_blas_integer_size=4"
fi
makedepends+="
$(vopt_if arpack arpack-ng-devel)
$(vopt_if audio 'libsndfile-devel portaudio-devel')
$(vopt_if curl libcurl-devel)
$(vopt_if fftw3 fftw-devel)
$(vopt_if graphicsmagick libgraphicsmagick-devel)
$(vopt_if gui 'qt5-devel qt5-plugin-sqlite qscintilla-qt5-devel qt5-tools-devel')
$(vopt_if hdf5 hdf5-devel)
$(vopt_if imagemagick libmagick-devel)
$(vopt_if opengl "glu-devel fltk-devel fontconfig-devel freetype-devel gl2ps-devel")
$(vopt_if openmp libgomp-devel)
$(vopt_if qhull libqhull-devel)
$(vopt_if zlib zlib-devel)"
$(vopt_if arpack arpack-ng-devel)
$(vopt_if audio 'libsndfile-devel portaudio-devel')
$(vopt_if curl libcurl-devel)
$(vopt_if fftw3 fftw-devel)
$(vopt_if graphicsmagick libgraphicsmagick-devel)
$(vopt_if gui 'qt5-devel qt5-plugin-sqlite qscintilla-qt5-devel qt5-tools-devel')
$(vopt_if hdf5 hdf5-devel)
$(vopt_if imagemagick libmagick-devel)
$(vopt_if opengl "glu-devel fltk-devel fontconfig-devel freetype-devel gl2ps-devel")
$(vopt_if openmp libgomp-devel)
$(vopt_if qhull libqhull-devel)
$(vopt_if zlib zlib-devel)"
case "$XBPS_TARGET_MACHINE" in
ppc64*) ;;
@ -100,4 +126,14 @@ post_install() {
# add helper to launch octave from dmenu etc.
printf "#!/bin/sh\noctave --gui" > octave-gui
vbin octave-gui
# install man pages
for f in doc/*/*.1; do
vman $f
done
# install info files
vmkdir usr/share/info
touch ${DESTDIR}/usr/share/info/dir
vcopy "doc/*/*.info*" usr/share/info
}