* [PR PATCH] octave: update to 7.3.0.
@ 2022-11-24 3:02 tornaria
2022-11-24 11:47 ` [PR PATCH] [Updated] " tornaria
` (9 more replies)
0 siblings, 10 replies; 11+ messages in thread
From: tornaria @ 2022-11-24 3:02 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1905 bytes --]
There is a new pull request by tornaria against master on the void-packages repository
https://github.com/tornaria/void-packages octave
https://github.com/void-linux/void-packages/pull/40720
octave: update to 7.3.0.
- Fix cross build
- Use SuiteSparse
- Use rapidjson
- Use --disable-docs to skip building docs, instead install the docs in
the tarball. This way we don't need texlive/texinfo/gnuplot to build.
- Avoid warnings due to egrep deprecation
- xlint fixes
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **briefly**
---
I wonder if we really want all those build options. I am tempted to remove almost all of them.
I also wonder if the choice of `GraphicsMagick` over `ImageMagick` is the best one.
NOTE: this PR includes #39846 for the current SuiteSparse. Could work with the current SuiteSparse, but I didn't try (#39846 is ready to merge IMO; the CI failures in that PR are addressed in the comments)
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/40720.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-octave-40720.patch --]
[-- Type: text/x-diff, Size: 18102 bytes --]
From e963af9c0972765749e671281797ca84a373710c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 9 Oct 2022 17:46:15 -0300
Subject: [PATCH 1/4] SuiteSparse: update to 6.0.1.
Also: use openblas instead of lapack when available.
---
common/shlibs | 7 ++--
.../patches/skip-demo-on-build.patch | 22 ----------
srcpkgs/SuiteSparse/template | 40 +++++++++++--------
3 files changed, 27 insertions(+), 42 deletions(-)
delete mode 100644 srcpkgs/SuiteSparse/patches/skip-demo-on-build.patch
diff --git a/common/shlibs b/common/shlibs
index 1a4d1031475a..7429bfcd2e23 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -71,7 +71,6 @@ libppl.so.14 ppl-1.2_1
libppl_c.so.4 ppl-0.11_1
libstdc++.so.6 libstdc++-4.4.0_1
libssp.so.0 libssp-4.4.0_1
-libcxsparse.so.3 SuiteSparse-5.10.1_1
libncurses.so.6 ncurses-libs-6.0_1 ignore
libncursesw.so.6 ncurses-libs-5.8_1 ignore
libtinfo.so.6 ncurses-libtinfo-libs-6.2_2
@@ -4064,9 +4063,9 @@ libprimecount.so.7 primecount-7.2_1
libprimesieve.so.10 primesieve-8.0_1
libavif.so.15 libavif-0.11.0_1
libkdumpfile.so.10 libkdumpfile-0.4.1_1
-libamd.so.2 SuiteSparse-5.10.1_1
-libcholmod.so.3 SuiteSparse-5.10.1_1
-libumfpack.so.5 SuiteSparse-5.10.1_1
+libamd.so.3 SuiteSparse-6.0.1_1
+libcholmod.so.4 SuiteSparse-6.0.1_1
+libumfpack.so.6 SuiteSparse-6.0.1_1
libecl.so.21.2 ecl-21.2.1_1
libecm.so.1 ecm-7.0.4_3
libcliquer.so.1 cliquer-1.22_1
diff --git a/srcpkgs/SuiteSparse/patches/skip-demo-on-build.patch b/srcpkgs/SuiteSparse/patches/skip-demo-on-build.patch
deleted file mode 100644
index 9ec775229ed6..000000000000
--- a/srcpkgs/SuiteSparse/patches/skip-demo-on-build.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-This is to avoid running demos on `make install`, which break cross compile
-
---- a/Makefile
-+++ b/Makefile
-@@ -294,7 +294,7 @@ endif
- # just compile GraphBLAS
- gb:
- echo $(CMAKE_OPTIONS)
-- ( cd GraphBLAS && $(MAKE) JOBS=$(JOBS) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' )
-+ ( cd GraphBLAS && $(MAKE) JOBS=$(JOBS) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' library )
-
- # compile and install GraphBLAS libgraphblas_renamed, for MATLAB
- gbrenamed:
-@@ -309,7 +309,7 @@ gbrenamed:
-
- # just compile Mongoose
- mon:
-- ( cd Mongoose && $(MAKE) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' )
-+ ( cd Mongoose && $(MAKE) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' library )
-
- # compile and install Mongoose
- moninstall: mon
diff --git a/srcpkgs/SuiteSparse/template b/srcpkgs/SuiteSparse/template
index b304dfc8f786..212162449103 100644
--- a/srcpkgs/SuiteSparse/template
+++ b/srcpkgs/SuiteSparse/template
@@ -1,33 +1,43 @@
# Template file for 'SuiteSparse'
pkgname=SuiteSparse
-version=5.12.0
+version=6.0.1
revision=1
-# XXX: re-enable TBB=-ltbb -DSPQR_CONFIG=-DHAVE_TBB when updating, if possible
-make_build_args="BLAS=-lblas LAPACK=-llapack"
-hostmakedepends="cmake chrpath"
-makedepends="libgomp-devel lapack-devel mpfr-devel"
+hostmakedepends="cmake gcc-fortran"
+makedepends="libgomp-devel mpfr-devel
+ $(vopt_if openblas 'openblas-devel' 'lapack-devel')"
short_desc="Suite of sparse matrix software"
maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
license="custom:multiple"
homepage="https://people.engr.tamu.edu/davis/suitesparse.html"
changelog="https://raw.githubusercontent.com/DrTimothyAldenDavis/SuiteSparse/master/ChangeLog"
distfiles="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${version}.tar.gz"
-checksum=5fb0064a3398111976f30c5908a8c0b40df44c6dd8f0cc4bfa7b9e45d8c647de
+checksum=06f55a0449775d1f43d8a33ba8c8417ea8cf76c27833b465c49825baa8741d0c
+
+build_options="openblas"
+
+case "$XBPS_TARGET_MACHINE" in
+ x86_64*|i686*|aarch64*|armv[67]*|ppc64*)
+ # Prefer accelerated routines where available
+ build_options_default="openblas"
+ ;;
+ *) ;;
+esac
do_build() {
- make config library $make_build_args JOBS=$XBPS_MAKEJOBS
+ make library \
+ JOBS=$XBPS_MAKEJOBS \
+ CMAKE_OPTIONS="-DBLA_VENDOR=$(vopt_if openblas 'OpenBLAS' 'Generic') \
+ -DCMAKE_INSTALL_PREFIX=$DESTDIR/usr"
}
do_check() {
- make go $make_build_args LD_LIBRARY_PATH=$wrksrc/lib JOBS=$XBPS_MAKEJOBS
+ make demos \
+ JOBS=$XBPS_MAKEJOBS
}
do_install() {
- make install $make_build_args INSTALL=$DESTDIR/usr
+ make install
vlicense LICENSE.txt
-
- # remove invalid rpath
- chrpath -d $DESTDIR/usr/lib/lib*.so
}
SuiteSparse-devel_package() {
@@ -35,10 +45,8 @@ SuiteSparse-devel_package() {
short_desc+=" - development files"
pkg_install() {
vmove usr/include
+ vmove usr/lib/cmake
vmove "usr/lib/*.a"
- # do not vmove libmetis.so
- vmove "usr/lib/lib[a-ln-z]*.so"
- vmove "usr/lib/libmo*.so"
- vmove usr/share/doc
+ vmove "usr/lib/*.so"
}
}
From 8a1aa4992a10714d59ea5bff31790a63171901c7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 13 Nov 2022 00:33:48 -0300
Subject: [PATCH 2/4] python3-cvxopt: revbump for SuiteSparse 6.0.1.
Also: use openblas instead of lapack when available.
---
srcpkgs/python3-cvxopt/patches/fix-gsl.patch | 11 ---
.../python3-cvxopt/patches/test-modules.patch | 76 +++++++++++++++++++
srcpkgs/python3-cvxopt/template | 18 ++++-
3 files changed, 91 insertions(+), 14 deletions(-)
delete mode 100644 srcpkgs/python3-cvxopt/patches/fix-gsl.patch
create mode 100644 srcpkgs/python3-cvxopt/patches/test-modules.patch
diff --git a/srcpkgs/python3-cvxopt/patches/fix-gsl.patch b/srcpkgs/python3-cvxopt/patches/fix-gsl.patch
deleted file mode 100644
index e32dc2fbf1e1..000000000000
--- a/srcpkgs/python3-cvxopt/patches/fix-gsl.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/setup.py 2022-03-07 18:58:58.000000000 -0300
-+++ b/setup.py 2022-04-14 22:25:18.860887901 -0300
-@@ -129,7 +129,7 @@
- # optional modules
-
- if BUILD_GSL:
-- gsl = Extension('gsl', libraries = M_LIB + ['gsl'] + BLAS_LIB,
-+ gsl = Extension('gsl', libraries = M_LIB + ['gsl', 'gslcblas'],
- include_dirs = [ GSL_INC_DIR ],
- library_dirs = [ GSL_LIB_DIR, BLAS_LIB_DIR ],
- define_macros = GSL_MACROS,
diff --git a/srcpkgs/python3-cvxopt/patches/test-modules.patch b/srcpkgs/python3-cvxopt/patches/test-modules.patch
new file mode 100644
index 000000000000..6562b7e002e1
--- /dev/null
+++ b/srcpkgs/python3-cvxopt/patches/test-modules.patch
@@ -0,0 +1,76 @@
+diff --git a/tests/test_dsdp.py b/tests/test_dsdp.py
+index d514dc8..2a5e5bf 100644
+--- a/tests/test_dsdp.py
++++ b/tests/test_dsdp.py
+@@ -4,9 +4,10 @@ class TestDSDP(unittest.TestCase):
+
+ def setUp(self):
+ try:
+- from cvxopt import dsdp, matrix
+- except:
++ import cvxopt.dsdp
++ except ModuleNotFoundError:
+ self.skipTest("DSDP not available")
++ from cvxopt import matrix
+ c = matrix([1.,-1.,1.])
+ G = [ matrix([[-7., -11., -11., 3.],
+ [ 7., -18., -18., 8.],
+diff --git a/tests/test_glpk.py b/tests/test_glpk.py
+index 89f876d..dad5801 100644
+--- a/tests/test_glpk.py
++++ b/tests/test_glpk.py
+@@ -4,15 +4,16 @@ class TestGLPK(unittest.TestCase):
+
+ def setUp(self):
+ try:
+- from cvxopt import glpk, matrix
+- c = matrix([-4., -5.])
+- G = matrix([[2., 1., -1., 0.], [1., 2., 0., -1.]])
+- h = matrix([3., 3., 0., 0.])
+- A = matrix([1.0,1.0],(1,2))
+- b = matrix(1.0)
+- self._prob_data = (c,G,h,A,b)
+- except:
++ import cvxopt.glpk
++ except ModuleNotFoundError:
+ self.skipTest("GLPK not available")
++ from cvxopt import matrix
++ c = matrix([-4., -5.])
++ G = matrix([[2., 1., -1., 0.], [1., 2., 0., -1.]])
++ h = matrix([3., 3., 0., 0.])
++ A = matrix([1.0,1.0],(1,2))
++ b = matrix(1.0)
++ self._prob_data = (c,G,h,A,b)
+
+ def test_lp(self):
+ from cvxopt import solvers, glpk
+diff --git a/tests/test_gsl.py b/tests/test_gsl.py
+index d24f058..3ee9a37 100644
+--- a/tests/test_gsl.py
++++ b/tests/test_gsl.py
+@@ -4,8 +4,8 @@ class TestGSL(unittest.TestCase):
+
+ def setUp(self):
+ try:
+- from cvxopt import gsl
+- except:
++ import cvxopt.gsl
++ except ModuleNotFoundError:
+ self.skipTest("GSL not available")
+
+ def test1(self):
+diff --git a/tests/test_mosek.py b/tests/test_mosek.py
+index e3d0f4e..6cd1fbf 100644
+--- a/tests/test_mosek.py
++++ b/tests/test_mosek.py
+@@ -4,8 +4,8 @@ class TestMOSEK(unittest.TestCase):
+
+ def setUp(self):
+ try:
+- from cvxopt import msk
+- except:
++ import cvxopt.msk
++ except ModuleNotFoundError:
+ self.skipTest("MOSEK not available")
+
+ def assertAlmostEqualLists(self,L1,L2,places=3):
diff --git a/srcpkgs/python3-cvxopt/template b/srcpkgs/python3-cvxopt/template
index 4044fbfea2a7..944086e37837 100644
--- a/srcpkgs/python3-cvxopt/template
+++ b/srcpkgs/python3-cvxopt/template
@@ -1,11 +1,11 @@
# Template file for 'python3-cvxopt'
pkgname=python3-cvxopt
version=1.3.0
-revision=2
+revision=3
build_style=python3-module
hostmakedepends="python3-setuptools"
-makedepends="python3-devel blas-devel lapack-devel SuiteSparse-devel gsl-devel
- glpk-devel fftw-devel"
+makedepends="python3-devel SuiteSparse-devel gsl-devel glpk-devel fftw-devel
+ $(vopt_if openblas 'openblas-devel' 'lapack-devel')"
checkdepends="python3-pytest"
short_desc="Python software for convex optimization"
maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
@@ -14,8 +14,20 @@ homepage="http://cvxopt.org/"
distfiles="${PYPI_SITE}/c/cvxopt/cvxopt-${version}.tar.gz"
checksum=00b1b232f9d1f902d578a9d75814b67fa020758d5ae422e28ca8cef6269fa5c6
+build_options="openblas"
+
+case "$XBPS_TARGET_MACHINE" in
+ x86_64*|i686*|aarch64*|armv[67]*|ppc64*)
+ # Prefer accelerated routines where available
+ build_options_default="openblas"
+ ;;
+ *) ;;
+esac
+
pre_build() {
export CVXOPT_BUILD_GSL=1
export CVXOPT_BUILD_GLPK=1
export CVXOPT_BUILD_FFTW=1
+ export CVXOPT_BLAS_LIB=$(vopt_if openblas 'openblas' 'blas;gslcblas')
+ export CVXOPT_LAPACK_LIB=$(vopt_if openblas 'openblas' 'lapack')
}
From 30b25102f22009d83c311f9abf520de7dbaa3a5d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 21 Nov 2022 23:12:25 -0300
Subject: [PATCH 3/4] rapidjson: apply upstream patch needed for octave
---
.../5d9d0f78b53dd8cd1ec757fd8ef07211ee114161.patch | 13 +++++++++++++
srcpkgs/rapidjson/template | 2 +-
2 files changed, 14 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/rapidjson/patches/5d9d0f78b53dd8cd1ec757fd8ef07211ee114161.patch
diff --git a/srcpkgs/rapidjson/patches/5d9d0f78b53dd8cd1ec757fd8ef07211ee114161.patch b/srcpkgs/rapidjson/patches/5d9d0f78b53dd8cd1ec757fd8ef07211ee114161.patch
new file mode 100644
index 000000000000..bd3dee81b6f7
--- /dev/null
+++ b/srcpkgs/rapidjson/patches/5d9d0f78b53dd8cd1ec757fd8ef07211ee114161.patch
@@ -0,0 +1,13 @@
+See: https://github.com/Tencent/rapidjson/pull/909
+
+--- a/include/rapidjson/prettywriter.h
++++ b/include/rapidjson/prettywriter.h
+@@ -47,7 +47,7 @@ enum PrettyFormatOptions {
+ template<typename OutputStream, typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
+ class PrettyWriter : public Writer<OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags> {
+ public:
+- typedef Writer<OutputStream, SourceEncoding, TargetEncoding, StackAllocator> Base;
++ typedef Writer<OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags> Base;
+ typedef typename Base::Ch Ch;
+
+ //! Constructor
diff --git a/srcpkgs/rapidjson/template b/srcpkgs/rapidjson/template
index 99d92702cc9d..2b47472c94f3 100644
--- a/srcpkgs/rapidjson/template
+++ b/srcpkgs/rapidjson/template
@@ -1,7 +1,7 @@
# Template file for 'rapidjson'
pkgname=rapidjson
version=1.1.0
-revision=4
+revision=5
build_style=cmake
short_desc="Fast JSON parser/generator for C++ with both SAX/DOM style API"
maintainer="Alexander Egorenkov <egorenar-dev@posteo.net>"
From 1a048130472c4517b6f4db5badd747684f73c26f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 17 Nov 2022 15:17:33 -0300
Subject: [PATCH 4/4] octave: update to 7.3.0.
- Fix cross build
- Use SuiteSparse
- Use rapidjson
- Use --disable-docs to skip building docs, instead install the docs in
the tarball. This way we don't need texlive/texinfo/gnuplot to build.
- Avoid warnings due to egrep deprecation
- xlint fixes
---
common/shlibs | 6 +++
srcpkgs/octave/template | 113 ++++++++++++++++++++++++----------------
2 files changed, 74 insertions(+), 45 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index 7429bfcd2e23..b3b5c470ec27 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4064,7 +4064,13 @@ libprimesieve.so.10 primesieve-8.0_1
libavif.so.15 libavif-0.11.0_1
libkdumpfile.so.10 libkdumpfile-0.4.1_1
libamd.so.3 SuiteSparse-6.0.1_1
+libcamd.so.3 SuiteSparse-6.0.1_1
+libccolamd.so.3 SuiteSparse-6.0.1_1
libcholmod.so.4 SuiteSparse-6.0.1_1
+libcolamd.so.3 SuiteSparse-6.0.1_1
+libcxsparse.so.4 SuiteSparse-6.0.1_1
+libspqr.so.3 SuiteSparse-6.0.1_1
+libsuitesparseconfig.so.6 SuiteSparse-6.0.1_1
libumfpack.so.6 SuiteSparse-6.0.1_1
libecl.so.21.2 ecl-21.2.1_1
libecm.so.1 ecm-7.0.4_3
diff --git a/srcpkgs/octave/template b/srcpkgs/octave/template
index 08ba298b09dd..8cf23fe9279f 100644
--- a/srcpkgs/octave/template
+++ b/srcpkgs/octave/template
@@ -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"
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,7 +26,7 @@ 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"
@@ -30,21 +34,20 @@ case "$XBPS_TARGET_MACHINE" in
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 +64,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 +114,13 @@ post_install() {
# add helper to launch octave from dmenu etc.
printf "#!/bin/sh\noctave --gui" > octave-gui
vbin octave-gui
+
+ # install man pages
+ vmkdir usr/share/man/man1
+ vcopy "doc/*/*.1" usr/share/man/man1
+
+ # install info files
+ vmkdir usr/share/info
+ touch ${DESTDIR}/usr/share/info/dir
+ vcopy "doc/*/*.info*" usr/share/info
}
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PR PATCH] [Updated] octave: update to 7.3.0.
2022-11-24 3:02 [PR PATCH] octave: update to 7.3.0 tornaria
@ 2022-11-24 11:47 ` tornaria
2022-12-04 14:56 ` hervyqa
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: tornaria @ 2022-11-24 11:47 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1910 bytes --]
There is an updated pull request by tornaria against master on the void-packages repository
https://github.com/tornaria/void-packages octave
https://github.com/void-linux/void-packages/pull/40720
octave: update to 7.3.0.
- Fix cross build
- Use SuiteSparse
- Use rapidjson
- Use --disable-docs to skip building docs, instead install the docs in
the tarball. This way we don't need texlive/texinfo/gnuplot to build.
- Avoid warnings due to egrep deprecation
- xlint fixes
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **briefly**
---
I wonder if we really want all those build options. I am tempted to remove almost all of them.
I also wonder if the choice of `GraphicsMagick` over `ImageMagick` is the best one.
NOTE: this PR includes #39846 for the current SuiteSparse. Could work with the current SuiteSparse, but I didn't try (#39846 is ready to merge IMO; the CI failures in that PR are addressed in the comments)
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/40720.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-octave-40720.patch --]
[-- Type: text/x-diff, Size: 17853 bytes --]
From 90bf14f32c03f0d37474f4307f1f0d51e8e69618 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 9 Oct 2022 17:46:15 -0300
Subject: [PATCH 1/4] SuiteSparse: update to 6.0.1.
- use openblas instead of lapack when available.
- add shlibs that will be used by octave.
- SuiteSparse-devel and mongoose-devel conflict for libmongoose.{so,a}.
---
common/shlibs | 13 ++++--
.../patches/skip-demo-on-build.patch | 22 ----------
srcpkgs/SuiteSparse/template | 42 ++++++++++++-------
3 files changed, 35 insertions(+), 42 deletions(-)
delete mode 100644 srcpkgs/SuiteSparse/patches/skip-demo-on-build.patch
diff --git a/common/shlibs b/common/shlibs
index 61f21bc3b94e..2e6db58a102b 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -71,7 +71,6 @@ libppl.so.14 ppl-1.2_1
libppl_c.so.4 ppl-0.11_1
libstdc++.so.6 libstdc++-4.4.0_1
libssp.so.0 libssp-4.4.0_1
-libcxsparse.so.3 SuiteSparse-5.10.1_1
libncurses.so.6 ncurses-libs-6.0_1 ignore
libncursesw.so.6 ncurses-libs-5.8_1 ignore
libtinfo.so.6 ncurses-libtinfo-libs-6.2_2
@@ -4064,9 +4063,15 @@ libprimecount.so.7 primecount-7.2_1
libprimesieve.so.10 primesieve-8.0_1
libavif.so.15 libavif-0.11.0_1
libkdumpfile.so.10 libkdumpfile-0.4.1_1
-libamd.so.2 SuiteSparse-5.10.1_1
-libcholmod.so.3 SuiteSparse-5.10.1_1
-libumfpack.so.5 SuiteSparse-5.10.1_1
+libamd.so.3 SuiteSparse-6.0.1_1
+libcamd.so.3 SuiteSparse-6.0.1_1
+libccolamd.so.3 SuiteSparse-6.0.1_1
+libcholmod.so.4 SuiteSparse-6.0.1_1
+libcolamd.so.3 SuiteSparse-6.0.1_1
+libcxsparse.so.4 SuiteSparse-6.0.1_1
+libspqr.so.3 SuiteSparse-6.0.1_1
+libsuitesparseconfig.so.6 SuiteSparse-6.0.1_1
+libumfpack.so.6 SuiteSparse-6.0.1_1
libecl.so.21.2 ecl-21.2.1_1
libecm.so.1 ecm-7.0.4_3
libcliquer.so.1 cliquer-1.22_1
diff --git a/srcpkgs/SuiteSparse/patches/skip-demo-on-build.patch b/srcpkgs/SuiteSparse/patches/skip-demo-on-build.patch
deleted file mode 100644
index 9ec775229ed6..000000000000
--- a/srcpkgs/SuiteSparse/patches/skip-demo-on-build.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-This is to avoid running demos on `make install`, which break cross compile
-
---- a/Makefile
-+++ b/Makefile
-@@ -294,7 +294,7 @@ endif
- # just compile GraphBLAS
- gb:
- echo $(CMAKE_OPTIONS)
-- ( cd GraphBLAS && $(MAKE) JOBS=$(JOBS) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' )
-+ ( cd GraphBLAS && $(MAKE) JOBS=$(JOBS) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' library )
-
- # compile and install GraphBLAS libgraphblas_renamed, for MATLAB
- gbrenamed:
-@@ -309,7 +309,7 @@ gbrenamed:
-
- # just compile Mongoose
- mon:
-- ( cd Mongoose && $(MAKE) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' )
-+ ( cd Mongoose && $(MAKE) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' library )
-
- # compile and install Mongoose
- moninstall: mon
diff --git a/srcpkgs/SuiteSparse/template b/srcpkgs/SuiteSparse/template
index b304dfc8f786..869237dc9f85 100644
--- a/srcpkgs/SuiteSparse/template
+++ b/srcpkgs/SuiteSparse/template
@@ -1,44 +1,54 @@
# Template file for 'SuiteSparse'
pkgname=SuiteSparse
-version=5.12.0
+version=6.0.1
revision=1
-# XXX: re-enable TBB=-ltbb -DSPQR_CONFIG=-DHAVE_TBB when updating, if possible
-make_build_args="BLAS=-lblas LAPACK=-llapack"
-hostmakedepends="cmake chrpath"
-makedepends="libgomp-devel lapack-devel mpfr-devel"
+hostmakedepends="cmake gcc-fortran"
+makedepends="libgomp-devel mpfr-devel
+ $(vopt_if openblas 'openblas-devel' 'lapack-devel')"
short_desc="Suite of sparse matrix software"
maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
license="custom:multiple"
homepage="https://people.engr.tamu.edu/davis/suitesparse.html"
changelog="https://raw.githubusercontent.com/DrTimothyAldenDavis/SuiteSparse/master/ChangeLog"
distfiles="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${version}.tar.gz"
-checksum=5fb0064a3398111976f30c5908a8c0b40df44c6dd8f0cc4bfa7b9e45d8c647de
+checksum=06f55a0449775d1f43d8a33ba8c8417ea8cf76c27833b465c49825baa8741d0c
+
+build_options="openblas"
+
+case "$XBPS_TARGET_MACHINE" in
+ x86_64*|i686*|aarch64*|armv[67]*|ppc64*)
+ # Prefer accelerated routines where available
+ build_options_default="openblas"
+ ;;
+ *) ;;
+esac
do_build() {
- make config library $make_build_args JOBS=$XBPS_MAKEJOBS
+ make library \
+ JOBS=$XBPS_MAKEJOBS \
+ CMAKE_OPTIONS="-DBLA_VENDOR=$(vopt_if openblas 'OpenBLAS' 'Generic') \
+ -DCMAKE_INSTALL_PREFIX=$DESTDIR/usr"
}
do_check() {
- make go $make_build_args LD_LIBRARY_PATH=$wrksrc/lib JOBS=$XBPS_MAKEJOBS
+ make demos \
+ JOBS=$XBPS_MAKEJOBS
}
do_install() {
- make install $make_build_args INSTALL=$DESTDIR/usr
+ make install
vlicense LICENSE.txt
-
- # remove invalid rpath
- chrpath -d $DESTDIR/usr/lib/lib*.so
}
SuiteSparse-devel_package() {
depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
short_desc+=" - development files"
+ # conflict for /usr/lib/libmongoose.{a,so}
+ conflicts="mongoose-devel"
pkg_install() {
vmove usr/include
+ vmove usr/lib/cmake
vmove "usr/lib/*.a"
- # do not vmove libmetis.so
- vmove "usr/lib/lib[a-ln-z]*.so"
- vmove "usr/lib/libmo*.so"
- vmove usr/share/doc
+ vmove "usr/lib/*.so"
}
}
From f221245feecbec93f863b5a101b2b7e864d744b2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 13 Nov 2022 00:33:48 -0300
Subject: [PATCH 2/4] python3-cvxopt: revbump for SuiteSparse 6.0.1.
- use openblas instead of lapack when available.
---
srcpkgs/python3-cvxopt/patches/fix-gsl.patch | 11 ---
.../python3-cvxopt/patches/test-modules.patch | 76 +++++++++++++++++++
srcpkgs/python3-cvxopt/template | 18 ++++-
3 files changed, 91 insertions(+), 14 deletions(-)
delete mode 100644 srcpkgs/python3-cvxopt/patches/fix-gsl.patch
create mode 100644 srcpkgs/python3-cvxopt/patches/test-modules.patch
diff --git a/srcpkgs/python3-cvxopt/patches/fix-gsl.patch b/srcpkgs/python3-cvxopt/patches/fix-gsl.patch
deleted file mode 100644
index e32dc2fbf1e1..000000000000
--- a/srcpkgs/python3-cvxopt/patches/fix-gsl.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/setup.py 2022-03-07 18:58:58.000000000 -0300
-+++ b/setup.py 2022-04-14 22:25:18.860887901 -0300
-@@ -129,7 +129,7 @@
- # optional modules
-
- if BUILD_GSL:
-- gsl = Extension('gsl', libraries = M_LIB + ['gsl'] + BLAS_LIB,
-+ gsl = Extension('gsl', libraries = M_LIB + ['gsl', 'gslcblas'],
- include_dirs = [ GSL_INC_DIR ],
- library_dirs = [ GSL_LIB_DIR, BLAS_LIB_DIR ],
- define_macros = GSL_MACROS,
diff --git a/srcpkgs/python3-cvxopt/patches/test-modules.patch b/srcpkgs/python3-cvxopt/patches/test-modules.patch
new file mode 100644
index 000000000000..6562b7e002e1
--- /dev/null
+++ b/srcpkgs/python3-cvxopt/patches/test-modules.patch
@@ -0,0 +1,76 @@
+diff --git a/tests/test_dsdp.py b/tests/test_dsdp.py
+index d514dc8..2a5e5bf 100644
+--- a/tests/test_dsdp.py
++++ b/tests/test_dsdp.py
+@@ -4,9 +4,10 @@ class TestDSDP(unittest.TestCase):
+
+ def setUp(self):
+ try:
+- from cvxopt import dsdp, matrix
+- except:
++ import cvxopt.dsdp
++ except ModuleNotFoundError:
+ self.skipTest("DSDP not available")
++ from cvxopt import matrix
+ c = matrix([1.,-1.,1.])
+ G = [ matrix([[-7., -11., -11., 3.],
+ [ 7., -18., -18., 8.],
+diff --git a/tests/test_glpk.py b/tests/test_glpk.py
+index 89f876d..dad5801 100644
+--- a/tests/test_glpk.py
++++ b/tests/test_glpk.py
+@@ -4,15 +4,16 @@ class TestGLPK(unittest.TestCase):
+
+ def setUp(self):
+ try:
+- from cvxopt import glpk, matrix
+- c = matrix([-4., -5.])
+- G = matrix([[2., 1., -1., 0.], [1., 2., 0., -1.]])
+- h = matrix([3., 3., 0., 0.])
+- A = matrix([1.0,1.0],(1,2))
+- b = matrix(1.0)
+- self._prob_data = (c,G,h,A,b)
+- except:
++ import cvxopt.glpk
++ except ModuleNotFoundError:
+ self.skipTest("GLPK not available")
++ from cvxopt import matrix
++ c = matrix([-4., -5.])
++ G = matrix([[2., 1., -1., 0.], [1., 2., 0., -1.]])
++ h = matrix([3., 3., 0., 0.])
++ A = matrix([1.0,1.0],(1,2))
++ b = matrix(1.0)
++ self._prob_data = (c,G,h,A,b)
+
+ def test_lp(self):
+ from cvxopt import solvers, glpk
+diff --git a/tests/test_gsl.py b/tests/test_gsl.py
+index d24f058..3ee9a37 100644
+--- a/tests/test_gsl.py
++++ b/tests/test_gsl.py
+@@ -4,8 +4,8 @@ class TestGSL(unittest.TestCase):
+
+ def setUp(self):
+ try:
+- from cvxopt import gsl
+- except:
++ import cvxopt.gsl
++ except ModuleNotFoundError:
+ self.skipTest("GSL not available")
+
+ def test1(self):
+diff --git a/tests/test_mosek.py b/tests/test_mosek.py
+index e3d0f4e..6cd1fbf 100644
+--- a/tests/test_mosek.py
++++ b/tests/test_mosek.py
+@@ -4,8 +4,8 @@ class TestMOSEK(unittest.TestCase):
+
+ def setUp(self):
+ try:
+- from cvxopt import msk
+- except:
++ import cvxopt.msk
++ except ModuleNotFoundError:
+ self.skipTest("MOSEK not available")
+
+ def assertAlmostEqualLists(self,L1,L2,places=3):
diff --git a/srcpkgs/python3-cvxopt/template b/srcpkgs/python3-cvxopt/template
index 4044fbfea2a7..944086e37837 100644
--- a/srcpkgs/python3-cvxopt/template
+++ b/srcpkgs/python3-cvxopt/template
@@ -1,11 +1,11 @@
# Template file for 'python3-cvxopt'
pkgname=python3-cvxopt
version=1.3.0
-revision=2
+revision=3
build_style=python3-module
hostmakedepends="python3-setuptools"
-makedepends="python3-devel blas-devel lapack-devel SuiteSparse-devel gsl-devel
- glpk-devel fftw-devel"
+makedepends="python3-devel SuiteSparse-devel gsl-devel glpk-devel fftw-devel
+ $(vopt_if openblas 'openblas-devel' 'lapack-devel')"
checkdepends="python3-pytest"
short_desc="Python software for convex optimization"
maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
@@ -14,8 +14,20 @@ homepage="http://cvxopt.org/"
distfiles="${PYPI_SITE}/c/cvxopt/cvxopt-${version}.tar.gz"
checksum=00b1b232f9d1f902d578a9d75814b67fa020758d5ae422e28ca8cef6269fa5c6
+build_options="openblas"
+
+case "$XBPS_TARGET_MACHINE" in
+ x86_64*|i686*|aarch64*|armv[67]*|ppc64*)
+ # Prefer accelerated routines where available
+ build_options_default="openblas"
+ ;;
+ *) ;;
+esac
+
pre_build() {
export CVXOPT_BUILD_GSL=1
export CVXOPT_BUILD_GLPK=1
export CVXOPT_BUILD_FFTW=1
+ export CVXOPT_BLAS_LIB=$(vopt_if openblas 'openblas' 'blas;gslcblas')
+ export CVXOPT_LAPACK_LIB=$(vopt_if openblas 'openblas' 'lapack')
}
From 123b50755700e967d3724c3fa820cb36c6c2a420 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 21 Nov 2022 23:12:25 -0300
Subject: [PATCH 3/4] rapidjson: apply upstream patch needed for octave
---
.../5d9d0f78b53dd8cd1ec757fd8ef07211ee114161.patch | 13 +++++++++++++
srcpkgs/rapidjson/template | 2 +-
2 files changed, 14 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/rapidjson/patches/5d9d0f78b53dd8cd1ec757fd8ef07211ee114161.patch
diff --git a/srcpkgs/rapidjson/patches/5d9d0f78b53dd8cd1ec757fd8ef07211ee114161.patch b/srcpkgs/rapidjson/patches/5d9d0f78b53dd8cd1ec757fd8ef07211ee114161.patch
new file mode 100644
index 000000000000..bd3dee81b6f7
--- /dev/null
+++ b/srcpkgs/rapidjson/patches/5d9d0f78b53dd8cd1ec757fd8ef07211ee114161.patch
@@ -0,0 +1,13 @@
+See: https://github.com/Tencent/rapidjson/pull/909
+
+--- a/include/rapidjson/prettywriter.h
++++ b/include/rapidjson/prettywriter.h
+@@ -47,7 +47,7 @@ enum PrettyFormatOptions {
+ template<typename OutputStream, typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
+ class PrettyWriter : public Writer<OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags> {
+ public:
+- typedef Writer<OutputStream, SourceEncoding, TargetEncoding, StackAllocator> Base;
++ typedef Writer<OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags> Base;
+ typedef typename Base::Ch Ch;
+
+ //! Constructor
diff --git a/srcpkgs/rapidjson/template b/srcpkgs/rapidjson/template
index 99d92702cc9d..2b47472c94f3 100644
--- a/srcpkgs/rapidjson/template
+++ b/srcpkgs/rapidjson/template
@@ -1,7 +1,7 @@
# Template file for 'rapidjson'
pkgname=rapidjson
version=1.1.0
-revision=4
+revision=5
build_style=cmake
short_desc="Fast JSON parser/generator for C++ with both SAX/DOM style API"
maintainer="Alexander Egorenkov <egorenar-dev@posteo.net>"
From d1e066a83078ca8e123357dcc069c08a097fc1e7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 17 Nov 2022 15:17:33 -0300
Subject: [PATCH 4/4] 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
---
srcpkgs/octave/template | 113 ++++++++++++++++++++++++----------------
1 file changed, 68 insertions(+), 45 deletions(-)
diff --git a/srcpkgs/octave/template b/srcpkgs/octave/template
index 08ba298b09dd..e02565bb3fe1 100644
--- a/srcpkgs/octave/template
+++ b/srcpkgs/octave/template
@@ -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 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,7 +26,7 @@ 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"
@@ -30,21 +34,20 @@ case "$XBPS_TARGET_MACHINE" in
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 +64,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 +114,13 @@ post_install() {
# add helper to launch octave from dmenu etc.
printf "#!/bin/sh\noctave --gui" > octave-gui
vbin octave-gui
+
+ # install man pages
+ vmkdir usr/share/man/man1
+ vcopy "doc/*/*.1" usr/share/man/man1
+
+ # install info files
+ vmkdir usr/share/info
+ touch ${DESTDIR}/usr/share/info/dir
+ vcopy "doc/*/*.info*" usr/share/info
}
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: octave: update to 7.3.0.
2022-11-24 3:02 [PR PATCH] octave: update to 7.3.0 tornaria
2022-11-24 11:47 ` [PR PATCH] [Updated] " tornaria
@ 2022-12-04 14:56 ` hervyqa
2022-12-04 21:12 ` Piraty
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: hervyqa @ 2022-12-04 14:56 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 248 bytes --]
New comment by hervyqa on void-packages repository
https://github.com/void-linux/void-packages/pull/40720#issuecomment-1336432359
Comment:
can you please rebase? CI runs again
igraph merged https://github.com/void-linux/void-packages/pull/40224
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: octave: update to 7.3.0.
2022-11-24 3:02 [PR PATCH] octave: update to 7.3.0 tornaria
2022-11-24 11:47 ` [PR PATCH] [Updated] " tornaria
2022-12-04 14:56 ` hervyqa
@ 2022-12-04 21:12 ` Piraty
2022-12-05 0:10 ` [PR PATCH] [Updated] " tornaria
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Piraty @ 2022-12-04 21:12 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 206 bytes --]
New comment by Piraty on void-packages repository
https://github.com/void-linux/void-packages/pull/40720#issuecomment-1336518468
Comment:
remove the suitesparse commits from this branch. #39846 is merged
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PR PATCH] [Updated] octave: update to 7.3.0.
2022-11-24 3:02 [PR PATCH] octave: update to 7.3.0 tornaria
` (2 preceding siblings ...)
2022-12-04 21:12 ` Piraty
@ 2022-12-05 0:10 ` tornaria
2022-12-05 9:37 ` [PR REVIEW] " Piraty
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: tornaria @ 2022-12-05 0:10 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1910 bytes --]
There is an updated pull request by tornaria against master on the void-packages repository
https://github.com/tornaria/void-packages octave
https://github.com/void-linux/void-packages/pull/40720
octave: update to 7.3.0.
- Fix cross build
- Use SuiteSparse
- Use rapidjson
- Use --disable-docs to skip building docs, instead install the docs in
the tarball. This way we don't need texlive/texinfo/gnuplot to build.
- Avoid warnings due to egrep deprecation
- xlint fixes
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **briefly**
---
I wonder if we really want all those build options. I am tempted to remove almost all of them.
I also wonder if the choice of `GraphicsMagick` over `ImageMagick` is the best one.
NOTE: this PR includes #39846 for the current SuiteSparse. Could work with the current SuiteSparse, but I didn't try (#39846 is ready to merge IMO; the CI failures in that PR are addressed in the comments)
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/40720.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-octave-40720.patch --]
[-- Type: text/x-diff, Size: 7167 bytes --]
From 446cacd59066f0547317e3d74eeff8e4ffd11fd6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 21 Nov 2022 23:12:25 -0300
Subject: [PATCH 1/2] rapidjson: apply upstream patch needed for octave
---
.../5d9d0f78b53dd8cd1ec757fd8ef07211ee114161.patch | 13 +++++++++++++
srcpkgs/rapidjson/template | 2 +-
2 files changed, 14 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/rapidjson/patches/5d9d0f78b53dd8cd1ec757fd8ef07211ee114161.patch
diff --git a/srcpkgs/rapidjson/patches/5d9d0f78b53dd8cd1ec757fd8ef07211ee114161.patch b/srcpkgs/rapidjson/patches/5d9d0f78b53dd8cd1ec757fd8ef07211ee114161.patch
new file mode 100644
index 000000000000..bd3dee81b6f7
--- /dev/null
+++ b/srcpkgs/rapidjson/patches/5d9d0f78b53dd8cd1ec757fd8ef07211ee114161.patch
@@ -0,0 +1,13 @@
+See: https://github.com/Tencent/rapidjson/pull/909
+
+--- a/include/rapidjson/prettywriter.h
++++ b/include/rapidjson/prettywriter.h
+@@ -47,7 +47,7 @@ enum PrettyFormatOptions {
+ template<typename OutputStream, typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
+ class PrettyWriter : public Writer<OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags> {
+ public:
+- typedef Writer<OutputStream, SourceEncoding, TargetEncoding, StackAllocator> Base;
++ typedef Writer<OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags> Base;
+ typedef typename Base::Ch Ch;
+
+ //! Constructor
diff --git a/srcpkgs/rapidjson/template b/srcpkgs/rapidjson/template
index 99d92702cc9d..2b47472c94f3 100644
--- a/srcpkgs/rapidjson/template
+++ b/srcpkgs/rapidjson/template
@@ -1,7 +1,7 @@
# Template file for 'rapidjson'
pkgname=rapidjson
version=1.1.0
-revision=4
+revision=5
build_style=cmake
short_desc="Fast JSON parser/generator for C++ with both SAX/DOM style API"
maintainer="Alexander Egorenkov <egorenar-dev@posteo.net>"
From 11a6fc07a72c5a172b5a22545c5c897ecb63e0d5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 17 Nov 2022 15:17:33 -0300
Subject: [PATCH 2/2] 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
---
srcpkgs/octave/template | 113 ++++++++++++++++++++++++----------------
1 file changed, 68 insertions(+), 45 deletions(-)
diff --git a/srcpkgs/octave/template b/srcpkgs/octave/template
index 08ba298b09dd..a58003872a17 100644
--- a/srcpkgs/octave/template
+++ b/srcpkgs/octave/template
@@ -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,7 +26,7 @@ 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"
@@ -30,21 +34,20 @@ case "$XBPS_TARGET_MACHINE" in
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 +64,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 +114,13 @@ post_install() {
# add helper to launch octave from dmenu etc.
printf "#!/bin/sh\noctave --gui" > octave-gui
vbin octave-gui
+
+ # install man pages
+ vmkdir usr/share/man/man1
+ vcopy "doc/*/*.1" usr/share/man/man1
+
+ # install info files
+ vmkdir usr/share/info
+ touch ${DESTDIR}/usr/share/info/dir
+ vcopy "doc/*/*.info*" usr/share/info
}
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PR REVIEW] octave: update to 7.3.0.
2022-11-24 3:02 [PR PATCH] octave: update to 7.3.0 tornaria
` (3 preceding siblings ...)
2022-12-05 0:10 ` [PR PATCH] [Updated] " tornaria
@ 2022-12-05 9:37 ` Piraty
2022-12-06 21:50 ` [PR PATCH] [Updated] " tornaria
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Piraty @ 2022-12-05 9:37 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 157 bytes --]
New review comment by Piraty on void-packages repository
https://github.com/void-linux/void-packages/pull/40720#discussion_r1039355020
Comment:
use `vman`
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PR PATCH] [Updated] octave: update to 7.3.0.
2022-11-24 3:02 [PR PATCH] octave: update to 7.3.0 tornaria
` (4 preceding siblings ...)
2022-12-05 9:37 ` [PR REVIEW] " Piraty
@ 2022-12-06 21:50 ` tornaria
2022-12-06 22:11 ` tornaria
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: tornaria @ 2022-12-06 21:50 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1910 bytes --]
There is an updated pull request by tornaria against master on the void-packages repository
https://github.com/tornaria/void-packages octave
https://github.com/void-linux/void-packages/pull/40720
octave: update to 7.3.0.
- Fix cross build
- Use SuiteSparse
- Use rapidjson
- Use --disable-docs to skip building docs, instead install the docs in
the tarball. This way we don't need texlive/texinfo/gnuplot to build.
- Avoid warnings due to egrep deprecation
- xlint fixes
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **briefly**
---
I wonder if we really want all those build options. I am tempted to remove almost all of them.
I also wonder if the choice of `GraphicsMagick` over `ImageMagick` is the best one.
NOTE: this PR includes #39846 for the current SuiteSparse. Could work with the current SuiteSparse, but I didn't try (#39846 is ready to merge IMO; the CI failures in that PR are addressed in the comments)
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/40720.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-octave-40720.patch --]
[-- Type: text/x-diff, Size: 7430 bytes --]
From 589437ee6246b187b8926a4e61adac33b004425b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 21 Nov 2022 23:12:25 -0300
Subject: [PATCH 1/2] rapidjson: apply upstream patch needed for octave
---
.../5d9d0f78b53dd8cd1ec757fd8ef07211ee114161.patch | 13 +++++++++++++
srcpkgs/rapidjson/template | 2 +-
2 files changed, 14 insertions(+), 1 deletion(-)
create mode 100644 srcpkgs/rapidjson/patches/5d9d0f78b53dd8cd1ec757fd8ef07211ee114161.patch
diff --git a/srcpkgs/rapidjson/patches/5d9d0f78b53dd8cd1ec757fd8ef07211ee114161.patch b/srcpkgs/rapidjson/patches/5d9d0f78b53dd8cd1ec757fd8ef07211ee114161.patch
new file mode 100644
index 000000000000..bd3dee81b6f7
--- /dev/null
+++ b/srcpkgs/rapidjson/patches/5d9d0f78b53dd8cd1ec757fd8ef07211ee114161.patch
@@ -0,0 +1,13 @@
+See: https://github.com/Tencent/rapidjson/pull/909
+
+--- a/include/rapidjson/prettywriter.h
++++ b/include/rapidjson/prettywriter.h
+@@ -47,7 +47,7 @@ enum PrettyFormatOptions {
+ template<typename OutputStream, typename SourceEncoding = UTF8<>, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags>
+ class PrettyWriter : public Writer<OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags> {
+ public:
+- typedef Writer<OutputStream, SourceEncoding, TargetEncoding, StackAllocator> Base;
++ typedef Writer<OutputStream, SourceEncoding, TargetEncoding, StackAllocator, writeFlags> Base;
+ typedef typename Base::Ch Ch;
+
+ //! Constructor
diff --git a/srcpkgs/rapidjson/template b/srcpkgs/rapidjson/template
index 99d92702cc9d..2b47472c94f3 100644
--- a/srcpkgs/rapidjson/template
+++ b/srcpkgs/rapidjson/template
@@ -1,7 +1,7 @@
# Template file for 'rapidjson'
pkgname=rapidjson
version=1.1.0
-revision=4
+revision=5
build_style=cmake
short_desc="Fast JSON parser/generator for C++ with both SAX/DOM style API"
maintainer="Alexander Egorenkov <egorenar-dev@posteo.net>"
From c30d7c9044e61f56fc4da0c49f6b3e94f337427b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 17 Nov 2022 15:17:33 -0300
Subject: [PATCH 2/2] 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)
---
srcpkgs/octave/template | 126 ++++++++++++++++++++++++++--------------
1 file changed, 81 insertions(+), 45 deletions(-)
diff --git a/srcpkgs/octave/template b/srcpkgs/octave/template
index 08ba298b09dd..92251058fe74 100644
--- a/srcpkgs/octave/template
+++ b/srcpkgs/octave/template
@@ -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
}
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: octave: update to 7.3.0.
2022-11-24 3:02 [PR PATCH] octave: update to 7.3.0 tornaria
` (5 preceding siblings ...)
2022-12-06 21:50 ` [PR PATCH] [Updated] " tornaria
@ 2022-12-06 22:11 ` tornaria
2022-12-06 22:54 ` tornaria
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: tornaria @ 2022-12-06 22:11 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1087 bytes --]
New comment by tornaria on void-packages repository
https://github.com/void-linux/void-packages/pull/40720#issuecomment-1340076459
Comment:
The testsuite was giving a segfault on i686, when using `qr` on a sparse matrix. In fact this is trivial to reproduce:
```
octave:1> qr(sparse(1,1));
fatal: caught signal Segmentation fault -- stopping myself...
Segmentation fault
```
I "solved" it by using `--without-spqr` on i686 builds.
---
Then there are a couple of test failures seemingly due to numerical unstability, but they are not fixed with the standard tricks (`-ffloat-store`, `-mfpmath=sse`, etc). At least one is unrelated to octave as I can reproduce with:
```
$ cat sin.cc
#include <complex>
#include <iostream>
int main()
{
std::complex<double> c(-1.3962634015954636, 3.141592653589793);
std::complex<double> d(-11.415845458288851, 2.0054175437381652);
std::complex<double> e = std::sin(c) - d;
std::cout << e << std::endl;
}
$ g++ sin.cc -o sin && ./sin
(-1.77636e-15,0)
```
The same code on x86_64 gives `(0,0)`.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: octave: update to 7.3.0.
2022-11-24 3:02 [PR PATCH] octave: update to 7.3.0 tornaria
` (6 preceding siblings ...)
2022-12-06 22:11 ` tornaria
@ 2022-12-06 22:54 ` tornaria
2022-12-07 0:14 ` Piraty
2022-12-07 0:14 ` [PR PATCH] [Merged]: " Piraty
9 siblings, 0 replies; 11+ messages in thread
From: tornaria @ 2022-12-06 22:54 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1919 bytes --]
New comment by tornaria on void-packages repository
https://github.com/void-linux/void-packages/pull/40720#issuecomment-1340120164
Comment:
Summary of testsuite (since failures don't error out):
- on `x86_64`, everything looks ok:
```
Summary:
PASS 17107
FAIL 0
XFAIL (reported bug) 33
SKIP (missing feature) 140
SKIP (run-time condition) 52
```
- on `x86_64-musl`, 6 regressions:
```
libinterp/corefcn/mappers.cc-tst ............................... pass 412/420
REGRESSION 6
...
Summary:
PASS 17099
FAIL 0
REGRESSION 6
XFAIL (reported bug) 35
SKIP (missing feature) 140
SKIP (run-time condition) 52
```
- on `i686`, 2 failures and 1 regression:
```
libinterp/corefcn/qz.cc-tst .................................... pass 3/4
FAIL 1
libinterp/corefcn/sqrtm.cc-tst ................................. pass 3/4
REGRESSION 1
...
elfun/sind.m ................................................... pass 9/10
FAIL 1
...
Summary:
PASS 17095
FAIL 2
REGRESSION 1
XFAIL (reported bug) 30
SKIP (missing feature) 152
SKIP (run-time condition) 52
```
Note that `i686` has more skips because of the `--without-spqr`.
I'm satisfied as it is, I'm not going to work on fixing these unless this causes some real issue for someone.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: octave: update to 7.3.0.
2022-11-24 3:02 [PR PATCH] octave: update to 7.3.0 tornaria
` (7 preceding siblings ...)
2022-12-06 22:54 ` tornaria
@ 2022-12-07 0:14 ` Piraty
2022-12-07 0:14 ` [PR PATCH] [Merged]: " Piraty
9 siblings, 0 replies; 11+ messages in thread
From: Piraty @ 2022-12-07 0:14 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 152 bytes --]
New comment by Piraty on void-packages repository
https://github.com/void-linux/void-packages/pull/40720#issuecomment-1340187751
Comment:
good work!!
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PR PATCH] [Merged]: octave: update to 7.3.0.
2022-11-24 3:02 [PR PATCH] octave: update to 7.3.0 tornaria
` (8 preceding siblings ...)
2022-12-07 0:14 ` Piraty
@ 2022-12-07 0:14 ` Piraty
9 siblings, 0 replies; 11+ messages in thread
From: Piraty @ 2022-12-07 0:14 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1753 bytes --]
There's a merged pull request on the void-packages repository
octave: update to 7.3.0.
https://github.com/void-linux/void-packages/pull/40720
Description:
- Fix cross build
- Use SuiteSparse
- Use rapidjson
- Use --disable-docs to skip building docs, instead install the docs in
the tarball. This way we don't need texlive/texinfo/gnuplot to build.
- Avoid warnings due to egrep deprecation
- xlint fixes
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **briefly**
---
I wonder if we really want all those build options. I am tempted to remove almost all of them.
I also wonder if the choice of `GraphicsMagick` over `ImageMagick` is the best one.
NOTE: this PR includes #39846 for the current SuiteSparse. Could work with the current SuiteSparse, but I didn't try (#39846 is ready to merge IMO; the CI failures in that PR are addressed in the comments)
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2022-12-07 0:14 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-24 3:02 [PR PATCH] octave: update to 7.3.0 tornaria
2022-11-24 11:47 ` [PR PATCH] [Updated] " tornaria
2022-12-04 14:56 ` hervyqa
2022-12-04 21:12 ` Piraty
2022-12-05 0:10 ` [PR PATCH] [Updated] " tornaria
2022-12-05 9:37 ` [PR REVIEW] " Piraty
2022-12-06 21:50 ` [PR PATCH] [Updated] " tornaria
2022-12-06 22:11 ` tornaria
2022-12-06 22:54 ` tornaria
2022-12-07 0:14 ` Piraty
2022-12-07 0:14 ` [PR PATCH] [Merged]: " Piraty
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).