Compare commits
20 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
c3ed09b520 | ||
|
1f7619e8f2 | ||
|
de23297ae7 | ||
|
2abd97e80f | ||
|
72818c9417 | ||
|
a4f06b526c | ||
|
59a373cfb2 | ||
|
1359cde265 | ||
|
61d293a078 | ||
|
50a1ec0a92 | ||
|
6a34fbaee4 | ||
|
d8848f157d | ||
|
8c0d4a0b92 | ||
|
86601d7d03 | ||
|
2d8333805a | ||
|
13c70ada9f | ||
|
89ffeffefd | ||
|
791d1e3f1d | ||
|
2047e3183f | ||
|
1765489d5d |
12
.gitignore
vendored
12
.gitignore
vendored
@ -20,15 +20,3 @@ octave-3.2.4.tar.bz2
|
|||||||
/octave-3.8.2-rc1.tar.gz
|
/octave-3.8.2-rc1.tar.gz
|
||||||
/octave-3.8.2-rc2.tar.gz
|
/octave-3.8.2-rc2.tar.gz
|
||||||
/octave-3.8.2.tar.bz2
|
/octave-3.8.2.tar.bz2
|
||||||
/octave-4.0.0.tar.xz
|
|
||||||
/octave-4.0.1.tar.xz
|
|
||||||
/octave-4.0.2.tar.xz
|
|
||||||
/octave-4.0.3.tar.xz
|
|
||||||
/octave-4.2.0-rc1.tar.xz
|
|
||||||
/octave-4.2.0.tar.lz
|
|
||||||
/octave-4.2.1.tar.lz
|
|
||||||
/octave-4.2.2.tar.lz
|
|
||||||
/octave-4.4.1.tar.lz
|
|
||||||
/octave-4.4.1-docs.tar.gz
|
|
||||||
/octave-5.1.0.tar.lz
|
|
||||||
/octave-5.1.0-docs.tar.lz
|
|
||||||
|
@ -11,73 +11,34 @@
|
|||||||
%octpkglibdir %{octarchprefix}/%{octpkg}-%{version}
|
%octpkglibdir %{octarchprefix}/%{octpkg}-%{version}
|
||||||
|
|
||||||
# Run an octave command - quietly with no startup files
|
# Run an octave command - quietly with no startup files
|
||||||
%octave_cmd() octave -H -q --no-window-system --no-site-file --eval '%*';
|
%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
|
# Build unpacked source directory into a package tar file in a temporary location
|
||||||
# Pass -T to use source tarball
|
%octave_pkg_build %octave_cmd pkg build '-verbose' '-nodeps' %{_tmppath}/%{name}-%{version}-%{release}.%{_arch} %{_builddir}/%{buildsubdir}
|
||||||
%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
|
# 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
|
# 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
|
# 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 \
|
%octave_pkg_install \
|
||||||
mkdir -p %{buildroot}%{octprefix} \
|
mkdir -p %{buildroot}/%{octprefix} \
|
||||||
mkdir -p %{buildroot}%{octarchprefix} \
|
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 warning('off','all');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','%{_tmppath}/%{name}-%{version}-%{release}.%{_arch}/%{octpkg}-%{version}.tar.gz');unlink(pkg('local_list'));unlink(pkg('global_list')); \
|
||||||
if [ -e %{buildroot}%{octpkgdir}/packinfo/on_uninstall.m ] \
|
if [ -e %{buildroot}%{octpkgdir}/packinfo/on_uninstall.m ] \
|
||||||
then \
|
then \
|
||||||
mv %{buildroot}%{octpkgdir}/packinfo/on_uninstall.m %{buildroot}%{octpkgdir}/packinfo/on_uninstall.m.orig \
|
mv %{buildroot}%{octpkgdir}/packinfo/on_uninstall.m %{buildroot}%{octpkgdir}/packinfo/on_uninstall.m.orig \
|
||||||
fi \
|
fi \
|
||||||
echo "function on_uninstall (desc)" > %{buildroot}%{octpkgdir}/packinfo/on_uninstall.m \
|
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 " 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 \
|
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}
|
%{nil}
|
||||||
|
|
||||||
# preun script - we need to remove our uninstall protection and perhaps
|
# preun script - we need to remove our uninstall protection and perhaps
|
||||||
# run the package's own uninstall script.
|
# run the package's own uninstall script.
|
||||||
%octave_pkg_preun \
|
%octave_pkg_preun \
|
||||||
|
rm %{octpkgdir}/packinfo/on_uninstall.m \
|
||||||
if [ -e %{octpkgdir}/packinfo/on_uninstall.m.orig ]; then \
|
if [ -e %{octpkgdir}/packinfo/on_uninstall.m.orig ]; then \
|
||||||
mv %{octpkgdir}/packinfo/on_uninstall.m.orig %{octpkgdir}/packinfo/on_uninstall.m \
|
mv %{octpkgdir}/packinfo/on_uninstall.m.orig %{octpkgdir}/packinfo/on_uninstall.m \
|
||||||
cd %{octpkgdir}/packinfo \
|
cd %{octpkgdir}/packinfo \
|
||||||
%octave_cmd l=pkg("list");on_uninstall(l{cellfun(@(x)strcmp(x.name,"%{octpkg}"),l)}); \
|
%octave_cmd l=pkg('list');on_uninstall(l{cellfun(@(x)strcmp(x.name,'%{octpkg}'),l)}); \
|
||||||
else \
|
|
||||||
echo > %{octpkgdir}/packinfo/on_uninstall.m \
|
|
||||||
fi \
|
fi \
|
||||||
%{nil}
|
%{nil}
|
||||||
|
41
octave-3.8.0-pkgbuilddir.patch
Normal file
41
octave-3.8.0-pkgbuilddir.patch
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
diff -up octave-3.8.0-rc2/scripts/pkg/private/install.m.pkgbuilddir octave-3.8.0-rc2/scripts/pkg/private/install.m
|
||||||
|
--- octave-3.8.0-rc2/scripts/pkg/private/install.m.pkgbuilddir 2013-12-21 12:31:40.000000000 -0700
|
||||||
|
+++ octave-3.8.0-rc2/scripts/pkg/private/install.m 2013-12-28 16:12:03.283207320 -0700
|
||||||
|
@@ -62,7 +62,10 @@ function install (files, handle_deps, au
|
||||||
|
for i = 1:length (files)
|
||||||
|
tgz = files{i};
|
||||||
|
|
||||||
|
- if (exist (tgz, "file"))
|
||||||
|
+ ## The filename pointed to an uncompressed package to begin with.
|
||||||
|
+ if (exist (tgz, "dir"))
|
||||||
|
+ dirlist = {".", "..", tgz};
|
||||||
|
+ elseif (exist (tgz, "file"))
|
||||||
|
## Create a temporary directory.
|
||||||
|
tmpdir = tmpnam ();
|
||||||
|
tmpdirs{end+1} = tmpdir;
|
||||||
|
@@ -91,17 +94,16 @@ function install (files, handle_deps, au
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
- ## The filename pointed to an uncompressed package to begin with.
|
||||||
|
- if (exist (tgz, "dir"))
|
||||||
|
- dirlist = {".", "..", tgz};
|
||||||
|
- endif
|
||||||
|
-
|
||||||
|
- if (exist (tgz, "file") || exist (tgz, "dir"))
|
||||||
|
+ if (exist (tgz, "file"))
|
||||||
|
## The two first entries of dirlist are "." and "..".
|
||||||
|
- if (exist (tgz, "file"))
|
||||||
|
- packdir = fullfile (tmpdir, dirlist{3});
|
||||||
|
+ if (exist (tgz, "dir"))
|
||||||
|
+ if (tgz(1) == '/')
|
||||||
|
+ packdir = tgz;
|
||||||
|
+ else
|
||||||
|
+ packdir = fullfile (pwd (), dirlist{3});
|
||||||
|
+ endif
|
||||||
|
else
|
||||||
|
- packdir = fullfile (pwd (), dirlist{3});
|
||||||
|
+ packdir = fullfile (tmpdir, dirlist{3});
|
||||||
|
endif
|
||||||
|
packdirs{end+1} = packdir;
|
||||||
|
|
@ -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
|
|
@ -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);
|
|
||||||
|
|
293
octave-suitesparse.patch
Normal file
293
octave-suitesparse.patch
Normal file
@ -0,0 +1,293 @@
|
|||||||
|
diff -up octave-3.8.2/libinterp/dldfcn/amd.cc.suitesparse octave-3.8.2/libinterp/dldfcn/amd.cc
|
||||||
|
--- octave-3.8.2/libinterp/dldfcn/amd.cc.suitesparse 2014-08-06 11:57:55.000000000 -0600
|
||||||
|
+++ octave-3.8.2/libinterp/dldfcn/amd.cc 2014-09-16 15:14:12.538123673 -0600
|
||||||
|
@@ -24,7 +24,7 @@ along with Octave; see the file COPYING.
|
||||||
|
// in the help of the functions.
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
-#include <config.h>
|
||||||
|
+#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <cstdlib>
|
||||||
|
@@ -164,11 +164,11 @@ The author of the code itself is Timothy
|
||||||
|
|
||||||
|
// FIXME: how can we manage the memory allocation of amd
|
||||||
|
// in a cleaner manner?
|
||||||
|
- amd_malloc = malloc;
|
||||||
|
- amd_free = free;
|
||||||
|
- amd_calloc = calloc;
|
||||||
|
- amd_realloc = realloc;
|
||||||
|
- amd_printf = printf;
|
||||||
|
+ suitesparse_assign_function(malloc_func, amd_malloc, malloc);
|
||||||
|
+ suitesparse_assign_function(free_func, amd_free, free);
|
||||||
|
+ suitesparse_assign_function(calloc_func, amd_calloc, calloc);
|
||||||
|
+ suitesparse_assign_function(realloc_func, amd_realloc, realloc);
|
||||||
|
+ suitesparse_assign_function(printf_func, amd_printf, printf);
|
||||||
|
|
||||||
|
octave_idx_type result = AMD_NAME (_order) (n_col, cidx, ridx, P,
|
||||||
|
Control, Info);
|
||||||
|
diff -up octave-3.8.2/libinterp/dldfcn/symbfact.cc.suitesparse octave-3.8.2/libinterp/dldfcn/symbfact.cc
|
||||||
|
--- octave-3.8.2/libinterp/dldfcn/symbfact.cc.suitesparse 2014-08-06 11:54:15.000000000 -0600
|
||||||
|
+++ octave-3.8.2/libinterp/dldfcn/symbfact.cc 2014-09-16 15:22:41.924557046 -0600
|
||||||
|
@@ -22,7 +22,7 @@ along with Octave; see the file COPYING.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
-#include <config.h>
|
||||||
|
+#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "SparseCmplxCHOL.h"
|
||||||
|
@@ -114,17 +114,15 @@ factorization as determined by @var{typ}
|
||||||
|
if (spu == 0.)
|
||||||
|
{
|
||||||
|
cm->print = -1;
|
||||||
|
- cm->print_function = 0;
|
||||||
|
+ suitesparse_assign_function(printf_func, cm->print_function, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cm->print = static_cast<int> (spu) + 2;
|
||||||
|
- cm->print_function =&SparseCholPrint;
|
||||||
|
+ suitesparse_assign_function(printf_func, cm->print_function, &SparseCholPrint);
|
||||||
|
}
|
||||||
|
|
||||||
|
cm->error_handler = &SparseCholError;
|
||||||
|
- cm->complex_divide = CHOLMOD_NAME(divcomplex);
|
||||||
|
- cm->hypotenuse = CHOLMOD_NAME(hypot);
|
||||||
|
|
||||||
|
double dummy;
|
||||||
|
cholmod_sparse Astore;
|
||||||
|
diff -up octave-3.8.2/liboctave/array/CSparse.cc.suitesparse octave-3.8.2/liboctave/array/CSparse.cc
|
||||||
|
--- octave-3.8.2/liboctave/array/CSparse.cc.suitesparse 2014-08-06 11:57:55.000000000 -0600
|
||||||
|
+++ octave-3.8.2/liboctave/array/CSparse.cc 2014-09-16 15:22:16.310677157 -0600
|
||||||
|
@@ -23,7 +23,7 @@ along with Octave; see the file COPYING.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
-#include <config.h>
|
||||||
|
+#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <cfloat>
|
||||||
|
@@ -5664,17 +5664,15 @@ SparseComplexMatrix::fsolve (MatrixType
|
||||||
|
if (spu == 0.)
|
||||||
|
{
|
||||||
|
cm->print = -1;
|
||||||
|
- cm->print_function = 0;
|
||||||
|
+ suitesparse_assign_function(printf_func, cm->print_function, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cm->print = static_cast<int> (spu) + 2;
|
||||||
|
- cm->print_function =&SparseCholPrint;
|
||||||
|
+ suitesparse_assign_function(printf_func, cm->print_function, &SparseCholPrint);
|
||||||
|
}
|
||||||
|
|
||||||
|
cm->error_handler = &SparseCholError;
|
||||||
|
- cm->complex_divide = CHOLMOD_NAME(divcomplex);
|
||||||
|
- cm->hypotenuse = CHOLMOD_NAME(hypot);
|
||||||
|
|
||||||
|
cm->final_ll = true;
|
||||||
|
|
||||||
|
@@ -5907,17 +5905,15 @@ SparseComplexMatrix::fsolve (MatrixType
|
||||||
|
if (spu == 0.)
|
||||||
|
{
|
||||||
|
cm->print = -1;
|
||||||
|
- cm->print_function = 0;
|
||||||
|
+ suitesparse_assign_function(printf_func, cm->print_function, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cm->print = static_cast<int> (spu) + 2;
|
||||||
|
- cm->print_function =&SparseCholPrint;
|
||||||
|
+ suitesparse_assign_function(printf_func, cm->print_function, &SparseCholPrint);
|
||||||
|
}
|
||||||
|
|
||||||
|
cm->error_handler = &SparseCholError;
|
||||||
|
- cm->complex_divide = CHOLMOD_NAME(divcomplex);
|
||||||
|
- cm->hypotenuse = CHOLMOD_NAME(hypot);
|
||||||
|
|
||||||
|
cm->final_ll = true;
|
||||||
|
|
||||||
|
@@ -6198,17 +6194,15 @@ SparseComplexMatrix::fsolve (MatrixType
|
||||||
|
if (spu == 0.)
|
||||||
|
{
|
||||||
|
cm->print = -1;
|
||||||
|
- cm->print_function = 0;
|
||||||
|
+ suitesparse_assign_function(printf_func, cm->print_function, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cm->print = static_cast<int> (spu) + 2;
|
||||||
|
- cm->print_function =&SparseCholPrint;
|
||||||
|
+ suitesparse_assign_function(printf_func, cm->print_function, &SparseCholPrint);
|
||||||
|
}
|
||||||
|
|
||||||
|
cm->error_handler = &SparseCholError;
|
||||||
|
- cm->complex_divide = CHOLMOD_NAME(divcomplex);
|
||||||
|
- cm->hypotenuse = CHOLMOD_NAME(hypot);
|
||||||
|
|
||||||
|
cm->final_ll = true;
|
||||||
|
|
||||||
|
@@ -6420,17 +6414,15 @@ SparseComplexMatrix::fsolve (MatrixType
|
||||||
|
if (spu == 0.)
|
||||||
|
{
|
||||||
|
cm->print = -1;
|
||||||
|
- cm->print_function = 0;
|
||||||
|
+ suitesparse_assign_function(printf_func, cm->print_function, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cm->print = static_cast<int> (spu) + 2;
|
||||||
|
- cm->print_function =&SparseCholPrint;
|
||||||
|
+ suitesparse_assign_function(printf_func, cm->print_function, &SparseCholPrint);
|
||||||
|
}
|
||||||
|
|
||||||
|
cm->error_handler = &SparseCholError;
|
||||||
|
- cm->complex_divide = CHOLMOD_NAME(divcomplex);
|
||||||
|
- cm->hypotenuse = CHOLMOD_NAME(hypot);
|
||||||
|
|
||||||
|
cm->final_ll = true;
|
||||||
|
|
||||||
|
diff -up octave-3.8.2/liboctave/array/dSparse.cc.suitesparse octave-3.8.2/liboctave/array/dSparse.cc
|
||||||
|
--- octave-3.8.2/liboctave/array/dSparse.cc.suitesparse 2014-08-06 11:57:55.000000000 -0600
|
||||||
|
+++ octave-3.8.2/liboctave/array/dSparse.cc 2014-09-16 15:22:01.253747787 -0600
|
||||||
|
@@ -23,7 +23,7 @@ along with Octave; see the file COPYING.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
-#include <config.h>
|
||||||
|
+#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <cfloat>
|
||||||
|
@@ -5866,17 +5866,15 @@ SparseMatrix::fsolve (MatrixType &mattyp
|
||||||
|
if (spu == 0.)
|
||||||
|
{
|
||||||
|
cm->print = -1;
|
||||||
|
- cm->print_function = 0;
|
||||||
|
+ suitesparse_assign_function(printf_func, cm->print_function, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cm->print = static_cast<int> (spu) + 2;
|
||||||
|
- cm->print_function =&SparseCholPrint;
|
||||||
|
+ suitesparse_assign_function(printf_func, cm->print_function, &SparseCholPrint);
|
||||||
|
}
|
||||||
|
|
||||||
|
cm->error_handler = &SparseCholError;
|
||||||
|
- cm->complex_divide = CHOLMOD_NAME(divcomplex);
|
||||||
|
- cm->hypotenuse = CHOLMOD_NAME(hypot);
|
||||||
|
|
||||||
|
cm->final_ll = true;
|
||||||
|
|
||||||
|
@@ -6083,17 +6081,15 @@ SparseMatrix::fsolve (MatrixType &mattyp
|
||||||
|
if (spu == 0.)
|
||||||
|
{
|
||||||
|
cm->print = -1;
|
||||||
|
- cm->print_function = 0;
|
||||||
|
+ suitesparse_assign_function(printf_func, cm->print_function, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cm->print = static_cast<int> (spu) + 2;
|
||||||
|
- cm->print_function =&SparseCholPrint;
|
||||||
|
+ suitesparse_assign_function(printf_func, cm->print_function, &SparseCholPrint);
|
||||||
|
}
|
||||||
|
|
||||||
|
cm->error_handler = &SparseCholError;
|
||||||
|
- cm->complex_divide = CHOLMOD_NAME(divcomplex);
|
||||||
|
- cm->hypotenuse = CHOLMOD_NAME(hypot);
|
||||||
|
|
||||||
|
cm->final_ll = true;
|
||||||
|
|
||||||
|
@@ -6345,17 +6341,15 @@ SparseMatrix::fsolve (MatrixType &mattyp
|
||||||
|
if (spu == 0.)
|
||||||
|
{
|
||||||
|
cm->print = -1;
|
||||||
|
- cm->print_function = 0;
|
||||||
|
+ suitesparse_assign_function(printf_func, cm->print_function, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cm->print = static_cast<int> (spu) + 2;
|
||||||
|
- cm->print_function =&SparseCholPrint;
|
||||||
|
+ suitesparse_assign_function(printf_func, cm->print_function, &SparseCholPrint);
|
||||||
|
}
|
||||||
|
|
||||||
|
cm->error_handler = &SparseCholError;
|
||||||
|
- cm->complex_divide = CHOLMOD_NAME(divcomplex);
|
||||||
|
- cm->hypotenuse = CHOLMOD_NAME(hypot);
|
||||||
|
|
||||||
|
cm->final_ll = true;
|
||||||
|
|
||||||
|
@@ -6579,17 +6573,15 @@ SparseMatrix::fsolve (MatrixType &mattyp
|
||||||
|
if (spu == 0.)
|
||||||
|
{
|
||||||
|
cm->print = -1;
|
||||||
|
- cm->print_function = 0;
|
||||||
|
+ suitesparse_assign_function(printf_func, cm->print_function, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cm->print = static_cast<int> (spu) + 2;
|
||||||
|
- cm->print_function =&SparseCholPrint;
|
||||||
|
+ suitesparse_assign_function(printf_func, cm->print_function, &SparseCholPrint);
|
||||||
|
}
|
||||||
|
|
||||||
|
cm->error_handler = &SparseCholError;
|
||||||
|
- cm->complex_divide = CHOLMOD_NAME(divcomplex);
|
||||||
|
- cm->hypotenuse = CHOLMOD_NAME(hypot);
|
||||||
|
|
||||||
|
cm->final_ll = true;
|
||||||
|
|
||||||
|
diff -up octave-3.8.2/liboctave/numeric/sparse-base-chol.cc.suitesparse octave-3.8.2/liboctave/numeric/sparse-base-chol.cc
|
||||||
|
--- octave-3.8.2/liboctave/numeric/sparse-base-chol.cc.suitesparse 2014-08-06 11:54:14.000000000 -0600
|
||||||
|
+++ octave-3.8.2/liboctave/numeric/sparse-base-chol.cc 2014-09-16 15:23:24.252358549 -0600
|
||||||
|
@@ -22,7 +22,7 @@ along with Octave; see the file COPYING.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
-#include <config.h>
|
||||||
|
+#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "sparse-base-chol.h"
|
||||||
|
@@ -105,17 +105,15 @@ sparse_base_chol<chol_type, chol_elt, p_
|
||||||
|
if (spu == 0.)
|
||||||
|
{
|
||||||
|
cm->print = -1;
|
||||||
|
- cm->print_function = 0;
|
||||||
|
+ suitesparse_assign_function(printf_func, cm->print_function, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cm->print = static_cast<int> (spu) + 2;
|
||||||
|
- cm->print_function =&SparseCholPrint;
|
||||||
|
+ suitesparse_assign_function(printf_func, cm->print_function, &SparseCholPrint);
|
||||||
|
}
|
||||||
|
|
||||||
|
cm->error_handler = &SparseCholError;
|
||||||
|
- cm->complex_divide = CHOLMOD_NAME(divcomplex);
|
||||||
|
- cm->hypotenuse = CHOLMOD_NAME(hypot);
|
||||||
|
|
||||||
|
cm->final_asis = false;
|
||||||
|
cm->final_super = false;
|
||||||
|
diff -up octave-3.8.2/liboctave/util/oct-sparse.h.suitesparse octave-3.8.2/liboctave/util/oct-sparse.h
|
||||||
|
--- octave-3.8.2/liboctave/util/oct-sparse.h.suitesparse 2014-08-06 11:54:15.000000000 -0600
|
||||||
|
+++ octave-3.8.2/liboctave/util/oct-sparse.h 2014-09-16 15:14:13.417119567 -0600
|
||||||
|
@@ -94,4 +94,12 @@ along with Octave; see the file COPYING.
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+// Cope with new suitesparse versions
|
||||||
|
+//
|
||||||
|
+#if defined( SUITESPARSE_VERSION ) && SUITESPARSE_VERSION >= SUITESPARSE_VER_CODE(4,3)
|
||||||
|
+#define suitesparse_assign_function(f_name,f_var,f_assign) (SuiteSparse_config.f_name = f_assign)
|
||||||
|
+#else
|
||||||
|
+#define suitesparse_assign_function(f_name,f_var,f_assign) (f_var = f_assign)
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#endif
|
@ -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);
|
|
552
octave.spec
552
octave.spec
@ -1,87 +1,53 @@
|
|||||||
# From src/version.h:#define OCTAVE_API_VERSION
|
# From src/version.h:#define OCTAVE_API_VERSION
|
||||||
%global octave_api api-v53
|
%global octave_api api-v49+
|
||||||
|
|
||||||
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
|
# Building docs fails on EL7 due to https://bugzilla.redhat.com/show_bug.cgi?id=1064453
|
||||||
|
%if 0%{?rhel} == 7
|
||||||
%global builddocs 1
|
%global builddocs 0
|
||||||
|
|
||||||
# Use Qt5 on F26+
|
|
||||||
%if 0%{?fedora}
|
|
||||||
%bcond_without qt5
|
|
||||||
%else
|
%else
|
||||||
%bcond_with qt5
|
%global builddocs 1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# For rc versions, change release manually
|
# For rc versions, change release manually
|
||||||
#global rcver 2
|
#global rcver 2
|
||||||
%if 0%{?rcver:1}
|
%if 0%{?rcver:1}
|
||||||
%global rctag -rc%{?rcver}
|
%global rctag -rc%{?rcver}
|
||||||
%global relsuf .rc%{?rcver}
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
Name: octave
|
Name: octave
|
||||||
Epoch: 6
|
Epoch: 6
|
||||||
Version: 5.1.0
|
Version: 3.8.2
|
||||||
Release: 2%{?rcver:.rc%{rcver}}%{?dist}
|
Release: 20%{?dist}
|
||||||
Summary: A high-level language for numerical computations
|
Summary: A high-level language for numerical computations
|
||||||
|
Group: Applications/Engineering
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
URL: http://www.octave.org
|
URL: http://www.octave.org
|
||||||
|
|
||||||
Source0: https://ftp.gnu.org/gnu/octave/octave-%{version}.tar.lz
|
%if 0%{!?rcver:1}
|
||||||
#Source0: https://alpha.gnu.org/gnu/octave/octave-%{version}%{?rctag}.tar.lz
|
Source0: ftp://ftp.gnu.org/gnu/octave/octave-%{version}.tar.bz2
|
||||||
|
%else
|
||||||
|
Source0: ftp://alpha.gnu.org/gnu/octave/octave-%{version}%{rctag}.tar.gz
|
||||||
|
%endif
|
||||||
# RPM macros for helping to build Octave packages
|
# RPM macros for helping to build Octave packages
|
||||||
Source1: macros.octave
|
Source1: macros.octave
|
||||||
Source2: xorg.conf
|
# Fix to allow pkg build to use a directory
|
||||||
# Prebuilt docs from Fedora for EPEL
|
# https://savannah.gnu.org/bugs/?func=detailitem&item_id=32839
|
||||||
Source3: octave-5.1.0-docs.tar.lz
|
Patch0: octave-3.8.0-pkgbuilddir.patch
|
||||||
# SUNDIALS 3 support
|
# Patch to compile with suitesparse 4.3.1
|
||||||
# https://savannah.gnu.org/bugs/?52475
|
# https://savannah.gnu.org/bugs/?func=detailitem&item_id=43063
|
||||||
Patch1: octave-sundials3.patch
|
Patch1: octave-suitesparse.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: octave(api) = %{octave_api}
|
||||||
Provides: bundled(gnulib)
|
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: arpack-devel
|
||||||
BuildRequires: openblas-devel
|
BuildRequires: atlas-devel
|
||||||
BuildRequires: bison
|
BuildRequires: bison
|
||||||
BuildRequires: bzip2-devel
|
|
||||||
BuildRequires: curl-devel
|
BuildRequires: curl-devel
|
||||||
|
BuildRequires: desktop-file-utils
|
||||||
BuildRequires: fftw-devel
|
BuildRequires: fftw-devel
|
||||||
BuildRequires: flex
|
BuildRequires: flex
|
||||||
BuildRequires: fltk-devel
|
BuildRequires: fltk-devel
|
||||||
BuildRequires: ftgl-devel
|
BuildRequires: ftgl-devel
|
||||||
BuildRequires: gcc-c++
|
|
||||||
BuildRequires: gcc-gfortran
|
BuildRequires: gcc-gfortran
|
||||||
BuildRequires: ghostscript
|
BuildRequires: ghostscript
|
||||||
BuildRequires: gl2ps-devel
|
BuildRequires: gl2ps-devel
|
||||||
@ -91,75 +57,28 @@ BuildRequires: gperf
|
|||||||
BuildRequires: GraphicsMagick-c++-devel
|
BuildRequires: GraphicsMagick-c++-devel
|
||||||
BuildRequires: hdf5-devel
|
BuildRequires: hdf5-devel
|
||||||
BuildRequires: java-devel
|
BuildRequires: java-devel
|
||||||
%if 0%{?fedora}
|
|
||||||
BuildRequires: javapackages-local
|
|
||||||
%endif
|
|
||||||
BuildRequires: less
|
BuildRequires: less
|
||||||
BuildRequires: libsndfile-devel
|
|
||||||
BuildRequires: libX11-devel
|
BuildRequires: libX11-devel
|
||||||
BuildRequires: llvm-devel
|
BuildRequires: llvm-devel
|
||||||
BuildRequires: mesa-libGL-devel
|
BuildRequires: mesa-libGL-devel
|
||||||
BuildRequires: mesa-libGLU-devel
|
BuildRequires: mesa-libGLU-devel
|
||||||
BuildRequires: mesa-libOSMesa-devel
|
|
||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
BuildRequires: pcre-devel
|
BuildRequires: pcre-devel
|
||||||
BuildRequires: portaudio-devel
|
|
||||||
BuildRequires: qhull-devel
|
BuildRequires: qhull-devel
|
||||||
BuildRequires: qrupdate-devel
|
BuildRequires: qrupdate-devel
|
||||||
%if %{with qt5}
|
|
||||||
BuildRequires: qscintilla-qt5-devel
|
|
||||||
BuildRequires: qt5-linguist
|
|
||||||
BuildRequires: qt5-qttools-devel
|
|
||||||
%else
|
|
||||||
BuildRequires: qscintilla-devel
|
BuildRequires: qscintilla-devel
|
||||||
%endif
|
|
||||||
BuildRequires: readline-devel
|
BuildRequires: readline-devel
|
||||||
BuildRequires: suitesparse-devel
|
BuildRequires: suitesparse-devel
|
||||||
BuildRequires: sundials-devel
|
|
||||||
BuildRequires: tex(dvips)
|
BuildRequires: tex(dvips)
|
||||||
BuildRequires: texinfo
|
BuildRequires: texinfo
|
||||||
BuildRequires: texinfo-tex
|
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
|
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: epstool gnuplot gnuplot-common less info texinfo
|
||||||
Requires: gnuplot
|
Requires: hdf5 = %{_hdf5_version}
|
||||||
Requires: gnuplot-common
|
Requires: java-headless
|
||||||
Requires: hdf5 = %{_hdf5_version}
|
Requires(post): info
|
||||||
Requires: hicolor-icon-theme
|
Requires(preun): info
|
||||||
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
|
%description
|
||||||
@ -179,15 +98,10 @@ C++, C, Fortran, or other languages.
|
|||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Development headers and files for Octave
|
Summary: Development headers and files for Octave
|
||||||
|
Group: Development/Libraries
|
||||||
Requires: %{name} = %{epoch}:%{version}-%{release}
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||||||
Requires: gcc-c++
|
Requires: readline-devel fftw-devel hdf5-devel zlib-devel
|
||||||
Requires: gcc-gfortran
|
Requires: atlas-devel gcc-c++ 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
|
%description devel
|
||||||
The octave-devel package contains files needed for developing
|
The octave-devel package contains files needed for developing
|
||||||
@ -196,6 +110,7 @@ applications which use GNU Octave.
|
|||||||
|
|
||||||
%package doc
|
%package doc
|
||||||
Summary: Documentation for Octave
|
Summary: Documentation for Octave
|
||||||
|
Group: Documentation
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
%description doc
|
%description doc
|
||||||
@ -203,20 +118,25 @@ This package contains documentation for Octave.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}-%{version}%{?rctag}
|
%setup -q -n %{name}-%{version}%{?rctag}
|
||||||
%patch2 -p1 -b .eof
|
%patch0 -p1 -b .pkgbuilddir
|
||||||
# EPEL7's autoconf/automake is too old so don't do
|
%patch1 -p1 -b .suitesparse
|
||||||
# unneeded patches there
|
find -name \*.h -o -name \*.cc | xargs sed -i -e 's/<config.h>/"config.h"/' -e 's/<base-list.h>/"base-list.h"/'
|
||||||
%if 0%{?fedora}
|
|
||||||
%patch1 -p1 -b .sundials3
|
|
||||||
autoreconf -i
|
|
||||||
%endif
|
|
||||||
|
|
||||||
|
# Check permissions
|
||||||
|
find -name *.cc -exec chmod 644 {} \;
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%global enable64 no
|
%global enable64 no
|
||||||
export F77=gfortran
|
export F77=gfortran
|
||||||
# TODO: some items appear to be bundled in libcruft..
|
# TODO: some items appear to be bundled in libcruft..
|
||||||
# gl2ps.c is bundled. Anything else?
|
# gl2ps.c is bundled. Anything else?
|
||||||
|
%if 0%{?fedora} >= 21 || 0%{?rhel} >= 7
|
||||||
|
%global atlasblaslib -ltatlas
|
||||||
|
%global atlaslapacklib -ltatlas
|
||||||
|
%else
|
||||||
|
%global atlasblaslib -lf77blas -latlas
|
||||||
|
%global atlaslapacklib -llapack
|
||||||
|
%endif
|
||||||
%if !%{builddocs}
|
%if !%{builddocs}
|
||||||
%global disabledocs --disable-docs
|
%global disabledocs --disable-docs
|
||||||
%endif
|
%endif
|
||||||
@ -225,16 +145,11 @@ libjvm=$(find /usr/lib/jvm/jre/lib -name libjvm.so -printf %h)
|
|||||||
export JAVA_HOME=%{java_home}
|
export JAVA_HOME=%{java_home}
|
||||||
# JIT support is still experimental, and causes a segfault on ARM.
|
# JIT support is still experimental, and causes a segfault on ARM.
|
||||||
# --enable-float-truncate - https://savannah.gnu.org/bugs/?40560
|
# --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-64=%enable64 \
|
%configure --enable-shared --disable-static --enable-64=%enable64 \
|
||||||
--enable-float-truncate \
|
--enable-float-truncate \
|
||||||
%{?disabledocs} \
|
%{?disabledocs} \
|
||||||
--disable-silent-rules \
|
--with-blas="-L%{_libdir}/atlas %{atlasblaslib}" \
|
||||||
--with-java-includedir=/usr/lib/jvm/java/include \
|
--with-lapack="-L%{_libdir}/atlas %{atlaslapacklib}" \
|
||||||
--with-java-libdir=$libjvm \
|
--with-java-libdir=$libjvm \
|
||||||
--with-qrupdate \
|
--with-qrupdate \
|
||||||
--with-amd --with-umfpack --with-colamd --with-ccolamd --with-cholmod \
|
--with-amd --with-umfpack --with-colamd --with-ccolamd --with-cholmod \
|
||||||
@ -242,30 +157,28 @@ export CXXFLAGS="$(echo %optflags | sed s/-Wp,-D_GLIBCXX_ASSERTIONS//)"
|
|||||||
--disable-jit
|
--disable-jit
|
||||||
|
|
||||||
# Check that octave_api is set correctly (autogenerated file)
|
# Check that octave_api is set correctly (autogenerated file)
|
||||||
make liboctave/version.h
|
make -C libinterp version.h
|
||||||
if ! grep -q '^#define OCTAVE_API_VERSION "%{octave_api}"' liboctave/version.h
|
if ! grep -q '^#define OCTAVE_API_VERSION "%{octave_api}"' libinterp/version.h
|
||||||
then
|
then
|
||||||
echo "octave_api variable in spec does not match liboctave/version.h"
|
echo "octave_api variable in spec does not match libinterp/version.h"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%make_build OCTAVE_RELEASE="Fedora %{version}%{?rctag}-%{release}"
|
make OCTAVE_RELEASE="Fedora %{version}%{?rctag}-%{release}" %{?_smp_mflags}
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%make_install
|
make install DESTDIR=%{buildroot}
|
||||||
|
|
||||||
# Docs - In case we didn't build them and to explicitly install pre-built docs
|
# 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}
|
make -C doc install-data install-html install-info install-pdf DESTDIR=%{buildroot}
|
||||||
mkdir -p %{buildroot}%{_pkgdocdir}
|
mkdir -p %{buildroot}%{_pkgdocdir}
|
||||||
cp -ar AUTHORS BUGS ChangeLog examples NEWS README %{buildroot}%{_pkgdocdir}/
|
cp -ar AUTHORS BUGS ChangeLog examples NEWS README %{buildroot}%{_pkgdocdir}/
|
||||||
cp -a doc/refcard/*.pdf %{buildroot}%{_pkgdocdir}/
|
cp -a doc/refcard/*.pdf %{buildroot}%{_pkgdocdir}/
|
||||||
|
mv %{buildroot}%{_docdir}/%{name}/* %{buildroot}%{_pkgdocdir}/
|
||||||
|
|
||||||
# No info directory
|
# No info directory
|
||||||
rm -f %{buildroot}%{_infodir}/dir
|
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
|
# Make library links
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
|
mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
|
||||||
echo "%{_libdir}/octave/%{version}%{?rctag}" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/octave-%{_arch}.conf
|
echo "%{_libdir}/octave/%{version}%{?rctag}" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/octave-%{_arch}.conf
|
||||||
@ -276,12 +189,10 @@ perl -pi -e "s,%{buildroot},," %{buildroot}%{_datadir}/%{name}/ls-R
|
|||||||
# Make sure ls-R exists
|
# Make sure ls-R exists
|
||||||
touch %{buildroot}%{_datadir}/%{name}/ls-R
|
touch %{buildroot}%{_datadir}/%{name}/ls-R
|
||||||
|
|
||||||
desktop-file-validate %{buildroot}%{_datadir}/applications/org.octave.Octave.desktop
|
# Update desktop file
|
||||||
# RHEL7 still doesn't like the GNU project_group
|
rm %{buildroot}%{_datadir}/applications/www.octave.org-octave.desktop
|
||||||
%{?el7:sed -i -e /project_group/d %{buildroot}/%{_datadir}/metainfo/org.octave.Octave.appdata.xml}
|
desktop-file-install --add-category "DataVisualization" --add-category "NumericalAnalysis" --add-category "Engineering" --add-category "Physics" \
|
||||||
%if 0%{?fedora} || 0%{?rhel} >= 7
|
--dir %{buildroot}%{_datadir}/applications etc/icons/octave.desktop
|
||||||
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/org.octave.Octave.appdata.xml
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Create directories for add-on packages
|
# Create directories for add-on packages
|
||||||
HOST_TYPE=`%{buildroot}%{_bindir}/octave-config -p CANONICAL_HOST_TYPE`
|
HOST_TYPE=`%{buildroot}%{_bindir}/octave-config -p CANONICAL_HOST_TYPE`
|
||||||
@ -291,8 +202,12 @@ mkdir -p %{buildroot}%{_datadir}/%{name}/packages
|
|||||||
mkdir -p %{buildroot}%{_libdir}/%{name}/packages
|
mkdir -p %{buildroot}%{_libdir}/%{name}/packages
|
||||||
touch %{buildroot}%{_datadir}/%{name}/octave_packages
|
touch %{buildroot}%{_datadir}/%{name}/octave_packages
|
||||||
|
|
||||||
|
# work-around broken pre-linking (bug 524493)
|
||||||
|
#install -d %{buildroot}%{_sysconfdir}/prelink.conf.d
|
||||||
|
#echo "-b %{_bindir}/octave-%{version}" > %{buildroot}%{_sysconfdir}/prelink.conf.d/octave.conf
|
||||||
|
|
||||||
# Fix multilib installs
|
# Fix multilib installs
|
||||||
for include in octave-config defaults
|
for include in config defaults oct-conf
|
||||||
do
|
do
|
||||||
mv %{buildroot}%{_includedir}/%{name}-%{version}%{?rctag}/%{name}/${include}.h \
|
mv %{buildroot}%{_includedir}/%{name}-%{version}%{?rctag}/%{name}/${include}.h \
|
||||||
%{buildroot}%{_includedir}/%{name}-%{version}%{?rctag}/%{name}/${include}-%{__isa_bits}.h
|
%{buildroot}%{_includedir}/%{name}-%{version}%{?rctag}/%{name}/${include}-%{__isa_bits}.h
|
||||||
@ -316,7 +231,7 @@ do
|
|||||||
ARCH=\$(uname -m)
|
ARCH=\$(uname -m)
|
||||||
|
|
||||||
case \$ARCH in
|
case \$ARCH in
|
||||||
x86_64 | ia64 | s390x | aarch64 | ppc64 | ppc64le) LIB_DIR=/usr/lib64
|
x86_64 | ia64 | s390x | aarch64 | ppc64) LIB_DIR=/usr/lib64
|
||||||
SECONDARY_LIB_DIR=/usr/lib
|
SECONDARY_LIB_DIR=/usr/lib
|
||||||
;;
|
;;
|
||||||
* )
|
* )
|
||||||
@ -347,23 +262,76 @@ cp -p doc/interpreter/macros.texi %{buildroot}%{_datadir}/%{name}/%{version}/etc
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
# rpm macros
|
# rpm macros
|
||||||
mkdir -p %{buildroot}%{macrosdir}
|
mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d
|
||||||
cp -p %SOURCE1 %{buildroot}%{macrosdir}
|
cp -p %SOURCE1 %{buildroot}%{_rpmconfigdir}/macros.d/
|
||||||
|
|
||||||
|
# Register as an application to be visible in the software center
|
||||||
|
#
|
||||||
|
# NOTE: It would be *awesome* if this file was maintained by the upstream
|
||||||
|
# project, translated and installed into the right place during `make install`.
|
||||||
|
#
|
||||||
|
# See http://www.freedesktop.org/software/appstream/docs/ for more details.
|
||||||
|
#
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata
|
||||||
|
cat > $RPM_BUILD_ROOT%{_datadir}/appdata/%{name}.appdata.xml <<EOF
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- Copyright 2014 Richard Hughes <richard@hughsie.com> -->
|
||||||
|
<!--
|
||||||
|
BugReportURL: https://savannah.gnu.org/bugs/index.php?43279
|
||||||
|
SentUpstream: 2014-09-22
|
||||||
|
-->
|
||||||
|
<application>
|
||||||
|
<id type="desktop">octave.desktop</id>
|
||||||
|
<metadata_license>CC0-1.0</metadata_license>
|
||||||
|
<summary>Interactive programming environment for numerical computations</summary>
|
||||||
|
<description>
|
||||||
|
<p>
|
||||||
|
GNU Octave is a high-level interpreted language, primarily intended for
|
||||||
|
numerical computations.
|
||||||
|
It provides capabilities for the numerical solution of linear and
|
||||||
|
nonlinear problems, and for performing other numerical experiments.
|
||||||
|
It also provides extensive graphics capabilities for data visualization
|
||||||
|
and manipulation.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Octave is normally used through its interactive command line interface,
|
||||||
|
but it can also be used to write non-interactive programs.
|
||||||
|
The Octave language is quite similar to Matlab so that most programs are
|
||||||
|
easily portable.
|
||||||
|
</p>
|
||||||
|
</description>
|
||||||
|
<url type="homepage">http://www.octave.org</url>
|
||||||
|
<screenshots>
|
||||||
|
<screenshot type="default">http://www.gnu.org/software/octave/images/screenshot.png</screenshot>
|
||||||
|
</screenshots>
|
||||||
|
<updatecontact>octave-maintainers@octave.org</updatecontact>
|
||||||
|
</application>
|
||||||
|
EOF
|
||||||
|
|
||||||
%check
|
%check
|
||||||
cp %SOURCE2 .
|
# Tests are currently segfaulting on arm
|
||||||
if [ -x /usr/libexec/Xorg ]; then
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1149953
|
||||||
Xorg=/usr/libexec/Xorg
|
%ifarch %{arm}
|
||||||
else
|
make check || :
|
||||||
Xorg=/usr/libexec/Xorg.bin
|
%else
|
||||||
fi
|
make check
|
||||||
$Xorg -noreset +extension GLX +extension RANDR +extension RENDER -logfile ./xorg.log -config ./xorg.conf :99 &
|
%endif
|
||||||
sleep 2
|
|
||||||
export DISPLAY=:99
|
|
||||||
make check %{?el7:|| :}
|
|
||||||
|
|
||||||
%ldconfig_scriptlets
|
%post
|
||||||
|
/sbin/ldconfig
|
||||||
|
%if %{builddocs}
|
||||||
|
/sbin/install-info --info-dir=%{_infodir} --section="Programming" \
|
||||||
|
%{_infodir}/octave.info || :
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%preun
|
||||||
|
%if %{builddocs}
|
||||||
|
if [ "$1" = "0" ]; then
|
||||||
|
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/octave.info || :
|
||||||
|
fi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%postun -p /sbin/ldconfig
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%license COPYING
|
%license COPYING
|
||||||
@ -380,10 +348,8 @@ make check %{?el7:|| :}
|
|||||||
%{_mandir}/man1/octave*.1.*
|
%{_mandir}/man1/octave*.1.*
|
||||||
%{_infodir}/liboctave.info*
|
%{_infodir}/liboctave.info*
|
||||||
%{_infodir}/octave.info*
|
%{_infodir}/octave.info*
|
||||||
%{_datadir}/applications/org.octave.Octave.desktop
|
%{_datadir}/appdata/%{name}.appdata.xml
|
||||||
%{_datadir}/icons/hicolor/*/apps/octave.png
|
%{_datadir}/applications/octave.desktop
|
||||||
%{_datadir}/icons/hicolor/scalable/apps/octave.svg
|
|
||||||
%{_datadir}/metainfo/org.octave.Octave.appdata.xml
|
|
||||||
# octave_packages is %ghost, so need to list everything else separately
|
# octave_packages is %ghost, so need to list everything else separately
|
||||||
%dir %{_datadir}/octave
|
%dir %{_datadir}/octave
|
||||||
%{_datadir}/octave/%{version}%{?rctag}/
|
%{_datadir}/octave/%{version}%{?rctag}/
|
||||||
@ -391,14 +357,13 @@ make check %{?el7:|| :}
|
|||||||
%ghost %{_datadir}/octave/octave_packages
|
%ghost %{_datadir}/octave/octave_packages
|
||||||
%{_datadir}/octave/packages/
|
%{_datadir}/octave/packages/
|
||||||
%{_datadir}/octave/site/
|
%{_datadir}/octave/site/
|
||||||
|
#%{_sysconfdir}/prelink.conf.d/octave.conf
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%{macrosdir}/macros.octave
|
%{_rpmconfigdir}/macros.d/macros.octave
|
||||||
%{_bindir}/mkoctfile
|
%{_bindir}/mkoctfile
|
||||||
%{_bindir}/mkoctfile-%{version}%{?rctag}
|
%{_bindir}/mkoctfile-%{version}%{?rctag}
|
||||||
%{_includedir}/octave-%{version}%{?rctag}/
|
%{_includedir}/octave-%{version}%{?rctag}/
|
||||||
%{_libdir}/pkgconfig/octave.pc
|
|
||||||
%{_libdir}/pkgconfig/octinterp.pc
|
|
||||||
%{_mandir}/man1/mkoctfile.1.*
|
%{_mandir}/man1/mkoctfile.1.*
|
||||||
|
|
||||||
%files doc
|
%files doc
|
||||||
@ -410,254 +375,12 @@ make check %{?el7:|| :}
|
|||||||
%{_pkgdocdir}/refcard*.pdf
|
%{_pkgdocdir}/refcard*.pdf
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Wed Jul 31 2019 Orion Poplawski <orion@nwra.com> - 6:5.1.0-2
|
* Fri Feb 24 2017 Orion Poplawski <orion@cora.nwra.com> - 6:3.8.2-20
|
||||||
- Drop use of %%buildarch in macros.octave (bugz#1733898)
|
- Use versioned doc dir again
|
||||||
|
|
||||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6:5.1.0-1.1
|
* Mon Feb 08 2016 Rex Dieter <rdieter@fedoraproject.org> - 6:3.8.2-19
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sun Jun 16 2019 Orion Poplawski <orion@nwra.com> - 6:5.1.0-1
|
|
||||||
- Update to 5.1.0
|
|
||||||
|
|
||||||
* Mon May 6 2019 Orion Poplawski <orion@nwra.com> - 6:4.4.1-8
|
|
||||||
- Backport upstream patch for proper EOF handling (bugz#1705129)
|
|
||||||
|
|
||||||
* Tue Apr 23 2019 Björn Esser <besser82@fedoraproject.org> - 6:4.4.1-7
|
|
||||||
- rebuilt (sundials)
|
|
||||||
|
|
||||||
* Sat Mar 16 2019 Orion Poplawski <orion@nwra.com> - 6:4.4.1-6
|
|
||||||
- Rebuild for hdf5 1.10.5
|
|
||||||
|
|
||||||
* Thu Mar 7 2019 Tim Landscheidt <tim@tim-landscheidt.de> - 6:4.4.1-5
|
|
||||||
- Remove obsolete requirements for post/preun scriptlets
|
|
||||||
|
|
||||||
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 6:4.4.1-4
|
|
||||||
- Rebuild for readline 8.0
|
|
||||||
|
|
||||||
* Sat Feb 16 2019 Björn Esser <besser82@fedoraproject.org> - 6:4.4.1-3
|
|
||||||
- rebuilt (qscintilla)
|
|
||||||
|
|
||||||
* Tue Feb 12 2019 Björn Esser <besser82@fedoraproject.org> - 6:4.4.1-2
|
|
||||||
- rebuilt (qscintilla)
|
|
||||||
- Fix pre-release tag
|
|
||||||
|
|
||||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6:4.4.1-1.1
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sun Nov 11 2018 Orion Poplawski <orion@nwra.com> - 6:4.4.1-1
|
|
||||||
- Update to 4.4.1
|
|
||||||
|
|
||||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 6:4.2.2-6.1
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Jul 02 2018 Colin B. Macdonald <cbm@m.fsf.org> - 6:4.2.2-6
|
|
||||||
- macros: support other names for appdata .metainfo.xml files
|
|
||||||
|
|
||||||
* Thu Jun 28 2018 Colin B. Macdonald <cbm@m.fsf.org> - 6:4.2.2-5
|
|
||||||
- macros: support dependencies in octave_pkg_check
|
|
||||||
|
|
||||||
* Thu Jun 21 2018 Orion Poplawski <orion@nwra.com> - 6:4.2.2-4
|
|
||||||
- Add patch to fix crash with Ctrl-D (bug #1589460)
|
|
||||||
|
|
||||||
* Sun Jun 17 2018 Orion Poplawski <orion@nwra.com> - 6:4.2.2-3
|
|
||||||
- Add requires hicolor-icon-theme
|
|
||||||
- Use make macros
|
|
||||||
|
|
||||||
* Sat Jun 2 2018 Jerry James <loganjerry@gmail.com> - 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 <orion@cora.nwra.com> - 6:4.2.2-1
|
|
||||||
- Update to 4.2.2
|
|
||||||
- Fail build again if make check fails
|
|
||||||
|
|
||||||
* Wed Feb 21 2018 Orion Poplawski <orion@nwra.com> - 6:4.2.1-5
|
|
||||||
- Add BR gcc-c++
|
|
||||||
|
|
||||||
* Thu Feb 08 2018 Jitka Plesnikova <jplesnik@redhat.com> - 6:4.2.1-4.5
|
|
||||||
- Rebuild for hdf5 1.8.20
|
|
||||||
|
|
||||||
* Mon Feb 05 2018 Jitka Plesnikova <jplesnik@redhat.com> - 6:4.2.1-4.4
|
|
||||||
- Rebuild for new gfortran
|
|
||||||
|
|
||||||
* Fri Jan 05 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 6:4.2.1-4.3
|
|
||||||
- Remove obsolete scriptlets
|
|
||||||
|
|
||||||
* Sun Aug 13 2017 Orion Poplawski <orion@cora.nwra.com> - 6:4.2.1-4.2
|
|
||||||
- Make octave-devel require libappstream-glib
|
|
||||||
|
|
||||||
* Sat Aug 12 2017 Orion Poplawski <orion@cora.nwra.com> - 6:4.2.1-4.1
|
|
||||||
- Run appstream-util validate-relax on metainfo.xml files
|
|
||||||
|
|
||||||
* Fri Aug 11 2017 Orion Poplawski <orion@nwra.com> - 6:4.2.1-4
|
|
||||||
- Use openblas on Fedora 27+
|
|
||||||
|
|
||||||
* Thu Aug 10 2017 Orion Poplawski <orion@nwra.com> - 6:4.2.1-4
|
|
||||||
- Install metainfo.xml files in %%octave_pkg_install
|
|
||||||
|
|
||||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 6:4.2.1-3.2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 6:4.2.1-3.1
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Jun 13 2017 Orion Poplawski <orion@cora.nwra.com> - 6:4.2.1-3
|
|
||||||
- Use Qt5 on Fedora 26+
|
|
||||||
|
|
||||||
* Wed Apr 5 2017 Jerry James <loganjerry@gmail.com> - 6:4.2.1-2
|
|
||||||
- Rebuild for glpk 4.61
|
|
||||||
|
|
||||||
* Fri Feb 24 2017 Orion Poplawski <orion@cora.nwra.com> - 6:4.2.1-1
|
|
||||||
- Update to 4.2.1
|
|
||||||
|
|
||||||
* Mon Feb 20 2017 Rex Dieter <rdieter@fedoraproject.org> - 6:4.2.0-16
|
|
||||||
- rebuild (qscintilla)
|
|
||||||
|
|
||||||
* Wed Feb 08 2017 Orion Poplawski <orion@cora.nwra.com> - 6:4.2.0-15
|
|
||||||
- Have %%octave_pkg_check re-strip shared objects
|
|
||||||
|
|
||||||
* Tue Feb 07 2017 Orion Poplawski <orion@cora.nwra.com> - 6:4.2.0-14
|
|
||||||
- Rebuild with fixed pkgconf (bug #1419685)
|
|
||||||
|
|
||||||
* Sat Jan 28 2017 Björn Esser <besser82@fedoraproject.org> - 6:4.2.0-13
|
|
||||||
- Rebuilt for GCC-7
|
|
||||||
|
|
||||||
* Thu Jan 12 2017 Igor Gnatenko <ignatenko@redhat.com> - 6:4.2.0-12.1
|
|
||||||
- Rebuild for readline 7.x
|
|
||||||
|
|
||||||
* Thu Dec 29 2016 Kalev Lember <klember@redhat.com> - 6:4.2.0-12
|
|
||||||
- Fix license in appdata file (bug #1293561)
|
|
||||||
|
|
||||||
* Fri Dec 09 2016 Orion Poplawski <orion@cora.nwra.com> - 6:4.2.0-11
|
|
||||||
- Handle noarch package tarball names
|
|
||||||
|
|
||||||
* Fri Dec 09 2016 Orion Poplawski <orion@cora.nwra.com> - 6:4.2.0-10
|
|
||||||
- Patch gzip from upstream bug report
|
|
||||||
|
|
||||||
* Thu Dec 08 2016 Orion Poplawski <orion@cora.nwra.com> - 6:4.2.0-9
|
|
||||||
- Disable more segfaulting tests
|
|
||||||
|
|
||||||
* Thu Dec 08 2016 Orion Poplawski <orion@cora.nwra.com> - 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 <orion@cora.nwra.com> - 6:4.2.0-7
|
|
||||||
- Fix version option
|
|
||||||
|
|
||||||
* Wed Dec 07 2016 Orion Poplawski <orion@cora.nwra.com> - 6:4.2.0-6
|
|
||||||
- A desparate attempt to debug octave package building
|
|
||||||
|
|
||||||
* Wed Dec 07 2016 Orion Poplawski <orion@cora.nwra.com> - 6:4.2.0-5
|
|
||||||
- Build in a build sub-directory
|
|
||||||
|
|
||||||
* Wed Dec 07 2016 Orion Poplawski <orion@cora.nwra.com> - 6:4.2.0-4
|
|
||||||
- Use 'octave-config -p CANONICAL_HOST_TYPE' in macros
|
|
||||||
|
|
||||||
* Wed Dec 07 2016 Orion Poplawski <orion@cora.nwra.com> - 6:4.2.0-3
|
|
||||||
- Use %%_host in macros
|
|
||||||
|
|
||||||
* Tue Dec 06 2016 Orion Poplawski <orion@cora.nwra.com> - 6:4.2.0-2
|
|
||||||
- Rework pkg build/install macros
|
|
||||||
|
|
||||||
* Tue Dec 06 2016 Orion Poplawski <orion@cora.nwra.com> - 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 <orion@cora.nwra.com> - 6:4.0.3-3
|
|
||||||
- Rebuild for hdf5 1.8.18
|
|
||||||
|
|
||||||
* Fri Sep 9 2016 Orion Poplawski <orion@cora.nwra.com> - 6:4.0.3-2
|
|
||||||
- Add upstream patch to fix build with texinfo 5 on <=EL7
|
|
||||||
|
|
||||||
* Sun Jul 3 2016 Orion Poplawski <orion@cora.nwra.com> - 6:4.0.3-1
|
|
||||||
- Update to 4.0.3
|
|
||||||
|
|
||||||
* Wed Jun 29 2016 Orion Poplawski <orion@cora.nwra.com> - 6:4.0.2-3
|
|
||||||
- Rebuild for hdf5 1.8.17
|
|
||||||
|
|
||||||
* Fri Apr 29 2016 Ralf Corsépius <corsepiu@fedoraproject.org> - 6:4.0.2-2
|
|
||||||
- Rebuild for qhull-2015.2-1.
|
|
||||||
|
|
||||||
* Thu Apr 21 2016 Orion Poplawski <orion@cora.nwra.com> - 6:4.0.2-1
|
|
||||||
- Update to 4.0.2
|
|
||||||
|
|
||||||
* Sun Apr 10 2016 Orion Poplawski <orion@cora.nwra.com> - 6:4.0.1-6
|
|
||||||
- Add upstream patch to fix setting TERM variable (bug #1325548)
|
|
||||||
|
|
||||||
* Mon Apr 4 2016 Orion Poplawski <orion@cora.nwra.com> - 6:4.0.1-5
|
|
||||||
- Arm tests appear to be running okay now (bug #1149953)
|
|
||||||
|
|
||||||
* Thu Mar 24 2016 Orion Poplawski <orion@cora.nwra.com> - 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 <orion@cora.nwra.com> - 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 <orion@cora.nwra.com> - 6:4.0.1-2
|
|
||||||
- libappstream-glib is not in EL6
|
|
||||||
|
|
||||||
* Tue Mar 22 2016 Orion Poplawski <orion@cora.nwra.com> - 6:4.0.1-1
|
|
||||||
- Update to 4.0.1
|
|
||||||
- Drop upstream texinfo patch
|
|
||||||
|
|
||||||
* Fri Mar 11 2016 Orion Poplawski <orion@cora.nwra.com> - 6:4.0.0-14
|
|
||||||
- Rebuild for glpk 4.59
|
|
||||||
|
|
||||||
* Sun Feb 21 2016 Orion Poplawski <orion@cora.nwra.com> - 6:4.0.0-13
|
|
||||||
- Fix build with gcc 6
|
|
||||||
|
|
||||||
* Thu Feb 18 2016 Orion Poplawski <orion@cora.nwra.com> - 6:4.0.0-12
|
|
||||||
- Rebuild for glpk 4.58
|
|
||||||
|
|
||||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 6:4.0.0-11
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Jan 22 2016 Orion Poplawski <orion@cora.nwra.com> - 6:4.0.0-10
|
|
||||||
- Rebuild for poppler-0.40.0
|
|
||||||
|
|
||||||
* Thu Jan 21 2016 Orion Poplawski <orion@cora.nwra.com> - 6:4.0.0-9
|
|
||||||
- Rebuild for hdf5 1.8.16
|
|
||||||
|
|
||||||
* Tue Dec 29 2015 Orion Poplawski <orion@cora.nwra.com> - 6:4.0.0-8
|
|
||||||
- Validate and fix appdata file (bug #1293561)
|
|
||||||
|
|
||||||
* Wed Nov 11 2015 Orion Poplawski <orion@cora.nwra.com> - 6:4.0.0-7
|
|
||||||
- Add BR libsndfile-devel and portaudio-devel for audio support (bug #1279924)
|
|
||||||
|
|
||||||
* Tue Oct 6 2015 Orion Poplawski <orion@cora.nwra.com> - 6:4.0.0-6
|
|
||||||
- Remove unused fftpack code, note bundled libraries
|
|
||||||
|
|
||||||
* Sun Oct 04 2015 Rex Dieter <rdieter@fedoraproject.org> - 6:4.0.0-5
|
|
||||||
- rebuild (GraphicsMagick)
|
- rebuild (GraphicsMagick)
|
||||||
|
|
||||||
* Fri Jul 31 2015 Orion Poplawski <orion@cora.nwra.com> - 6:4.0.0-4
|
|
||||||
- Add octave_pkg_check rpm macro, other macro cleanup
|
|
||||||
|
|
||||||
* Tue Jul 14 2015 Orion Poplawski <orion@cora.nwra.com> - 6:4.0.0-3
|
|
||||||
- Add patch to fix build with texinfo 6.0
|
|
||||||
|
|
||||||
* Mon Jul 13 2015 Dan Horák <dan[at]danny.cz> - 6:4.0.0-2
|
|
||||||
- build without the dummy Xorg driver on s390(x)
|
|
||||||
|
|
||||||
* Mon Jul 6 2015 Orion Poplawski <orion@cora.nwra.com> - 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 <rel-eng@lists.fedoraproject.org> - 6:3.8.2-20
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Jun 11 2015 Nils Philippsen <nils@redhat.com> - 6:3.8.2-19
|
|
||||||
- rebuild for suitesparse-4.4.4
|
|
||||||
|
|
||||||
* Thu May 28 2015 Orion Poplawski <orion@cora.nwra.com> - 6:3.8.2-18
|
* Thu May 28 2015 Orion Poplawski <orion@cora.nwra.com> - 6:3.8.2-18
|
||||||
- Fix doc install (bug #799662)
|
- Fix doc install (bug #799662)
|
||||||
|
|
||||||
@ -704,12 +427,9 @@ make check %{?el7:|| :}
|
|||||||
* Sat Aug 23 2014 Orion Poplawski <orion@cora.nwra.com> - 6:3.8.2-4
|
* Sat Aug 23 2014 Orion Poplawski <orion@cora.nwra.com> - 6:3.8.2-4
|
||||||
- No info scripts when not building docs
|
- No info scripts when not building docs
|
||||||
|
|
||||||
* Fri Aug 22 2014 Orion Poplawski <orion@cora.nwra.com> - 6:3.8.2-3
|
* Fri Aug 22 2014 Orion Poplawski <orion@cora.nwra.com> - 6:3.8.2-2
|
||||||
- Install macros.texi by hand if not building docs
|
- Install macros.texi by hand if not building docs
|
||||||
|
|
||||||
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6:3.8.2-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Aug 14 2014 Orion Poplawski <orion@cora.nwra.com> - 6:3.8.2-1
|
* Thu Aug 14 2014 Orion Poplawski <orion@cora.nwra.com> - 6:3.8.2-1
|
||||||
- Update to 3.8.2 final
|
- Update to 3.8.2 final
|
||||||
|
|
||||||
|
3
sources
3
sources
@ -1,2 +1 @@
|
|||||||
SHA512 (octave-5.1.0.tar.lz) = 34facc20ffceaead05e62e16cc70bd603919c7e52c7489faa17b5c969a160c655f50c4aeb41ecee2e2d0a6245cc3364cf9009ddd3cecb17b9e06bbdacaa0a516
|
188bd97e22054f9c62701ee0e6800dc1 octave-3.8.2.tar.bz2
|
||||||
SHA512 (octave-5.1.0-docs.tar.lz) = 6bf24ed95d5d2957271abb8902a156edc588962b95218b05936858fafe8205f4295f072388f7331ad5700946fbae701bd0c3f2a59c258f390ea92c85eb87fdd2
|
|
||||||
|
137
xorg.conf
137
xorg.conf
@ -1,137 +0,0 @@
|
|||||||
# 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
|
|
||||||
SubSectionSub "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
|
|
Loading…
Reference in New Issue
Block a user