Update to 2.0.10

This commit is contained in:
Jitka Plesnikova 2013-06-05 16:20:32 +02:00
parent 90fe4e5912
commit 4779b768e8
7 changed files with 57 additions and 99 deletions

1
.gitignore vendored
View File

@ -8,3 +8,4 @@ swig-2.0.0.tar.gz
/swig-2.0.7.tar.gz
/swig-2.0.8.tar.gz
/swig-2.0.9.tar.gz
/swig-2.0.10.tar.gz

View File

@ -1 +1 @@
54d534b14a70badc226129159412ea85 swig-2.0.9.tar.gz
6d5e7ad05b4a404e5e85db9befb70c9a swig-2.0.10.tar.gz

View File

@ -0,0 +1,12 @@
diff -up swig-2.0.10/configure.ac.orig swig-2.0.10/configure.ac
--- swig-2.0.10/configure.ac.orig 2013-06-05 14:04:47.707542473 +0200
+++ swig-2.0.10/configure.ac 2013-06-05 14:07:20.338761781 +0200
@@ -274,6 +274,8 @@ then
then CCSHARED="-fpic"
else CCSHARED="+z"
fi;;
+ s390x*-*-*) CCSHARED="-fpic" ;;
+ s390*-*-*) CCSHARED="-fPIC" ;;
*-*-linux*) CCSHARED="-fpic";;
*-*-freebsd* | *-*-openbsd*) CCSHARED="-fpic";;
*-*-netbsd*) CCSHARED="-fPIC";;

3
swig.1
View File

@ -236,6 +236,9 @@ Like \(cq\&-MD\(cq\&, but omit files in SWIG library
.BI "\-module " name
Set module name to \fIname\fR
.TP
.B \-MP
Generate phony targets for all dependencies
.TP
.BI "\-MT " target
Set the target of the rule emitted by dependency generation
.TP

View File

@ -8,19 +8,18 @@
%endif
Summary: Connects C/C++/Objective C to some high-level programming languages
Name: swig
Version: 2.0.9
Release: 3%{?dist}
Name: swig
Version: 2.0.10
Release: 1%{?dist}
License: GPLv3+ and BSD
Group: Development/Tools
URL: http://swig.sourceforge.net/
Group: Development/Tools
URL: http://swig.sourceforge.net/
Source0: http://downloads.sourceforge.net/project/swig/swig/swig-%{version}/swig-%{version}.tar.gz
Source1: swig.1
Patch4: swig203-rh706140.patch
Patch6: swig204-rh752054.patch
Patch9: swig207-setools.patch
Patch1: swig207-setools.patch
# Fix the failure on arch x390 during testing
Patch2: swig-2.0.10-Fix-x390-build.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: perl, python-devel, pcre-devel
%if %{tcl}
BuildRequires: tcl-devel
@ -32,20 +31,24 @@ BuildRequires: autoconf, automake, gawk, dos2unix
%if %{octave}
BuildRequires: octave-devel
%endif
# Tests
BuildRequires: perl-devel
BuildRequires: perl(Test::More)
BuildRequires: boost-devel
%description
Simplified Wrapper and Interface Generator (SWIG) is a software
development tool for connecting C, C++ and Objective C programs with a
variety of high-level programming languages. SWIG is primarily used
with Perl, Python and Tcl/TK, but it has also been extended to Java,
Eiffel and Guile. SWIG is normally used to create high-level
Eiffel and Guile. SWIG is normally used to create high-level
interpreted programming environments, systems integration, and as a
tool for building user interfaces
%package doc
Summary: Documentation files for SWIG
License: BSD
Group: Development/Tools
Summary: Documentation files for SWIG
License: BSD
Group: Development/Tools
BuildArch: noarch
%description doc
@ -53,51 +56,42 @@ This package contains documentation for SWIG and useful examples
%prep
%setup -q -n swig-%{version}
%patch4 -p1 -b .rh706140
# Apply patch 6 when guile2 gets into distro
#%patch6 -p1 -b .rh752054
%patch9 -p1 -b .setools
%patch1 -p1 -b .setools
%patch2 -p1 -b .x390
# 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
# reintroduce https://bugzilla.redhat.com/show_bug.cgi?id=489421
cat << \EOF > %{name}-prov
#!/bin/sh
%{__perl_provides} `perl -p -e 's|\S+%{_docdir}/%{name}-doc-%{version}\S+||'`
EOF
%define __perl_provides %{_builddir}/%{name}-%{version}/%{name}-prov
chmod +x %{__perl_provides}
cat << \EOF > %{name}-req
#!/bin/sh
%{__perl_requires} `perl -p -e 's|\S+%{_docdir}/%{name}-doc-%{version}\S+||'`
EOF
%define __perl_requires %{_builddir}/%{name}-%{version}/%{name}-req
chmod +x %{__perl_requires}
%global __provides_exclude_from %{_docdir}/%{name}-doc-%{version}
%global __requires_exclude_from %{_docdir}/%{name}-doc-%{version}
for all in CHANGES README; do
iconv -f ISO88591 -t UTF8 < $all > $all.new
touch -r $all $all.new
mv -f $all.new $all
iconv -f ISO88591 -t UTF8 < $all > $all.new
touch -r $all $all.new
mv -f $all.new $all
done
%build
./autogen.sh
# Disable maximum compile warnings when octave is supported, because Octave
# code produces lots of the warnings demanded by strict ISO C and ISO C++.
# It causes that log had more then 600M.
%configure \
%if %{octave}
--with-octave=/usr/bin/octave \
--without-maximum-compile-warnings \
%endif
;
make %{?_smp_mflags}
# Test suite is currently broken
#make check
# Test suite
make check
%install
rm -rf %{buildroot}
# Remove all arch dependent files in Examples/ created during tests
make clean-examples
pushd Examples/
# Remove all arch dependent files in Examples/
@ -110,8 +104,8 @@ find -type f -name '*.dsw' | xargs rm -f --
# Convert files to UNIX format
for all in `find -type f`; do
dos2unix -k $all
chmod -x $all
dos2unix -k $all
chmod -x $all
done
popd
@ -122,11 +116,7 @@ mkdir -p %{buildroot}%{_mandir}/man1/
install -p -m 0644 %{SOURCE1} %{buildroot}%{_mandir}/man1/
gzip %{buildroot}%{_mandir}/man1/$(basename %{SOURCE1})
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%{_bindir}/*
%{_datadir}/swig
%{_mandir}/man1/ccache-swig.1*
@ -135,10 +125,15 @@ rm -rf %{buildroot}
%doc LICENSE-UNIVERSITIES COPYRIGHT README TODO
%files doc
%defattr(-,root,root,-)
%doc Doc Examples LICENSE LICENSE-GPL LICENSE-UNIVERSITIES COPYRIGHT
%changelog
* Fri May 31 2013 Jitka Plesnikova <jplesnik@redhat.com> - 2.0.10-1
- Update to 2.0.10
- swig203-rh706140.patch merged
- swig204-rh752054.patch merged
- Create swig-2.0.10-Fix-x390-build.patch
* Fri May 24 2013 Jitka Plesnikova <jplesnik@redhat.com> - 2.0.9-3
- Add man page for swig (BZ#948407)

View File

@ -1,30 +0,0 @@
diff -up swig-2.0.3/Lib/guile/guile_gh_run.swg.rh706140 swig-2.0.3/Lib/guile/guile_gh_run.swg
--- swig-2.0.3/Lib/guile/guile_gh_run.swg.rh706140 2011-05-20 15:16:42.300658987 +0200
+++ swig-2.0.3/Lib/guile/guile_gh_run.swg 2011-05-20 15:17:08.609658991 +0200
@@ -15,7 +15,11 @@
extern "C" {
#endif
+#if SCM_MAJOR_VERSION >= 2
+typedef scm_t_subr swig_guile_proc;
+#else
typedef SCM (*swig_guile_proc)();
+#endif
#define SWIG_malloc(size) \
SCM_MUST_MALLOC(size)
diff -up swig-2.0.3/Lib/guile/guile_scm_run.swg.rh706140 swig-2.0.3/Lib/guile/guile_scm_run.swg
--- swig-2.0.3/Lib/guile/guile_scm_run.swg.rh706140 2011-05-20 15:17:22.057658991 +0200
+++ swig-2.0.3/Lib/guile/guile_scm_run.swg 2011-05-20 15:17:46.183658997 +0200
@@ -12,7 +12,11 @@
extern "C" {
#endif
+#if SCM_MAJOR_VERSION >= 2
+typedef scm_t_subr swig_guile_proc;
+#else
typedef SCM (*swig_guile_proc)();
+#endif
typedef SCM (*guile_destructor)(SCM);
typedef struct swig_guile_clientdata {

View File

@ -1,23 +0,0 @@
diff -up swig-2.0.4/Lib/guile/guile_scm_run.swg.rh752054 swig-2.0.4/Lib/guile/guile_scm_run.swg
--- swig-2.0.4/Lib/guile/guile_scm_run.swg.rh752054 2011-11-14 14:44:35.688597584 +0100
+++ swig-2.0.4/Lib/guile/guile_scm_run.swg 2011-11-14 14:45:15.879594778 +0100
@@ -64,7 +64,7 @@ static swig_module_info *SWIG_Guile_GetM
SWIGINTERN char *
SWIG_Guile_scm2newstr(SCM str, size_t *len) {
#define FUNC_NAME "SWIG_Guile_scm2newstr"
- char *ret;
+ char *ret, *tmp;
size_t l;
SCM_ASSERT (SCM_STRINGP(str), str, 1, FUNC_NAME);
@@ -73,7 +73,9 @@ SWIG_Guile_scm2newstr(SCM str, size_t *l
ret = (char *) SWIG_malloc( (l + 1) * sizeof(char));
if (!ret) return NULL;
- memcpy(ret, SCM_STRING_CHARS(str), l);
+ tmp = scm_to_utf8_string(str);
+ memcpy(ret, tmp, l);
+ free(tmp);
ret[l] = '\0';
if (len) *len = l;
return ret;