diff --git a/swig-octave-ldflags.patch b/swig-octave-ldflags.patch new file mode 100644 index 0000000..531258f --- /dev/null +++ b/swig-octave-ldflags.patch @@ -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]) diff --git a/swig-octave5.1.patch b/swig-octave5.1.patch new file mode 100644 index 0000000..df67179 --- /dev/null +++ b/swig-octave5.1.patch @@ -0,0 +1,28 @@ +commit c38b7de6a120e6392abff50afd9bb919cc858cfc +Author: Orion Poplawski +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; diff --git a/swig.spec b/swig.spec index 99733c5..a3f1d69 100644 --- a/swig.spec +++ b/swig.spec @@ -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 - 3.0.12-25 +- Add patches for octave 5.1 support + * Sun Feb 03 2019 Fedora Release Engineering - 3.0.12-24 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild