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 7d214d0..a883216 100644 --- a/swig.spec +++ b/swig.spec @@ -65,6 +65,8 @@ Source4: ccache-swig.csh %endif Patch0: swig308-Do-not-use-isystem.patch +# https://github.com/swig/swig/pull/1522 +Patch1: swig-octave-ldflags.patch BuildRequires: perl-interpreter, pcre-devel %if %{python2lang} @@ -98,7 +100,6 @@ BuildRequires: guile-devel BuildRequires: octave-devel %endif %if %{golang} -#BuildRequires: gcc-go BuildRequires: golang BuildRequires: golang-bin BuildRequires: golang-shared @@ -163,6 +164,7 @@ in gdb. %setup -q -n swig-%{version} %patch0 -p1 -b .isystem +%patch1 -p1 -b .octave-ldflags for all in CHANGES README; do iconv -f ISO88591 -t UTF8 < $all > $all.new @@ -335,6 +337,9 @@ install -pm 644 Tools/swig.gdb %{buildroot}%{_datadir}/%{name}/gdb * Fri May 03 2019 Jitka Plesnikova - 4.0.0-1 - Update to 4.0.0 +* 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