Add patches for octave 5.1 support

This commit is contained in:
Orion Poplawski 2019-04-27 08:50:12 -06:00
parent e084217e71
commit b74d8bc1be
3 changed files with 54 additions and 1 deletions

16
swig-octave-ldflags.patch Normal file
View File

@ -0,0 +1,16 @@
diff --git a/configure.ac b/configure.ac
index 1873797..754238f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1114,7 +1114,10 @@ if test -n "$OCTAVE"; then
AC_MSG_CHECKING([for Octave linker flags])
OCTAVE_LDFLAGS=
- for var in RDYNAMIC_FLAG LFLAGS RLD_FLAG OCTAVE_LIBS LIBS; do
+ for var in OCTLIBDIR; do
+ OCTAVE_LDFLAGS="${OCTAVE_LDFLAGS} "-L`env - ${mkoctfile} -p ${var}`
+ done
+ for var in RDYNAMIC_FLAG RLD_FLAG OCTAVE_LIBS LIBS; do
OCTAVE_LDFLAGS="${OCTAVE_LDFLAGS} "`env - ${mkoctfile} -p ${var}`
done
AC_MSG_RESULT([$OCTAVE_LDFLAGS])

28
swig-octave5.1.patch Normal file
View File

@ -0,0 +1,28 @@
commit c38b7de6a120e6392abff50afd9bb919cc858cfc
Author: Orion Poplawski <orion@nwra.com>
Date: Sun Mar 10 11:47:27 2019 -0600
Fix format-security error with octave 5.1
diff --git a/Lib/octave/octrun.swg b/Lib/octave/octrun.swg
index 3012331..ff614e6 100644
--- a/Lib/octave/octrun.swg
+++ b/Lib/octave/octrun.swg
@@ -51,7 +51,7 @@ SWIGRUNTIME octave_value SWIG_Error(int code, const char *msg) {
octave_value type(SWIG_ErrorType(code));
std::string r = msg;
r += " (" + type.string_value() + ")";
- error(r.c_str());
+ error("%s", r.c_str());
return octave_value(r);
}
@@ -840,7 +840,7 @@ SWIGRUNTIME void swig_acquire_ownership_obj(void *vptr, int own);
const std::string opname = std::string("__") + octave_base_value::get_umap_name(umap) + std::string("__");
octave_value ret;
if (!dispatch_unary_op(opname, ret)) {
- error((opname + std::string(" method not found")).c_str());
+ error("%s", (opname + std::string(" method not found")).c_str());
return octave_value();
}
return ret;

View File

@ -34,7 +34,7 @@
Summary: Connects C/C++/Objective C to some high-level programming languages
Name: swig
Version: 3.0.12
Release: 24%{?dist}
Release: 25%{?dist}
License: GPLv3+ and BSD
URL: http://swig.sourceforge.net/
Source0: http://downloads.sourceforge.net/project/swig/swig/swig-%{version}/swig-%{version}.tar.gz
@ -62,6 +62,10 @@ Patch8: swig-3.0.12-Fix-Coverity-issue-reported-for-setslice-pycontainer.patch
Patch9: swig-3.0.12-Coverity-fix-issue-reported-for-wrapper-argument-che.patch
Patch10: swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_ConvertF.patch
Patch11: swig-3.0.12-Support-Octave-4.4.patch
# https://github.com/swig/swig/pull/1497
Patch12: swig-octave5.1.patch
# https://github.com/swig/swig/pull/1522
Patch13: swig-octave-ldflags.patch
BuildRequires: perl-interpreter, pcre-devel
%if %{python2lang}
@ -169,6 +173,8 @@ in gdb.
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1 -b .octave-ldflags
for all in CHANGES README; do
iconv -f ISO88591 -t UTF8 < $all > $all.new
@ -332,6 +338,9 @@ install -pm 644 Tools/swig.gdb %{buildroot}%{_datadir}/%{name}/gdb
%{_datadir}/%{name}/gdb
%changelog
* Sat Apr 27 2019 Orion Poplawski <orion@nwra.com> - 3.0.12-25
- Add patches for octave 5.1 support
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.12-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild