From 4779b768e8dc6f9b9d3abfdd459a9987176965a0 Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Wed, 5 Jun 2013 16:20:32 +0200 Subject: [PATCH] Update to 2.0.10 --- .gitignore | 1 + sources | 2 +- swig-2.0.10-Fix-x390-build.patch | 12 +++++ swig.1 | 3 ++ swig.spec | 85 +++++++++++++++----------------- swig203-rh706140.patch | 30 ----------- swig204-rh752054.patch | 23 --------- 7 files changed, 57 insertions(+), 99 deletions(-) create mode 100644 swig-2.0.10-Fix-x390-build.patch delete mode 100644 swig203-rh706140.patch delete mode 100644 swig204-rh752054.patch diff --git a/.gitignore b/.gitignore index dc1a6a3..116ef5a 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/sources b/sources index bdd5bbf..7f6b56f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -54d534b14a70badc226129159412ea85 swig-2.0.9.tar.gz +6d5e7ad05b4a404e5e85db9befb70c9a swig-2.0.10.tar.gz diff --git a/swig-2.0.10-Fix-x390-build.patch b/swig-2.0.10-Fix-x390-build.patch new file mode 100644 index 0000000..194c4f6 --- /dev/null +++ b/swig-2.0.10-Fix-x390-build.patch @@ -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";; diff --git a/swig.1 b/swig.1 index ef20242..5b610b3 100644 --- a/swig.1 +++ b/swig.1 @@ -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 diff --git a/swig.spec b/swig.spec index 9b274b2..b10aabc 100644 --- a/swig.spec +++ b/swig.spec @@ -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 - 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 - 2.0.9-3 - Add man page for swig (BZ#948407) diff --git a/swig203-rh706140.patch b/swig203-rh706140.patch deleted file mode 100644 index 3f79da9..0000000 --- a/swig203-rh706140.patch +++ /dev/null @@ -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 { diff --git a/swig204-rh752054.patch b/swig204-rh752054.patch deleted file mode 100644 index 9b9ff43..0000000 --- a/swig204-rh752054.patch +++ /dev/null @@ -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;