octave 8.1.0-3 (aarch64) 2023-17360
9999

Status published
Submitter mandian [@T] tutanota.com
Platform rolling
Repository unsupported
URL https://abf.openmandriva.org/build_lists/296627
Packages
octave-8.1.0-3.aarch64.binary
octave-8.1.0-3.aarch64.source
octave-debuginfo-8.1.0-3.aarch64.debuginfo
octave-debugsource-8.1.0-3.aarch64.binary
octave-devel-8.1.0-3.aarch64.binary
octave-doc-8.1.0-3.aarch64.binary
Build Date 2023-03-26 21:20:58 +0000 UTC
Last Updated 2023-03-28 01:38:07.982376285 +0000 UTC
$ git diff --patch-with-stat --summary 4e829e61cc999d3eb1043506fc01017e369db5f6..daaaef35f789e83d7b016e1926d75f5ee4654851

 .abf.yml                    |  2 +-
 octave-7.3.0-fix_docs.patch | 25 +++++++++++++++
 octave-8.1.0-libgnu.patch   | 78 +++++++++++++++++++++++++++++++++++++++++++++
 octave-java2.patch          | 17 +++++-----
 octave.macros               |  2 +-
 octave.spec                 | 22 +++++++------
 6 files changed, 126 insertions(+), 20 deletions(-)
 create mode 100644 octave-7.3.0-fix_docs.patch
 create mode 100644 octave-8.1.0-libgnu.patch

diff --git a/.abf.yml b/.abf.yml
index c041100..e83b469 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -1,2 +1,2 @@
 sources:
-  octave-7.2.0.tar.xz: 15cf0629355b8baff7ed24ec28bce01783a9e5f2
+  octave-8.1.0.tar.xz: 6e457678c6fe95ec68e39d56404ada3337a4e968
diff --git a/octave-7.3.0-fix_docs.patch b/octave-7.3.0-fix_docs.patch
new file mode 100644
index 0000000..ac78257
--- /dev/null
+++ b/octave-7.3.0-fix_docs.patch
@@ -0,0 +1,25 @@
+diff -r f21b233f3274 doc/interpreter/mk-qthelp.pl
+--- a/doc/interpreter/mk-qthelp.pl        Thu Oct 13 11:27:35 2022 +0200
++++ b/doc/interpreter/mk-qthelp.pl        Thu Oct 13 11:48:40 2022 -0400
+@@ -26,8 +26,9 @@ if ($#ARGV != 1)
+ open (my $HTML, "<", $htmlfname) or die "Unable to open $htmlfname";
+
+ # Skip through preamble of file to find start of list
+-while (($_ = <$HTML>) !~ /^<div class="contents">/ ) {;}
+-while (($_ = <$HTML>) !~ /^<ul class="no-bullet">/ ) {;}
++while (<$HTML>) {next if $_ !~ /^<div class="contents">/; last;}
++while (<$HTML>) {next if $_ !~ /^<ul class="toc-numbered-mark">/; last;}
++    die "index.html: reached EOF: bait changed?" if eof($HTML);
+
+ $level = 0;
+ while (<$HTML>)
+@@ -68,7 +69,8 @@ die "Failed to parse index.html" if ($le
+ open ($HTML, "<", $htmlfname) or die "Unable to open $htmlfname";
+
+ # Skip through preamble of file to find start of list
+-while (($_ = <$HTML>) !~ /^<table class="index-fn/ ) {;}
++while(<$HTML>) {next if $_ !~ /^<table class="fn-entries/; last;}
++    die "Function-Index.html: reached EOF: bait changed?" if eof($HTML);
+
+ while (<$HTML>)
+ {
diff --git a/octave-8.1.0-libgnu.patch b/octave-8.1.0-libgnu.patch
new file mode 100644
index 0000000..98e81e6
--- /dev/null
+++ b/octave-8.1.0-libgnu.patch
@@ -0,0 +1,78 @@
+--- a/libgnu/cdefs.h
++++ b/libgnu/cdefs.h
+@@ -685,7 +685,7 @@
+ #  define __attr_access_none(argno)
+ #endif
+ 
+-#if __GNUC_PREREQ (11, 0)
++#if __GNUC_PREREQ (11, 0) && !defined(__clang__)
+ /* Designates dealloc as a function to call to deallocate objects
+    allocated by the declared function.  */
+ # define __attr_dealloc(dealloc, argno) \
+--- a/m4/gnulib-common.m4
++++ b/m4/gnulib-common.m4
+@@ -182,7 +182,7 @@
+    _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that
+    can be freed via 'free'; it can be used only after declaring 'free'.  */
+ /* Applies to: functions.  Cannot be used on inline functions.  */
+-#if _GL_GNUC_PREREQ (11, 0)
++#if _GL_GNUC_PREREQ (11, 0) && !defined(__clang__)
+ # define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+ #else
+ # define _GL_ATTRIBUTE_DEALLOC(f, i)
+--- a/config.in.h
++++ b/config.in.h
+@@ -3074,7 +3074,7 @@
+    _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that
+    can be freed via 'free'; it can be used only after declaring 'free'.  */
+ /* Applies to: functions.  Cannot be used on inline functions.  */
+-#if _GL_GNUC_PREREQ (11, 0)
++#if _GL_GNUC_PREREQ (11, 0) && !defined(__clang__)
+ # define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+ #else
+ # define _GL_ATTRIBUTE_DEALLOC(f, i)
+--- a/libgnu/stdio.in.h
++++ b/libgnu/stdio.in.h
+@@ -94,7 +94,7 @@
+    that can be freed by passing them as the Ith argument to the
+    function F.  */
+ #ifndef _GL_ATTRIBUTE_DEALLOC
+-# if __GNUC__ >= 11
++# if __GNUC__ >= 11 && !defined(__clang__)
+ #  define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+ # else
+ #  define _GL_ATTRIBUTE_DEALLOC(f, i)
+--- a/libgnu/stdlib.in.h
++++ b/libgnu/stdlib.in.h
+@@ -103,7 +103,7 @@
+    that can be freed by passing them as the Ith argument to the
+    function F.  */
+ #ifndef _GL_ATTRIBUTE_DEALLOC
+-# if __GNUC__ >= 11
++# if __GNUC__ >= 11 && !defined(__clang__)
+ #  define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+ # else
+ #  define _GL_ATTRIBUTE_DEALLOC(f, i)
+--- a/libgnu/wchar.in.h
++++ b/libgnu/wchar.in.h
+@@ -87,7 +87,7 @@
+    that can be freed by passing them as the Ith argument to the
+    function F.  */
+ #ifndef _GL_ATTRIBUTE_DEALLOC
+-# if __GNUC__ >= 11
++# if __GNUC__ >= 11 && !defined(__clang__)
+ #  define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+ # else
+ #  define _GL_ATTRIBUTE_DEALLOC(f, i)
+--- a/libgnu/dirent.in.h
++++ b/libgnu/dirent.in.h
+@@ -59,7 +59,7 @@
+    that can be freed by passing them as the Ith argument to the
+    function F.  */
+ #ifndef _GL_ATTRIBUTE_DEALLOC
+-# if __GNUC__ >= 11
++# if __GNUC__ >= 11 && !defined(__clang__)
+ #  define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+ # else
+ #  define _GL_ATTRIBUTE_DEALLOC(f, i)
+
diff --git a/octave-java2.patch b/octave-java2.patch
index 79fc0f6..60f2cfb 100644
--- a/octave-java2.patch
+++ b/octave-java2.patch
@@ -1,14 +1,15 @@
 --- a/configure.ac
 +++ b/configure.ac
-@@ -2446,12 +2446,12 @@
-   AC_MSG_CHECKING([for Java version])
-   java_version=[`"$JAVA" -version 2>&1 | $SED -n -e 's/^[^ ]* version[^0-9"]*"\([^"]*\)".*/\1/p'`]
-   AC_MSG_RESULT([$java_version])
--  java_major=[`echo $java_version | $SED -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\1/'`]
--  java_minor=[`echo $java_version | $SED -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\2/'`]
+@@ -2446,13 +2446,13 @@
+     [octave_cv_java_version=[`"$JAVA" -version 2>&1 | $SED -n -e 's/^[^ ]* version[^0-9"]*"\([^"]*\)".*/\1/p'`]
+   ])
+ 
+-  java_major=[`echo $octave_cv_java_version | $SED -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\1/'`]
+-  java_minor=[`echo $octave_cv_java_version | $SED -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\2/'`]
++  java_major=[`echo $octave_cv_java_version | $SED -e 's/^\([0-9][0-9]*\).*$/\1/'`]
++  #java_minor=[`echo $octave_cv_java_version | $SED -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\2/'`]
+
 -  if test $java_major -gt 1 || (test $java_major -eq 1 && test $java_minor -ge 5); then
-+  java_major=[`echo $java_version | $SED -e 's/^\([0-9][0-9]*\).*$/\1/'`]
-+  #java_minor=[`echo $java_version | $SED -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\2/'`]
 +  if test $java_major -gt 2; then
      :  # Version is OK.  Do nothing.
    else
diff --git a/octave.macros b/octave.macros
index efea796..9251eec 100644
--- a/octave.macros
+++ b/octave.macros
@@ -67,7 +67,7 @@ fi \
 # octave can find the package, then remove 'octave_packages' again, and re-strip
 # any shared objects.
 %octave_pkg_check \
-%octave_cmd pkg("prefix","%{buildroot}%{octprefix}","%{buildroot}%{octarchprefix}");pkg("local_list",fullfile("%{buildroot}%{octshareprefix}","octave_packages"));pkg("list");pkg("install","-verbose",glob("%{_builddir}/%{buildsubdir}/build/%{octpkg}-%{version}-*.tar.gz"){1,1});pkg("load","%{octpkg}");pkg("list");runtests("%{buildroot}%{octpkgdir}");unlink(pkg("local_list")); \
+%octave_cmd pkg("prefix","%{buildroot}%{octprefix}","%{buildroot}%{octarchprefix}");pkg("local_list",fullfile("%{buildroot}%{octshareprefix}","octave_packages"));pkg("list");pkg("install","-verbose",glob("%{_builddir}/%{buildsubdir}/build/%{octpkg}-%{version}-*.tar.gz"){1,1});pkg("load","%{octpkg}");pkg("list");oruntests("%{buildroot}%{octpkgdir}");unlink(pkg("local_list")); \
 /usr/lib/rpm/brp-strip %{__strip} \
 %{nil}
 
diff --git a/octave.spec b/octave.spec
index 6892503..497735b 100644
--- a/octave.spec
+++ b/octave.spec
@@ -1,7 +1,7 @@
 # Can't mix clang (C/C++) and gcc (fortran) when using LTO
 %global _disable_lto 1
 
-%global octave_api api-v57
+%global octave_api api-v58
 
 %bcond_with	atlas
 %bcond_without	docs
@@ -11,8 +11,8 @@
 
 Summary:	High-level language for numerical computations
 Name:		octave
-Version:	7.2.0
-Release:	4
+Version:	8.1.0
+Release:	3
 License:	GPLv3+
 Group:		Sciences/Mathematics
 Url:		https://www.octave.org/
@@ -20,8 +20,8 @@ Source0:	https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz
 # from fedora with slight modification
 Source10:	%{name}.macros
 Source20:	octave-2.1.36-emac.lisp
-# Based on https://hg.savannah.gnu.org/hgweb/octave/raw-rev/b876de975edf
-#Patch0:		octave-sundials6.patch
+# make libgnu compatible with clang
+Patch0:		octave-8.1.0-libgnu.patch
 # fix java check
 Patch1:		octave-java2.patch
 # This patch is required when installing all sagemath dependencies,
@@ -36,6 +36,9 @@ Patch1:		octave-java2.patch
 %ifarch %{ix86}
 Patch3:		octave-3.6.3-detect-i586-as-little-endian-ieee754.patch
 %endif
+# (upstream)
+#  https://savannah.gnu.org/bugs/?func=detailitem&item_id=62648
+#Patch1000:	octave-7.3.0-fix_docs.patch
 
 BuildRequires:	bison
 #BuildRequires:	emacs-nox
@@ -77,7 +80,7 @@ BuildRequires:	pkgconfig(glu)
 BuildRequires:	pkgconfig(GraphicsMagick)
 BuildRequires:	pkgconfig(libcurl)
 BuildRequires:	pkgconfig(lapack)
-BuildRequires:	pkgconfig(libpcre)
+BuildRequires:	pkgconfig(libpcre2-8)
 BuildRequires:	pkgconfig(ncurses)
 #BuildRequires:	pkgconfig(ompi)
 #BuildRequires:	pkgconfig(osmesa)
@@ -195,7 +198,7 @@ Requires:	pkgconfig(glu)
 Requires:	pkgconfig(GraphicsMagick)
 Requires:	pkgconfig(lapack)
 Requires:	pkgconfig(appstream-glib)
-Requires:	pkgconfig(libpcre)
+Requires:	pkgconfig(libpcre2-8)
 Requires:	pkgconfig(libcurl)
 Requires:	pkgconfig(readline)
 Requires:	pkgconfig(zlib)
@@ -205,7 +208,6 @@ Requires:	suitesparse-devel
 Requires:	texinfo
 Requires:	transfig
 
-
 %description devel
 The octave-devel package contains files needed for developing
 applications which use GNU Octave.
@@ -253,8 +255,8 @@ This package contains documentation of Octave in various formats.
 
 %build
 # FIXME: gnulib fails with clang compiler
-export CC=gcc
-export CXX=g++
+#export CC=gcc
+#export CXX=g++
 
 %configure \
 	--enable-shared \
Not Available

benbullard79 [@T] cox.netNo Comment.607d 06hrs
benbullard79 [@T] cox.netNo Comment.607d 06hrs