Compare commits

...

79 Commits
f20 ... master

Author SHA1 Message Date
Jitka Plesnikova
84ea8a4c67 Backport upstream fix for Go tests (BZ#1736731) 2019-08-12 14:34:44 +02:00
Jitka Plesnikova
9f07bb8030 Disable Go tests 2019-08-07 12:58:20 +02:00
Fedora Release Engineering
02347479a3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-27 00:42:01 +00:00
Jitka Plesnikova
17b9b5c606 Updated package description 2019-06-05 15:27:55 +02:00
Jitka Plesnikova
315c07294e Update package description 2019-05-14 08:40:21 +02:00
Jitka Plesnikova
bc26ef20c1 Update to 4.0.0 2019-05-06 08:17:06 +02:00
Jitka Plesnikova
df96fc9c40 Update to 4.0.0 2019-05-03 14:52:42 +02:00
Orion Poplawski
b74d8bc1be Add patches for octave 5.1 support 2019-04-27 08:50:12 -06:00
Fedora Release Engineering
e084217e71 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-03 09:07:04 +00:00
Igor Gnatenko
baabb14839 Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:24:51 +01:00
Jonathan Wakely
5a0337f3d0 Rebuilt for Boost 1.69 2019-01-25 08:26:34 +00:00
Jitka Plesnikova
e01a76a62b Add support for Octave 4.4 2018-11-15 10:46:14 +01:00
Fedora Release Engineering
a4db9fed81 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-14 07:04:31 +00:00
Miro Hrončok
d4147f8e97 Rebuilt for Python 3.7 2018-07-02 18:24:13 +02:00
Jitka Plesnikova
c80675afb5 Disable using of Python 2 2018-06-22 16:59:36 +02:00
Jitka Plesnikova
34dd3b20b7 Disable using of Python 2 2018-06-22 16:56:24 +02:00
Miro Hrončok
240dde22fb Rebuilt for Python 3.7 2018-06-19 11:28:02 +02:00
Jitka Plesnikova
54392e7afe Backport upstream Coverity fixes; Do not build ccache-swig on RHEL 2018-04-25 09:20:36 +02:00
Jitka Plesnikova
9d7264020b Fix configure to properly check version of Go 1.10; Update conditions for tests 2018-02-15 09:18:18 +01:00
Fedora Release Engineering
f3809a515c - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-09 18:11:54 +00:00
Jonathan Wakely
117a26f825 Rebuilt for Boost 1.66 2018-01-23 12:20:46 +00:00
Jitka Plesnikova
3729515865 Disable PHP tests, because they fail with PHP 7.2-RCx 2017-11-22 08:20:47 +01:00
Jitka Plesnikova
1c915ba221 Fix generated code for constant expressions containing wchar_t L literals 2017-09-25 07:51:20 +02:00
Jared K. Smith
9f0aa1bdd1 Bump revision and add changelog entry for patch 2017-09-06 21:29:38 -04:00
Jared K. Smith
14231323b5 Add patch to support NodeJS versions 7 and 8 2017-09-06 21:28:38 -04:00
Fedora Release Engineering
cc9e686631 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-03 09:01:29 +00:00
Fedora Release Engineering
f1e1b711da - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-27 19:43:51 +00:00
Petr Písař
6d2a9571f5 perl dependency renamed to perl-interpreter <https://fedoraproject.org/wiki/Changes/perl_Package_to_Install_Core_Modules> 2017-07-12 14:17:13 +02:00
Jitka Plesnikova
c8c0cd2376 Fixed tests to building on Perl 5.26 without dot in INC 2017-06-14 16:31:06 +02:00
Fedora Release Engineering
de4494ca6c - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild 2017-05-15 21:10:16 +00:00
Björn Esser
0d5f480a20 Rebuilt for bootstrapping new arch: s390x 2017-04-29 11:31:31 +02:00
Björn Esser
0cff5487b1 Rebuilt with R-testsuite enabled 2017-02-14 00:35:03 +01:00
Fedora Release Engineering
07b9fc4e89 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-11 14:18:14 +00:00
Björn Esser
6a42cb5a0f Rebuilt with Octave-testsuite enabled 2017-02-01 19:20:13 +01:00
Björn Esser
5e0fbc9841 Rebuilt for Boost 1.63 2017-01-29 09:14:17 +01:00
Björn Esser
5bfe6f97eb Build without Octave and R testsuite, since they are broken due to GCC-7 2017-01-29 09:12:27 +01:00
Björn Esser
305ca7df35 Rebuilt for Boost 1.63 2017-01-28 10:19:01 +01:00
Björn Esser
5eee769a67 Fix date in %%changelog 2017-01-28 10:08:17 +01:00
Björn Esser
8c07470f4a Update to 3.0.12
Drop Patch1 and Patch2, applied in upstream-tarball
2017-01-28 09:53:36 +01:00
Björn Esser
827e4e4e8b Backported changes from upstream into swig-3.0.11_octave42.patch 2017-01-15 10:06:37 +01:00
Björn Esser
d0077f8075 Modify swig-3.0.11_octave42.patch to pass testsuite and adapt fuzz 2017-01-14 23:53:18 +01:00
Björn Esser
dfde9f6191 Add Patch1 from upstream
Do not dump Octave core in examples/test suite scripts
Add Patch2 for Fedora >= 26, backported from upstream
  Support for Octave 4.2
2017-01-14 22:42:01 +01:00
Björn Esser
65e54ee746 Add Patch1 for Fedora >= 26, backported from upstream
Support for Octave 4.2
2017-01-14 19:51:47 +01:00
Jitka Plesnikova
c372e6f0cd Disable guile tests (fail randomly) 2017-01-04 15:31:57 +01:00
Jitka Plesnikova
370a127789 Update to 3.0.11; Add support for PHP 7 2017-01-04 13:26:34 +01:00
Jitka Plesnikova
3f2091f80f Sub-package file swig.gdb (bug #1332673) 2016-10-20 17:01:15 +02:00
Jitka Plesnikova
00cff92a60 Update to 3.0.10 2016-06-13 12:15:33 +02:00
Jitka Plesnikova
7d5ee86e80 Fix Ruby opaque pointer handling (bug #1299502) 2016-05-25 15:39:48 +02:00
Jitka Plesnikova
0f58a1b11c Add support for Go 1.6 2016-04-18 15:58:40 +02:00
Jitka Plesnikova
341524bf5d Do not build R, Java and Go on MIPS (bug #1316852) 2016-03-11 12:47:02 +01:00
Jitka Plesnikova
fe618e8c35 Used updated upstream fix for GCC 6 issue 2016-03-01 14:16:29 +01:00
Jitka Plesnikova
0bf467bbf3 Patched to build against GCC 6; Disable Go tests 2016-02-23 12:46:21 +01:00
Fedora Release Engineering
b599c5bade - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-05 01:03:33 +00:00
Jitka Plesnikova
2fd0bd2c61 Move ccache-swig to sub-package; Generate man page for ccache-swig from help 2016-01-14 12:43:29 +01:00
Jitka Plesnikova
1c6f4b8217 3.0.8 bump 2016-01-06 15:01:26 +01:00
Björn Esser
1e0fea7d84 fix hunk-offsets in patches 2015-12-06 14:49:43 +01:00
Björn Esser
033e781f79 Python 3.5, -builtin, excess elements in struct initializer
Fix incorrect director_classic_runme.py test
Python SystemError fix with -builtin
size_type-correction for SwigPySequence_Cont
Python use Py_ssize_t instead of int for better portability
Add python inplace-operator caveats to pyopers.swg
2015-12-06 13:49:00 +01:00
Jitka Plesnikova
dade8d0afe Ignore locally installed ccache when running CCache unit tests (bz#1274031) 2015-10-22 12:05:20 +02:00
Jitka Plesnikova
d90daf88d3 Remove swig207-setools.patch 2015-09-18 12:04:08 +02:00
Jitka Plesnikova
9ae77f1c64 Remove the old setools patch; Resolves: bz#1180257 2015-09-18 11:48:23 +02:00
Jitka Plesnikova
0c140872c0 Fix Ruby tracking code (BZ#1225140) 2015-09-15 08:10:56 +02:00
Jonathan Wakely
2fa3b57593 Rebuilt for Boost 1.59 2015-09-03 14:24:21 +01:00
Jitka Plesnikova
3fcb6f959c Disable Ruby tests 2015-09-03 09:06:21 +02:00
Jonathan Wakely
484ab22936 Rebuilt for Boost 1.59 2015-08-27 20:02:03 +01:00
Jonathan Wakely
9e1a472a5d Rebuilt for Boost 1.58 2015-08-05 20:49:48 +01:00
Björn Esser
25f02e7eb4 Resolve merge-conflict between f23 and master 2015-08-04 07:28:28 +02:00
Björn Esser
917f24662c Update to 3.0.7 (#1249845)
Dropped Patch2, changes applied in upstream tarball
2015-08-04 07:21:37 +02:00
Dennis Gilmore
cf8ece3dbf - Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 2015-07-29 13:24:47 -05:00
Dennis Gilmore
addd9ffa3c - Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 2015-07-29 13:24:37 -05:00
Jitka Plesnikova
541024e38a rebuild for Boost 1.58 2015-07-23 12:13:31 +02:00
Jitka Plesnikova
c268da3d2b rebuild for Boost 1.58 2015-07-23 12:09:54 +02:00
Jitka Plesnikova
3c6c9a3acd Disable Ruby tests of Fedora 23 and higher when building on armv7; Update list of Perl dependencies 2015-07-23 11:10:30 +02:00
Jitka Plesnikova
e82af05efd Update list of Perl dependencies 2015-07-23 10:32:09 +02:00
Jitka Plesnikova
bc44dd170c Disable Ruby tests of Fedora 23 and higher when building on armv7 2015-07-23 09:00:49 +02:00
David Tardon
7f5809fc2f rebuild for Boost 1.58 2015-07-22 19:38:38 +02:00
Orion Poplawski
bf560fda6f Add patch for octave 4.0.0 support 2015-07-10 11:59:05 -06:00
Björn Esser
e971d9a497 Update to 3.0.6 (#1240107)
Dropped Patch2 and Patch3, changes applied in upstream tarball
2015-07-06 08:35:37 +02:00
Dennis Gilmore
42c6ee5dc2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-19 02:14:01 +00:00
Dan Horák
86b3e64742 - skip ruby also on s390 (#1225140) 2015-05-26 20:30:58 +02:00
15 changed files with 3224 additions and 206 deletions

8
.gitignore vendored
View File

@ -15,3 +15,11 @@ swig-2.0.0.tar.gz
/swig-3.0.1.tar.gz
/swig-3.0.2.tar.gz
/swig-3.0.5.tar.gz
/swig-3.0.6.tar.gz
/swig-3.0.7.tar.gz
/swig-3.0.8.tar.gz
/swig-3.0.9.tar.gz
/swig-3.0.10.tar.gz
/swig-3.0.11.tar.gz
/swig-3.0.12.tar.gz
/swig-4.0.0.tar.gz

4
ccache-swig.csh Normal file
View File

@ -0,0 +1,4 @@
# Use ccache-swig by default. Users who don't want that can setenv the
# CCACHE_DISABLE environment variable in their personal profile.
alias swig 'ccache-swig swig'

4
ccache-swig.sh Normal file
View File

@ -0,0 +1,4 @@
# Use ccache-swig by default. Users who don't want that can set the
# CCACHE_DISABLE environment variable in their personal profile.
alias swig='ccache-swig swig'

12
description-ccache.h2m Normal file
View File

@ -0,0 +1,12 @@
[name]
ccache-swig - a fast compiler cache
[description]
ccache-swig is a compiler cache. It speeds up re-compilation of C/C++/SWIG
code by caching previous compiles and detecting when the same compile is
being done again. ccache-swig is ccache plus support for SWIG.
[notes]
For more information, see @DOCDIR@/swig-doc/Doc/Manual/CCache.html from the
swig-doc package.

View File

@ -1 +1 @@
dcb9638324461b9baba8e044fe59031d swig-3.0.5.tar.gz
SHA512 (swig-4.0.0.tar.gz) = c897b87fb8b21caf8d1bee2c39cb9675a3b0ee047110e808c310a2787f8b89585738726e9f517c64e9d2f1b8311136365c569528f399b444b1081f69689b7165

View File

@ -1,12 +0,0 @@
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";;

View File

@ -1,109 +0,0 @@
From 416277b3a56646c2934ca9ee542a3f36d4f9a436 Mon Sep 17 00:00:00 2001
From: William S Fulton <wsf@fultondesigns.co.uk>
Date: Fri, 24 Apr 2015 21:08:17 +0100
Subject: [PATCH] Python code generated with '-builtin -modernargs' segfaults
for any method taking zero arguments.
Also fixes: "SystemError: error return without exception set" during error checking
when using just -builtin and the incorrect number of arguments is passed to a class
method expecting zero arguments.
Closes #256
Closes #382
---
CHANGES.current | 8 ++++
.../test-suite/python/template_classes_runme.py | 44 ++++++++++++++++++++++
Examples/test-suite/template_classes.i | 3 ++
Source/Modules/python.cxx | 14 +++----
4 files changed, 61 insertions(+), 8 deletions(-)
create mode 100644 Examples/test-suite/python/template_classes_runme.py
diff --git a/Examples/test-suite/python/template_classes_runme.py b/Examples/test-suite/python/template_classes_runme.py
new file mode 100644
index 0000000..9c04fee
--- /dev/null
+++ b/Examples/test-suite/python/template_classes_runme.py
@@ -0,0 +1,44 @@
+from template_classes import *
+
+# This test is just testing incorrect number of arguments/parameters checking
+
+point = PointInt()
+
+rectangle = RectangleInt()
+rectangle.setPoint(point)
+rectangle.getPoint()
+RectangleInt.static_noargs()
+RectangleInt.static_onearg(1)
+
+fail = True
+try:
+ rectangle.setPoint()
+except TypeError, e:
+ fail = False
+if fail:
+ raise RuntimeError("argument count check failed")
+
+
+fail = True
+try:
+ rectangle.getPoint(0)
+except TypeError, e:
+ fail = False
+if fail:
+ raise RuntimeError("argument count check failed")
+
+fail = True
+try:
+ RectangleInt.static_noargs(0)
+except TypeError, e:
+ fail = False
+if fail:
+ raise RuntimeError("argument count check failed")
+
+fail = True
+try:
+ RectangleInt.static_onearg()
+except TypeError, e:
+ fail = False
+if fail:
+ raise RuntimeError("argument count check failed")
diff --git a/Examples/test-suite/template_classes.i b/Examples/test-suite/template_classes.i
index ebe13bd..d357e41 100644
--- a/Examples/test-suite/template_classes.i
+++ b/Examples/test-suite/template_classes.i
@@ -18,6 +18,9 @@ class RectangleTest {
public:
Point<T>& getPoint() {return point;}
void setPoint(Point<T>& value) {point = value;}
+
+ static int static_noargs() { return 0; }
+ static int static_onearg(int i) { return i; }
private:
Point<T> point;
diff --git a/Source/Modules/python.cxx b/Source/Modules/python.cxx
index c85e3b9..a6a81b5 100644
--- a/Source/Modules/python.cxx
+++ b/Source/Modules/python.cxx
@@ -2713,14 +2713,12 @@ class PYTHON:public Language {
Printv(f->locals, " char * kwnames[] = ", kwargs, ";\n", NIL);
}
- if (use_parse || allow_kwargs || !modernargs) {
- if (builtin && in_class && tuple_arguments == 0) {
- Printf(parse_args, " if (args && PyTuple_Check(args) && PyTuple_GET_SIZE(args) > 0) SWIG_fail;\n");
- } else {
- Printf(parse_args, ":%s\"", iname);
- Printv(parse_args, arglist, ")) SWIG_fail;\n", NIL);
- funpack = 0;
- }
+ if (builtin && in_class && tuple_arguments == 0) {
+ Printf(parse_args, " if (args && PyTuple_Check(args) && PyTuple_GET_SIZE(args) > 0) SWIG_exception_fail(SWIG_TypeError, \"%s takes no arguments\");\n", iname);
+ } else if (use_parse || allow_kwargs || !modernargs) {
+ Printf(parse_args, ":%s\"", iname);
+ Printv(parse_args, arglist, ")) SWIG_fail;\n", NIL);
+ funpack = 0;
} else {
Clear(parse_args);
if (funpack) {

16
swig-octave-ldflags.patch Normal file
View File

@ -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])

28
swig-octave5.1.patch Normal file
View File

@ -0,0 +1,28 @@
commit c38b7de6a120e6392abff50afd9bb919cc858cfc
Author: Orion Poplawski <orion@nwra.com>
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;

477
swig.spec
View File

@ -1,65 +1,100 @@
# We can skip tests
%bcond_without testsuite
%if %{without testsuite}
%global tcl 0
%global lualang 0
%global phplang 0
%global rubylang 0
%global python2lang 0
%global python3lang 0
%global golang 0
%global octave 0
%global Rlang 0
%global javalang 0
%endif
%{!?tcl:%global tcl 1}
%{!?guile:%global guile 1}
%{!?guile:%global guile 0}
%{!?lualang:%global lualang 1}
# Ruby segfaults in some tests on fc23 and only on armv7-arch.
%ifarch %{arm}
%if 0%{?fedora} == 23
%{!?phplang:%global phplang 1}
# Disable Ruby test failed with swig 4.0.0
%ifarch s390 s390x
%{!?rubylang:%global rubylang 0}
%endif # 0%%{?fedora} == 23
%endif #arch %%{arm}
%{!?rubylang:%global rubylang 1}
%ifarch aarch64 %{arm} ppc64le ppc %{power64} s390 s390x
%{!?golang:%global golang 0}
%{!?Rlang:%global Rlang 0}
%{!?javalang:%global javalang 0}
%else
%{!?rubylang:%global rubylang 1}
%endif
%{!?python2lang:%global python2lang 1}
%{!?python3lang:%global python3lang 1}
%if 0%{?rhel}
%{!?golang:%global golang 0}
%{!?octave:%global octave 0}
%{!?Rlang:%global Rlang 0}
%bcond_with build_ccache_swig
%else
%{!?golang:%global golang 1}
# R tests failed (since 3.0.4)
%{!?Rlang:%global Rlang 0}
%{!?octave:%global octave 1}
%{!?Rlang:%global Rlang 1}
%bcond_without build_ccache_swig
%endif
%ifarch aarch64 %{arm} %{mips} ppc64le ppc %{power64} s390 s390x
%{!?javalang:%global javalang 0}
%else
%{!?javalang:%global javalang 1}
%endif
%if 0%{?rhel}
%{!?octave:%global octave 0}
# Do not run Go tests, they failed with 4.0.0 on ppc64le
%ifarch %{ix86} x86_64 %{arm} aarch64
%{!?golang:%global golang 1}
%else
%{!?octave:%global octave 1}
%{!?golang:%global golang 0}
%endif
Summary: Connects C/C++/Objective C to some high-level programming languages
Name: swig
Version: 3.0.5
Release: 6%{?dist}
Version: 4.0.0
Release: 5%{?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
# Fix the failure on arch x390 during testing.
# This patch can be removed in v3.0.6. Accepted by upstream.
# https://github.com/swig/swig/pull/334
Patch2: swig-2.0.10-Fix-x390-build.patch
# Fix segfaults of Python-wrappers when generating code with
# `-buildin -modern -modernargs`. Patch is upstreamed, see patch-url.
Patch3: https://github.com/swig/swig/commit/416277b3a56646c2934ca9ee542a3f36d4f9a436.patch#/swig-3.0.5_fix-python-modern-buildin.patch
%if %{with build_ccache_swig}
Source2: description-ccache.h2m
Source3: ccache-swig.sh
Source4: ccache-swig.csh
%endif
BuildRequires: perl, python2-devel, pcre-devel
Patch0: swig308-Do-not-use-isystem.patch
# https://github.com/swig/swig/pull/1522
Patch1: swig-octave-ldflags.patch
# Fix Go tests for Go 1.13-beta1 (BZ#1736731)
Patch2: swig400-Fix-all-Go-tests-to-build-with-go-build.patch
Patch3: swig400-Restore-setting-of-GOVERSIONOPTION.patch
Patch4: swig400-Fix-Go-version-check-and-Go-in-tree-example-tests.patch
BuildRequires: perl-interpreter, pcre-devel
%if %{python2lang}
BuildRequires: python2-devel
%endif
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: autoconf, automake, gawk, dos2unix
BuildRequires: gcc-c++
BuildRequires: help2man
BuildRequires: perl-devel
BuildRequires: perl(base)
BuildRequires: perl(Config)
BuildRequires: perl(Devel::Peek)
BuildRequires: perl(ExtUtils::MakeMaker)
BuildRequires: perl(fields)
BuildRequires: perl(Math::BigInt)
BuildRequires: perl(strict)
BuildRequires: perl(Test::More)
BuildRequires: perl(vars)
BuildRequires: perl(warnings)
BuildRequires: boost-devel
# Need when Source/CParse/parser.y is patched
BuildRequires: bison
%if %{tcl}
BuildRequires: tcl-devel
%endif
@ -71,6 +106,9 @@ BuildRequires: octave-devel
%endif
%if %{golang}
BuildRequires: golang
BuildRequires: golang-bin
BuildRequires: golang-shared
BuildRequires: golang-src
%endif
%if %{lualang}
BuildRequires: lua-devel
@ -84,31 +122,61 @@ BuildRequires: R-devel
%if %{javalang}
BuildRequires: java, java-devel
%endif
%if %{phplang}
BuildRequires: php, php-devel
%endif
%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
interpreted programming environments, systems integration, and as a
tool for building user interfaces
variety of high-level programming languages. SWIG is used with different
types of target languages including common scripting languages such as
Javascript, Perl, PHP, Python, Tcl and Ruby. The list of supported
languages also includes non-scripting languages such as C#, D, Go language,
Java including Android, Lua, OCaml, Octave, Scilab and R. Also several
interpreted and compiled Scheme implementations (Guile, MzScheme/Racket)
are supported. SWIG is most commonly used to create high-level interpreted
or compiled programming environments, user interfaces, and as a tool for
testing and prototyping C/C++ software.
%if %{with build_ccache_swig}
%package -n ccache-swig
Summary: Fast compiler cache
License: GPLv2+
Requires: swig
Conflicts: swig < 3.0.8-2
%description -n ccache-swig
ccache-swig is a compiler cache. It speeds up re-compilation of C/C++/SWIG
code by caching previous compiles and detecting when the same compile is
being done again. ccache-swig is ccache plus support for SWIG.
%endif
%package doc
Summary: Documentation files for SWIG
License: BSD
Group: Development/Tools
BuildArch: noarch
%description doc
This package contains documentation for SWIG and useful examples
%package gdb
Summary: Commands for easier debugging of SWIG
License: BSD
Requires: swig
%description gdb
This package contains file with commands for easier debugging of SWIG
in gdb.
%prep
%setup -q -n swig-%{version}
%patch1 -p1 -b .setools
%patch2 -p1 -b .x390
%patch3 -p1 -b .python
%patch0 -p1 -b .isystem
%patch1 -p1 -b .octave-ldflags
%patch2 -p1
%patch3 -p1
%patch4 -p1
for all in CHANGES README; do
iconv -f ISO88591 -t UTF8 < $all > $all.new
@ -124,6 +192,24 @@ done
# It causes that log had more then 600M.
%configure \
--without-ocaml \
%if %{python2lang}
--with-python=%__python2\
%else
--without-python \
%endif
%if %{python3lang}
--with-python3=%__python3 \
%else
--without-python3 \
%endif
%if %{phplang}
--with-php=%{__php} \
%else
--without-php \
%endif
%if ! %{tcl}
--without-tcl \
%endif
%if ! %{javalang}
--without-java \
%endif
@ -137,6 +223,9 @@ done
--with-octave=/usr/bin/octave \
--without-maximum-compile-warnings \
%endif
%if %{without build_ccache_swig}
--disable-ccache \
%endif
;
make %{?_smp_mflags}
@ -167,45 +256,301 @@ popd
make DESTDIR=%{buildroot} install
# Use help output for generating of man page
echo "Options:" >help_output
%{buildroot}%{_bindir}/swig --help >>help_output
#################################################
# Use help output for generating of man page swig
echo "Options:" >help_swig
%{buildroot}%{_bindir}/swig --help >>help_swig
# Update the output to be correctly formatted be help2man
sed -i -e 's/^\(\s\+-[^-]\+\)- \(.*\)$/\1 \2/' help_output
sed -i -e 's/^\(\s\+-\w\+-[^-]*\)- \(.*\)$/\1 \2/' help_output
sed -i -e 's/^\(\s\+-[^-]\+\)- \(.*\)$/\1 \2/' help_swig
sed -i -e 's/^\(\s\+-\w\+-[^-]*\)- \(.*\)$/\1 \2/' help_swig
# Generate a helper script that will be used by help2man
cat >h2m_helper <<'EOF'
cat >h2m_helper_swig <<'EOF'
#!/bin/bash
[ "$1" == "--version" ] && echo "" || cat help_output
[ "$1" == "--version" ] && echo "" || cat help_swig
EOF
chmod a+x h2m_helper
chmod a+x h2m_helper_swig
# Generate man page
help2man -N --section 1 ./h2m_helper --include %{SOURCE1} -o %{name}.1
help2man -N --section 1 ./h2m_helper_swig --include %{SOURCE1} -o %{name}.1
%if %{with build_ccache_swig}
########################################################
# Use help output for generating of man page ccache-swig
%{buildroot}%{_bindir}/ccache-swig -h >>help_ccache
# Update the output to be correctly formatted be help2man
sed -i -e '/compiler cache/ d' help_ccache
sed -i -e '/Copyright/ d' help_ccache
sed -i -e 's/^Usage:/[synopsis]/' help_ccache
sed -i -e 's/^Options:/[options]/' help_ccache
sed -i -e 's/^\s\+/ /' help_ccache
sed -i -e 's/^\(-[^- ] <\w\+>\s\+\) \(\w.\+\)$/ \1 \2/' help_ccache
sed -i -e 's/^\(-[^- ]\s\+\) \(\w.\+\)$/ \1 \2/' help_ccache
# Generate a helper script that will be used by help2man
cat >h2m_helper_ccache <<'EOF'
#!/bin/bash
[ "$1" == "--version" ] && echo ""
[ "$1" == "--help" ] && echo "" || echo ""
EOF
chmod a+x h2m_helper_ccache
cat %{SOURCE2} >>help_ccache
sed -i -e 's#@DOCDIR@#%{_docdir}#' help_ccache
# Generate man page
help2man -N --section 1 ./h2m_helper_ccache --include help_ccache -o ccache-swig.1
%endif
# Add man page for swig to repository
mkdir -p %{buildroot}%{_mandir}/man1/
install -p -m 0644 %{name}.1 %{buildroot}%{_mandir}/man1/
%if %{with build_ccache_swig}
install -p -m 0644 ccache-swig.1 %{buildroot}%{_mandir}/man1/
%endif
# Enable ccache-swig by default, if ccache is installed.
mkdir -p %{buildroot}%{_libdir}/ccache
ln -fs ../../bin/ccache-swig %{buildroot}%{_libdir}/ccache/swig
# Quiet some rpmlint complaints - remove empty file
rm -f %{buildroot}%{_datadir}/%name/%{version}/octave/std_carray.i
%if %{with build_ccache_swig}
# Enable ccache-swig by default
mkdir -p %{buildroot}%{_sysconfdir}/profile.d/
install -dm 755 %{buildroot}%{_sysconfdir}/profile.d
install -pm 644 %{SOURCE3} %{SOURCE4} %{buildroot}%{_sysconfdir}/profile.d
%endif
# Add swig.gdb sub-package gdb
mkdir -p %{buildroot}%{_datadir}/%{name}/gdb
install -pm 644 Tools/swig.gdb %{buildroot}%{_datadir}/%{name}/gdb
%files
%{_bindir}/*
%{_datadir}/swig
%{_libdir}/ccache
%{_mandir}/man1/ccache-swig.1*
%{_bindir}/%{name}
%{_datadir}/%{name}
%exclude %{_datadir}/%{name}/gdb
%{_mandir}/man1/swig.1*
%doc ANNOUNCE CHANGES CHANGES.current LICENSE LICENSE-GPL
%doc LICENSE-UNIVERSITIES COPYRIGHT README TODO
%license LICENSE LICENSE-GPL LICENSE-UNIVERSITIES
%doc ANNOUNCE CHANGES CHANGES.current
%doc COPYRIGHT README TODO
%if %{with build_ccache_swig}
%files -n ccache-swig
%{_bindir}/ccache-swig
%config(noreplace) %{_sysconfdir}/profile.d/ccache-swig.*sh
%{_mandir}/man1/ccache-swig.1*
%endif
%files doc
%doc Doc Examples LICENSE LICENSE-GPL LICENSE-UNIVERSITIES COPYRIGHT
%license LICENSE LICENSE-GPL LICENSE-UNIVERSITIES
%doc Doc Examples COPYRIGHT
%files gdb
%{_datadir}/%{name}/gdb
%changelog
* Mon Aug 12 2019 Jitka Plesnikova <jplesnik@redhat.com> - 4.0.0-5
- Backport upstream fix for Go tests (BZ#1736731)
* Tue Aug 06 2019 Jitka Plesnikova <jplesnik@redhat.com> - 4.0.0-4
- Disable Go tests, they fail with Go 1.13-beta
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Jun 05 2019 Jitka Plesnikova <jplesnik@redhat.com> - 4.0.0-2
- Updated package description
* Fri May 03 2019 Jitka Plesnikova <jplesnik@redhat.com> - 4.0.0-1
- Update to 4.0.0
* Sat Apr 27 2019 Orion Poplawski <orion@nwra.com> - 3.0.12-25
- Add patches for octave 5.1 support
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.12-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jan 25 2019 Jonathan Wakely <jwakely@redhat.com> - 3.0.12-23
- Rebuilt for Boost 1.69
* Thu Nov 15 2018 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.12-22
- Add support for Octave 4.4
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.12-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Jul 02 2018 Miro Hrončok <mhroncok@redhat.com> - 3.0.12-20
- Rebuilt for Python 3.7
* Fri Jun 22 2018 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.12-19
- Disable using of Python 2
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 3.0.12-18
- Rebuilt for Python 3.7
* Tue Apr 24 2018 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.12-17
- Backport upstream Coverity fixes (bug#1570037)
- Do not build ccache-swig on RHEL
* Wed Feb 14 2018 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.12-16
- Update conditions for tests
- Fix configure to properly check version of Go 1.10
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.12-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Tue Jan 23 2018 Jonathan Wakely <jwakely@redhat.com> - 3.0.12-14
- Rebuilt for Boost 1.66
* Tue Nov 21 2017 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.12-13
- Disable PHP tests, because they fail with PHP 7.2.0-RC
* Wed Sep 20 2017 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.12-12
- Fix generated code for constant expressions containing wchar_t L
literals
* Thu Sep 07 2017 Jared Smith <jsmith@fedoraproject.org> - 3.0.12-11
- Add patch to support NodeJS versions 7 and 8, fixes FTBFS
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.12-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.12-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Wed Jun 14 2017 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.12-8
- Fixed tests to building on Perl 5.26 without dot in INC
* Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.12-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
* Sat Apr 29 2017 Björn Esser <besser82@fedoraproject.org> - 3.0.12-6
- Rebuilt for bootstrapping new arch: s390x
* Mon Feb 13 2017 Björn Esser <besser82@fedoraproject.org> - 3.0.12-5
- Rebuilt with R-testsuite enabled
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.12-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Feb 01 2017 Björn Esser <besser82@fedoraproject.org> - 3.0.12-3
- Rebuilt with Octave-testsuite enabled
* Sun Jan 29 2017 Björn Esser <besser82@fedoraproject.org> - 3.0.12-2
- Rebuilt for Boost 1.63
* Sat Jan 28 2017 Björn Esser <besser82@fedoraproject.org> - 3.0.12-1
- Update to 3.0.12
- Drop Patch1 and Patch2, applied in upstream-tarball
- Build without Octave and R testsuite, since they are broken due to GCC-7
* Sat Jan 14 2017 Björn Esser <besser82@fedoraproject.org> - 3.0.11-2
- Add Patch1 from upstream
- Do not dump Octave core in examples/test suite scripts
- Add Patch2 for Fedora >= 26, backported from upstream
- Support for Octave 4.2
* Mon Jan 02 2017 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.11-1
- Update to 3.0.11
- Add support for PHP 7
- Disable guile tests
* Wed Oct 19 2016 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.10-2
- Sub-package file swig.gdb (bug #1332673)
* Mon Jun 13 2016 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.10-1
- Update to 3.0.10
* Wed May 25 2016 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.8-8
- Fix Ruby opaque pointer handling (bug #1299502)
* Mon Apr 18 2016 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.8-7
- Add support for Go 1.6
* Fri Mar 11 2016 Michal Toman <mtoman@fedoraproject.org> - 3.0.8-6
- Do not build R, Java and Go on MIPS
* Tue Mar 01 2016 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.8-5
- Used updated upstream fix for GCC 6 issue
* Mon Feb 22 2016 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.8-4
- Patched to build against GCC 6
- Disable Go tests, because they failed against new Go 1.6
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Thu Jan 14 2016 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.8-2
- Move ccache-swig to sub-package
- Generate man page for ccache-swig from help
* Mon Jan 04 2016 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.8-1
- Update to 3.0.8
* Sun Dec 06 2015 Björn Esser <fedora@besser82.io> - 3.0.7-10
- fix hunk-offsets in patches
* Sun Dec 06 2015 Björn Esser <fedora@besser82.io> - 3.0.7-9
- add Patch10: Python 3.5, -builtin, excess elements in struct initializer
- add Patch11: Fix incorrect director_classic_runme.py test
- add Patch12: Python SystemError fix with -builtin
- add Patch13: size_type-correction for SwigPySequence_Cont
- add Patch14: Python use Py_ssize_t instead of int for better portability
- add Patch15: Add python inplace-operator caveats to pyopers.swg
* Wed Oct 21 2015 David Sommerseth <davids@redhat.com> - 3.0.7-8
- Ignore locally installed ccache when running CCache unit tests
- Resolves: bz#1274031
* Wed Sep 16 2015 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.7-7
- Remove the old setools patch. The bug was already fixed by upstream
- Resolves: bz#1180257
* Mon Sep 14 2015 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.7-6
- Fix Ruby tracking code (BZ#1225140)
* Thu Sep 03 2015 Jonathan Wakely <jwakely@redhat.com> - 3.0.7-5
- Rebuilt for Boost 1.59
* Tue Sep 01 2015 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.7-4
- Disable Ruby tests
* Thu Aug 27 2015 Jonathan Wakely <jwakely@redhat.com> - 3.0.7-3
- Rebuilt for Boost 1.59
* Wed Aug 05 2015 Jonathan Wakely <jwakely@redhat.com> 3.0.7-2
- Rebuilt for Boost 1.58
* Tue Aug 04 2015 Björn Esser <bjoern.esser@gmail.com> - 3.0.7-1
- Update to 3.0.7 (#1249845)
- Dropped Patch2, changes applied in upstream tarball
* Wed Jul 29 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.6-6
- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159
* Thu Jul 23 2015 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.6-5
- rebuild for Boost 1.58
* Thu Jul 23 2015 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.6-4
- Disable Ruby tests on Fedora 23 and higher when building on armv7
- Update list of Perl dependencies
* Wed Jul 22 2015 David Tardon <dtardon@redhat.com> - 3.0.6-3
- rebuild for Boost 1.58
* 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
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.5-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Tue May 26 2015 Dan Horák <dan[at]danny.cz> - 3.0.5-7
- skip ruby also on s390 (#1225140)
* Sat Apr 25 2015 Björn Esser <bjoern.esser@gmail.com> - 3.0.5-6
- Updated Patch3 with a more elaborated approach
@ -257,7 +602,7 @@ ln -fs ../../bin/ccache-swig %{buildroot}%{_libdir}/ccache/swig
- No golang or R on aarch64 (currently)
* Tue Apr 22 2014 Karsten Hopp <karsten@redhat.com> 3.0.0-3
- golang is exclusivearch %{ix86} x86_64 %{arm}, don't BR it on ppc*, s390*
- golang is exclusivearch %%{ix86} x86_64 %%{arm}, don't BR it on ppc*, s390*
- unit tests fail on other ppc archs, too. disable for now
* Fri Mar 28 2014 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.0-2
@ -487,12 +832,12 @@ ln -fs ../../bin/ccache-swig %{buildroot}%{_libdir}/ccache/swig
- swig can determine architecture now (#211095)
* Mon Aug 28 2006 Jitka Kudrnacova <jkudrnac@redhat.com> -1.3.29-1
-rebuilt
-rebuilt
* Tue Jul 18 2006 Jitka Kudrnacova <jkudrnac@redhat.com> - 1.3.29-0.3
- rebuilt
- rebuilt
* Fri Jun 30 2006 Jitka Kudrnacova <jkudrnac@redhat.com> - 1.3.29-0.2
* Fri Jun 30 2006 Jitka Kudrnacova <jkudrnac@redhat.com> - 1.3.29-0.2
- Build requires autoconf, automake (bug #197132)
* Wed Apr 19 2006 Jitka Kudrnacova <jkudrnac@redhat.com> - 1.3.29-0.1
@ -513,13 +858,13 @@ ln -fs ../../bin/ccache-swig %{buildroot}%{_libdir}/ccache/swig
* Wed Mar 02 2005 Phil Knirsch <pknirsch@redhat.com> 1.3.24-2
- bump release and rebuild with gcc 4
* Thu Feb 03 2005 Karsten Hopp <karsten@redhat.de> 1.3.24-1
* Thu Feb 03 2005 Karsten Hopp <karsten@redhat.de> 1.3.24-1
- update
* Wed Dec 01 2004 Phil Knirsch <pknirsch@redhat.com> 1.3.23-2
- rebuild
* Tue Nov 23 2004 Karsten Hopp <karsten@redhat.de> 1.3.23-1
* Tue Nov 23 2004 Karsten Hopp <karsten@redhat.de> 1.3.23-1
- update
- new pylib patch
- remove destdir patch, swig.m4 is no longer included
@ -632,7 +977,7 @@ ln -fs ../../bin/ccache-swig %{buildroot}%{_libdir}/ccache/swig
- rebuilt for 6.1
* Thu Apr 15 1999 Michael Maher <mike@redhat.com>
- built package for 6.0
- built package for 6.0
* Tue Sep 15 1998 Michael Maher <mike@redhat.com>
- built package

View File

@ -1,18 +0,0 @@
diff -up swig-2.0.7/Source/Swig/naming.c.setools swig-2.0.7/Source/Swig/naming.c
--- swig-2.0.7/Source/Swig/naming.c.setools 2011-12-11 17:29:51.000000000 +0100
+++ swig-2.0.7/Source/Swig/naming.c 2012-06-27 16:21:21.248375130 +0200
@@ -215,11 +215,11 @@ String *Swig_name_member(const_String_or
Append(r, f);
}
cname = Char(rclassname);
- if ((strncmp(cname, "struct ", 7) == 0) || ((strncmp(cname, "class ", 6) == 0)) || ((strncmp(cname, "union ", 6) == 0))) {
- cname = strchr(cname, ' ') + 1;
- }
replace_nspace(r, nspace);
Replace(r, "%c", cname, DOH_REPLACE_ANY);
+ if ((strncmp(cname, "struct ", 7) == 0) || ((strncmp(cname, "class ", 6) == 0)) || ((strncmp(cname, "union ", 6) == 0))) {
+ Replace(r, " ", "_", DOH_REPLACE_FIRST);
+ }
Replace(r, "%m", membername, DOH_REPLACE_ANY);
/* name_mangle(r); */
Delete(rclassname);

View File

@ -0,0 +1,13 @@
diff -up swig-3.0.8/configure.ac.orig swig-3.0.8/configure.ac
--- swig-3.0.8/configure.ac.orig 2016-02-02 16:01:09.094852303 +0100
+++ swig-3.0.8/configure.ac 2016-02-02 16:01:42.096702679 +0100
@@ -131,7 +131,8 @@ AC_SUBST(BOOST_CPPFLAGS)
dnl How to specify include directories that may be system directories.
# -I should not be used on system directories (GCC)
if test "$GCC" = yes; then
- ISYSTEM="-isystem "
+# ISYSTEM="-isystem "
+ ISYSTEM="-I"
else
ISYSTEM="-I"
fi

View File

@ -0,0 +1,54 @@
From 62136ff782e9bf6641970f716d7d40afcf6c49ea Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <iant@golang.org>
Date: Fri, 9 Aug 2019 14:06:45 -0700
Subject: [PATCH] Fix Go version check and Go in-tree example tests
Fixes #1607
---
Examples/Makefile.in | 4 ++--
configure.ac | 5 +++--
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/Examples/Makefile.in b/Examples/Makefile.in
index 9e05d2763..6fbca29db 100644
--- a/Examples/Makefile.in
+++ b/Examples/Makefile.in
@@ -1484,7 +1484,7 @@ go: $(SRCDIR_SRCS) $(GOPATHPARENTDIR)/go.mod
rm -f gopath/$(GOMOD)/src/runme/*; \
fi
if test -f $(SRCDIR)$(RUNME).go; then \
- cp $(SRCDIR)/$(RUNME).go gopath/$(GOMOD)/src/runme/; \
+ cp $(SRCDIR)$(RUNME).go gopath/$(GOMOD)/src/runme/; \
fi
GOPATH=`pwd`/gopath/$(GOMOD); \
export GOPATH; \
@@ -1533,7 +1533,7 @@ go_cpp: $(SRCDIR_SRCS) $(GOPATHPARENTDIR)/go.mod
rm -f gopath/$(GOMOD)/src/runme/*; \
fi
if test -f $(SRCDIR)$(RUNME).go; then \
- cp $(SRCDIR)/$(RUNME).go gopath/$(GOMOD)/src/runme/; \
+ cp $(SRCDIR)$(RUNME).go gopath/$(GOMOD)/src/runme/; \
fi
GOPATH=`pwd`/gopath/$(GOMOD); \
export GOPATH; \
diff --git a/configure.ac b/configure.ac
index 73c38a72c..63509cd66 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2391,10 +2391,11 @@ else
if test -n "$GO" ; then
GOVERSIONOPTION=version
+ go_version=$($GO $GOVERSIONOPTION | sed -e 's/go version //')
AC_MSG_CHECKING([whether go version is too old])
case $go_version in
- go1.[012345]*)
- AC_MSG_RESULT([yes - minimum version is 1.6])
+ go1.[012]*)
+ AC_MSG_RESULT([yes - minimum version is 1.3])
GO=
GOOPT="-intgosize 32"
;;
--
2.20.1

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,25 @@
From 6b108c19e1504c937e1a7d50147575dd8e624b73 Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <iant@golang.org>
Date: Thu, 8 Aug 2019 22:59:57 -0700
Subject: [PATCH 2/2] Restore setting of GOVERSIONOPTION
Accidentally removed in last commit.
---
configure.ac | 1 +
1 file changed, 1 insertion(+)
diff --git a/configure.ac b/configure.ac
index a38e97d2a..73c38a72c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2390,6 +2390,7 @@ else
GOVERSIONOPTION=
if test -n "$GO" ; then
+ GOVERSIONOPTION=version
AC_MSG_CHECKING([whether go version is too old])
case $go_version in
go1.[012345]*)
--
2.20.1