Add patch for octave 4.0.0 support
This commit is contained in:
parent
e971d9a497
commit
bf560fda6f
227
swig-octave4.patch
Normal file
227
swig-octave4.patch
Normal file
@ -0,0 +1,227 @@
|
||||
diff --git a/Examples/test-suite/octave/default_constructor_runme.m b/Examples/test-suite/octave/default_constructor_runme.m
|
||||
index 2f8bb39..ebe553b 100644
|
||||
--- a/Examples/test-suite/octave/default_constructor_runme.m
|
||||
+++ b/Examples/test-suite/octave/default_constructor_runme.m
|
||||
@@ -14,24 +14,18 @@ try
|
||||
catch
|
||||
end_try_catch
|
||||
|
||||
-del_b = dc.delete_B;
|
||||
-
|
||||
try
|
||||
bb = dc.new_BB();
|
||||
error("Whoa. new_BB created.")
|
||||
catch
|
||||
end_try_catch
|
||||
|
||||
-del_bb = dc.delete_BB;
|
||||
-
|
||||
try
|
||||
c = dc.new_C();
|
||||
error("Whoa. new_C created.")
|
||||
catch
|
||||
end_try_catch
|
||||
|
||||
-del_c = dc.delete_C;
|
||||
-
|
||||
cc = dc.new_CC();
|
||||
dc.delete_CC(cc);
|
||||
|
||||
@@ -41,24 +35,18 @@ try
|
||||
catch
|
||||
end_try_catch
|
||||
|
||||
-del_d = dc.delete_D;
|
||||
-
|
||||
try
|
||||
dd = dc.new_DD();
|
||||
error("Whoa. new_DD created")
|
||||
catch
|
||||
end_try_catch
|
||||
|
||||
-dd = dc.delete_DD;
|
||||
-
|
||||
try
|
||||
ad = dc.new_AD();
|
||||
error("Whoa. new_AD created")
|
||||
catch
|
||||
end_try_catch
|
||||
|
||||
-del_ad = dc.delete_AD;
|
||||
-
|
||||
e = dc.new_E();
|
||||
dc.delete_E(e);
|
||||
|
||||
@@ -71,12 +59,10 @@ try
|
||||
catch
|
||||
end_try_catch
|
||||
|
||||
-del_eb = dc.delete_EB;
|
||||
-
|
||||
f = dc.new_F();
|
||||
|
||||
try
|
||||
- del_f = dc.delete_F;
|
||||
+ del_f = dc.delete_F(f);
|
||||
error("Whoa. delete_F created")
|
||||
catch
|
||||
end_try_catch
|
||||
@@ -86,7 +72,7 @@ dc.F_destroy(f);
|
||||
g = dc.new_G();
|
||||
|
||||
try
|
||||
- del_g = dc.delete_G;
|
||||
+ del_g = dc.delete_G(g);
|
||||
error("Whoa. delete_G created")
|
||||
catch
|
||||
end_try_catch
|
||||
diff --git a/Lib/octave/octcontainer.swg b/Lib/octave/octcontainer.swg
|
||||
index 723256c..0211b33 100644
|
||||
--- a/Lib/octave/octcontainer.swg
|
||||
+++ b/Lib/octave/octcontainer.swg
|
||||
@@ -12,6 +12,7 @@
|
||||
* ----------------------------------------------------------------------------- */
|
||||
|
||||
%{
|
||||
+#include <climits>
|
||||
#include <iostream>
|
||||
%}
|
||||
|
||||
diff --git a/Lib/octave/octrun.swg b/Lib/octave/octrun.swg
|
||||
index b5c3e5d..ddfd489 100644
|
||||
--- a/Lib/octave/octrun.swg
|
||||
+++ b/Lib/octave/octrun.swg
|
||||
@@ -868,6 +868,17 @@ SWIGRUNTIME void swig_acquire_ownership_obj(void *vptr, int own);
|
||||
}
|
||||
|
||||
#if defined (HAVE_HDF5)
|
||||
+# if SWIG_OCTAVE_PREREQ(4,0,0)
|
||||
+ virtual bool
|
||||
+ save_hdf5 (octave_hdf5_id loc_id, const char *name, bool save_as_floats) {
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ virtual bool
|
||||
+ load_hdf5 (octave_hdf5_id loc_id, const char *name, bool have_h5giterate_bug) {
|
||||
+ return true;
|
||||
+ }
|
||||
+# else
|
||||
virtual bool
|
||||
save_hdf5 (hid_t loc_id, const char *name, bool save_as_floats) {
|
||||
return true;
|
||||
@@ -877,6 +888,7 @@ SWIGRUNTIME void swig_acquire_ownership_obj(void *vptr, int own);
|
||||
load_hdf5 (hid_t loc_id, const char *name, bool have_h5giterate_bug) {
|
||||
return true;
|
||||
}
|
||||
+# endif
|
||||
#endif
|
||||
|
||||
virtual octave_value convert_to_str(bool pad = false, bool force = false, char type = '"') const {
|
||||
@@ -969,7 +981,11 @@ SWIGRUNTIME void swig_acquire_ownership_obj(void *vptr, int own);
|
||||
return octave_value();
|
||||
}
|
||||
|
||||
+#if SWIG_OCTAVE_PREREQ(4,0,0)
|
||||
+ void print(std::ostream &os, bool pr_as_read_syntax = false) {
|
||||
+#else
|
||||
void print(std::ostream &os, bool pr_as_read_syntax = false) const {
|
||||
+#endif
|
||||
if (is_string()) {
|
||||
os << string_value();
|
||||
return;
|
||||
@@ -1089,6 +1105,15 @@ SWIGRUNTIME void swig_acquire_ownership_obj(void *vptr, int own);
|
||||
{ return ptr->load_binary(is, swap, fmt); }
|
||||
|
||||
#if defined (HAVE_HDF5)
|
||||
+# if SWIG_OCTAVE_PREREQ(4,0,0)
|
||||
+ virtual bool
|
||||
+ save_hdf5 (octave_hdf5_id loc_id, const char *name, bool save_as_floats)
|
||||
+ { return ptr->save_hdf5(loc_id, name, save_as_floats); }
|
||||
+
|
||||
+ virtual bool
|
||||
+ load_hdf5 (octave_hdf5_id loc_id, const char *name, bool have_h5giterate_bug)
|
||||
+ { return ptr->load_hdf5(loc_id, name, have_h5giterate_bug); }
|
||||
+# else
|
||||
virtual bool
|
||||
save_hdf5 (hid_t loc_id, const char *name, bool save_as_floats)
|
||||
{ return ptr->save_hdf5(loc_id, name, save_as_floats); }
|
||||
@@ -1096,6 +1121,7 @@ SWIGRUNTIME void swig_acquire_ownership_obj(void *vptr, int own);
|
||||
virtual bool
|
||||
load_hdf5 (hid_t loc_id, const char *name, bool have_h5giterate_bug)
|
||||
{ return ptr->load_hdf5(loc_id, name, have_h5giterate_bug); }
|
||||
+# endif
|
||||
#endif
|
||||
|
||||
virtual octave_value convert_to_str(bool pad = false, bool force = false, char type = '"') const
|
||||
@@ -1104,14 +1130,22 @@ SWIGRUNTIME void swig_acquire_ownership_obj(void *vptr, int own);
|
||||
virtual octave_value convert_to_str_internal(bool pad, bool force, char type) const
|
||||
{ return ptr->convert_to_str_internal(pad, force, type); }
|
||||
|
||||
+#if SWIG_OCTAVE_PREREQ(4,0,0)
|
||||
+ void print(std::ostream &os, bool pr_as_read_syntax = false)
|
||||
+#else
|
||||
void print(std::ostream &os, bool pr_as_read_syntax = false) const
|
||||
+#endif
|
||||
{ return ptr->print(os, pr_as_read_syntax); }
|
||||
|
||||
private:
|
||||
+#if !SWIG_OCTAVE_PREREQ(4,0,0)
|
||||
DECLARE_OCTAVE_ALLOCATOR;
|
||||
+#endif
|
||||
DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA;
|
||||
};
|
||||
+#if !SWIG_OCTAVE_PREREQ(4,0,0)
|
||||
DEFINE_OCTAVE_ALLOCATOR(octave_swig_ref);
|
||||
+#endif
|
||||
DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA(octave_swig_ref, "swig_ref", "swig_ref");
|
||||
|
||||
class octave_swig_packed:public octave_base_value {
|
||||
@@ -1143,7 +1177,11 @@ SWIGRUNTIME void swig_acquire_ownership_obj(void *vptr, int own);
|
||||
return true;
|
||||
}
|
||||
|
||||
+#if SWIG_OCTAVE_PREREQ(4,0,0)
|
||||
+ void print(std::ostream &os, bool pr_as_read_syntax = false) {
|
||||
+#else
|
||||
void print(std::ostream &os, bool pr_as_read_syntax = false) const {
|
||||
+#endif
|
||||
indent(os);
|
||||
os << "swig packed type: name = " << (type ? type->name : std::string()) << ", len = " << buf.size(); newline(os);
|
||||
}
|
||||
@@ -1167,6 +1205,17 @@ SWIGRUNTIME void swig_acquire_ownership_obj(void *vptr, int own);
|
||||
}
|
||||
|
||||
#if defined (HAVE_HDF5)
|
||||
+# if SWIG_OCTAVE_PREREQ(4,0,0)
|
||||
+ virtual bool
|
||||
+ save_hdf5 (octave_hdf5_id loc_id, const char *name, bool save_as_floats) {
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ virtual bool
|
||||
+ load_hdf5 (octave_hdf5_id loc_id, const char *name, bool have_h5giterate_bug) {
|
||||
+ return true;
|
||||
+ }
|
||||
+# else
|
||||
virtual bool
|
||||
save_hdf5 (hid_t loc_id, const char *name, bool save_as_floats) {
|
||||
return true;
|
||||
@@ -1176,13 +1225,18 @@ SWIGRUNTIME void swig_acquire_ownership_obj(void *vptr, int own);
|
||||
load_hdf5 (hid_t loc_id, const char *name, bool have_h5giterate_bug) {
|
||||
return true;
|
||||
}
|
||||
+# endif
|
||||
#endif
|
||||
|
||||
private:
|
||||
+#if !SWIG_OCTAVE_PREREQ(4,0,0)
|
||||
DECLARE_OCTAVE_ALLOCATOR;
|
||||
+#endif
|
||||
DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA;
|
||||
};
|
||||
+#if !SWIG_OCTAVE_PREREQ(4,0,0)
|
||||
DEFINE_OCTAVE_ALLOCATOR(octave_swig_packed);
|
||||
+#endif
|
||||
DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA(octave_swig_packed, "swig_packed", "swig_packed");
|
||||
|
||||
SWIGRUNTIME octave_value_list octave_set_immutable(const octave_value_list &args, int nargout) {
|
@ -39,13 +39,16 @@
|
||||
Summary: Connects C/C++/Objective C to some high-level programming languages
|
||||
Name: swig
|
||||
Version: 3.0.6
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
License: GPLv3+ and BSD
|
||||
URL: http://swig.sourceforge.net/
|
||||
Source0: http://downloads.sourceforge.net/project/swig/swig/swig-%{version}/swig-%{version}.tar.gz
|
||||
# Define the part of man page sections
|
||||
Source1: description.h2m
|
||||
Patch1: swig207-setools.patch
|
||||
# Octave 4.0.0 support
|
||||
# https://github.com/swig/swig/pull/460
|
||||
Patch2: swig-octave4.patch
|
||||
|
||||
BuildRequires: perl, python2-devel, pcre-devel
|
||||
BuildRequires: autoconf, automake, gawk, dos2unix
|
||||
@ -100,6 +103,7 @@ This package contains documentation for SWIG and useful examples
|
||||
%setup -q -n swig-%{version}
|
||||
|
||||
%patch1 -p1 -b .setools
|
||||
%patch2 -p1 -b .octave4
|
||||
|
||||
for all in CHANGES README; do
|
||||
iconv -f ISO88591 -t UTF8 < $all > $all.new
|
||||
@ -197,6 +201,9 @@ ln -fs ../../bin/ccache-swig %{buildroot}%{_libdir}/ccache/swig
|
||||
%doc Doc Examples LICENSE LICENSE-GPL LICENSE-UNIVERSITIES COPYRIGHT
|
||||
|
||||
%changelog
|
||||
* Fri Jul 10 2015 Orion Poplawski <orion@cora.nwra.com> - 3.0.6-2
|
||||
- Add patch for octave 4.0.0 support
|
||||
|
||||
* Mon Jul 06 2015 Björn Esser <bjoern.esser@gmail.com> - 3.0.6-1
|
||||
- Update to 3.0.6 (#1240107)
|
||||
- Dropped Patch2 and Patch3, changes applied in upstream tarball
|
||||
|
Loading…
Reference in New Issue
Block a user