diff --git a/macros.octave b/macros.octave new file mode 100644 index 0000000000000000000000000000000000000000..38a6df6c3d3c2297b7bae307e36121d3796134d9 --- /dev/null +++ b/macros.octave @@ -0,0 +1,83 @@ +# Octave packaging macros + +# Octave binary API provided +%octave_api %(octave-config -p API_VERSION || echo 0) + +# Octave Package Directories +%octshareprefix %{_datadir}/octave +%octprefix %{octshareprefix}/packages +%octarchprefix %{_libdir}/octave/packages +%octpkgdir %{octprefix}/%{octpkg}-%{version} +%octpkglibdir %{octarchprefix}/%{octpkg}-%{version} + +# Run an octave command - quietly with no startup files +%octave_cmd() octave -H -q --no-window-system --no-site-file --eval '%*'; + +# For compiled tarfile name +%octave_host %(octave-config -p CANONICAL_HOST_TYPE || echo 0) + +# Build unpacked source directory into a package tar file in a temporary location +# Pass -T to use source tarball +%octave_pkg_build(T) %{lua: + if (rpm.expand("%{-T}") == "-T") then + octpkg_tarfile = rpm.expand("%{SOURCE0}") + else + octpkg_tarfile = rpm .expand("%{_tmppath}/%{octpkg}-%{version}.tar.gz") + print("tar czf "..octpkg_tarfile.." -C "..rpm.expand("%{_builddir} %{buildsubdir}").."\\n") + end + -- Avoid a warning from pkg build about making the build directory + -- and use a clean directory as octave pkg build will delete contents + print(rpm.expand("mkdir -p %{_builddir}/%{buildsubdir}/build\\n")) + -- This fails to keep the arguments to %octave_cmd for some reason + -- print(rpm.expand("%octave_cmd pkg build -verbose -nodeps %{_builddir}/%{buildsubdir} "..octpkg_tarfile).."\\n") + print(rpm.expand("octave -H -q --no-window-system --no-site-file --eval 'pkg build -verbose -nodeps %{_builddir}/%{buildsubdir}/build "..octpkg_tarfile).."'\\n") + -- Extract the source tarball for debuginfo generation + print(rpm.expand("tar xf "..octpkg_tarfile.." -C %{_builddir}/%{buildsubdir}/build\\n")) +} + +# Install a package. We use the octave pkg install command to install the +# built package into the buildroot. We also put a note to prevent the root +# user from removing the package with the octave pkg uninstall command +# We call unlink to remove the 'octave_packages' file which contains the +# buildroot string and needs to be generated at package install time. +%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")); \ +if [ -e %{buildroot}%{octpkgdir}/packinfo/on_uninstall.m ] \ +then \ + mv %{buildroot}%{octpkgdir}/packinfo/on_uninstall.m %{buildroot}%{octpkgdir}/packinfo/on_uninstall.m.orig \ +fi \ +echo "function on_uninstall (desc)" > %{buildroot}%{octpkgdir}/packinfo/on_uninstall.m \ +echo " error ('Can not uninstall %s installed by the redhat package manager', desc.name);" >> %{buildroot}%{octpkgdir}/packinfo/on_uninstall.m \ +echo "endfunction" >> %{buildroot}%{octpkgdir}/packinfo/on_uninstall.m \ +if [ -e %{_builddir}/%{buildsubdir}/build/%{octpkg}-%{version}/*.metainfo.xml ] \ +then \ + echo "Found .metainfo.xml appdata file" \ + mkdir -p %{buildroot}/%{_metainfodir} \ + cp -p %{_builddir}/%{buildsubdir}/build/%{octpkg}-%{version}/*.metainfo.xml %{buildroot}/%{_metainfodir}/ \ + appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/*.metainfo.xml \ +else \ + echo "Did not find a .metainfo.xml appdata file" \ +fi \ +%{nil} + +# Run pkg tests - We need to reinstall to recreate 'octave_packages' so that +# 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} \ +%{nil} + +# preun script - we need to remove our uninstall protection and perhaps +# run the package's own uninstall script. +%octave_pkg_preun \ +if [ -e %{octpkgdir}/packinfo/on_uninstall.m.orig ]; then \ + mv %{octpkgdir}/packinfo/on_uninstall.m.orig %{octpkgdir}/packinfo/on_uninstall.m \ + cd %{octpkgdir}/packinfo \ + %octave_cmd l=pkg("list");on_uninstall(l{cellfun(@(x)strcmp(x.name,"%{octpkg}"),l)}); \ +else \ + echo > %{octpkgdir}/packinfo/on_uninstall.m \ +fi \ +%{nil} diff --git a/octave-5.1.0-docs.tar.lz b/octave-5.1.0-docs.tar.lz new file mode 100644 index 0000000000000000000000000000000000000000..6f0de901ef972b91748ead6c04ea33948560f838 Binary files /dev/null and b/octave-5.1.0-docs.tar.lz differ diff --git a/octave-5.1.0.tar.lz b/octave-5.1.0.tar.lz new file mode 100644 index 0000000000000000000000000000000000000000..71e8a4c6fad51f625d033ff4f5896f1e82b5a121 Binary files /dev/null and b/octave-5.1.0.tar.lz differ diff --git a/octave-eof.patch b/octave-eof.patch new file mode 100644 index 0000000000000000000000000000000000000000..f2c90bb49d0a4287e30dcd18b743e346b9be050e --- /dev/null +++ b/octave-eof.patch @@ -0,0 +1,28 @@ + +# HG changeset patch +# User Mike Miller +# 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); + diff --git a/octave-sundials3.patch b/octave-sundials3.patch new file mode 100644 index 0000000000000000000000000000000000000000..f5110ee18b028f42efbd6ee737c4176f4fdddf47 --- /dev/null +++ b/octave-sundials3.patch @@ -0,0 +1,504 @@ +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 ++Copyright (C) 2018 William Greene + + This file is part of Octave. + +@@ -44,15 +45,34 @@ along with Octave; see the file COPYING. + # include + # endif + +-# if defined (HAVE_IDA_IDA_DENSE_H) +-# include ++# if defined (HAVE_SUNDIALS_SUNDIALS_MATRIX_H) ++# include + # endif + +-# if defined (HAVE_IDA_IDA_KLU_H) +-# include ++# if defined (HAVE_SUNDIALS_SUNDIALS_LINEARSOLVER_H) ++# include ++# endif ++ ++# if defined (HAVE_SUNLINSOL_SUNLINSOL_DENSE_H) ++# include ++# endif ++ ++# if defined (HAVE_IDA_IDA_DIRECT_H) ++# include ++# endif ++ ++# if defined (HAVE_SUNDIALS_SUNDIALS_SPARSE_H) + # include + # endif + ++# if defined (HAVE_SUNLINSOL_SUNLINSOL_KLU_H) ++# include ++# endif ++ ++# if defined (HAVE_SUNMATRIX_SUNMATRIX_SPARSE_H) ++# include ++# endif ++ + # if defined (HAVE_NVECTOR_NVECTOR_SERIAL_H) + # include + # 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 (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 (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 +- #else +- #include + #endif + #include + ]], [[ +@@ -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 +- #else +- #include ++ #if defined (HAVE_IDA_IDA_H) ++ #include ++ #endif ++ #if defined (HAVE_SUNDIALS_SUNDIALS_SPARSE_H) ++ #include ++ #endif ++ #if defined (HAVE_SUNLINSOL_SUNLINSOL_KLU_H) ++ #include + #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 +- #else +- #include ++ #if defined (HAVE_IDA_IDA_H) ++ #include ++ #endif ++ #if defined (HAVE_SUNDIALS_SUNDIALS_MATRIX_H) ++ #include ++ #endif ++ #if defined (HAVE_SUNDIALS_SUNDIALS_LINEARSOLVER_H) ++ #include + #endif ++ #if defined (HAVE_IDA_IDA_DIRECT_H) ++ #include ++ #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); diff --git a/octave.spec b/octave.spec new file mode 100644 index 0000000000000000000000000000000000000000..d65ce465f56e8323bff89626f0fef0c443db5dcd --- /dev/null +++ b/octave.spec @@ -0,0 +1,1505 @@ +# From src/version.h:#define OCTAVE_API_VERSION +%global octave_api api-v53 + +%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) + +%global builddocs 1 + +# Use Qt5 on Fedora and EL8+ +%if 0%{?fedora} || 0%{?rhel} >= 8 +%bcond_without qt5 +%else +%bcond_with qt5 +%endif + +# Compile with ILP64 BLAS - not yet working +%bcond_with blas64 + +# For rc versions, change release manually +#global rcver 2 +%if 0%{?rcver:1} +%global rctag -rc%{?rcver} +%global relsuf .rc%{?rcver} +%endif + +%global optflags %{optflags} -flto=auto +%global build_ldflags %{build_ldflags} -flto + +Name: octave +Epoch: 6 +Version: 5.1.0 +Release: 4%{?rcver:.rc%{rcver}}%{?dist} +Summary: A high-level language for numerical computations +License: GPLv3+ +URL: http://www.octave.org + +Source0: https://ftp.gnu.org/gnu/octave/octave-%{version}.tar.lz +#Source0: https://alpha.gnu.org/gnu/octave/octave-%{version}%{?rctag}.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 + +Provides: octave(api) = %{octave_api} +Provides: bundled(gnulib) +Provides: bundled(qterminal) +# From liboctave/cruft +Provides: bundled(amos) +Provides: bundled(blas-xtra) +Provides: bundled(daspk) +Provides: bundled(dasrt) +Provides: bundled(dassl) +Provides: bundled(faddeeva) +Provides: bundled(lapack-xtra) +Provides: bundled(odepack) +Provides: bundled(ordered-qz) +Provides: bundled(quadpack) +Provides: bundled(ranlib) +Provides: bundled(slatec-err) +Provides: bundled(slatec-fn) + +# For Source0 +BuildRequires: lzip + +# For autoreconf +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: bison +BuildRequires: bzip2-devel +BuildRequires: curl-devel +BuildRequires: fftw-devel +BuildRequires: flex +BuildRequires: fltk-devel +BuildRequires: ftgl-devel +BuildRequires: gcc-c++ +BuildRequires: gcc-gfortran +BuildRequires: ghostscript +BuildRequires: gl2ps-devel +BuildRequires: glpk-devel +BuildRequires: gnuplot +BuildRequires: gperf +BuildRequires: GraphicsMagick-c++-devel +BuildRequires: hdf5-devel +BuildRequires: java-devel +%if 0%{?fedora} +BuildRequires: javapackages-local +%endif +BuildRequires: less +BuildRequires: libsndfile-devel +BuildRequires: libX11-devel +BuildRequires: llvm-devel +BuildRequires: mesa-libGL-devel +BuildRequires: mesa-libGLU-devel +BuildRequires: mesa-libOSMesa-devel +BuildRequires: ncurses-devel +BuildRequires: pcre-devel +BuildRequires: portaudio-devel +BuildRequires: qhull-devel +BuildRequires: qrupdate-devel +%if %{with qt5} +BuildRequires: qscintilla-qt5-devel +BuildRequires: qt5-linguist +BuildRequires: qt5-qttools-devel +%else +BuildRequires: qscintilla-devel +%endif +BuildRequires: readline-devel +%if %{with blas64} +BuildRequires: suitesparse64-devel +%else +BuildRequires: suitesparse-devel +%endif +BuildRequires: sundials-devel +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 +%endif +BuildRequires: zlib-devel +# For check +BuildRequires: mesa-dri-drivers +BuildRequires: xorg-x11-apps +%ifnarch s390 s390x +BuildRequires: xorg-x11-drv-dummy +%endif +BuildRequires: zip + +Requires: epstool +Requires: gnuplot +Requires: gnuplot-common +Requires: hdf5 = %{_hdf5_version} +Requires: hicolor-icon-theme +Requires: java-headless +Requires: less +Requires: info +Requires: texinfo +# Rrom scripts/general/private/__publish_latex_output__.m +Requires: tex(amssymb.sty) +Requires: tex(fontenc.sty) +Requires: tex(graphicx.sty) +Requires: tex(hyperref.sty) +Requires: tex(inputenc.sty) +Requires: tex(listings.sty) +Requires: tex(lmodern.sty) +Requires: tex(mathtools.sty) +Requires: tex(titlesec.sty) +Requires: tex(xcolor.sty) +# Rrom scripts/plot/util/print.m: +Requires: tex(color.sty) +Requires: tex(epsfig.sty) +Requires: tex(geometry.sty) +Requires: tex(graphicx.sty) + + +%description +GNU Octave is a high-level language, primarily intended for numerical +computations. It provides a convenient command line interface for +solving linear and nonlinear problems numerically, and for performing +other numerical experiments using a language that is mostly compatible +with Matlab. It may also be used as a batch-oriented language. Octave +has extensive tools for solving common numerical linear algebra +problems, finding the roots of nonlinear equations, integrating +ordinary functions, manipulating polynomials, and integrating ordinary +differential and differential-algebraic equations. It is easily +extensible and customizable via user-defined functions written in +Octave's own language, or using dynamically loaded modules written in +C++, C, Fortran, or other languages. + + +%package devel +Summary: Development headers and files for Octave +Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: gcc-c++ +Requires: gcc-gfortran +Requires: fftw-devel%{?_isa} +Requires: hdf5-devel%{?_isa} +Requires: openblas-devel%{?_isa} +Requires: readline-devel%{?_isa} +Requires: zlib-devel +Requires: libappstream-glib + +%description devel +The octave-devel package contains files needed for developing +applications which use GNU Octave. + + +%package doc +Summary: Documentation for Octave +BuildArch: noarch + +%description doc +This package contains documentation for Octave. + +%prep +%setup -q -n %{name}-%{version}%{?rctag} +%patch2 -p1 -b .eof +%if %{with blas64} +sed -i -e 's/OCTAVE_CHECK_LIB(suitesparseconfig,/OCTAVE_CHECK_LIB(suitesparseconfig64,/' configure.ac +%endif +# EPEL7's autoconf/automake is too old so don't do +# unneeded patches there +%if 0%{?fedora} +%patch1 -p1 -b .sundials3 +autoreconf -i +%endif + + +%build +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 +# 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} +# 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 +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-float-truncate \ + %{?disabledocs} \ + --disable-silent-rules \ +%if %{with blas64} + --with-blas=openblas64 \ +%endif + --with-java-includedir=/usr/lib/jvm/java/include \ + --with-java-libdir=$libjvm \ + --with-qrupdate \ + --with-amd --with-umfpack --with-colamd --with-ccolamd --with-cholmod \ + --with-cxsparse \ + --disable-jit + +# Check that octave_api is set correctly (autogenerated file) +make liboctave/version.h +if ! grep -q '^#define OCTAVE_API_VERSION "%{octave_api}"' liboctave/version.h +then + echo "octave_api variable in spec does not match liboctave/version.h" + exit 1 +fi + +%make_build OCTAVE_RELEASE="Fedora %{version}%{?rctag}-%{release}" + +%install +%make_install + +# Docs - In case we didn't build them and to explicitly install pre-built docs +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}/ + +# 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 + +# Remove RPM_BUILD_ROOT from ls-R files +perl -pi -e "s,%{buildroot},," %{buildroot}%{_libdir}/%{name}/ls-R +perl -pi -e "s,%{buildroot},," %{buildroot}%{_datadir}/%{name}/ls-R +# Make sure ls-R exists +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` +mkdir -p %{buildroot}%{_libdir}/%{name}/site/oct/%{octave_api}/$HOST_TYPE +mkdir -p %{buildroot}%{_libdir}/%{name}/site/oct/$HOST_TYPE +mkdir -p %{buildroot}%{_datadir}/%{name}/packages +mkdir -p %{buildroot}%{_libdir}/%{name}/packages +touch %{buildroot}%{_datadir}/%{name}/octave_packages + +# Fix multilib installs +for include in octave-config defaults +do + mv %{buildroot}%{_includedir}/%{name}-%{version}%{?rctag}/%{name}/${include}.h \ + %{buildroot}%{_includedir}/%{name}-%{version}%{?rctag}/%{name}/${include}-%{__isa_bits}.h + cat > %{buildroot}%{_includedir}/%{name}-%{version}%{?rctag}/%{name}/${include}.h < + +#if __WORDSIZE == 32 +#include "${include}-32.h" +#elif __WORDSIZE == 64 +#include "${include}-64.h" +#else +#error "Unknown word size" +#endif +EOF +done +for script in octave-config-%{version}%{?rctag} mkoctfile-%{version}%{?rctag} +do + mv %{buildroot}%{_bindir}/${script} %{buildroot}%{_libdir}/%{name}/%{version}%{?rctag}/${script} + cat > %{buildroot}%{_bindir}/${script} < - 6:5.1.0-4 +- Enable 64-bit array indexes + +* Sat Nov 2 2019 Orion Poplawski - 6:5.1.0-3 +- Enable LTO optimisations + +* Mon Oct 14 2019 Orion Poplawski - 6:5.1.0-2.1 +- Rebuild for suitesparse 5.4.0 + +* Wed Jul 31 2019 Orion Poplawski - 6:5.1.0-2 +- Drop use of %%buildarch in macros.octave (bugz#1733898) + +* Thu Jul 25 2019 Fedora Release Engineering - 6:5.1.0-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Jun 16 2019 Orion Poplawski - 6:5.1.0-1 +- Update to 5.1.0 + +* Mon May 6 2019 Orion Poplawski - 6:4.4.1-8 +- Backport upstream patch for proper EOF handling (bugz#1705129) + +* Tue Apr 23 2019 Björn Esser - 6:4.4.1-7 +- rebuilt (sundials) + +* Sat Mar 16 2019 Orion Poplawski - 6:4.4.1-6 +- Rebuild for hdf5 1.10.5 + +* Thu Mar 7 2019 Tim Landscheidt - 6:4.4.1-5 +- Remove obsolete requirements for post/preun scriptlets + +* Sun Feb 17 2019 Igor Gnatenko - 6:4.4.1-4 +- Rebuild for readline 8.0 + +* Sat Feb 16 2019 Björn Esser - 6:4.4.1-3 +- rebuilt (qscintilla) + +* Tue Feb 12 2019 Björn Esser - 6:4.4.1-2 +- rebuilt (qscintilla) +- Fix pre-release tag + +* Fri Feb 01 2019 Fedora Release Engineering - 6:4.4.1-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sun Nov 11 2018 Orion Poplawski - 6:4.4.1-1 +- Update to 4.4.1 + +* Fri Jul 13 2018 Fedora Release Engineering - 6:4.2.2-6.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jul 02 2018 Colin B. Macdonald - 6:4.2.2-6 +- macros: support other names for appdata .metainfo.xml files + +* Thu Jun 28 2018 Colin B. Macdonald - 6:4.2.2-5 +- macros: support dependencies in octave_pkg_check + +* Thu Jun 21 2018 Orion Poplawski - 6:4.2.2-4 +- Add patch to fix crash with Ctrl-D (bug #1589460) + +* Sun Jun 17 2018 Orion Poplawski - 6:4.2.2-3 +- Add requires hicolor-icon-theme +- Use make macros + +* Sat Jun 2 2018 Jerry James - 6:4.2.2-2 +- Rebuild for glpk 4.65 +- Use ldconfig macros +- Add -qbuttongroup patch to fix FTBFS + +* Wed Mar 14 2018 Orion Poplawski - 6:4.2.2-1 +- Update to 4.2.2 +- Fail build again if make check fails + +* Wed Feb 21 2018 Orion Poplawski - 6:4.2.1-5 +- Add BR gcc-c++ + +* Thu Feb 08 2018 Jitka Plesnikova - 6:4.2.1-4.5 +- Rebuild for hdf5 1.8.20 + +* Mon Feb 05 2018 Jitka Plesnikova - 6:4.2.1-4.4 +- Rebuild for new gfortran + +* Fri Jan 05 2018 Igor Gnatenko - 6:4.2.1-4.3 +- Remove obsolete scriptlets + +* Sun Aug 13 2017 Orion Poplawski - 6:4.2.1-4.2 +- Make octave-devel require libappstream-glib + +* Sat Aug 12 2017 Orion Poplawski - 6:4.2.1-4.1 +- Run appstream-util validate-relax on metainfo.xml files + +* Fri Aug 11 2017 Orion Poplawski - 6:4.2.1-4 +- Use openblas on Fedora 27+ + +* Thu Aug 10 2017 Orion Poplawski - 6:4.2.1-4 +- Install metainfo.xml files in %%octave_pkg_install + +* Thu Aug 03 2017 Fedora Release Engineering - 6:4.2.1-3.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 6:4.2.1-3.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue Jun 13 2017 Orion Poplawski - 6:4.2.1-3 +- Use Qt5 on Fedora 26+ + +* Wed Apr 5 2017 Jerry James - 6:4.2.1-2 +- Rebuild for glpk 4.61 + +* Fri Feb 24 2017 Orion Poplawski - 6:4.2.1-1 +- Update to 4.2.1 + +* Mon Feb 20 2017 Rex Dieter - 6:4.2.0-16 +- rebuild (qscintilla) + +* Wed Feb 08 2017 Orion Poplawski - 6:4.2.0-15 +- Have %%octave_pkg_check re-strip shared objects + +* Tue Feb 07 2017 Orion Poplawski - 6:4.2.0-14 +- Rebuild with fixed pkgconf (bug #1419685) + +* Sat Jan 28 2017 Björn Esser - 6:4.2.0-13 +- Rebuilt for GCC-7 + +* Thu Jan 12 2017 Igor Gnatenko - 6:4.2.0-12.1 +- Rebuild for readline 7.x + +* Thu Dec 29 2016 Kalev Lember - 6:4.2.0-12 +- Fix license in appdata file (bug #1293561) + +* Fri Dec 09 2016 Orion Poplawski - 6:4.2.0-11 +- Handle noarch package tarball names + +* Fri Dec 09 2016 Orion Poplawski - 6:4.2.0-10 +- Patch gzip from upstream bug report + +* Thu Dec 08 2016 Orion Poplawski - 6:4.2.0-9 +- Disable more segfaulting tests + +* Thu Dec 08 2016 Orion Poplawski - 6:4.2.0-8 +- Add patch to prevent gzip from deleting target file, instead emit warning +- Drop debug code +- Disable segfaulting osmesa_print and pltopt tests + +* Thu Dec 08 2016 Orion Poplawski - 6:4.2.0-7 +- Fix version option + +* Wed Dec 07 2016 Orion Poplawski - 6:4.2.0-6 +- A desparate attempt to debug octave package building + +* Wed Dec 07 2016 Orion Poplawski - 6:4.2.0-5 +- Build in a build sub-directory + +* Wed Dec 07 2016 Orion Poplawski - 6:4.2.0-4 +- Use 'octave-config -p CANONICAL_HOST_TYPE' in macros + +* Wed Dec 07 2016 Orion Poplawski - 6:4.2.0-3 +- Use %%_host in macros + +* Tue Dec 06 2016 Orion Poplawski - 6:4.2.0-2 +- Rework pkg build/install macros + +* Tue Dec 06 2016 Orion Poplawski - 6:4.2.0-1 +- Update to 4.2.0 +- Drop texinfo5 patch +- Use autoreconf -i +- Add requires for latex packages +- Add implicit patch + +* Tue Dec 06 2016 Orion Poplawski - 6:4.0.3-3 +- Rebuild for hdf5 1.8.18 + +* Fri Sep 9 2016 Orion Poplawski - 6:4.0.3-2 +- Add upstream patch to fix build with texinfo 5 on <=EL7 + +* Sun Jul 3 2016 Orion Poplawski - 6:4.0.3-1 +- Update to 4.0.3 + +* Wed Jun 29 2016 Orion Poplawski - 6:4.0.2-3 +- Rebuild for hdf5 1.8.17 + +* Fri Apr 29 2016 Ralf Corsépius - 6:4.0.2-2 +- Rebuild for qhull-2015.2-1. + +* Thu Apr 21 2016 Orion Poplawski - 6:4.0.2-1 +- Update to 4.0.2 + +* Sun Apr 10 2016 Orion Poplawski - 6:4.0.1-6 +- Add upstream patch to fix setting TERM variable (bug #1325548) + +* Mon Apr 4 2016 Orion Poplawski - 6:4.0.1-5 +- Arm tests appear to be running okay now (bug #1149953) + +* Thu Mar 24 2016 Orion Poplawski - 6:4.0.1-4 +- Swap quoting in octave macros to make set -x output a little cleaner +- Stop trying to turn octave warnings off in macros + +* Wed Mar 23 2016 Orion Poplawski - 6:4.0.1-3 +- Update signbit patch from gnulib upstream to work with older compilers +- Only munge headers for gnulib on Fedora 24+ + +* Tue Mar 22 2016 Orion Poplawski - 6:4.0.1-2 +- libappstream-glib is not in EL6 + +* Tue Mar 22 2016 Orion Poplawski - 6:4.0.1-1 +- Update to 4.0.1 +- Drop upstream texinfo patch + +* Fri Mar 11 2016 Orion Poplawski - 6:4.0.0-14 +- Rebuild for glpk 4.59 + +* Sun Feb 21 2016 Orion Poplawski - 6:4.0.0-13 +- Fix build with gcc 6 + +* Thu Feb 18 2016 Orion Poplawski - 6:4.0.0-12 +- Rebuild for glpk 4.58 + +* Thu Feb 04 2016 Fedora Release Engineering - 6:4.0.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jan 22 2016 Orion Poplawski - 6:4.0.0-10 +- Rebuild for poppler-0.40.0 + +* Thu Jan 21 2016 Orion Poplawski - 6:4.0.0-9 +- Rebuild for hdf5 1.8.16 + +* Tue Dec 29 2015 Orion Poplawski - 6:4.0.0-8 +- Validate and fix appdata file (bug #1293561) + +* Wed Nov 11 2015 Orion Poplawski - 6:4.0.0-7 +- Add BR libsndfile-devel and portaudio-devel for audio support (bug #1279924) + +* Tue Oct 6 2015 Orion Poplawski - 6:4.0.0-6 +- Remove unused fftpack code, note bundled libraries + +* Sun Oct 04 2015 Rex Dieter - 6:4.0.0-5 +- rebuild (GraphicsMagick) + +* Fri Jul 31 2015 Orion Poplawski - 6:4.0.0-4 +- Add octave_pkg_check rpm macro, other macro cleanup + +* Tue Jul 14 2015 Orion Poplawski - 6:4.0.0-3 +- Add patch to fix build with texinfo 6.0 + +* Mon Jul 13 2015 Dan Horák - 6:4.0.0-2 +- build without the dummy Xorg driver on s390(x) + +* Mon Jul 6 2015 Orion Poplawski - 6:4.0.0-1 +- Update to 4.0.0 +- Rebase pkgbuilddir patch +- Drop suitesparse patch +- Run X server for tests + +* Wed Jun 17 2015 Fedora Release Engineering - 6:3.8.2-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu Jun 11 2015 Nils Philippsen - 6:3.8.2-19 +- rebuild for suitesparse-4.4.4 + +* Thu May 28 2015 Orion Poplawski - 6:3.8.2-18 +- Fix doc install (bug #799662) + +* Sun May 17 2015 Orion Poplawski - 6:3.8.2-17 +- Rebuild for hdf5 1.8.15 + +* Mon Apr 20 2015 Rex Dieter - 6:3.8.2-16 +- rebuild (qscintilla) + +* Thu Mar 26 2015 Richard Hughes - 6:3.8.2-15 +- Add an AppData file for the software center + +* Tue Mar 10 2015 Orion Poplawski - 6:3.8.2-14 +- Build with --enable-float-truncate (https://savannah.gnu.org/bugs/?40560) +- Re-enable parallel builds + +* Mon Mar 09 2015 Rex Dieter - 6:3.8.2-13 +- rebuild (GraphicsMagick) + +* Fri Feb 20 2015 Orion Poplawski - 6:3.8.2-12 +- Rebuild for rebuilt swig + +* Wed Feb 18 2015 Orion Poplawski - 6:3.8.2-11 +- Rebuild for fltk 1.3.3 + +* Tue Feb 17 2015 Orion Poplawski - 6:3.8.2-10 +- Rebuild for gcc 5 C++11 ABI + +* Sun Feb 08 2015 Orion Poplawski - 6:3.8.2-9 +- Use a generic location for libjvm.so, require java-headless (bug #1190523) + +* Wed Jan 07 2015 Orion Poplawski - 6:3.8.2-8 +- Rebuild for hdf5 1.8.14 + +* Mon Oct 6 2014 Orion Poplawski - 6:3.8.2-7 +- Disable test failure on arm for now (bug #1149953) + +* Mon Sep 15 2014 Orion Poplawski - 6:3.8.2-6 +- Add patch for suitesparse 4.3.1 support + +* Fri Sep 12 2014 Orion Poplawski - 6:3.8.2-5 +- Rebuild for libcholmod soname bump + +* Sat Aug 23 2014 Orion Poplawski - 6:3.8.2-4 +- No info scripts when not building docs + +* Fri Aug 22 2014 Orion Poplawski - 6:3.8.2-3 +- Install macros.texi by hand if not building docs + +* Sun Aug 17 2014 Fedora Release Engineering - 6:3.8.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Thu Aug 14 2014 Orion Poplawski - 6:3.8.2-1 +- Update to 3.8.2 final + +* Thu Jul 03 2014 Susi Lehtola - 6:3.8.2-0.2.rc2 +- Modernize rest of specfile. +- Update to 3.8.2-rc2. + +* Tue Jun 10 2014 Susi Lehtola - 6:3.8.2-0.1.rc1 +- Update to 3.8.2-rc1. + +* Sat Jun 07 2014 Fedora Release Engineering - 6:3.8.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Mar 7 2014 Susi Lehtola - 6:3.8.1-1 +- Update to 3.8.1. + +* Sat Feb 8 2014 Peter Robinson 6:3.8.0-6 +- Add PPC64 and aarch64 to the 64 bit architectures + +* Sat Feb 1 2014 Orion Poplawski - 6:3.8.0-5 +- Fix rpm macro install location + +* Tue Jan 14 2014 Orion Poplawski - 6:3.8.0-4 +- Also fix base-list.h include + +* Thu Jan 9 2014 Orion Poplawski - 6:3.8.0-3 +- Really fix config.h include + +* Wed Jan 8 2014 Orion Poplawski - 6:3.8.0-2 +- Fix config.h include + +* Sat Dec 28 2013 Orion Poplawski - 6:3.8.0-1 +- Update to 3.8.0 final + +* Sat Dec 28 2013 Orion Poplawski - 6:3.8.0-0.4.rc2 +- Rebase pkgbuilddir patch + +* Fri Dec 27 2013 Orion Poplawski - 6:3.8.0-0.3.rc2 +- Rebuild for hdf5 1.8.12 + +* Sat Dec 21 2013 Susi Lehtola - 6:3.8.0-0.2.rc2 +- Update to 3.8.0-rc2. + +* Fri Dec 6 2013 Orion Poplawski - 6:3.8.0-0.1.rc1 +- Update to 3.8.0-rc1 +- Drop patches +- Add BR gl2ps-devel, qscintilla-devel, java-devel, llvm-devel + +* Fri Dec 06 2013 Nils Philippsen - 6:3.6.4-9 +- rebuild (suitesparse) + +* Thu Oct 3 2013 Orion Poplawski - 6:3.6.4-8 +- Re-enable atlas on arm + +* Sun Sep 22 2013 Orion Poplawski - 6:3.6.4-7 +- Rebuild for atlas 3.10 +- Disable atlas on arm + +* Thu Sep 12 2013 Dan Horák - 6:3.6.4-6 +- Rebuilt to resolve broken deps on s390(x) + +* Tue Jul 30 2013 Orion Poplawski - 6:3.6.4-5 +- Rebuild for glpk 4.52.1 + +* Thu May 16 2013 Orion Poplawski - 6:3.6.4-4 +- Rebuild for hdf5 1.8.11 + +* Thu Mar 28 2013 Jaromir Capik - 6:3.6.4-3 +- aarch64 support (#926264) + +* Fri Mar 08 2013 Ralf Corsépius - 6:3.6.4-2 +- Remove %%config from %%{_sysconfdir}/rpm/macros.* + (https://fedorahosted.org/fpc/ticket/259). + +* Sat Feb 23 2013 Orion Poplawski - 6:3.6.4-1 +- Update to 3.6.4 final + +* Tue Feb 12 2013 Orion Poplawski - 6:3.6.4-0.7.rc2 +- Update to 3.6.4-rc2 + +* Tue Feb 12 2013 Orion Poplawski - 6:3.6.4-0.6.rc1 +- Drop vendor from desktop file + +* Sun Feb 03 2013 Kevin Fenzi - 6:3.6.4-0.5.rc1 +- Rebuild for broken deps in rawhide + +* Fri Jan 4 2013 Orion Poplawski - 6:3.6.4-0.4.rc1 +- Update to 3.6.4-rc1 +- Drop gets patch + +* Fri Dec 21 2012 Orion Poplawski - 6:3.6.4-0.3.rc0 +- Add patch to ignore deps when building packages for now (bug 733615) + +* Wed Dec 05 2012 Orion Poplawski - 6:3.6.4-0.2.rc0 +- Restore gets patch +- Rebuild for hdf5 1.8.10 + +* Wed Oct 17 2012 Orion Poplawski - 6:3.6.4-0.1.rc0 +- Update to 3.6.4-rc0 +- Drop sparse patch applied upstream + +* Thu Sep 6 2012 Orion Poplawski - 6:3.6.3-2 +- Add upstream patch to fix sparse matrix test crash + +* Wed Sep 5 2012 Orion Poplawski - 6:3.6.3-1 +- Update to 3.6.3 +- Drop gets patch fixed upstream + +* Fri Jul 20 2012 Fedora Release Engineering - 6:3.6.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Jul 5 2012 Jussi Lehtola - 6:3.6.2-2 +- Build against OpenGL libraries. + +* Mon Jun 4 2012 Orion Poplawski - 6:3.6.2-1 +- Update to 3.6.2 final + +* Thu May 24 2012 Orion Poplawski - 6:3.6.2-0.4.rc2 +- Update to 3.6.2-rc2 +- Add patch to update gnulib to handle gets removal + +* Tue May 15 2012 Orion Poplawski - 6:3.6.2-0.3.rc0 +- Rebuild with hdf5 1.8.9 + +* Tue May 15 2012 Orion Poplawski - 6:3.6.2-0.2.rc0 +- Add Provides bundled(gnulib) (bug 821781) + +* Sat May 12 2012 Orion Poplawski - 6:3.6.2-0.1.rc0 +- Update to 3.6.2-rc0. + +* Tue Feb 28 2012 Fedora Release Engineering - 6:3.6.1-2 +- Rebuilt for c++ ABI breakage + +* Wed Feb 22 2012 Orion Poplawski - 6:3.6.1-1 +- Update to 3.6.1. + +* Thu Feb 9 2012 Orion Poplawski - 6:3.6.0-2 +- Rebuild with pcre 8.30 + +* Sun Jan 15 2012 Jussi Lehtola - 6:3.6.0-1 +- Update to 3.6.0. + +* Fri Jan 13 2012 Fedora Release Engineering - 6:3.4.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Fri Nov 18 2011 Orion Poplawski - 6:3.4.3-2 +- Rebuild for hdf5 1.8.8 + +* Mon Oct 24 2011 Orion Poplawski - 6:3.4.3-1 +- Update to 3.4.3 +- Drop upstreamed patches + +* Wed Aug 24 2011 Jussi Lehtola - 6:3.4.2-3 +- Place rpm macros in -devel. + +* Thu Aug 11 2011 Orion Poplawski - 6:3.4.2-2 +- Drop smp build - seems to be failing +- Add patch to fix tar argument handling +- Add patch to fix xzip + +* Sat Aug 06 2011 Jussi Lehtola - 6:3.4.2-1 +- Update to 3.4.2. + +* Fri May 27 2011 Orion Poplawski - 6:3.4.0-8 +- Add patch to fix Fl_File_Chooser.H location +- Add BR tex(dvips) + +* Thu May 26 2011 Orion Poplawski - 6:3.4.0-7 +- Rebuild for fltk 1.3.0 + +* Tue May 17 2011 Orion Poplawski - 6:3.4.0-6 +- Rebuild for hdf5 1.8.7 + +* Fri Mar 18 2011 Orion Poplawski - 6:3.4.0-5 +- Use libdir instead of libexecdir +- Rename octave_pkg_preun macro +- Fix multilib installs +- Re-enable prelinking, seems to work +- Add patch to enable building packages from directories + +* Wed Feb 23 2011 Orion Poplawski - 6:3.4.0-4 +- Update rpm macros per FPC comments + +* Mon Feb 14 2011 Orion Poplawski - 6:3.4.0-3 +- Add rpm macros +- Rebuild should pick up fixed suitesparse +- Disable parallel builds + +* Tue Feb 08 2011 Fedora Release Engineering - 6:3.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Feb 8 2011 Orion Poplawski - 6:3.4.0-1 +- Update to 3.4.0 +- Drop run-octave patch fixed upstream +- Add patch to support gcc 4.6 + +* Thu Dec 16 2010 Orion Poplawski - 6:3.3.54-1 +- Update to 3.3.54 +- Add patch to prevent run-octave from getting installed +- Drop -DH5_USE_16_API +- Enable parallel builds +- Cleanup doc instal + +* Sun Feb 28 2010 Alex Lancaster - 6:3.2.4-3 +- Temporarily disable %%check to enable build to complete and ensure + upgrade path works. This works around a crash in the imread.m image test + script, this may be the same problem as described by upstream here: + https://www-old.cae.wisc.edu/pipermail/octave-maintainers/2010-January/014891.html + +* Fri Feb 26 2010 Michal Schmidt 6:3.2.4-2 +- Fix the prelink workaround to work with any version. +- Use _sysconfdir macro instead of /etc. + +* Thu Jan 28 2010 Jussi Lehtola - 6:3.2.4-1 +- Update to 3.2.4 with a few rpmlint fixes. + +* Sun Jan 17 2010 Jussi Lehtola - 6:3.2.3-4 +- Fix compilation against ARPACK. + +* Wed Jan 6 2010 Jussi Lehtola - 6:3.2.3-3 +- Really build against ATLAS instead of reference BLAS (#513381). + +* Sun Nov 15 2009 Alex Lancaster - 6:3.2.3-2 +- Workaround broken pre-linking (#524493) + +* Tue Sep 29 2009 Orion Poplawski - 6:3.2.3-1 +- Update to 3.2.3 +- Re-add make check + +* Tue Sep 22 2009 Rakesh Pandit - 6:3.2.2-5 +- Added categories to desktop file: Education, DataVisualization, NumericalAnalysis + +* Mon Sep 7 2009 Alex Lancaster - 6:3.2.2-4 +- Rebuild against new ATLAS + +* Sun Sep 6 2009 Alex Lancaster - 6:3.2.2-3 +- Disable make check temporarily to get a build against newly fixed lapack + +* Wed Sep 2 2009 Orion Poplawski - 6:3.2.2-2 +- Add make check + +* Fri Jul 31 2009 Jussi Lehtola - 6:3.2.2-1 +- Update to latest upstream (3.2.2). + +* Sat Jul 25 2009 Fedora Release Engineering - 6:3.2.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon Jul 13 2009 Jussi Lehtola - 6:3.2.0-2 +- Added BR: ftgl-devel for native graphics. +- Dropped obsolete X-Fedora category from desktop file. +- Macro use unifications. +- Branch documentation into its own subpackage. + +* Sat Jul 11 2009 Jussi Lehtola - 6:3.2.0-1 +- Update to latest upstream (3.2.0). + +* Sun Apr 12 2009 Rakesh Pandit - 6:3.0.5-1 +- Updated to latest upstream (3.0.5) + +* Mon Feb 23 2009 Alex Lancaster - 6:3.0.3-2 +- Add patches from upstream for compiling against GCC 4.4 + http://hg.savannah.gnu.org/hgweb/octave/rev/93cf10950334 + http://hg.tw-math.de/release-3-0-x/rev/712d9e045b1e + +* Wed Dec 10 2008 Alex Lancaster - 6:3.0.3-1 +- Update to latest upstream (3.0.3) + +* Thu Oct 23 2008 Rakesh Pandit 6:3.0.2-2 +- patch for sh arch: it adds '-little' flag + +* Mon Sep 8 2008 Orion Poplawski 6:3.0.2-1 +- Update to 3.0.2 + +* Mon Apr 21 2008 Quentin Spencer 6:3.0.1-1 +- New release of octave. Remove gcc 4.3 patch. + +* Mon Mar 3 2008 Alex Lancaster - 6:3.0.0-6 +- Re-enable patch, but change cstring -> string.h so it works for C as + well as C++. Hopefully this will #435600 for real. + +* Sun Mar 2 2008 Alex Lancaster - 6:3.0.0-5 +- Backout GCC 4.3 patch temporarily, causes trouble for octave-forge and + may not be necessary (#435600) + +* Fri Feb 29 2008 Orion Poplawski 3.0.0-4 +- Rebuild for hdf5 1.8.0 using compatability API define +- Add gcc43 patch + +* Tue Feb 19 2008 Fedora Release Engineering - 6:3.0.0-3 +- Autorebuild for GCC 4.3 + +* Wed Jan 9 2008 Quentin Spencer 3.0.0-2 +- Add curl-devel and pcre-devel as build dependencies. Closes bug 302231. + +* Fri Dec 21 2007 Quentin Spencer 3.0.0-1 +- Update to 3.0.0. + +* Wed Dec 12 2007 Quentin Spencer 2.9.19-1 +- Update to 2.9.19 and update octave_api. + +* Wed Dec 5 2007 Quentin Spencer 2.9.18-1 +- Update to 2.9.18 and update octave_api. + +* Wed Nov 28 2007 Quentin Spencer 2.9.17-1 +- Update to 2.9.17 and update octave_api. + +* Mon Nov 5 2007 Quentin Spencer 2.9.16-1 +- Update to 2.9.16, remove old patch. +- Update licencse from GPLv2+ to GPLv3+. +- Detection of glpk no longer needs special CPPFLAGS. + +* Tue Oct 16 2007 Orion Poplawski 2.9.15-2 +- Updated pkg.m patch + +* Mon Oct 15 2007 Quentin Spencer 2.9.15-1 +- New release. Remove old patch. + +* Tue Sep 25 2007 Orion Poplawski 2.9.14-2 +- Add /usr/share/octave/packages for add on packages and %%ghost + /usr/share/octave/octave_packages +- Add patch for octave package manager that will be going upstream + +* Tue Sep 18 2007 Quentin Spencer 2.9.14-1 +- New release. +- Remove redundant menu category in desktop file (bug 274431). +- Update license tag. +- Add qhull-devel as new build dependency. + +* Thu Jul 26 2007 Quentin Spencer 2.9.13-1 +- New release. +- Changed ufsparse-devel dependency to suitesparse-devel. +- Add configure flag to close bug 245562. +- Add directories for add-on packages (bug 234012). +- Since texinfo is now separate from tetex, it is a build requirement. + +* Wed May 23 2007 Quentin Spencer 2.9.12-1 +- New release. + +* Tue Feb 20 2007 Quentin Spencer 2.9.9-2 +- Fix install-info bug (Bug 219404). +- Add dependency on octave API so that breakages will be detected. (Bug 224050). +- Remove libtermcap-devel as build dependency (Bug 226768). + +* Tue Oct 03 2006 Quentin Spencer 2.9.9-1 +- New release. Remove old patch. + +* Fri Sep 15 2006 Quentin Spencer 2.9.8-2 +- Fix this bug: + https://www.cae.wisc.edu/pipermail/bug-octave/2006-September/000687.html + +* Fri Aug 25 2006 Quentin Spencer 2.9.8-1 +- New release. Remove old patch. This fixes bug #203676. + +* Tue Aug 15 2006 Quentin Spencer 2.9.7-3 +- Add ghostscript as a build dependency. + +* Tue Aug 15 2006 Quentin Spencer 2.9.7-2 +- Update patch to fix several small bugs, including #201087. + +* Fri Jul 28 2006 Quentin Spencer 2.9.7-1 +- New release. Remove old patches and add one new one. + +* Tue Jul 11 2006 Quentin Spencer 2.9.6-2 +- Patch for some erroneous warnings and a file path bug. + +* Mon Jul 10 2006 Quentin Spencer 2.9.6-1 +- New release. Remove old patches. +- Disable 64-bit extensions (some libraries don't support 64-bit indexing yet). +- Add gcc-gfortran to -devel dependencies (mkoctfile fails without it). +- Move octave-bug and octave-config from devel to main package. +- Fix categorization of info files (bug 196760). + +* Thu Apr 27 2006 Quentin Spencer 2.9.5-6 +- Add patch for bug #190481 +- Manual stripping of .oct files is no longer necessary. + +* Wed Apr 19 2006 Quentin Spencer 2.9.5-5 +- Add new patch to configure script (breaks octave-forge without it). + +* Fri Mar 24 2006 Quentin Spencer 2.9.5-4 +- Change patch again (suggested by the author on Octave mailing list). + +* Fri Mar 24 2006 Quentin Spencer 2.9.5-3 +- Fix broken patch. + +* Fri Mar 24 2006 Quentin Spencer 2.9.5-2 +- Add more changes to sparse patch. + +* Thu Mar 23 2006 Quentin Spencer 2.9.5-1 +- New upstream release; remove old patches; add sparse patch. +- Add gcc-c++ as dependency for devel package. +- Add more docs; cleanup extra files in docs. +- Simplify configure command. +- Install desktop file. + +* Fri Feb 24 2006 Quentin Spencer 2.9.4-8 +- Rebuild for new hdf5. +- Remove obsolete configure options. +- Make sure /usr/libexec/octave is owned by octave. + +* Wed Feb 15 2006 Quentin Spencer 2.9.4-7 +- Rebuild for Fedora Extras 5. + +* Wed Feb 1 2006 Quentin Spencer 2.9.4-6 +- Change dependency from fftw3 to fftw. + +* Thu Jan 26 2006 Quentin Spencer 2.9.4-5 +- Rebuild for new release of hdf5. + +* Mon Dec 19 2005 Quentin Spencer 2.9.4-4 +- Rebuild for gcc 4.1. + +* Thu Dec 1 2005 Quentin Spencer 2.9.4-3 +- Make sure patch applies correctly before building! + +* Thu Dec 1 2005 Quentin Spencer 2.9.4-2 +- Patch to enable compilation on x86_64. + +* Fri Nov 11 2005 Quentin Spencer 2.9.4-1 +- New upstream release. +- Patch to make sure all headers are included in -devel. +- PKG_ADD file now needs %%{buildroot} stripped from it. +- Cleanup errors in dependencies. + +* Tue Oct 25 2005 Quentin Spencer 2.9.3-6 +- Add lapack-devel and blas-devel dependencies to devel package. + +* Mon Oct 03 2005 Quentin Spencer 2.9.3-5 +- Change umfpack-devel dependency to the new ufsparse-devel package. + +* Thu Sep 22 2005 Quentin Spencer 2.9.3-5 +- Change lapack and blas dependencies to lapack-devel and blas-devel + +* Mon Aug 08 2005 Quentin Spencer 2.9.3-4 +- Cleanup: remove redefinition of __libtoolize, ExcludeArch of two platforms, + old s390 workarounds, and LC_ALL setting. None of these appear to be + necessary any longer, even if the platforms were supported. +- Add --enable-64 to configure to enable 64-bit array indexing on x86_64. +- Add support for GLPK (new build dependency and CPPFLAGS for configure). + +* Wed Jul 27 2005 Quentin Spencer 2.9.3-3 +- Add fftw3-devel to dependencies for devel + +* Tue Jul 26 2005 Quentin Spencer 2.9.3-2 +- Add dependencies (hdf5-devel and zlib-devel) for devel + +* Tue Jul 26 2005 Quentin Spencer 2.9.3-1 +- Move to new 2.9.x development tree. +- Add umfpack-devel as new build dependency. + +* Tue Jul 05 2005 Quentin Spencer 2.1.71-12 +- Require hdf5-devel for build. + +* Wed Jun 22 2005 Quentin Spencer 2.1.71-11 +- Force octave-devel to require readline-devel. +- Add _libdir to configure command (fixes broken mkoctfile on x86_64). + +* Tue Jun 21 2005 Quentin Spencer 2.1.71-10 +- Add epoch to BuildRequires in octave-devel. + +* Mon Jun 20 2005 Quentin Spencer 2.1.71-9 +- Rebuild. + +* Sat Jun 18 2005 Quentin Spencer 2.1.71-8 +- Force octave-devel to require octave. + +* Wed Jun 8 2005 Quentin Spencer 2.1.71-7 +- Fix configure command again. The prefix isn't used for the install step + but it is used to calculate internal variables in octave. + +* Thu Jun 2 2005 Michael Schwendt 2.1.71-6 +- disable explicit gcc-c++/libstdc++-devel BR and bump for another + rebuild attempt + +* Wed Jun 1 2005 Quentin Spencer 2.1.71-4 +- Fix configure command. Remove irrelevant files from docs. + +* Fri May 27 2005 Quentin Spencer 2.1.71-3 +- Added patch for http://www.octave.org/mailing-lists/bug-octave/2005/617 + +* Thu May 26 2005 Quentin Spencer 2.1.71-2 +- Added dist tag. + +* Fri May 20 2005 Quentin Spencer 2.1.71-1 +- Imported 2.1.71 from upstream, removed 2.1.70 patches (in upstream). +- Begin cleanup of spec file, including the big configure command + (some options are obsolete, others appear unneeded if rpm configure + macro is used). + +* Tue May 03 2005 Quentin Spencer 2.1.70-1 +- Imported 2.1.70 from upstream, removed old patches (resolved in new version) +- Changed g77 dependency to gfortran. +- Added fftw3 to BuildRequires. +- Added patches (from maintainer) to fix build problems. + +* Wed Feb 23 2005 Ivana Varekova 2.1.57-13 +- fix typo in spec 149420 + +* Mon Feb 21 2005 Ivana Varekova 2.1.57-12 +- Fix problem with symlinks using ldconfig (bug 147922) + +* Wed Feb 16 2005 Ivana Varekova 2.1.57-11 +- add $RPM_OPT_FLAGS + +* Tue Feb 15 2005 Ivana Varekova 2.1.57-10 +- Fix bug 142477 - problem with signbit definition (Patch2) + +* Wed Jan 19 2005 Ivana Varekova 2.1.57-9 +- Fix bug #142440 - change octave.spec: autoconf is BuildPrereq +- Fix bug #142631 - change octave.spec: mkoctfile.1.gz is part of octave-devel not octave + +* Wed Jan 12 2005 Tim Waugh 2.1.57-8 +- Rebuilt for new readline. + +* Mon Oct 18 2004 Lon Hohberger 2.1.57-7 +- Don't forget default attributes for -devel package + +* Mon Oct 18 2004 Lon Hohberger 2.1.57-6 +- Remove old lib/lib64 badness. + +* Wed Oct 13 2004 Lon Hohberger 2.1.57-5 +- Split into octave and octave-devel + +* Thu Jun 24 2004 Lon Hohberger 2.1.57-4 +- Remove RPM_BUILD_ROOT from preun section (#119112) + +* Thu Jun 24 2004 Lon Hohberger 2.1.57-3 +- Er, typo in patch (thanks Nils) + +* Thu Jun 24 2004 Lon Hohberger 2.1.57-2 +- Fix for #113852 - signbit broken + +* Tue Jun 15 2004 Lon Hohberger 2.1.57-1 +- Import 2.1.57 from upstream; this fixes #126074 + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Tue Mar 30 2004 Karsten Hopp 2.1.50-9 +- remove builddir references from file list (#119112) + +* Tue Mar 02 2004 Elliot Lee +- rebuilt + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Fri Sep 26 2003 Lon Hohberger 2.1.50-7 +- Add requirement for texinfo. #101299, round 3! + +* Tue Sep 09 2003 Lon Hohberger 2.1.50-6 +- Disable s390x again + +* Tue Sep 09 2003 Lon Hohberger 2.1.50-5 +- Disable ppc64 + +* Tue Sep 09 2003 Lon Hohberger 2.1.50-4 +- Rebuild for Taroon + +* Wed Jul 30 2003 Lon Hohberger 2.1.50-3 +- Fix for Bugzilla #101299, round 2. Include a patch to +quell sterr from info; it gives us funny messages if $HOME/.info +does not exist. + +* Wed Jul 30 2003 Lon Hohberger 2.1.50-2 +- Fix for Bugzilla #101299 + +* Mon Jun 30 2003 Lon Hohberger 2.1.50-1 +- Import 2.1.50 from upstream +- Fix for Bugzilla #100682; try ppc64 again + +* Mon Jun 30 2003 Lon Hohberger 2.1.49-6 +- Rebuild; disabling ppc64 + +* Mon Jun 30 2003 Lon Hohberger 2.1.49-4 +- Added link generation to /usr/lib so that munging +/etc/ld.so.conf isn't required to get octave to work. +(#98226) + +* Thu Jun 05 2003 Lon Hohberger 2.1.49-2 +- Import from upstream; rebuild + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Wed Apr 16 2003 Lon Hohberger 2.1.46-2 +- Rebuilt + +* Tue Apr 15 2003 Lon Hohberger 2.1.46-1 +- Import from upstream: 2.1.46. Disabled s390x. + +* Mon Mar 10 2003 Lon Hohberger 2.1.40-5 +- Enabled s390[x] + +* Fri Feb 7 2003 Lon Hohberger 2.1.40-4 +- Disabled s390 and s390x builds for now. + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Thu Jan 2 2003 Lon Hohberger 2.1.40-2 +- Fixed readline-devel build-rereq line. (#80673) + +* Sun Nov 24 2002 Jeff Johnson 2.1.40-1 +- update to 2.1.40, fix matrix plotting (#77906). + +* Mon Nov 11 2002 Jeff Johnson 2.1.39-2 +- build on x86_64. + +* Sun Nov 10 2002 Jeff Johnson 2.1.39-1 +- update to 2.1.39. + +* Sat Aug 10 2002 Elliot Lee +- rebuilt with gcc-3.2 (we hope) + +* Mon Aug 5 2002 Trond Eivind Glomsrød 2.1.36-7 +- Rebuild + +* Tue Jul 23 2002 Trond Eivind Glomsrød 2.1.36-6 +- Rebuild + +* Thu Jul 11 2002 Trond Eivind Glomsrød +- Rebuild with new readline + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Fri Jun 14 2002 Trond Eivind Glomsrød 2.1.36-3 +- Get rid of 0 size doc files (#66116) + +* Thu May 23 2002 Trond Eivind Glomsrød 2.1.36-2 +- Rebuild +- Patch C++ code gcc changed its opinion of the last 3 weeks + +* Wed May 1 2002 Trond Eivind Glomsrød 2.1.36-1 +- 2.1.36 +- Disable patch + +* Wed Feb 27 2002 Trond Eivind Glomsrød 2.1.35-4 +- Rebuild + +* Wed Jan 09 2002 Tim Powers +- automated rebuild + +* Tue Nov 27 2001 Trond Eivind Glomsrød 2.1.35-2 +- Add patch for kpathsea to avoid segfaults + +* Tue Nov 6 2001 Trond Eivind Glomsrød 2.1.35-1 +- 2.1.35 +- s/Copyright/License/ + +* Wed Sep 12 2001 Tim Powers +- rebuild with new gcc and binutils + +* Wed Jun 20 2001 Trond Eivind Glomsrød +- Add more dependencies in BuildPrereq (#45184) + +* Fri Jun 08 2001 Trond Eivind Glomsrød +- No longer exclude ia64 + +* Mon Apr 23 2001 Trond Eivind Glomsrød +- 2.1.34 + +* Tue Mar 27 2001 Trond Eivind Glomsrød +- set LC_ALL to POSIX before building, otherwise the generated paths.h is bad + +* Wed Jan 10 2001 Trond Eivind Glomsrød +- 2.1.33 + +* Mon Jan 08 2001 Florian La Roche +- do not require compat-egcs-c++, but gcc-c++ +- add some libtoolize calls to add newest versions + +* Fri Dec 15 2000 Trond Eivind Glomsrød +- 2.1.32, no longer use CVS as our needed fixes are in now +- add Prereq for info + +* Thu Dec 07 2000 Trond Eivind Glomsrød +- use a development version, as they have now been fixed + to compile with the our current toolchain. + +* Thu Aug 24 2000 Trond Eivind Glomsrød +- 2.0.16, with compat C++ compiler and new C and f77 compilers + The C++ code is too broken for our new toolchain (C++ reserved + words used as enums and function names, arcane macros), but + plotting works here and not in the beta (#16759) +- add epoch to upgrade the betas + +* Tue Jul 25 2000 Jakub Jelinek +- make sure #line commands are not output within macro arguments + +* Wed Jul 19 2000 Trond Eivind Glomsrød +- 2.1.31 + +* Wed Jul 12 2000 Prospector +- automatic rebuild + +* Thu Jul 06 2000 Trond Eivind Glomsrød +- no longer disable optimizations, sparc excepted + +* Tue Jul 4 2000 Jakub Jelinek +- Rebuild with new C++ + +* Mon Jul 3 2000 Matt Wilson +- added missing %% before {_infodir} in the %%post + +* Fri Jun 09 2000 Trond Eivind Glomsrød +- 2.1.30 - the old version contains invalid C++ code + accepted by older compilers. + +* Fri Jun 09 2000 Trond Eivind Glomsrød +- disable optimization for C++ code + +* Thu Jun 08 2000 Trond Eivind Glomsrød +- add "Excludearch: " for Alpha - it triggers compiler bugs + +* Thu Jun 08 2000 Trond Eivind Glomsrød +- use %%configure, %%makeinstall, %%{_infodir}. %%{_mandir} +- remove prefix + +* Tue May 09 2000 Trond Eivind Glomsrød +- upgraded to 2.0.16 +- removed "--enable-g77" from the configure flags - let autoconf find it + +* Thu Jan 20 2000 Tim Powers +- bzipped source to conserve space. + +* Thu Jan 13 2000 Jeff Johnson +- update to 2.0.15. + +* Tue Jul 20 1999 Tim Powers +- rebuit for 6.1 + +* Wed Apr 28 1999 Jeff Johnson +- update to 2.0.14. + +* Fri Oct 23 1998 Jeff Johnson +- update to 2.0.13.90 + +* Thu Jul 9 1998 Jeff Johnson +- repackage in powertools. + +* Thu Jun 11 1998 Andrew Veliath +- Add %%attr, build as user. + +* Mon Jun 1 1998 Andrew Veliath +- Add BuildRoot, installinfo, require gnuplot, description from + Octave's web page, update to Octave 2.0.13. +- Adapt from existing spec file. + +* Tue Dec 2 1997 Otto Hammersmith +- removed libreadline stuff from the file list + +* Mon Nov 24 1997 Otto Hammersmith +- changed configure command to put things in $RPM_ARCH-rehat-linux, + rather than genereated one... was causing problems between building + on i686 build machine. + +* Mon Nov 17 1997 Otto Hammersmith +- moved buildroot from /tmp to /var/tmp + +* Mon Sep 22 1997 Mike Wangsmo +- Upgraded to version 2.0.9 and built for glibc system + +* Thu May 01 1997 Michael Fulbright +- Updated to version 2.0.5 and changed to build using a BuildRoot diff --git a/xorg.conf b/xorg.conf new file mode 100644 index 0000000000000000000000000000000000000000..d31d944c32f325179d74492869936036fdf31ef1 --- /dev/null +++ b/xorg.conf @@ -0,0 +1,137 @@ +# This xorg configuration file is meant to be used by xpra +# to start a dummy X11 server. +# For details, please see: +# https://xpra.org/Xdummy.html + +Section "ServerFlags" + Option "DontVTSwitch" "true" + Option "AllowMouseOpenFail" "true" + Option "PciForceNone" "true" + Option "AutoEnableDevices" "false" + Option "AutoAddDevices" "false" +EndSection + +Section "InputDevice" + Identifier "dummy_mouse" + Option "CorePointer" "true" + Driver "void" +EndSection + +Section "InputDevice" + Identifier "dummy_keyboard" + Option "CoreKeyboard" "true" + Driver "void" +EndSection + +Section "Device" + Identifier "dummy_videocard" + Driver "dummy" + Option "ConstantDPI" "true" + #VideoRam 4096000 + #VideoRam 256000 + VideoRam 192000 +EndSection + +Section "Monitor" + Identifier "dummy_monitor" + HorizSync 5.0 - 1000.0 + VertRefresh 5.0 - 200.0 + #This can be used to get a specific DPI, but only for the default resolution: + #DisplaySize 508 317 + #NOTE: the highest modes will not work without increasing the VideoRam + # for the dummy video card. + Modeline "32768x32768" 15226.50 32768 35800 39488 46208 32768 32771 32781 32953 + Modeline "32768x16384" 7516.25 32768 35544 39192 45616 16384 16387 16397 16478 + Modeline "16384x8192" 2101.93 16384 16416 24400 24432 8192 8390 8403 8602 + Modeline "8192x4096" 424.46 8192 8224 9832 9864 4096 4195 4202 4301 + Modeline "5496x1200" 199.13 5496 5528 6280 6312 1200 1228 1233 1261 + Modeline "5280x1080" 169.96 5280 5312 5952 5984 1080 1105 1110 1135 + Modeline "5280x1200" 191.40 5280 5312 6032 6064 1200 1228 1233 1261 + Modeline "5120x3200" 199.75 5120 5152 5904 5936 3200 3277 3283 3361 + Modeline "4800x1200" 64.42 4800 4832 5072 5104 1200 1229 1231 1261 + Modeline "3840x2880" 133.43 3840 3872 4376 4408 2880 2950 2955 3025 + Modeline "3840x2560" 116.93 3840 3872 4312 4344 2560 2622 2627 2689 + Modeline "3840x2048" 91.45 3840 3872 4216 4248 2048 2097 2101 2151 + Modeline "3840x1080" 100.38 3840 3848 4216 4592 1080 1081 1084 1093 + Modeline "3600x1200" 106.06 3600 3632 3984 4368 1200 1201 1204 1214 + Modeline "3288x1080" 39.76 3288 3320 3464 3496 1080 1106 1108 1135 + Modeline "2048x2048" 49.47 2048 2080 2264 2296 2048 2097 2101 2151 + Modeline "2048x1536" 80.06 2048 2104 2312 2576 1536 1537 1540 1554 + Modeline "2560x1600" 47.12 2560 2592 2768 2800 1600 1639 1642 1681 + Modeline "2560x1440" 42.12 2560 2592 2752 2784 1440 1475 1478 1513 + Modeline "1920x1440" 69.47 1920 1960 2152 2384 1440 1441 1444 1457 + Modeline "1920x1200" 26.28 1920 1952 2048 2080 1200 1229 1231 1261 + Modeline "1920x1080" 23.53 1920 1952 2040 2072 1080 1106 1108 1135 + Modeline "1680x1050" 20.08 1680 1712 1784 1816 1050 1075 1077 1103 + Modeline "1600x1200" 22.04 1600 1632 1712 1744 1200 1229 1231 1261 + Modeline "1600x900" 33.92 1600 1632 1760 1792 900 921 924 946 + Modeline "1440x900" 30.66 1440 1472 1584 1616 900 921 924 946 + ModeLine "1366x768" 72.00 1366 1414 1446 1494 768 771 777 803 + Modeline "1280x1024" 31.50 1280 1312 1424 1456 1024 1048 1052 1076 + Modeline "1280x800" 24.15 1280 1312 1400 1432 800 819 822 841 + Modeline "1280x768" 23.11 1280 1312 1392 1424 768 786 789 807 + Modeline "1360x768" 24.49 1360 1392 1480 1512 768 786 789 807 + Modeline "1024x768" 18.71 1024 1056 1120 1152 768 786 789 807 + Modeline "768x1024" 19.50 768 800 872 904 1024 1048 1052 1076 + + + #common resolutions for android devices (both orientations): + Modeline "800x1280" 25.89 800 832 928 960 1280 1310 1315 1345 + Modeline "1280x800" 24.15 1280 1312 1400 1432 800 819 822 841 + Modeline "720x1280" 30.22 720 752 864 896 1280 1309 1315 1345 + Modeline "1280x720" 27.41 1280 1312 1416 1448 720 737 740 757 + Modeline "768x1024" 24.93 768 800 888 920 1024 1047 1052 1076 + Modeline "1024x768" 23.77 1024 1056 1144 1176 768 785 789 807 + Modeline "600x1024" 19.90 600 632 704 736 1024 1047 1052 1076 + Modeline "1024x600" 18.26 1024 1056 1120 1152 600 614 617 631 + Modeline "536x960" 16.74 536 568 624 656 960 982 986 1009 + Modeline "960x536" 15.23 960 992 1048 1080 536 548 551 563 + Modeline "600x800" 15.17 600 632 688 720 800 818 822 841 + Modeline "800x600" 14.50 800 832 880 912 600 614 617 631 + Modeline "480x854" 13.34 480 512 560 592 854 873 877 897 + Modeline "848x480" 12.09 848 880 920 952 480 491 493 505 + Modeline "480x800" 12.43 480 512 552 584 800 818 822 841 + Modeline "800x480" 11.46 800 832 872 904 480 491 493 505 + #resolutions for android devices (both orientations) + #minus the status bar + #38px status bar (and width rounded up) + Modeline "800x1242" 25.03 800 832 920 952 1242 1271 1275 1305 + Modeline "1280x762" 22.93 1280 1312 1392 1424 762 780 783 801 + Modeline "720x1242" 29.20 720 752 856 888 1242 1271 1276 1305 + Modeline "1280x682" 25.85 1280 1312 1408 1440 682 698 701 717 + Modeline "768x986" 23.90 768 800 888 920 986 1009 1013 1036 + Modeline "1024x730" 22.50 1024 1056 1136 1168 730 747 750 767 + Modeline "600x986" 19.07 600 632 704 736 986 1009 1013 1036 + Modeline "1024x562" 17.03 1024 1056 1120 1152 562 575 578 591 + Modeline "536x922" 16.01 536 568 624 656 922 943 947 969 + Modeline "960x498" 14.09 960 992 1040 1072 498 509 511 523 + Modeline "600x762" 14.39 600 632 680 712 762 779 783 801 + Modeline "800x562" 13.52 800 832 880 912 562 575 578 591 + Modeline "480x810" 12.59 480 512 552 584 810 828 832 851 + Modeline "848x442" 11.09 848 880 920 952 442 452 454 465 + Modeline "480x762" 11.79 480 512 552 584 762 779 783 801 +EndSection + +Section "Screen" + Identifier "dummy_screen" + Device "dummy_videocard" + Monitor "dummy_monitor" + DefaultDepth 24 + SubSection "Display" + Viewport 0 0 + Depth 24 + #Modes "32768x32768" "32768x16384" "16384x8192" "8192x4096" "5120x3200" "3840x2880" "3840x2560" "3840x2048" "2048x2048" "2560x1600" "1920x1440" "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1600x900" "1400x1050" "1440x900" "1280x1024" "1366x768" "1280x800" "1024x768" "1024x600" "800x600" "320x200" + Modes "5120x3200" "3840x2880" "3840x2560" "3840x2048" "2048x2048" "2560x1600" "1920x1440" "1920x1200" "1920x1080" "1600x1200" "1680x1050" "1600x900" "1400x1050" "1440x900" "1280x1024" "1366x768" "1280x800" "1024x768" "1024x600" "800x600" "320x200" + #Virtual 32000 32000 + #Virtual 16384 8192 + Virtual 8192 4096 + #Virtual 5120 3200 + EndSubSection +EndSection + +Section "ServerLayout" + Identifier "dummy_layout" + Screen "dummy_screen" + InputDevice "dummy_mouse" + InputDevice "dummy_keyboard" +EndSection