Update to 2.0.3.
- swig202-rh691513.patch merged Signed-off-by: Adam Tkac <atkac@redhat.com>
This commit is contained in:
parent
6673f8a3f3
commit
e37152b0e8
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
swig-2.0.0.tar.gz
|
swig-2.0.0.tar.gz
|
||||||
/swig-2.0.1.tar.gz
|
/swig-2.0.1.tar.gz
|
||||||
/swig-2.0.2.tar.gz
|
/swig-2.0.2.tar.gz
|
||||||
|
/swig-2.0.3.tar.gz
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
eaf619a4169886923e5f828349504a29 swig-2.0.2.tar.gz
|
e548ea3882b994c4907d6be86bef90f2 swig-2.0.3.tar.gz
|
||||||
|
10
swig.spec
10
swig.spec
@ -3,8 +3,8 @@
|
|||||||
|
|
||||||
Summary: Connects C/C++/Objective C to some high-level programming languages
|
Summary: Connects C/C++/Objective C to some high-level programming languages
|
||||||
Name: swig
|
Name: swig
|
||||||
Version: 2.0.2
|
Version: 2.0.3
|
||||||
Release: 2%{?dist}
|
Release: 1%{?dist}
|
||||||
License: GPLv3+ and BSD
|
License: GPLv3+ and BSD
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
URL: http://swig.sourceforge.net/
|
URL: http://swig.sourceforge.net/
|
||||||
@ -12,7 +12,6 @@ Source: http://downloads.sourceforge.net/project/swig/swig/swig-%{version}/swig-
|
|||||||
Patch1: swig-1.3.23-pylib.patch
|
Patch1: swig-1.3.23-pylib.patch
|
||||||
Patch2: swig200-rh623854.patch
|
Patch2: swig200-rh623854.patch
|
||||||
Patch3: swig200-rh666429.patch
|
Patch3: swig200-rh666429.patch
|
||||||
Patch4: swig202-rh691513.patch
|
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
BuildRequires: perl, python-devel, pcre-devel
|
BuildRequires: perl, python-devel, pcre-devel
|
||||||
@ -47,7 +46,6 @@ This package contains documentation for SWIG and useful examples
|
|||||||
%patch1 -p1 -b .pylib
|
%patch1 -p1 -b .pylib
|
||||||
%patch2 -p1 -b .rh623854
|
%patch2 -p1 -b .rh623854
|
||||||
%patch3 -p1 -b .rh666429
|
%patch3 -p1 -b .rh666429
|
||||||
%patch4 -p1 -b .rh691513
|
|
||||||
|
|
||||||
# as written on https://fedoraproject.org/wiki/Packaging_talk:Perl, section 2
|
# as written on https://fedoraproject.org/wiki/Packaging_talk:Perl, section 2
|
||||||
# (specific req/prov filtering). Before you remove this hack make sure you don't
|
# (specific req/prov filtering). Before you remove this hack make sure you don't
|
||||||
@ -119,6 +117,10 @@ rm -rf %{buildroot}
|
|||||||
%doc Doc Examples LICENSE LICENSE-GPL LICENSE-UNIVERSITIES COPYRIGHT
|
%doc Doc Examples LICENSE LICENSE-GPL LICENSE-UNIVERSITIES COPYRIGHT
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Apr 22 2011 Adam Tkac <atkac redhat com> 2.0.3-1
|
||||||
|
- update to 2.0.3
|
||||||
|
- swig202-rh691513.patch merged
|
||||||
|
|
||||||
* Tue Mar 29 2011 Adam Tkac <atkac redhat com> 2.0.2-2
|
* Tue Mar 29 2011 Adam Tkac <atkac redhat com> 2.0.2-2
|
||||||
- bacport fix for preprocessor regression (#691513)
|
- bacport fix for preprocessor regression (#691513)
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
diff -up swig-2.0.1/Lib/python/pycontainer.swg.rh666429 swig-2.0.1/Lib/python/pycontainer.swg
|
diff -up swig-2.0.3/Lib/python/pycontainer.swg.rh666429 swig-2.0.3/Lib/python/pycontainer.swg
|
||||||
--- swig-2.0.1/Lib/python/pycontainer.swg.rh666429 2011-02-16 12:25:19.277091696 +0100
|
--- swig-2.0.3/Lib/python/pycontainer.swg.rh666429 2010-10-19 08:31:31.000000000 +0200
|
||||||
+++ swig-2.0.1/Lib/python/pycontainer.swg 2011-02-16 12:48:43.273926091 +0100
|
+++ swig-2.0.3/Lib/python/pycontainer.swg 2011-04-22 15:42:42.185982189 +0200
|
||||||
@@ -631,6 +631,7 @@ namespace swig
|
@@ -630,6 +630,7 @@ namespace swig
|
||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -9,7 +9,7 @@ diff -up swig-2.0.1/Lib/python/pycontainer.swg.rh666429 swig-2.0.1/Lib/python/py
|
|||||||
/* typemap for slice object support */
|
/* typemap for slice object support */
|
||||||
%typemap(in) PySliceObject* {
|
%typemap(in) PySliceObject* {
|
||||||
$1 = (PySliceObject *) $input;
|
$1 = (PySliceObject *) $input;
|
||||||
@@ -638,6 +639,7 @@ namespace swig
|
@@ -637,6 +638,7 @@ namespace swig
|
||||||
%typemap(typecheck,precedence=SWIG_TYPECHECK_POINTER) PySliceObject* {
|
%typemap(typecheck,precedence=SWIG_TYPECHECK_POINTER) PySliceObject* {
|
||||||
$1 = PySlice_Check($input);
|
$1 = PySlice_Check($input);
|
||||||
}
|
}
|
||||||
@ -17,7 +17,7 @@ diff -up swig-2.0.1/Lib/python/pycontainer.swg.rh666429 swig-2.0.1/Lib/python/py
|
|||||||
|
|
||||||
Sequence* __getslice__(difference_type i, difference_type j) throw (std::out_of_range) {
|
Sequence* __getslice__(difference_type i, difference_type j) throw (std::out_of_range) {
|
||||||
return swig::getslice(self, i, j);
|
return swig::getslice(self, i, j);
|
||||||
@@ -660,7 +662,11 @@ namespace swig
|
@@ -659,7 +661,11 @@ namespace swig
|
||||||
/* Overloaded methods for Python 3 compatibility
|
/* Overloaded methods for Python 3 compatibility
|
||||||
* (Also useful in Python 2.x)
|
* (Also useful in Python 2.x)
|
||||||
*/
|
*/
|
||||||
@ -29,7 +29,7 @@ diff -up swig-2.0.1/Lib/python/pycontainer.swg.rh666429 swig-2.0.1/Lib/python/py
|
|||||||
Py_ssize_t i, j, step;
|
Py_ssize_t i, j, step;
|
||||||
if( !PySlice_Check(slice) ) {
|
if( !PySlice_Check(slice) ) {
|
||||||
SWIG_Error(SWIG_TypeError, "Slice object expected.");
|
SWIG_Error(SWIG_TypeError, "Slice object expected.");
|
||||||
@@ -669,8 +675,11 @@ namespace swig
|
@@ -668,8 +674,11 @@ namespace swig
|
||||||
PySlice_GetIndices(slice, self->size(), &i, &j, &step);
|
PySlice_GetIndices(slice, self->size(), &i, &j, &step);
|
||||||
return swig::getslice(self, i, j);
|
return swig::getslice(self, i, j);
|
||||||
}
|
}
|
||||||
@ -42,7 +42,7 @@ diff -up swig-2.0.1/Lib/python/pycontainer.swg.rh666429 swig-2.0.1/Lib/python/py
|
|||||||
throw (std::out_of_range, std::invalid_argument) {
|
throw (std::out_of_range, std::invalid_argument) {
|
||||||
Py_ssize_t i, j, step;
|
Py_ssize_t i, j, step;
|
||||||
if( !PySlice_Check(slice) ) {
|
if( !PySlice_Check(slice) ) {
|
||||||
@@ -681,7 +690,11 @@ namespace swig
|
@@ -680,7 +689,11 @@ namespace swig
|
||||||
swig::setslice(self, i, j, v);
|
swig::setslice(self, i, j, v);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -54,10 +54,10 @@ diff -up swig-2.0.1/Lib/python/pycontainer.swg.rh666429 swig-2.0.1/Lib/python/py
|
|||||||
throw (std::out_of_range) {
|
throw (std::out_of_range) {
|
||||||
Py_ssize_t i, j, step;
|
Py_ssize_t i, j, step;
|
||||||
if( !PySlice_Check(slice) ) {
|
if( !PySlice_Check(slice) ) {
|
||||||
diff -up swig-2.0.1/Source/Modules/python.cxx.rh666429 swig-2.0.1/Source/Modules/python.cxx
|
diff -up swig-2.0.3/Source/Modules/python.cxx.rh666429 swig-2.0.3/Source/Modules/python.cxx
|
||||||
--- swig-2.0.1/Source/Modules/python.cxx.rh666429 2011-02-16 12:20:37.557740471 +0100
|
--- swig-2.0.3/Source/Modules/python.cxx.rh666429 2011-03-14 08:22:08.000000000 +0100
|
||||||
+++ swig-2.0.1/Source/Modules/python.cxx 2011-02-16 12:46:29.034224445 +0100
|
+++ swig-2.0.3/Source/Modules/python.cxx 2011-04-22 15:43:45.122661120 +0200
|
||||||
@@ -440,6 +440,7 @@ public:
|
@@ -438,6 +438,7 @@ public:
|
||||||
if (py3) {
|
if (py3) {
|
||||||
/* force disable features that not compatible with Python 3.x */
|
/* force disable features that not compatible with Python 3.x */
|
||||||
classic = 0;
|
classic = 0;
|
||||||
|
@ -1,212 +0,0 @@
|
|||||||
From 8f0beedbee985a73dc01e2f430311a69c8cebbd0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: wsfulton <wsfulton@626c5289-ae23-0410-ae9c-e8d60b6d4f22>
|
|
||||||
Date: Thu, 17 Mar 2011 07:33:05 +0000
|
|
||||||
Subject: [PATCH] Fix regression introduced in swig-2.0.2 where filenames with spaces were not found when used with %include and %import
|
|
||||||
|
|
||||||
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12546 626c5289-ae23-0410-ae9c-e8d60b6d4f22
|
|
||||||
|
|
||||||
Signed-off-by: Adam Tkac <atkac@redhat.com>
|
|
||||||
---
|
|
||||||
CHANGES.current | 4 ++
|
|
||||||
Examples/test-suite/preproc_include.i | 19 +++++++++
|
|
||||||
Examples/test-suite/preproc_include_d withspace.h | 3 +
|
|
||||||
Examples/test-suite/preproc_include_e withspace.h | 3 +
|
|
||||||
Examples/test-suite/preproc_include_f withspace.h | 3 +
|
|
||||||
Examples/test-suite/preproc_include_g.h | 3 +
|
|
||||||
.../test-suite/python/preproc_include_runme.py | 12 ++++++
|
|
||||||
Source/Preprocessor/cpp.c | 41 ++++++++++---------
|
|
||||||
8 files changed, 69 insertions(+), 19 deletions(-)
|
|
||||||
create mode 100644 Examples/test-suite/preproc_include_d withspace.h
|
|
||||||
create mode 100644 Examples/test-suite/preproc_include_e withspace.h
|
|
||||||
create mode 100644 Examples/test-suite/preproc_include_f withspace.h
|
|
||||||
create mode 100644 Examples/test-suite/preproc_include_g.h
|
|
||||||
|
|
||||||
diff --git a/Examples/test-suite/preproc_include.i b/Examples/test-suite/preproc_include.i
|
|
||||||
index c6b08b5..86c5f71 100644
|
|
||||||
--- a/Examples/test-suite/preproc_include.i
|
|
||||||
+++ b/Examples/test-suite/preproc_include.i
|
|
||||||
@@ -6,6 +6,8 @@
|
|
||||||
int multiply10(int a) { return a*10; }
|
|
||||||
int multiply20(int a) { return a*20; }
|
|
||||||
int multiply30(int a) { return a*30; }
|
|
||||||
+int multiply40(int a) { return a*40; }
|
|
||||||
+int multiply50(int a) { return a*50; }
|
|
||||||
%}
|
|
||||||
|
|
||||||
#define INCLUDE_B preproc_include_b.h
|
|
||||||
@@ -16,3 +18,20 @@ int multiply30(int a) { return a*30; }
|
|
||||||
// Note that this test uses -includeall, so including preproc_include_b.h also includes preproc_include_c.h
|
|
||||||
%include INCLUDE_B
|
|
||||||
|
|
||||||
+%include"preproc_include_d withspace.h"
|
|
||||||
+
|
|
||||||
+#define INCLUDE_E "preproc_include_e withspace.h"
|
|
||||||
+
|
|
||||||
+%include INCLUDE_E
|
|
||||||
+
|
|
||||||
+%inline %{
|
|
||||||
+#define INCLUDE_F /*comments*/ "preproc_include_f withspace.h"/*testing*/
|
|
||||||
+#include INCLUDE_F
|
|
||||||
+#include /*oooo*/"preproc_include_g.h"/*ahhh*/
|
|
||||||
+%}
|
|
||||||
+
|
|
||||||
+%{
|
|
||||||
+int multiply60(int a) { return a*60; }
|
|
||||||
+int multiply70(int a) { return a*70; }
|
|
||||||
+%}
|
|
||||||
+
|
|
||||||
diff --git a/Examples/test-suite/preproc_include_d withspace.h b/Examples/test-suite/preproc_include_d withspace.h
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..142ddd5
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/Examples/test-suite/preproc_include_d withspace.h
|
|
||||||
@@ -0,0 +1,3 @@
|
|
||||||
+
|
|
||||||
+int multiply40(int a);
|
|
||||||
+
|
|
||||||
diff --git a/Examples/test-suite/preproc_include_e withspace.h b/Examples/test-suite/preproc_include_e withspace.h
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..d749765
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/Examples/test-suite/preproc_include_e withspace.h
|
|
||||||
@@ -0,0 +1,3 @@
|
|
||||||
+
|
|
||||||
+int multiply50(int a);
|
|
||||||
+
|
|
||||||
diff --git a/Examples/test-suite/preproc_include_f withspace.h b/Examples/test-suite/preproc_include_f withspace.h
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..8a39a34
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/Examples/test-suite/preproc_include_f withspace.h
|
|
||||||
@@ -0,0 +1,3 @@
|
|
||||||
+
|
|
||||||
+int multiply60(int a);
|
|
||||||
+
|
|
||||||
diff --git a/Examples/test-suite/preproc_include_g.h b/Examples/test-suite/preproc_include_g.h
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..db4f914
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/Examples/test-suite/preproc_include_g.h
|
|
||||||
@@ -0,0 +1,3 @@
|
|
||||||
+
|
|
||||||
+int multiply70(int a);
|
|
||||||
+
|
|
||||||
diff --git a/Examples/test-suite/python/preproc_include_runme.py b/Examples/test-suite/python/preproc_include_runme.py
|
|
||||||
index e156065..778de3c 100644
|
|
||||||
--- a/Examples/test-suite/python/preproc_include_runme.py
|
|
||||||
+++ b/Examples/test-suite/python/preproc_include_runme.py
|
|
||||||
@@ -9,3 +9,15 @@ if preproc_include.multiply20(10) != 200:
|
|
||||||
if preproc_include.multiply30(10) != 300:
|
|
||||||
raise RuntimeError
|
|
||||||
|
|
||||||
+if preproc_include.multiply40(10) != 400:
|
|
||||||
+ raise RuntimeError
|
|
||||||
+
|
|
||||||
+if preproc_include.multiply50(10) != 500:
|
|
||||||
+ raise RuntimeError
|
|
||||||
+
|
|
||||||
+if preproc_include.multiply60(10) != 600:
|
|
||||||
+ raise RuntimeError
|
|
||||||
+
|
|
||||||
+if preproc_include.multiply70(10) != 700:
|
|
||||||
+ raise RuntimeError
|
|
||||||
+
|
|
||||||
diff --git a/Source/Preprocessor/cpp.c b/Source/Preprocessor/cpp.c
|
|
||||||
index 752c95e..8d2346c 100644
|
|
||||||
--- a/Source/Preprocessor/cpp.c
|
|
||||||
+++ b/Source/Preprocessor/cpp.c
|
|
||||||
@@ -93,8 +93,6 @@ static String *cpp_include(const_String_or_char_ptr fn, int sysfile) {
|
|
||||||
Setattr(included_files, file, file);
|
|
||||||
}
|
|
||||||
if (!s) {
|
|
||||||
- /* XXX(bhy) may not need the seek */
|
|
||||||
- /* Seek(fn, 0, SEEK_SET); */
|
|
||||||
if (ignore_missing) {
|
|
||||||
Swig_warning(WARN_PP_MISSING_FILE, Getfile(fn), Getline(fn), "Unable to find '%s'\n", fn);
|
|
||||||
} else {
|
|
||||||
@@ -665,11 +663,30 @@ static String *get_filename(String *str, int *sysfile) {
|
|
||||||
while (((c = Getc(str)) != EOF) && (c != '>'))
|
|
||||||
Putc(c, fn);
|
|
||||||
} else {
|
|
||||||
+ String *preprocessed_str;
|
|
||||||
Putc(c, fn);
|
|
||||||
while (((c = Getc(str)) != EOF) && (!isspace(c)))
|
|
||||||
Putc(c, fn);
|
|
||||||
if (isspace(c))
|
|
||||||
Ungetc(c, str);
|
|
||||||
+ preprocessed_str = Preprocessor_replace(fn);
|
|
||||||
+ Seek(preprocessed_str, 0, SEEK_SET);
|
|
||||||
+ Delete(fn);
|
|
||||||
+
|
|
||||||
+ fn = NewStringEmpty();
|
|
||||||
+ copy_location(preprocessed_str, fn);
|
|
||||||
+ c = Getc(preprocessed_str);
|
|
||||||
+ if (c == '\"') {
|
|
||||||
+ while (((c = Getc(preprocessed_str)) != EOF) && (c != '\"'))
|
|
||||||
+ Putc(c, fn);
|
|
||||||
+ } else if (c == '<') {
|
|
||||||
+ *sysfile = 1;
|
|
||||||
+ while (((c = Getc(preprocessed_str)) != EOF) && (c != '>'))
|
|
||||||
+ Putc(c, fn);
|
|
||||||
+ } else {
|
|
||||||
+ fn = Copy(preprocessed_str);
|
|
||||||
+ }
|
|
||||||
+ Delete(preprocessed_str);
|
|
||||||
}
|
|
||||||
Swig_filename_unescape(fn);
|
|
||||||
Swig_filename_correct(fn);
|
|
||||||
@@ -1689,14 +1706,12 @@ String *Preprocessor_parse(String *s) {
|
|
||||||
String *s1, *s2, *fn;
|
|
||||||
char *dirname;
|
|
||||||
int sysfile = 0;
|
|
||||||
- String *filename_processed;
|
|
||||||
if (include_all && import_all) {
|
|
||||||
Swig_warning(WARN_PP_INCLUDEALL_IMPORTALL, Getfile(s), Getline(id), "Both includeall and importall are defined: using includeall.\n");
|
|
||||||
import_all = 0;
|
|
||||||
}
|
|
||||||
- filename_processed = Preprocessor_replace(value);
|
|
||||||
- Seek(filename_processed, 0, SEEK_SET);
|
|
||||||
- fn = get_filename(filename_processed, &sysfile);
|
|
||||||
+ Seek(value, 0, SEEK_SET);
|
|
||||||
+ fn = get_filename(value, &sysfile);
|
|
||||||
s1 = cpp_include(fn, sysfile);
|
|
||||||
if (s1) {
|
|
||||||
if (include_all)
|
|
||||||
@@ -1827,8 +1842,6 @@ String *Preprocessor_parse(String *s) {
|
|
||||||
DOH *s1, *s2, *fn, *opt;
|
|
||||||
String *options_whitespace = NewStringEmpty();
|
|
||||||
String *filename_whitespace = NewStringEmpty();
|
|
||||||
- String *filename_unprocessed = NewStringEmpty();
|
|
||||||
- String *filename_processed;
|
|
||||||
int sysfile = 0;
|
|
||||||
|
|
||||||
if (Equal(decl, kpp_dextern)) {
|
|
||||||
@@ -1840,15 +1853,7 @@ String *Preprocessor_parse(String *s) {
|
|
||||||
opt = get_options(s);
|
|
||||||
|
|
||||||
skip_whitespace(s, filename_whitespace);
|
|
||||||
- copy_location(s, filename_unprocessed);
|
|
||||||
- while (((c = Getc(s)) != EOF) && (!isspace(c)))
|
|
||||||
- Putc(c, filename_unprocessed);
|
|
||||||
- if (isspace(c))
|
|
||||||
- Ungetc(c, s);
|
|
||||||
- filename_processed = Preprocessor_replace(filename_unprocessed);
|
|
||||||
- Seek(filename_processed, 0, SEEK_SET);
|
|
||||||
-
|
|
||||||
- fn = get_filename(filename_processed, &sysfile);
|
|
||||||
+ fn = get_filename(s, &sysfile);
|
|
||||||
s1 = cpp_include(fn, sysfile);
|
|
||||||
if (s1) {
|
|
||||||
char *dirname;
|
|
||||||
@@ -1878,8 +1883,6 @@ String *Preprocessor_parse(String *s) {
|
|
||||||
Delete(s1);
|
|
||||||
}
|
|
||||||
Delete(fn);
|
|
||||||
- Delete(filename_processed);
|
|
||||||
- Delete(filename_unprocessed);
|
|
||||||
Delete(filename_whitespace);
|
|
||||||
Delete(options_whitespace);
|
|
||||||
}
|
|
||||||
--
|
|
||||||
1.7.4.2
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user