Compare commits

..

56 Commits

Author SHA1 Message Date
cea3c8a6ab
Rebuild for qhull
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2023-12-18 15:28:46 +02:00
2a4b10bc13
Merge remote-tracking branch 'up/main' into main-riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2023-12-01 18:04:39 +02:00
Benjamin A. Beasley
516b2c3645 Rebuilt for sundials-6.6.2 (fix RHBZ#2249025) 2023-11-20 08:49:43 -05:00
bb5990b2ee
Add support for riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2023-11-09 10:09:17 +02:00
Orion Poplawski
13a2a5db12 Update to 8.4.0 2023-11-06 20:04:40 -07:00
Antonio Trande
62fd80b2ed Rebuild for sundials-6.6.1 2023-10-16 21:47:21 +02:00
Orion Poplawski
fa6b1a6773 Update to 8.3.0 2023-08-13 17:02:05 -06:00
Tom Callaway
1d12ae9f1c rebuild for new qhull 2023-08-10 14:03:28 -04:00
Fedora Release Engineering
d5f2f2983b Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 17:40:35 +00:00
Orion Poplawski
4529489d99 Rebuild for sundials 6.5.1 2023-04-24 20:56:30 -06:00
Orion Poplawski
6f5fe25107 Update to 8.2.0 2023-04-17 21:22:19 -06:00
Orion Poplawski
c7d30dff4c Update to 8.1.0
Build with pcre2 (bz#2128340)
2023-04-08 16:49:05 -06:00
Orion Poplawski
36ac824c44 Add upstream patch to fix doc builds 2023-03-17 17:36:49 -06:00
Orion Poplawski
6f237bc2ed Disable building docs due to texinfo 7 incompatibility 2023-02-26 16:59:18 -07:00
FeRD (Frank Dana)
73d4b70c55 Build with rapidjson 2023-02-03 13:28:02 -05:00
Fedora Release Engineering
93e5fb4a81 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 22:28:25 +00:00
Orion Poplawski
797a124cb4 Update to 7.3.0 2022-11-03 18:41:39 -06:00
Orion Poplawski
4612d8c128 Disable qscintilla and sundials support on EPEL9 for now (bz#2122390) 2022-10-02 13:27:56 -04:00
Orion Poplawski
86aa2cf030 Update to 7.2.0 2022-08-02 17:45:49 -06:00
Fedora Release Engineering
05ff2329ce Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 01:39:23 +00:00
Orion Poplawski
8691dc29dc Add patch 2022-07-10 11:33:26 -06:00
Orion Poplawski
4ec8055c68 Drop java for i686 (bz#2104081) 2022-07-10 10:53:17 -06:00
Orion Poplawski
69ae45eadf Update to 7.1.0 2022-05-31 20:11:30 -06:00
Orion Poplawski
6e0f7eae89 Update gnulib cdefs.h for gcc12 support on ppc64le 2022-02-06 20:16:00 -07:00
Jiri
2d9eb03a84 Rebuilt for java-17-openjdk as system jdk
https://fedoraproject.org/wiki/Changes/Java17
2022-02-05 23:11:30 +01:00
Fedora Release Engineering
6e5bf0d512 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 22:03:02 +00:00
Orion Poplawski
fdb892c23b Rebuild for hdf5 1.12.1 2021-11-20 21:43:05 -07:00
Orion Poplawski
f016c5866a Update to 6.4.0 2021-11-03 06:38:32 -06:00
Antonio Trande
d8840441f4 Rebuild for sundials-5.8.0 2021-10-20 14:19:02 +02:00
Orion Poplawski
1ef35b6275 Tests segfault on ppc64le 2021-08-10 16:45:25 -06:00
Orion Poplawski
9c0483f765 Update to 6.3.0 2021-08-09 19:41:28 -06:00
Orion Poplawski
66154bafb2 Update to 6.2.0 2021-08-09 19:21:53 -06:00
Fedora Release Engineering
f16d5f212d - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 16:54:59 +00:00
Orion Poplawski
928bdda92c Use brp-strip instead of brp-strip-shared (bz#1955380) 2021-05-30 12:42:39 -06:00
Orion Poplawski
a28ba48aa8 Backport readline 8.1 support (bz#1946773) 2021-04-08 19:39:20 -06:00
Fedora Release Engineering
3fece7d82f - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 22:13:20 +00:00
Tom Stellard
48c10ba011 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-07 06:21:37 +00:00
Orion Poplawski
6e6a468c74 Rebuild for sundials 5.6.1 2021-01-06 07:47:12 -07:00
Orion Poplawski
488d26821f Rebuild for sundials 5.5.0 2020-11-22 09:24:56 -07:00
Orion Poplawski
e398d9c7e7 Rebuild for sundials 5.4.0 2020-10-05 19:59:46 -06:00
Iñaki Úcar
61b2f46ac0 https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager 2020-08-13 14:27:15 +02:00
Adam Jackson
2621de214a Drop unnecessary (apparently unused) BuildRequires: xorg-x11-apps 2020-07-28 15:12:19 -04:00
Fedora Release Engineering
c3b96d5a03 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 12:24:50 +00:00
Jiri
a67f79d80a Rebuilt for JDK-11 2020-07-11 03:36:02 +02:00
Orion Poplawski
e1cf3afa97 Rebuild for hdf5 1.10.6 2020-06-25 14:25:29 -06:00
Timm Bäder
0f98426a15 spec: Rely on default -flto values instead of using auto
According to the GCC docs[1], -flto=auto does:

> Use -flto=auto to use GNU make’s job server, if available, or
> otherwise fall back to autodetection of the number of CPU threads
> present in your system.

clang does not support -flto=auto (or -flto=jobserver for that matter),
so using this option breaks the build with non-gcc compilers. Pass just
-flto instead and rely on gcc doing the right thing.

[1] https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
2020-06-25 10:06:08 +00:00
Orion Poplawski
f82faf5f58 Own %{_pkgdocdir} 2020-05-24 16:26:21 -06:00
Orion Poplawski
f89a01037a Rebuild for sundials 5.2.0 2020-04-12 19:57:46 -06:00
Orion Poplawski
4161884180 Upload new docs sources 2020-02-09 20:57:38 -07:00
Orion Poplawski
be55d20164 Update to 5.2.0 2020-02-03 21:53:14 -07:00
Fedora Release Engineering
b1d97f35c3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 19:53:36 +00:00
Orion Poplawski
733302f86a Enable 64-bit array indexes 2019-11-03 08:47:48 -07:00
Orion Poplawski
104f111ea2 Enable LTO optimisations 2019-11-02 19:37:27 -06:00
Vasiliy Glazov
e6e1baf1c0 Enable LTO optimisations
This change enable gcc LTO optimisations.
It helps reduce RAM usege and rpms size.

For example on F31 octave rpm with LTO 17MB vs 18MB without LTO.
And octave-debuginfo rpm with LTO 117MB vs 128MB without LTO.

Enabling it has no any issue in runtime but can take some more time to build (but not critical).
2019-10-30 08:20:41 +00:00
Orion Poplawski
2c1fd845b6 Rebuild for suitesparse 5.4.0 2019-10-14 16:02:54 -06:00
Orion Poplawski
fe99995595 Use Qt5 on EL8+ 2019-09-13 21:00:02 -06:00
8 changed files with 268 additions and 597 deletions

15
.gitignore vendored
View File

@ -32,3 +32,18 @@ octave-3.2.4.tar.bz2
/octave-4.4.1-docs.tar.gz
/octave-5.1.0.tar.lz
/octave-5.1.0-docs.tar.lz
/octave-5.2.0.tar.lz
/octave-5.2.0-docs.tar.lz
/octave-6.1.0.tar.lz
/octave-6.1.0-docs.tar.lz
/octave-6.2.0.tar.lz
/octave-6.3.0.tar.lz
/octave-6.4.0.tar.lz
/octave-7.1.0.tar.lz
/octave-7.2.0.tar.lz
/octave-7.3.0.tar.lz
/octave-7.3.0-docs.tar.xz
/octave-8.1.0.tar.lz
/octave-8.2.0.tar.lz
/octave-8.3.0.tar.lz
/octave-8.4.0.tar.lz

View File

@ -43,7 +43,7 @@
%octave_pkg_install \
mkdir -p %{buildroot}%{octprefix} \
mkdir -p %{buildroot}%{octarchprefix} \
%octave_cmd pkg("prefix","%{buildroot}%{octprefix}","%{buildroot}%{octarchprefix}");pkg("global_list",fullfile("%{buildroot}%{octshareprefix}","octave_packages"));pkg("local_list",fullfile("%{buildroot}%{octshareprefix}","octave_packages"));pkg("install","-nodeps","-verbose",glob("%{_builddir}/%{buildsubdir}/build/%{octpkg}-%{version}-*.tar.gz"){1,1});unlink(pkg("local_list"));unlink(pkg("global_list")); \
%octave_cmd pkg("prefix","%{buildroot}%{octprefix}","%{buildroot}%{octarchprefix}");pkg("global_list",fullfile("%{buildroot}%{octshareprefix}","octave_packages"));pkg("install","-nodeps","-verbose",glob("%{_builddir}/%{buildsubdir}/build/%{octpkg}-%{version}-*.tar.gz"){1,1});unlink(pkg("global_list")); \
if [ -e %{buildroot}%{octpkgdir}/packinfo/on_uninstall.m ] \
then \
mv %{buildroot}%{octpkgdir}/packinfo/on_uninstall.m %{buildroot}%{octpkgdir}/packinfo/on_uninstall.m.orig \
@ -66,8 +66,8 @@ fi \
# octave can find the package, then remove 'octave_packages' again, and re-strip
# any shared objects.
%octave_pkg_check \
%octave_cmd pkg("prefix","%{buildroot}%{octprefix}","%{buildroot}%{octarchprefix}");pkg("local_list",fullfile("%{buildroot}%{octshareprefix}","octave_packages"));pkg("list");pkg("install","-verbose",glob("%{_builddir}/%{buildsubdir}/build/%{octpkg}-%{version}-*.tar.gz"){1,1});pkg("load","%{octpkg}");pkg("list");runtests("%{buildroot}%{octpkgdir}");unlink(pkg("local_list")); \
/usr/lib/rpm/brp-strip-shared %{__strip} \
%octave_cmd pkg("prefix","%{buildroot}%{octprefix}","%{buildroot}%{octarchprefix}");pkg("local_list",fullfile("%{buildroot}%{octshareprefix}","octave_packages"));pkg("list");pkg("install","-verbose",glob("%{_builddir}/%{buildsubdir}/build/%{octpkg}-%{version}-*.tar.gz"){1,1});pkg("load","%{octpkg}");pkg("list");oruntests("%{buildroot}%{octpkgdir}");unlink(pkg("local_list")); \
/usr/lib/rpm/brp-strip %{__strip} \
%{nil}
# preun script - we need to remove our uninstall protection and perhaps

View File

@ -1,12 +0,0 @@
diff -up octave-4.4.1/libinterp/corefcn/input.cc.crash octave-4.4.1/libinterp/corefcn/input.cc
--- octave-4.4.1/libinterp/corefcn/input.cc.crash 2018-11-11 17:27:39.588037444 -0700
+++ octave-4.4.1/libinterp/corefcn/input.cc 2018-11-11 17:30:42.344208272 -0700
@@ -255,7 +255,7 @@ namespace octave
octave_diary << retval;
- if (retval.back () != '\n')
+ if (!retval.empty () && retval.back () != '\n')
octave_diary << "\n";
}
else

View File

@ -1,28 +0,0 @@
# HG changeset patch
# User Mike Miller <mtmiller@octave.org>
# Date 1554238576 25200
# Node ID c3716220d5b93c49e1c7cc8ebe0b76dd961f4ec7
# Parent fc73dafece570f201c18a4eb4a8729a654cfcfbb
fix pause and kbhit with glibc 2.28 end-of-file state behavior (bug #55029)
* sysdep.cc (octave::kbhit): Call "clearerr (stdin)" on end-of-file condition
in addition to "std::cin.clear ()". In glibc 2.28, end-of-file is persistent
and must be cleared by the application.
diff --git a/libinterp/corefcn/sysdep.cc b/libinterp/corefcn/sysdep.cc
--- a/libinterp/corefcn/sysdep.cc
+++ b/libinterp/corefcn/sysdep.cc
@@ -566,7 +566,10 @@
int c = std::cin.get ();
if (std::cin.fail () || std::cin.eof ())
- std::cin.clear ();
+ {
+ std::cin.clear ();
+ clearerr (stdin);
+ }
// Restore it, enabling system call restarts (if possible).
octave::set_interrupt_handler (saved_interrupt_handler, true);

View File

@ -1,504 +0,0 @@
diff -up octave-5.0.91/configure.ac.sundials3 octave-5.0.91/configure.ac
--- octave-5.0.91/configure.ac.sundials3 2019-02-04 10:50:20.000000000 -0700
+++ octave-5.0.91/configure.ac 2019-02-05 22:05:44.096260529 -0700
@@ -2220,15 +2220,15 @@ OCTAVE_CHECK_LIB(sundials_ida, [SUNDIALS
[], [don't use SUNDIALS IDA library, solvers ode15i and ode15s will be disabled],
[warn_sundials_ida=
OCTAVE_CHECK_SUNDIALS_SIZEOF_REALTYPE
- OCTAVE_CHECK_SUNDIALS_IDA_DENSE
- OCTAVE_CHECK_SUNDIALS_IDAKLU])
+ OCTAVE_CHECK_SUNDIALS_SUNLINSOL_DENSE
+ OCTAVE_CHECK_SUNDIALS_SUNLINSOL_KLU])
LIBS="$save_LIBS"
dnl Define this way instead of with an #if in oct-conf-post.h so that
dnl the build features script will get the correct value.
if test -n "$SUNDIALS_IDA_LIBS" \
&& test -n "$SUNDIALS_NVECSERIAL_LIBS" \
- && test $octave_cv_sundials_ida_dense = yes \
+ && test $octave_cv_sundials_sunlinsol_dense = yes \
&& test $octave_cv_sundials_realtype_is_double = yes; then
AC_DEFINE(HAVE_SUNDIALS, 1, [Define to 1 if SUNDIALS is available.])
fi
diff -up octave-5.0.91/libinterp/dldfcn/__ode15__.cc.sundials3 octave-5.0.91/libinterp/dldfcn/__ode15__.cc
--- octave-5.0.91/libinterp/dldfcn/__ode15__.cc.sundials3 2019-02-04 10:50:20.000000000 -0700
+++ octave-5.0.91/libinterp/dldfcn/__ode15__.cc 2019-02-05 22:06:48.074012827 -0700
@@ -1,6 +1,7 @@
/*
Copyright (C) 2016-2019 Francesco Faccio <francesco.faccio@mail.polimi.it>
+Copyright (C) 2018 William Greene <w.h.greene@gmail.com>
This file is part of Octave.
@@ -44,15 +45,34 @@ along with Octave; see the file COPYING.
# include <ida/ida.h>
# endif
-# if defined (HAVE_IDA_IDA_DENSE_H)
-# include <ida/ida_dense.h>
+# if defined (HAVE_SUNDIALS_SUNDIALS_MATRIX_H)
+# include <sundials/sundials_matrix.h>
# endif
-# if defined (HAVE_IDA_IDA_KLU_H)
-# include <ida/ida_klu.h>
+# if defined (HAVE_SUNDIALS_SUNDIALS_LINEARSOLVER_H)
+# include <sundials/sundials_linearsolver.h>
+# endif
+
+# if defined (HAVE_SUNLINSOL_SUNLINSOL_DENSE_H)
+# include <sunlinsol/sunlinsol_dense.h>
+# endif
+
+# if defined (HAVE_IDA_IDA_DIRECT_H)
+# include <ida/ida_direct.h>
+# endif
+
+# if defined (HAVE_SUNDIALS_SUNDIALS_SPARSE_H)
# include <sundials/sundials_sparse.h>
# endif
+# if defined (HAVE_SUNLINSOL_SUNLINSOL_KLU_H)
+# include <sunlinsol/sunlinsol_klu.h>
+# endif
+
+# if defined (HAVE_SUNMATRIX_SUNMATRIX_SPARSE_H)
+# include <sunmatrix/sunmatrix_sparse.h>
+# endif
+
# if defined (HAVE_NVECTOR_NVECTOR_SERIAL_H)
# include <nvector/nvector_serial.h>
# endif
@@ -112,7 +132,8 @@ namespace octave
havejacsparse (false), mem (nullptr), num (), ida_fun (nullptr),
ida_jac (nullptr), dfdy (nullptr), dfdyp (nullptr), spdfdy (nullptr),
spdfdyp (nullptr), fun (nullptr), jacfun (nullptr), jacspfun (nullptr),
- jacdcell (nullptr), jacspcell (nullptr)
+ jacdcell (nullptr), jacspcell (nullptr),
+ sunJacMatrix (nullptr), sunLinearSolver (nullptr)
{ }
@@ -122,11 +143,17 @@ namespace octave
havejacsparse (false), mem (nullptr), num (), ida_fun (ida_fcn),
ida_jac (nullptr), dfdy (nullptr), dfdyp (nullptr), spdfdy (nullptr),
spdfdyp (nullptr), fun (daefun), jacfun (nullptr), jacspfun (nullptr),
- jacdcell (nullptr), jacspcell (nullptr)
+ jacdcell (nullptr), jacspcell (nullptr),
+ sunJacMatrix (nullptr), sunLinearSolver (nullptr)
{ }
- ~IDA (void) { IDAFree (&mem); }
+ ~IDA (void)
+ {
+ IDAFree (&mem);
+ SUNLinSolFree(sunLinearSolver);
+ SUNMatDestroy(sunJacMatrix);
+ }
IDA&
set_jacobian (octave_function *jac, DAEJacFuncDense j)
@@ -184,7 +211,7 @@ namespace octave
static N_Vector ColToNVec (const ColumnVector& data, long int n);
void
- set_up (void);
+ set_up (const ColumnVector& y);
void
set_tolerance (ColumnVector& abstol, realtype reltol);
@@ -199,25 +226,24 @@ namespace octave
void
resfun_impl (realtype t, N_Vector& yy,
N_Vector& yyp, N_Vector& rr);
-
static int
- jacdense (long int Neq, realtype t, realtype cj, N_Vector yy,
- N_Vector yyp, N_Vector, DlsMat JJ, void *user_data,
+ jacdense (realtype t, realtype cj, N_Vector yy,
+ N_Vector yyp, N_Vector, SUNMatrix JJ, void *user_data,
N_Vector, N_Vector, N_Vector)
{
IDA *self = static_cast <IDA *> (user_data);
- self->jacdense_impl (Neq, t, cj, yy, yyp, JJ);
+ self->jacdense_impl (t, cj, yy, yyp, JJ);
return 0;
}
void
- jacdense_impl (long int Neq, realtype t, realtype cj,
- N_Vector& yy, N_Vector& yyp, DlsMat& JJ);
+ jacdense_impl (realtype t, realtype cj,
+ N_Vector& yy, N_Vector& yyp, SUNMatrix& JJ);
-# if defined (HAVE_SUNDIALS_IDAKLU)
+# if defined (HAVE_SUNDIALS_SUNLINSOL_KLU)
static int
jacsparse (realtype t, realtype cj, N_Vector yy, N_Vector yyp,
- N_Vector, SlsMat Jac, void *user_data, N_Vector,
+ N_Vector, SUNMatrix Jac, void *user_data, N_Vector,
N_Vector, N_Vector)
{
IDA *self = static_cast <IDA *> (user_data);
@@ -227,7 +253,7 @@ namespace octave
void
jacsparse_impl (realtype t, realtype cj, N_Vector& yy,
- N_Vector& yyp, SlsMat& Jac);
+ N_Vector& yyp, SUNMatrix& Jac);
#endif
void set_maxstep (realtype maxstep);
@@ -291,6 +317,8 @@ namespace octave
DAEJacFuncSparse jacspfun;
DAEJacCellDense jacdcell;
DAEJacCellSparse jacspcell;
+ SUNMatrix sunJacMatrix;
+ SUNLinearSolver sunLinearSolver;
};
int
@@ -323,36 +351,61 @@ namespace octave
}
void
- IDA::set_up (void)
+ IDA::set_up (const ColumnVector& y)
{
+ N_Vector yy = ColToNVec(y, num);
+
if (havejacsparse)
{
-# if defined (HAVE_SUNDIALS_IDAKLU)
- if (IDAKLU (mem, num, num*num, CSC_MAT) != 0)
- error ("IDAKLU solver not initialized");
+#if defined (HAVE_SUNDIALS_SUNLINSOL_KLU)
+
+ sunJacMatrix = SUNSparseMatrix (num, num, num*num, CSC_MAT);
+ if (! sunJacMatrix)
+ error ("Unable to create sparse Jacobian for Sundials");
+
+ sunLinearSolver = SUNKLU (yy, sunJacMatrix);
+ if (! sunLinearSolver)
+ error ("Unable to create KLU sparse solver");
+
+ if (IDADlsSetLinearSolver (mem, sunLinearSolver, sunJacMatrix))
+ error ("Unable to set sparse linear solver");
+
+ IDADlsSetJacFn(mem, IDA::jacsparse);
- IDASlsSetSparseJacFn (mem, IDA::jacsparse);
# else
- error ("IDAKLU is not available in this version of Octave");
+ error ("SUNDIALS SUNLINSOL KLU is not available in this version of Octave");
# endif
+
}
else
{
- if (IDADense (mem, num) != 0)
- error ("IDADense solver not initialized");
- if (havejac && IDADlsSetDenseJacFn (mem, IDA::jacdense) != 0)
- error ("Dense Jacobian not set");
+ sunJacMatrix = SUNDenseMatrix (num, num);
+ if (! sunJacMatrix)
+ error ("Unable to create dense Jacobian for Sundials");
+
+ sunLinearSolver = SUNDenseLinearSolver(yy, sunJacMatrix);
+ if (! sunLinearSolver)
+ error ("Unable to create dense linear solver");
+
+ if (IDADlsSetLinearSolver (mem, sunLinearSolver, sunJacMatrix))
+ error ("Unable to set dense linear solver");
+
+ if (havejac && IDADlsSetJacFn (mem, IDA::jacdense) != 0)
+ error("Unable to set dense Jacobian function");
+
}
}
void
- IDA::jacdense_impl (long int Neq, realtype t, realtype cj,
- N_Vector& yy, N_Vector& yyp, DlsMat& JJ)
+ IDA::jacdense_impl (realtype t, realtype cj,
+ N_Vector& yy, N_Vector& yyp, SUNMatrix& JJ)
{
BEGIN_INTERRUPT_WITH_EXCEPTIONS;
+ long int Neq = NV_LENGTH_S(yy);
+
ColumnVector y = NVecToCol (yy, Neq);
ColumnVector yp = NVecToCol (yyp, Neq);
@@ -366,15 +419,15 @@ namespace octave
std::copy (jac.fortran_vec (),
jac.fortran_vec () + jac.numel (),
- JJ->data);
+ SUNDenseMatrix_Data(JJ));
END_INTERRUPT_WITH_EXCEPTIONS;
}
-# if defined (HAVE_SUNDIALS_IDAKLU)
+# if defined (HAVE_SUNDIALS_SUNLINSOL_KLU)
void
IDA::jacsparse_impl (realtype t, realtype cj, N_Vector& yy, N_Vector& yyp,
- SlsMat& Jac)
+ SUNMatrix& Jac)
{
BEGIN_INTERRUPT_WITH_EXCEPTIONS;
@@ -390,17 +443,18 @@ namespace octave
else
jac = (*jacspcell) (spdfdy, spdfdyp, cj);
- SparseSetMatToZero (Jac);
- int *colptrs = *(Jac->colptrs);
- int *rowvals = *(Jac->rowvals);
+ SUNMatZero_Sparse (Jac);
+ sunindextype *colptrs = SUNSparseMatrix_IndexPointers (Jac);
+ sunindextype *rowvals = SUNSparseMatrix_IndexValues (Jac);
for (int i = 0; i < num + 1; i++)
colptrs[i] = jac.cidx(i);
+ double *d = SUNSparseMatrix_Data (Jac);
for (int i = 0; i < jac.nnz (); i++)
{
rowvals[i] = jac.ridx(i);
- Jac->data[i] = jac.data(i);
+ d[i] = jac.data(i);
}
END_INTERRUPT_WITH_EXCEPTIONS;
@@ -567,7 +621,7 @@ namespace octave
//main loop
while (((posdirection == 1 && tsol < tend)
- || (posdirection == 0 && tsol > tend))
+ || (posdirection == 0 && tsol > tend))
&& status == 0)
{
if (IDASolve (mem, tend, &tsol, yy, yyp, IDA_ONE_STEP) != 0)
@@ -692,7 +746,7 @@ namespace octave
// Linear interpolation
ie(0) = index(0);
te(0) = tsol - val (index(0)) * (tsol - told)
- / (val (index(0)) - oldval (index(0)));
+ / (val (index(0)) - oldval (index(0)));
ColumnVector ytemp
= y - ((tsol - te(0)) * (y - yold) / (tsol - told));
@@ -717,7 +771,7 @@ namespace octave
// Linear interpolation
ie(temp+i) = index(i);
te(temp+i) = tsol - val(index(i)) * (tsol - told)
- / (val(index(i)) - oldval(index(i)));
+ / (val(index(i)) - oldval(index(i)));
ColumnVector ytemp
= y - (tsol - te (temp + i)) * (y - yold) / (tsol - told);
@@ -1096,7 +1150,7 @@ namespace octave
event_fcn = options.getfield("Events").function_value ();
// Set up linear solver
- dae.set_up ();
+ dae.set_up (y0);
// Integrate
retval = dae.integrate (numt, tspan, y0, yp0, refine,
diff -up octave-5.0.91/m4/acinclude.m4.sundials3 octave-5.0.91/m4/acinclude.m4
--- octave-5.0.91/m4/acinclude.m4.sundials3 2019-02-04 10:50:20.000000000 -0700
+++ octave-5.0.91/m4/acinclude.m4 2019-02-05 22:05:44.100260576 -0700
@@ -2210,14 +2210,11 @@ dnl Check whether SUNDIALS IDA library i
dnl precision realtype.
dnl
AC_DEFUN([OCTAVE_CHECK_SUNDIALS_SIZEOF_REALTYPE], [
- AC_CHECK_HEADERS([ida/ida.h ida.h])
AC_CACHE_CHECK([whether SUNDIALS IDA is configured with double precision realtype],
[octave_cv_sundials_realtype_is_double],
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#if defined (HAVE_IDA_IDA_H)
#include <ida/ida.h>
- #else
- #include <ida.h>
#endif
#include <assert.h>
]], [[
@@ -2233,61 +2230,72 @@ AC_DEFUN([OCTAVE_CHECK_SUNDIALS_SIZEOF_R
fi
])
dnl
-dnl Check whether SUNDIALS IDA library is configured with IDAKLU
+dnl Check whether SUNDIALS IDA library is configured with SUNLINSOL_KLU
dnl enabled.
dnl
-AC_DEFUN([OCTAVE_CHECK_SUNDIALS_IDAKLU], [
- AC_CHECK_HEADERS([ida/ida_klu.h ida_klu.h])
- AC_CACHE_CHECK([whether SUNDIALS IDA is configured with IDAKLU enabled],
- [octave_cv_sundials_idaklu],
+AC_DEFUN([OCTAVE_CHECK_SUNDIALS_SUNLINSOL_KLU], [
+ AC_CHECK_HEADERS([sundials/sundials_sparse.h sunlinsol/sunlinsol_klu.h sunmatrix/sunmatrix_sparse.h])
+ AC_CACHE_CHECK([whether SUNDIALS IDA is configured with SUNLINSOL_KLU enabled],
+ [octave_cv_sundials_sunlinsol_klu],
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
- #if defined (HAVE_IDA_IDA_KLU_H)
- #include <ida/ida_klu.h>
- #else
- #include <ida_klu.h>
+ #if defined (HAVE_IDA_IDA_H)
+ #include <ida/ida.h>
+ #endif
+ #if defined (HAVE_SUNDIALS_SUNDIALS_SPARSE_H)
+ #include <sundials/sundials_sparse.h>
+ #endif
+ #if defined (HAVE_SUNLINSOL_SUNLINSOL_KLU_H)
+ #include <sunlinsol/sunlinsol_klu.h>
#endif
]], [[
- IDAKLU (0, 0, 0, 0);
+ SUNKLU (0, 0);
]])],
- octave_cv_sundials_idaklu=yes,
- octave_cv_sundials_idaklu=no)
+ octave_cv_sundials_sunlinsol_klu=yes,
+ octave_cv_sundials_sunlinsol_klu=no)
])
- if test $octave_cv_sundials_idaklu = yes; then
- AC_DEFINE(HAVE_SUNDIALS_IDAKLU, 1,
- [Define to 1 if SUNDIALS IDA is configured with IDAKLU enabled.])
+ if test $octave_cv_sundials_sunlinsol_klu = yes; then
+ AC_DEFINE(HAVE_SUNDIALS_SUNLINSOL_KLU, 1,
+ [Define to 1 if SUNDIALS IDA is configured with SUNLINSOL_KLU enabled.])
else
- warn_sundials_idaklu="SUNDIALS IDA library not configured with IDAKLU, ode15i and ode15s will not support the sparse Jacobian feature"
- OCTAVE_CONFIGURE_WARNING([warn_sundials_idaklu])
+ warn_sundials_idaklu="SUNDIALS IDA library not configured with SUNLINSOL_KLU, ode15i and ode15s will not support the sparse Jacobian feature"
+ OCTAVE_CONFIGURE_WARNING([warn_sundials_sunlinsol_klu])
fi
])
dnl
-dnl Check whether SUNDIALS IDA library has the IDADENSE linear solver.
+dnl Check whether SUNDIALS IDA library has the SUNLINSOL_DENSE linear solver.
dnl The IDADENSE API was removed in SUNDIALS version 3.0.0.
dnl
-AC_DEFUN([OCTAVE_CHECK_SUNDIALS_IDA_DENSE], [
- AC_CHECK_HEADERS([ida/ida_dense.h ida_dense.h])
- AC_CACHE_CHECK([whether SUNDIALS IDA includes the IDADENSE linear solver],
- [octave_cv_sundials_ida_dense],
+AC_DEFUN([OCTAVE_CHECK_SUNDIALS_SUNLINSOL_DENSE], [
+ AC_CHECK_HEADERS([sunlinsol/sunlinsol_dense.h sundials/sundials_matrix.h sundials/sundials_linearsolver.h ida/ida_direct.h])
+ AC_CACHE_CHECK([whether SUNDIALS IDA includes the SUNLINSOL_DENSE linear solver],
+ [octave_cv_sundials_sunlinsol_dense],
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
- #if defined (HAVE_IDA_IDA_DENSE_H)
- #include <ida/ida_dense.h>
- #else
- #include <ida_dense.h>
+ #if defined (HAVE_IDA_IDA_H)
+ #include <ida/ida.h>
+ #endif
+ #if defined (HAVE_SUNDIALS_SUNDIALS_MATRIX_H)
+ #include <sundials/sundials_matrix.h>
+ #endif
+ #if defined (HAVE_SUNDIALS_SUNDIALS_LINEARSOLVER_H)
+ #include <sundials/sundials_linearsolver.h>
#endif
+ #if defined (HAVE_IDA_IDA_DIRECT_H)
+ #include <ida/ida_direct.h>
+ #endif
]], [[
void *mem = 0;
long int num = 0;
IDADense (mem, num);
]])],
- octave_cv_sundials_ida_dense=yes,
- octave_cv_sundials_ida_dense=no)
+ octave_cv_sundials_sunlinsol_dense=yes,
+ octave_cv_sundials_sunlinsol_dense=no)
])
- if test $octave_cv_sundials_ida_dense = yes; then
- AC_DEFINE(HAVE_SUNDIALS_IDADENSE, 1,
- [Define to 1 if SUNDIALS IDA includes the IDADENSE linear solver.])
+ if test $octave_cv_sundials_sunlinsol_dense = yes; then
+ AC_DEFINE(HAVE_SUNDIALS_SUNLINSOL_DENSE, 1,
+ [Define to 1 if SUNDIALS IDA includes the SUNLINSOL_DENSE linear solver.])
else
- warn_sundials_ida_dense="SUNDIALS IDA library does not include the IDADENSE linear solver, ode15i and ode15s will be disabled"
- OCTAVE_CONFIGURE_WARNING([warn_sundials_ida_dense])
+ warn_sundials_ida_dense="SUNDIALS IDA library does not include the SUNLINSOL_DENSE linear solver, ode15i and ode15s will be disabled"
+ OCTAVE_CONFIGURE_WARNING([warn_sundials_sunlinsol_dense])
fi
])
dnl
diff -up octave-5.0.91/scripts/ode/ode15i.m.sundials3 octave-5.0.91/scripts/ode/ode15i.m
--- octave-5.0.91/scripts/ode/ode15i.m.sundials3 2019-02-04 10:50:20.000000000 -0700
+++ octave-5.0.91/scripts/ode/ode15i.m 2019-02-05 22:05:44.101260588 -0700
@@ -452,7 +452,7 @@ endfunction
%! assert ([t(end), y(end,:)], fref, 1e-3);
## Jacobian fun sparse
-%!testif HAVE_SUNDIALS_IDAKLU
+%!testif HAVE_SUNDIALS_SUNLINSOL_KLU
%! opt = odeset ("Jacobian", @jacfunsparse, "AbsTol", 1e-7, "RelTol", 1e-7);
%! [t, y] = ode15i (@rob, [0, 100], [1; 0; 0], [-1e-4; 1e-4; 0], opt);
%! assert ([t(end), y(end,:)], fref, 1e-3);
@@ -545,7 +545,7 @@ endfunction
%! "invalid value assigned to field 'Jacobian'");
## Jacobian cell sparse wrong dimension
-%!testif HAVE_SUNDIALS_IDAKLU
+%!testif HAVE_SUNDIALS_SUNLINSOL_KLU
%! DFDY = sparse ([-0.04, 1;
%! 0.04, 1]);
%! DFDYP = sparse ([-1, 0, 0;
diff -up octave-5.0.91/scripts/ode/ode15s.m.sundials3 octave-5.0.91/scripts/ode/ode15s.m
--- octave-5.0.91/scripts/ode/ode15s.m.sundials3 2019-02-04 10:50:20.000000000 -0700
+++ octave-5.0.91/scripts/ode/ode15s.m 2019-02-05 22:05:44.102260599 -0700
@@ -545,21 +545,21 @@ endfunction
%! [t, y] = ode15s (@rob, [0, 100], [1; 0; 0], opt);
%! assert ([t(end), y(end,:)], frefrob, 1e-3);
-%!testif HAVE_SUNDIALS_IDAKLU
+%!testif HAVE_SUNDIALS_SUNLINSOL_KLU
%! opt = odeset ("MStateDependence", "none",
%! "Mass", [1, 0, 0; 0, 1, 0; 0, 0, 0],
%! "Jacobian", @jacfunsparse);
%! [t, y] = ode15s (@rob, [0, 100], [1; 0; 0], opt);
%! assert ([t(end), y(end,:)], frefrob, 1e-3);
-%!testif HAVE_SUNDIALS_IDAKLU
+%!testif HAVE_SUNDIALS_SUNLINSOL_KLU
%! opt = odeset ("MStateDependence", "none",
%! "Mass", sparse ([1, 0, 0; 0, 1, 0; 0, 0, 0]),
%! "Jacobian", @jacfunsparse);
%! [t, y] = ode15s (@rob, [0, 100], [1; 0; 0], opt);
%! assert ([t(end), y(end,:)], frefrob, 1e-3);
-%!testif HAVE_SUNDIALS_IDAKLU
+%!testif HAVE_SUNDIALS_SUNLINSOL_KLU
%! warning ("off", "ode15s:mass_state_dependent_provided", "local");
%! opt = odeset ("MStateDependence", "none",
%! "Mass", @massdensefunstate,
@@ -575,14 +575,14 @@ endfunction
%! [t, y] = ode15s (@rob, [0, 100], [1; 0; 0], opt);
%! assert ([t(end), y(end,:)], frefrob, 1e-3);
-%!testif HAVE_SUNDIALS_IDAKLU
+%!testif HAVE_SUNDIALS_SUNLINSOL_KLU
%! opt = odeset ("MStateDependence", "none",
%! "Mass", @massdensefuntime,
%! "Jacobian", @jacfunsparse);
%! [t, y] = ode15s (@rob, [0, 100], [1; 0; 0], opt);
%! assert ([t(end), y(end,:)], frefrob, 1e-3);
-%!testif HAVE_SUNDIALS_IDAKLU
+%!testif HAVE_SUNDIALS_SUNLINSOL_KLU
%! opt = odeset ("MStateDependence", "none",
%! "Mass", @masssparsefuntime,
%! "Jacobian", @jacfunsparse);

11
octave-time.patch Normal file
View File

@ -0,0 +1,11 @@
diff -up octave-7.1.0/liboctave/numeric/randmtzig.cc.time octave-7.1.0/liboctave/numeric/randmtzig.cc
--- octave-7.1.0/liboctave/numeric/randmtzig.cc.time 2022-04-06 08:05:12.000000000 -0600
+++ octave-7.1.0/liboctave/numeric/randmtzig.cc 2022-07-09 23:03:37.970793323 -0600
@@ -163,6 +163,7 @@
#include <algorithm>
#include <random>
+#include <time.h>
#include "oct-syscalls.h"
#include "oct-time.h"

View File

@ -1,16 +1,28 @@
# From src/version.h:#define OCTAVE_API_VERSION
%global octave_api api-v53
%global octave_api api-v58
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
%global builddocs 1
# Use Qt5 on F26+
%if 0%{?fedora}
%bcond_without qt5
%else
%bcond_with qt5
%bcond_without flexiblas
%endif
%if %{with flexiblas}
%global blaslib flexiblas
%else
%global blaslib openblas
%endif
# No more Java on i686
%ifarch %{java_arches}
%bcond_without java
%else
%bcond_with java
%endif
# Compile with ILP64 BLAS - not yet working
%bcond_with blas64
# For rc versions, change release manually
#global rcver 2
@ -19,10 +31,13 @@
%global relsuf .rc%{?rcver}
%endif
%global optflags %{optflags}
%global build_ldflags %{build_ldflags} -flto
Name: octave
Epoch: 6
Version: 5.1.0
Release: 2%{?rcver:.rc%{rcver}}%{?dist}
Version: 8.4.0
Release: 2.1.riscv64%{?dist}
Summary: A high-level language for numerical computations
License: GPLv3+
URL: http://www.octave.org
@ -32,15 +47,11 @@ Source0: https://ftp.gnu.org/gnu/octave/octave-%{version}.tar.lz
# RPM macros for helping to build Octave packages
Source1: macros.octave
Source2: xorg.conf
# Prebuilt docs from Fedora for EPEL
Source3: octave-5.1.0-docs.tar.lz
# SUNDIALS 3 support
# https://savannah.gnu.org/bugs/?52475
Patch1: octave-sundials3.patch
# Proper EOF handling
# https://bugzilla.redhat.com/show_bug.cgi?id=1705129
# https://hg.savannah.gnu.org/hgweb/octave/rev/c3716220d5b9
Patch2: octave-eof.patch
%if !%{builddocs}
Source3: octave-%{version}-docs.tar.xz
%endif
# Add needed time.h header
Patch2: octave-time.patch
Provides: octave(api) = %{octave_api}
Provides: bundled(gnulib)
@ -61,6 +72,7 @@ Provides: bundled(slatec-err)
Provides: bundled(slatec-fn)
# For Source0
BuildRequires: make
BuildRequires: lzip
# For autoreconf
@ -68,12 +80,10 @@ BuildRequires: automake
BuildRequires: libtool
# For validating desktop and appdata files
BuildRequires: desktop-file-utils
%if 0%{?fedora} || 0%{?rhel} >= 7
BuildRequires: libappstream-glib
%endif
BuildRequires: arpack-devel
BuildRequires: openblas-devel
BuildRequires: %{blaslib}-devel
BuildRequires: bison
BuildRequires: bzip2-devel
BuildRequires: curl-devel
@ -90,10 +100,12 @@ BuildRequires: gnuplot
BuildRequires: gperf
BuildRequires: GraphicsMagick-c++-devel
BuildRequires: hdf5-devel
%if %{with java}
BuildRequires: java-devel
%if 0%{?fedora}
BuildRequires: javapackages-local
%endif
%endif
BuildRequires: less
BuildRequires: libsndfile-devel
BuildRequires: libX11-devel
@ -102,26 +114,31 @@ BuildRequires: mesa-libGL-devel
BuildRequires: mesa-libGLU-devel
BuildRequires: mesa-libOSMesa-devel
BuildRequires: ncurses-devel
BuildRequires: pcre-devel
BuildRequires: pcre2-devel
BuildRequires: portaudio-devel
BuildRequires: qhull-devel
BuildRequires: qrupdate-devel
%if %{with qt5}
# EPEL9 is missing qscintilla-qt5-devel - https://bugzilla.redhat.com/show_bug.cgi?id=2092182
%if 0%{?fedora} || 0%{?rhel} != 9
BuildRequires: qscintilla-qt5-devel
%endif
BuildRequires: qt5-linguist
BuildRequires: qt5-qttools-devel
%else
BuildRequires: qscintilla-devel
%endif
BuildRequires: rapidjson-devel
BuildRequires: readline-devel
%if %{with blas64}
BuildRequires: suitesparse64-devel
%else
BuildRequires: suitesparse-devel
%endif
# EPEL9 is missing sundials - https://bugzilla.redhat.com/show_bug.cgi?id=2063760
%if 0%{?fedora} || 0%{?rhel} != 9
BuildRequires: sundials-devel
%endif
BuildRequires: tex(dvips)
BuildRequires: texinfo
BuildRequires: texinfo-tex
%if 0%{?fedora} || 0%{?rhel} >= 7
BuildRequires: texlive-collection-fontsrecommended
%endif
%if 0%{?rhel} >= 7
BuildRequires: texlive-ec
BuildRequires: texlive-metapost
@ -129,7 +146,6 @@ BuildRequires: texlive-metapost
BuildRequires: zlib-devel
# For check
BuildRequires: mesa-dri-drivers
BuildRequires: xorg-x11-apps
%ifnarch s390 s390x
BuildRequires: xorg-x11-drv-dummy
%endif
@ -140,7 +156,9 @@ Requires: gnuplot
Requires: gnuplot-common
Requires: hdf5 = %{_hdf5_version}
Requires: hicolor-icon-theme
%if %{with java}
Requires: java-headless
%endif
Requires: less
Requires: info
Requires: texinfo
@ -184,7 +202,7 @@ Requires: gcc-c++
Requires: gcc-gfortran
Requires: fftw-devel%{?_isa}
Requires: hdf5-devel%{?_isa}
Requires: openblas-devel%{?_isa}
Requires: %{blaslib}-devel%{?_isa}
Requires: readline-devel%{?_isa}
Requires: zlib-devel
Requires: libappstream-glib
@ -202,27 +220,26 @@ BuildArch: noarch
This package contains documentation for Octave.
%prep
%setup -q -n %{name}-%{version}%{?rctag}
%patch2 -p1 -b .eof
# EPEL7's autoconf/automake is too old so don't do
# unneeded patches there
%if 0%{?fedora}
%patch1 -p1 -b .sundials3
autoreconf -i
%autosetup -p1 -n %{name}-%{version}%{?rctag}
%if %{with blas64}
sed -i -e 's/OCTAVE_CHECK_LIB(suitesparseconfig,/OCTAVE_CHECK_LIB(suitesparseconfig64,/' configure.ac
%endif
%build
%global enable64 no
export AR=%{_bindir}/gcc-ar
export RANLIB=%{_bindir}/gcc-ranlib
export NM=%{_bindir}/gcc-nm
export F77=gfortran
# TODO: some items appear to be bundled in libcruft..
# gl2ps.c is bundled. Anything else?
%if !%{builddocs}
%global disabledocs --disable-docs
%endif
%if %{with java}
# Find libjvm.so for this architecture in generic location
libjvm=$(find /usr/lib/jvm/jre/lib -name libjvm.so -printf %h)
export JAVA_HOME=%{java_home}
%endif
# JIT support is still experimental, and causes a segfault on ARM.
# --enable-float-truncate - https://savannah.gnu.org/bugs/?40560
# sundials headers need to know where to find suitesparse headers
@ -230,16 +247,26 @@ export CPPFLAGS=-I%{_includedir}/suitesparse
# Disable _GLIBCXX_ASSERTIONS for now
# https://savannah.gnu.org/bugs/?55547
export CXXFLAGS="$(echo %optflags | sed s/-Wp,-D_GLIBCXX_ASSERTIONS//)"
%configure --enable-shared --disable-static --enable-64=%enable64 \
verstr=$(%{__cxx} --version | head -1)
if [[ "$verstr" == *"GCC"* ]]; then
CXXFLAGS="$CXXFLAGS -flto=auto"
else
CXXFLAGS="$CXXFLAGS -flto"
fi
%configure --enable-shared --disable-static \
--enable-float-truncate \
%{?disabledocs} \
--disable-silent-rules \
--with-blas=%{blaslib}%{?with_blas64:64} \
%if %{with java}
--with-java-includedir=/usr/lib/jvm/java/include \
--with-java-libdir=$libjvm \
%endif
--with-qrupdate \
--with-amd --with-umfpack --with-colamd --with-ccolamd --with-cholmod \
--with-cxsparse \
--disable-jit
--with-cxsparse
# Check that octave_api is set correctly (autogenerated file)
make liboctave/version.h
@ -259,13 +286,15 @@ make install-data install-html install-info install-pdf DESTDIR=%{buildroot}
mkdir -p %{buildroot}%{_pkgdocdir}
cp -ar AUTHORS BUGS ChangeLog examples NEWS README %{buildroot}%{_pkgdocdir}/
cp -a doc/refcard/*.pdf %{buildroot}%{_pkgdocdir}/
%if !%{builddocs}
tar xvf %SOURCE3 -C %{buildroot}
%endif
find %{buildroot}%{_libdir} -name \*.la -delete
# No info directory
rm -f %{buildroot}%{_infodir}/dir
# EL7's makeinfo doesn't support @sortas, so use prebuilt docs
%{?el7:tar xvf %SOURCE3 -C %{buildroot}}
# Make library links
mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
echo "%{_libdir}/octave/%{version}%{?rctag}" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/octave-%{_arch}.conf
@ -279,9 +308,7 @@ touch %{buildroot}%{_datadir}/%{name}/ls-R
desktop-file-validate %{buildroot}%{_datadir}/applications/org.octave.Octave.desktop
# RHEL7 still doesn't like the GNU project_group
%{?el7:sed -i -e /project_group/d %{buildroot}/%{_datadir}/metainfo/org.octave.Octave.appdata.xml}
%if 0%{?fedora} || 0%{?rhel} >= 7
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/org.octave.Octave.appdata.xml
%endif
# Create directories for add-on packages
HOST_TYPE=`%{buildroot}%{_bindir}/octave-config -p CANONICAL_HOST_TYPE`
@ -316,7 +343,7 @@ do
ARCH=\$(uname -m)
case \$ARCH in
x86_64 | ia64 | s390x | aarch64 | ppc64 | ppc64le) LIB_DIR=/usr/lib64
x86_64 | ia64 | s390x | aarch64 | ppc64 | ppc64le | riscv64) LIB_DIR=/usr/lib64
SECONDARY_LIB_DIR=/usr/lib
;;
* )
@ -361,12 +388,20 @@ fi
$Xorg -noreset +extension GLX +extension RANDR +extension RENDER -logfile ./xorg.log -config ./xorg.conf :99 &
sleep 2
export DISPLAY=:99
make check %{?el7:|| :}
export FLEXIBLAS=netlib
%ifarch ppc64le riscv64
# liboctave/array/dMatrix.cc-tst segfaults
# riscv: image/getframe.m ...............................................LLVM ERROR: Relocation type not implemented yet!
make check || :
%else
make check
%endif
%ldconfig_scriptlets
%files
%license COPYING
%dir %{_pkgdocdir}
%{_pkgdocdir}/AUTHORS
%{_pkgdocdir}/BUGS
%{_pkgdocdir}/ChangeLog
@ -375,7 +410,17 @@ make check %{?el7:|| :}
# FIXME: Create an -emacs package that has the emacs addon
%config(noreplace) %{_sysconfdir}/ld.so.conf.d/octave-*.conf
%{_bindir}/octave*
%{_libdir}/octave/
%dir %{_libdir}/octave/
%dir %{_libdir}/octave/%{version}
%{_libdir}/octave/%{version}/liboctave.so.10*
%{_libdir}/octave/%{version}/liboctgui.so.9*
%{_libdir}/octave/%{version}/liboctinterp.so.11*
%{_libdir}/octave/%{version}/mkoctfile-%{version}
%{_libdir}/octave/%{version}/oct/
%{_libdir}/octave/%{version}/octave-config-%{version}
%{_libdir}/octave/%{version}/site/
%{_libdir}/octave/packages/
%{_libdir}/octave/site/
%{_libexecdir}/octave/
%{_mandir}/man1/octave*.1.*
%{_infodir}/liboctave.info*
@ -397,6 +442,9 @@ make check %{?el7:|| :}
%{_bindir}/mkoctfile
%{_bindir}/mkoctfile-%{version}%{?rctag}
%{_includedir}/octave-%{version}%{?rctag}/
%{_libdir}/octave/%{version}/liboctave.so
%{_libdir}/octave/%{version}/liboctgui.so
%{_libdir}/octave/%{version}/liboctinterp.so
%{_libdir}/pkgconfig/octave.pc
%{_libdir}/pkgconfig/octinterp.pc
%{_mandir}/man1/mkoctfile.1.*
@ -410,6 +458,148 @@ make check %{?el7:|| :}
%{_pkgdocdir}/refcard*.pdf
%changelog
* Mon Dec 18 2023 David Abdurachmanov <davidlt@rivosinc.com> - 6:8.4.0-2.1.riscv64
- Rebuild for qhull
* Fri Dec 02 2023 David Abdurachmanov <davidlt@rivosinc.com> - 6:8.4.0-2.0.riscv64
- Add support for riscv64
* Mon Nov 20 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 6:8.4.0-2
- Rebuilt for sundials-6.6.2 (fix RHBZ#2249025)
* Tue Nov 07 2023 Orion Poplawski <orion@nwra.com> - 6:8.4.0-1
- Update to 8.4.0
* Mon Oct 16 2023 Antonio Trande <sagitter@fedoraproject.org> - 6:8.3.0-2
- Rebuild for sundials-6.6.1
* Sun Aug 13 2023 Orion Poplawski <orion@nwra.com> - 6:8.3.0-1
- Update to 8.3.0
* Thu Aug 10 2023 Tom Callaway <spot@fedoraproject.org> - 6:8.2.0-4
- rebuild for new qhull
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6:8.2.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Apr 25 2023 Orion Poplawski <orion@nwra.com> - 6:8.2.0-2
- Rebuild for sundials 6.5.1
* Mon Apr 17 2023 Orion Poplawski <orion@nwra.com> - 6:8.2.0-1
- Update to 8.2.0
* Sat Apr 08 2023 Orion Poplawski <orion@nwra.com> - 6:8.1.0-1
- Update to 8.1.0
- Build with pcre2 (bz#2128340)
* Fri Mar 17 2023 Orion Poplawski <orion@nwra.com> - 6:7.3.0-4
- Add upstream patch to fix doc builds
* Sun Feb 26 2023 Orion Poplawski <orion@nwra.com> - 6:7.3.0-3
- Disable building docs due to texinfo 7 incompatibility
* Fri Feb 10 2023 FeRD (Frank Dana> <ferdnyc@gmail.com> - 6:7.3.0-3
- Build with rapidjson to enable built-in json{decode,encode}
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6:7.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Nov 04 2022 Orion Poplawski <orion@nwra.com> - 6:7.3.0-1
- Update to 7.3.0
* Sun Oct 02 2022 Orion Poplawski <orion@nwra.com> - 6:7.2.0-2
- Disable qscintilla and sundials support on EPEL9 for now (bz#2122390)
* Tue Aug 02 2022 Orion Poplawski <orion@nwra.com> - 6:7.2.0-1
- Update to 7.2.0
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 6:7.1.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sun Jul 10 2022 Orion Poplawski <orion@nwra.com> - 6:7.1.0-2
- Drop java for i686 (bz#2104081)
* Thu Apr 07 2022 Orion Poplawski <orion@nwra.com> - 6:7.1.0-1
- Update to 7.1.0
* Mon Feb 07 2022 Orion Poplawski <orion@nwra.com> - 6:6.4.0-5
- Update gnulib cdefs.h for gcc12 support on ppc64le
* Sat Feb 05 2022 Jiri Vanek <jvanek@redhat.com> - 6:6.4.0-4
- Rebuilt for java-17-openjdk as system jdk
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 6:6.4.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sun Nov 21 2021 Orion Poplawski <orion@nwra.com> - 6:6.4.0-2
- Rebuild for hdf5 1.12.1
* Wed Nov 03 2021 Orion Poplawski <orion@nwra.com> - 6:6.4.0-1
- Update to 6.4.0
* Wed Oct 20 2021 Antonio Trande <sagitter@fedoraproject.org> - 6:6.3.0-2
- Rebuild for sundials-5.8.0
* Tue Aug 10 2021 Orion Poplawski <orion@nwra.com> - 6:6.3.0-1
- Update to 6.3.0
* Mon Aug 09 2021 Orion Poplawski <orion@nwra.com> - 6:6.2.0-1
- Update to 6.2.0
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6:5.2.0-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sun May 30 2021 Orion Poplawski <orion@nwra.com> - 6:5.2.0-13
- Use brp-strip instead of brp-strip-shared (bz#1955380)
* Tue Apr 06 2021 Orion Poplawski <orion@nwra.com> - 6:5.2.0-12
- Backport readline 8.1 support (bz#1946773)
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6:5.2.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jan 06 2021 Orion Poplawski <orion@nwra.com> - 6:5.2.0-10
- Rebuild for sundials 5.6.1
* Sun Nov 22 2020 Orion Poplawski <orion@nwra.com> - 6:5.2.0-9
- Rebuild for sundials 5.5.0
* Mon Oct 05 2020 Orion Poplawski <orion@nwra.com> - 6:5.2.0-8
- Rebuild for sundials 5.4.0
* Thu Aug 13 2020 Iñaki Úcar <iucar@fedoraproject.org> - 5.2.0-7
- https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager
* Tue Jul 28 2020 Adam Jackson <ajax@redhat.com> - 5.2.0-6
- Drop unnecessary (apparently unused) BuildRequires: xorg-x11-apps
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6:5.2.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sat Jul 11 2020 Jiri Vanek <jvanek@redhat.com> - 6:5.2.0-4
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
* Thu Jun 25 2020 Orion Poplawski <orion@cora.nwra.com> - 6:5.2.0-3
- Rebuild for hdf5 1.10.6
* Mon Apr 13 2020 Orion Poplawski <orion@nwra.com> - 6:5.2.0-2
- Rebuild for sundials 5.2.0
* Mon Feb 03 2020 Orion Poplawski <orion@nwra.com> - 6:5.2.0-1
- Update to 5.2.0
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6:5.1.0-4.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Nov 2 2019 Orion Poplawski <orion@nwra.com> - 6:5.1.0-4
- Enable 64-bit array indexes
* Sat Nov 2 2019 Orion Poplawski <orion@nwra.com> - 6:5.1.0-3
- Enable LTO optimisations
* Mon Oct 14 2019 Orion Poplawski <orion@nwra.com> - 6:5.1.0-2.1
- Rebuild for suitesparse 5.4.0
* Wed Jul 31 2019 Orion Poplawski <orion@nwra.com> - 6:5.1.0-2
- Drop use of %%buildarch in macros.octave (bugz#1733898)

View File

@ -1,2 +1 @@
SHA512 (octave-5.1.0.tar.lz) = 34facc20ffceaead05e62e16cc70bd603919c7e52c7489faa17b5c969a160c655f50c4aeb41ecee2e2d0a6245cc3364cf9009ddd3cecb17b9e06bbdacaa0a516
SHA512 (octave-5.1.0-docs.tar.lz) = 6bf24ed95d5d2957271abb8902a156edc588962b95218b05936858fafe8205f4295f072388f7331ad5700946fbae701bd0c3f2a59c258f390ea92c85eb87fdd2
SHA512 (octave-8.4.0.tar.lz) = 9687de436a1fdeed89061a3bae0749f506ae2c14eb444a0ca14eec80fbcbbc9cdc7a4ae6e90637d05a009f06650a1a11a4d65a2893d90450663dc7e2e9364acc