Files
swig/swig.spec

181 lines
5.4 KiB
RPMSpec
Raw Normal View History

#
# spec file for package swig
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
Accepting request 701625 from home:kwk:branches:devel:tools:building - Update to 4.0.0 - Support for Doxygen documentation comments which are parsed and converted into JavaDoc or PyDoc comments. - STL wrappers improved for C#, Java and Ruby. - C++11 STL containers added for Java, Python and Ruby. - Improved support for parsing C++11 and C++14 code. - Various fixes for shared_ptr. - Various C preprocessor corner case fixes. - Corner case fixes for member function pointers. - Python module overhaul by simplifying the generated code and turning most optimizations on by default. - %template improvements wrt scoping to align with C++ explicit template instantiations. - Added support for a command-line options file (sometimes called a response file). - Numerous enhancements and fixes for all supported target languages. - SWIG now classifies the status of target languages into either 'Experimental' or 'Supported' to indicate the expected maturity level. - Support for CFFI, Allegrocl, Chicken, CLISP, S-EXP, UFFI, Pike, Modula3 has been removed. - Octave 4.4-5.1 support added. - PHP5 support removed, PHP7 is now the supported PHP version. - Minimum Python version required is now 2.7, 3.2-3.7 are the only other versions supported. - Added support for Javascript NodeJS versions 2-10. - OCaml support is much improved and updated, minimum OCaml version required is now 3.12.0. See https://raw.githubusercontent.com/swig/swig/master/CHANGES - Drop patches (all included) swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_FixMetho.patch swig-3.0.12-Fix-generated-code-for-constant-expressions-containi.patch swig-perl526.patch swig-3.0.12-fix-collections.patch swig-3.0.12-Fix-Coverity-issue-reported-for-setslice-pycontainer.patch swig-3.0.12-Coverity-fix-issue-reported-for-wrapper-argument-che.patch swig-3.0.12-support-octave-4.4.patch swig-ocaml-int64.patch swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_ConvertF.patch OBS-URL: https://build.opensuse.org/request/show/701625 OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/swig?expand=0&rev=112
2019-05-13 06:21:09 +00:00
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%bcond_with swig_ocaml
%if 0%{?fedora} + 0%{?rhel_version} + 0%{?centos_version} > 0
%define docpath %{_docdir}/%{name}-%{version}
BuildRequires: perl-Test-Simple
BuildRequires: perl-devel
%if 0%{?centos_version} < 800
BuildRequires: ruby
%endif
%endif
%if 0%{?suse_version} > 0
%define docpath %{_docdir}/%{name}
BuildRequires: ruby-devel
%endif
Name: swig
Version: 4.1.1
Release: 0
Summary: Simplified Wrapper and Interface Generator
License: BSD-3-Clause AND GPL-3.0-or-later
Group: Development/Languages/C and C++
URL: http://www.swig.org/
Source: https://github.com/swig/swig/archive/v%{version}/%{name}-v%{version}.tar.gz
Source1: %{name}.rpmlintrc
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: pcre2-devel
BuildRequires: perl
BuildRequires: pkgconfig
%if 0%{?centos_version} >= 800
BuildRequires: boost-devel
BuildRequires: python3-devel
BuildRequires: python3-tools
%else
%if 0%{?suse_version} >= 1500
BuildRequires: libboost_headers-devel
BuildRequires: python3-devel
BuildRequires: python3-tools
%else
BuildRequires: boost-devel
Accepting request 701625 from home:kwk:branches:devel:tools:building - Update to 4.0.0 - Support for Doxygen documentation comments which are parsed and converted into JavaDoc or PyDoc comments. - STL wrappers improved for C#, Java and Ruby. - C++11 STL containers added for Java, Python and Ruby. - Improved support for parsing C++11 and C++14 code. - Various fixes for shared_ptr. - Various C preprocessor corner case fixes. - Corner case fixes for member function pointers. - Python module overhaul by simplifying the generated code and turning most optimizations on by default. - %template improvements wrt scoping to align with C++ explicit template instantiations. - Added support for a command-line options file (sometimes called a response file). - Numerous enhancements and fixes for all supported target languages. - SWIG now classifies the status of target languages into either 'Experimental' or 'Supported' to indicate the expected maturity level. - Support for CFFI, Allegrocl, Chicken, CLISP, S-EXP, UFFI, Pike, Modula3 has been removed. - Octave 4.4-5.1 support added. - PHP5 support removed, PHP7 is now the supported PHP version. - Minimum Python version required is now 2.7, 3.2-3.7 are the only other versions supported. - Added support for Javascript NodeJS versions 2-10. - OCaml support is much improved and updated, minimum OCaml version required is now 3.12.0. See https://raw.githubusercontent.com/swig/swig/master/CHANGES - Drop patches (all included) swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_FixMetho.patch swig-3.0.12-Fix-generated-code-for-constant-expressions-containi.patch swig-perl526.patch swig-3.0.12-fix-collections.patch swig-3.0.12-Fix-Coverity-issue-reported-for-setslice-pycontainer.patch swig-3.0.12-Coverity-fix-issue-reported-for-wrapper-argument-che.patch swig-3.0.12-support-octave-4.4.patch swig-ocaml-int64.patch swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_ConvertF.patch OBS-URL: https://build.opensuse.org/request/show/701625 OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/swig?expand=0&rev=112
2019-05-13 06:21:09 +00:00
BuildRequires: python-devel > 2.6
%endif
%endif
%if %{with swig_ocaml}
BuildRequires: ncurses-devel
Accepting request 701625 from home:kwk:branches:devel:tools:building - Update to 4.0.0 - Support for Doxygen documentation comments which are parsed and converted into JavaDoc or PyDoc comments. - STL wrappers improved for C#, Java and Ruby. - C++11 STL containers added for Java, Python and Ruby. - Improved support for parsing C++11 and C++14 code. - Various fixes for shared_ptr. - Various C preprocessor corner case fixes. - Corner case fixes for member function pointers. - Python module overhaul by simplifying the generated code and turning most optimizations on by default. - %template improvements wrt scoping to align with C++ explicit template instantiations. - Added support for a command-line options file (sometimes called a response file). - Numerous enhancements and fixes for all supported target languages. - SWIG now classifies the status of target languages into either 'Experimental' or 'Supported' to indicate the expected maturity level. - Support for CFFI, Allegrocl, Chicken, CLISP, S-EXP, UFFI, Pike, Modula3 has been removed. - Octave 4.4-5.1 support added. - PHP5 support removed, PHP7 is now the supported PHP version. - Minimum Python version required is now 2.7, 3.2-3.7 are the only other versions supported. - Added support for Javascript NodeJS versions 2-10. - OCaml support is much improved and updated, minimum OCaml version required is now 3.12.0. See https://raw.githubusercontent.com/swig/swig/master/CHANGES - Drop patches (all included) swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_FixMetho.patch swig-3.0.12-Fix-generated-code-for-constant-expressions-containi.patch swig-perl526.patch swig-3.0.12-fix-collections.patch swig-3.0.12-Fix-Coverity-issue-reported-for-setslice-pycontainer.patch swig-3.0.12-Coverity-fix-issue-reported-for-wrapper-argument-che.patch swig-3.0.12-support-octave-4.4.patch swig-ocaml-int64.patch swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_ConvertF.patch OBS-URL: https://build.opensuse.org/request/show/701625 OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/swig?expand=0&rev=112
2019-05-13 06:21:09 +00:00
BuildRequires: ocaml >= 3.12.0
BuildRequires: ocaml-camlp4-devel
BuildRequires: ocaml-findlib
%endif
%description
SWIG is a compiler that attempts to make it easy to integrate C, C++,
or Objective-C code with scripting languages including Perl, Tcl, and
Python. In a nutshell, you give it a bunch of ANSI C/C++ declarations
and it generates an interface between C and your favorite scripting
language. However, this is only scratching the surface of what SWIG
can do--some of its more advanced features include automatic
documentation generation, module and library management, extensive
customization options, and more.
%package doc
Summary: SWIG Manual
License: BSD-3-Clause
Group: Documentation/Man
Requires: swig
BuildArch: noarch
%description doc
SWIG is a compiler that attempts to make it easy to integrate C, C++,
or Objective-C code with scripting languages including Perl, Tcl, and
Python. In a nutshell, you give it a bunch of ANSI C/C++ declarations
and it generates an interface between C and your favorite scripting
language. However, this is only scratching the surface of what SWIG
can do--some of its more advanced features include automatic
documentation generation, module and library management, extensive
customization options, and more.
This package contains the SWIG manual.
%package examples
Summary: SWIG example files
License: BSD-3-Clause
Group: Documentation/Howto
Requires: swig
%description examples
SWIG is a compiler that attempts to make it easy to integrate C, C++,
or Objective-C code with scripting languages including Perl, Tcl, and
Python. In a nutshell, you give it a bunch of ANSI C/C++ declarations
and it generates an interface between C and your favorite scripting
language. However, this is only scratching the surface of what SWIG
can do--some of its more advanced features include automatic
documentation generation, module and library management, extensive
customization options, and more.
This package contains SWIG examples, useful both for testing and
understandig SWIG usage.
%prep
Accepting request 1031113 from home:kwk:branches:devel:tools:building - Update to version 4.1.0 from 4.1.0-beta1 - Update to 4.1.0~beta1 * Add Javascript Node v12-v18 support, remove support prior to v6. * Octave 6.0 to 6.4 support added. * Add PHP 8 support. * PHP wrapping is now done entirely via PHP's C API - no more .php wrapper. * Perl 5.8.0 is now the oldest version SWIG supports. * Python 3.3 is now the oldest Python 3 version SWIG supports. * Python 3.9-3.11 support added. * Various memory leak fixes in Python generated code. * Scilab 5.5-6.1 support improved. * Many improvements for each and every target language. * Various preprocessor expression handling improvements. * Improved C99, C++11, C++14, C++17 support. Start adding C++20 standard. * Make SWIG much more move semantics friendly. * Add C++ std::unique_ptr support. * Few minor C++ template handling improvements. * Various C++ using declaration fixes. * Few fixes for handling Doxygen comments. * GitHub Actions is now used instead of Travis CI for continuous integration. * Add building SWIG using CMake as a secondary build system. * Update optional SWIG build dependency for regex support from PCRE to PCRE2. - dropped patches, all upstream * 15515f390c5e3316a7faf0cf85d661a297d45a50.patch * fix-gcc12-error.patch * swig-Define-PY_SSIZE_T_CLEAN-macro.patch * swig-Define-PY_SSIZE_T_CLEAN-only-when-not-defined-yet.patch * swig-Python-define-PY_SSIZE_T_CLEAN.patch * swig-octave-6.patch * swig-python310.patch * swig308-isfinite.diff - Update to version rel-4.0.2: * [R] Run destructors of local C++ objects on SWIG_fail * [php] Update exception_memory_leak_runme.php * [lua] Run destructors of local C++ objects on SWIG_fail * Fix issues with exception_memory_leak testcase * Define PY_SSIZE_T_CLEAN only when not defined yet * Add missing SWIGTYPE *const& typemaps * Revert "[xml] Move to "Experimental" target language status" * Cleanup SWIG_VERSION definition * Additional SWIG_VERSION testing - Cherrypick 15515f390c5e3316a7faf0cf85d661a297d45a50.patch from upstream to replace obsolete pcre1 with pcre2 - Add swig-python310.patch -- gh#swig/swig#2064, Fix swig test suite with Python 3.10 - Add fix-gcc12-error.patch in order to fix GCC 12 compilation error. - Add swig-octave-6.patch -- Allow swig to work with octave 6 and above; patch part of upstream merge request [gh#swig/swig#2020]. - Fixing package dependencies for CentOS - move examples to /usr/share/swig/examples - Update to 4.0.2 - A few fixes around doxygen comment handling. - Ruby 2.7 support added. - Various minor improvements to C#, D, Java, OCaml, Octave, Python, R, Ruby. - Considerable performance improvement running SWIG on large interface files. - drop upstreamed patches ruby-std-wstring-byte-order.patch 0001-Fix-code-generated-for-Ruby-global-variables.patch 0002-Add-support-for-Ruby-2.7.patch 0003-Move-new-macros-for-Ruby-to-their-dedicated-namespac.patch 0004-Improve-description-of-cast-macros-for-Ruby.patch - Revert last change, drop 0005-disable_li_std_wstring.patch - ruby-std-wstring-byte-order.patch: fix wstring encoding boo#1171368 - Add 0005-disable_li_std_wstring.patch for BE arches (ppc64 s390 s390x) as bypass boo#1171368 - Ruby 2.7 support (cherry-picked from upstream) 0001-Fix-code-generated-for-Ruby-global-variables.patch 0002-Add-support-for-Ruby-2.7.patch 0003-Move-new-macros-for-Ruby-to-their-dedicated-namespac.patch 0004-Improve-description-of-cast-macros-for-Ruby.patch - Update to 4.0.1 - SWIG now cleans up on error by removing all generated files. - Add Python 3.8 support. - Python Sphinx compatibility added for Doxygen comments. - Some minor regressions introduced in 4.0.0 were fixed. - Fix some C++17 compatibility problems in Python and Ruby generated code. - Minor improvements/fixes for C#, Java, Javascript, Lua, MzScheme, Ocaml, Octave and Python. See https://raw.githubusercontent.com/swig/swig/master/CHANGES - Update to 4.0.0 - Support for Doxygen documentation comments which are parsed and converted into JavaDoc or PyDoc comments. - STL wrappers improved for C#, Java and Ruby. - C++11 STL containers added for Java, Python and Ruby. - Improved support for parsing C++11 and C++14 code. - Various fixes for shared_ptr. - Various C preprocessor corner case fixes. - Corner case fixes for member function pointers. - Python module overhaul by simplifying the generated code and turning most optimizations on by default. - %template improvements wrt scoping to align with C++ explicit template instantiations. - Added support for a command-line options file (sometimes called a response file). - Numerous enhancements and fixes for all supported target languages. - SWIG now classifies the status of target languages into either 'Experimental' or 'Supported' to indicate the expected maturity level. - Support for CFFI, Allegrocl, Chicken, CLISP, S-EXP, UFFI, Pike, Modula3 has been removed. - Octave 4.4-5.1 support added. - PHP5 support removed, PHP7 is now the supported PHP version. - Minimum Python version required is now 2.7, 3.2-3.7 are the only other versions supported. - Added support for Javascript NodeJS versions 2-10. - OCaml support is much improved and updated, minimum OCaml version required is now 3.12.0. See https://raw.githubusercontent.com/swig/swig/master/CHANGES - Drop patches (all included) swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_FixMetho.patch swig-3.0.12-Fix-generated-code-for-constant-expressions-containi.patch swig-perl526.patch swig-3.0.12-fix-collections.patch swig-3.0.12-Fix-Coverity-issue-reported-for-setslice-pycontainer.patch swig-3.0.12-Coverity-fix-issue-reported-for-wrapper-argument-che.patch swig-3.0.12-support-octave-4.4.patch swig-ocaml-int64.patch swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_ConvertF.patch - Add swig-3.0.12-support-octave-4.4.patch to add support for octave 4.4; patch taken from upstream git (gh#swig/swig#1256). - Add patches to build with python 3.7 properly: * swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_ConvertF.patch * swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_FixMetho.patch * swig-3.0.12-Coverity-fix-issue-reported-for-wrapper-argument-che.patch * swig-3.0.12-Fix-Coverity-issue-reported-for-setslice-pycontainer.patch * swig-3.0.12-Fix-generated-code-for-constant-expressions-containi.patch * swig-3.0.12-fix-collections.patch - Use version req to check for 1500 instead for non-existing release - Move to generic requires those that are true under both conditions - Use autopatch to apply all the patches at once - Reduce some conditionals for old distros lets consider sle11/rhel6 as minimal supported configuration - Make sure we can be built and distributed with python3 only present in the system - Run python2 and python3 tests for Factory - add swig-perl526.patch from upstream to work with perl 5.26 - use individual libboost-*-devel packages instead of boost-devel - Update to 3.0.12 - Add support for Octave-4.2. - Enhance %extend to support template functions. - Language specific enhancements and fixes for C#, D, Guile, Java, PHP7. - Update to 3.0.11 - PHP 7 support added. - C++11 alias templates and type aliasing support added. - Minor fixes and enhancements for C# Go Guile Java Javascript Octave PHP Python R Ruby Scilab XML. - Update to 3.0.10 - Regression fixes for smart pointers and importing Python modules. - Update to 3.0.9 - Add support for Python's implicit namespace packages. - Fixes to support Go 1.6. - C++11 std::array support added for Java. - Improved C++ multiple inheritance support for Java/C# wrappers. - Various other minor fixes and improvements for C#, D, Go, Java, Javascript, Lua, Python, R, Ruby, Scilab. - drop swig308-Fix-li_boost_array-test.patch, upstream - Add disabled build conditional for ocaml support (fate#320836) - Add swig-ocaml-int64.patch (ocaml PR#6517, fate#320836) - Add swig308-isfinite.diff to fix isfinite issue with new glibc. - Add swig308-Fix-li_boost_array-test.patch to fix boost::array test on PPC. - Update to 3.0.8 - pdf documentation enhancements. - Various Python 3.5 issues fixed. - std::array support added for Ruby and Python. - shared_ptr support added for Ruby. - Minor improvements for CFFI, Go, Java, Perl, Python, Ruby. - Update to 3.0.7 - Add support for Octave-4.0.0. - Remove potential Android security exploit in generated Java classes. - Minor new features and bug fixes. - drop swig-octave4.patch and swig-3.0.6.patch, upstream now - Add swig-octave4.patch to fix swig bindings for octave >= 4.0 (patch taken from Fedora, and has been submitted upstream). - Fix ocaml check (swig-3.0.6.patch) - Update to 3.0.6 - Stability and regression fixes. - Fixed parsing of C++ corner cases. - Language improvements and bug fixes for C#, Go, Java, Lua, Python, R. - explicitly disable ocaml (bug in configure script) - Update to version 3.0.5 * Added support for Scilab. * Important Python regression fix when wrapping C++ default arguments. * Minor improvements for C#, Go, Octave, PHP and Python. - Update to 3.0.4 - Python regression fix when wrapping C++ default arguments. - Improved error messages. - Update to 3.0.3 - Add support for C++11 strongly typed enumerations. - Numerous bug fixes and minor enhancements for C#, D, Go, Java, Javascript, PHP, Perl and Python wrappers. - drop nested_classes.diff, patch is upstream - Fix syntax error in find command - support nested classes in ruby [bnc#892480] new patch: nested_classes.diff - Update to 3.0.2 - Bug fix during install and a couple of other minor changes. - Update to 3.0.1 - Javascript module added. This supports JavascriptCore (Safari/Webkit), v8 (Chromium) and node.js currently. - A few notable regressions introduced in 3.0.0 have been fixed - in Lua, nested classes and parsing of operator <<. - The usual round of bug fixes and minor improvements for: C#, GCJ, Go, Java, Lua, PHP and Python. - Update to 3.0.0 - This is a major new release focusing primarily on C++ improvements. - C++11 support added. Please see documentation for details of supported features: http://www.swig.org/Doc3.0/CPlusPlus11.html - Nested class support added. This has been taken full advantage of in Java and C#. Other languages can use the nested classes, but require further work for a more natural integration into the target language. - We urge folk knowledgeable in the other target languages to step forward and help with this effort. - Lua: improved metatables and support for %nspace. - Go 1.3 support added. - Python import improvements including relative imports. - Python 3.3 support completed. - Perl director support added. - C# .NET 2 support is now the minimum. Generated using statements are replaced by fully qualified names. - Bug fixes and improvements to the following languages: C#, Go, Guile, Java, Lua, Perl, PHP, Python, Octave, R, Ruby, Tcl - Various other bug fixes and improvements affecting all languages. - Note that this release contains some backwards incompatible changes in some languages. - Full detailed release notes are in the changes file. - drop 0001-Fix-Ruby-tracking-code-to-use-C-hash.patch, ruby-1.8.6-newobject.patch, and swig-fix_ocaml_type.patch. All upstreamed. - set CCSHARED to "-fPIC" on s390/s390x - Update to 2.0.12 - This is a maintenance release backporting some fixes from the pending 3.0.0 release. - Octave 3.8 support added. - C++11 support for new versions of erase/insert in the STL containers. - Compilation fixes on some systems for the generated Lua, PHP, Python and R wrappers. - Drop upstreamed patches: swig-lua-fix-void-return-for-int-functions.patch swig-support-octave-3.8.0.patch ruby-2.0-encoding-utf8.patch - Add patch swig-support-octave-3.8.0.patch: adds support for octave version 3.8.0 to swig; patch taken from upstream git and rebased for present version. - Add swig-lua-fix-void-return-for-int-functions.patch to fix void returns in non-void functions for its lua binding; patch submitted upstream (bnc#84331, https://github.com/swig/swig/issues/93). - Update to SWIG 2.0.11 - Minor bug fixes and enhancements mostly in Python, but also C#, Lua, Ocaml, Octave, Perl, PHP, Python, R, Ruby, Tcl. - Ruby 1.8.6 (SLE10) tracks objects differently Add ruby-1.8.6-newobject.patch - Remove skip-python-li_std_containers_int.patch, fixed upstream - Remove python-2.4.patch, fixed upstream - Fix Fedora/RHEL builds (BuildRequires: perl-Test-Simple) - Change Ruby 1.9+ object tracking to use C hashes, fixes all failed Ruby tests. Patch added: 0001-Fix-Ruby-tracking-code-to-use-C-hash.patch Patch removed: 0008-Ruby-Disable-broken-tests.patch - Ruby 2.0 strictly enforces encoding Add ruby-2.0-encoding-utf8.patch - Update to SWIG 2.0.10 - Ruby 1.9 support is now complete. - Add support for Guile 2.0 and Guile 1.6 support (GH interface) has been dropped. - Various small language neutral improvements and fixes. - Various bug fixes and minor improvements specific to C#, CFFI, D, Java, Octave, PHP, Python, - Minor bug fix in ccache-swig. - Development has moved to Github with Travis continuous integration testing - patches using https://github.com/swig/swig are welcome. - drop 0012-Python-Disable-broken-test-in-threads_exception.patch - Add swig-fix_ocaml_type.patch to change the declaration of caml_array_length to match that in ocaml's header. - Fix RHEL4 and 6 build - Update to SWIG 2.0.9 SWIG-2.0.9 summary: - Improved typemap matching. - Ruby 1.9 support is much improved. - Various bug fixes and minor improvements in C#, CFFI, Go, Java, Modula3, Octave, Perl, Python, R, Ruby, Tcl and in ccache-swig. - Removed patches (included in 2.0.9 release) - 0001-Ruby-replace-obsolete-STR2CSTR-macro-with-StringValu.patch - 0002-Ruby-use-RbConfig-instead-of-deprecated-Config-modul.patch - 0003-Ruby-Fix-include-pathes-for-Ruby-1.9.patch - 0004-Ruby-Add-local-dir-to-loadpath-for-Ruby-1.9.patch - 0007-Ruby-1.9-methods-returns-array-of-Symbols-now.patch - Removed broken patch - swig-2.0.4-guile2.patch - Disable tests failing on (deprecated) Python 2.4 - new patch: python-2.4.patch - fix build on SLE10: disable autogen.sh Add patch: PyInt_FromSize_t unavailable under Python 2.4 - Update to 2.0.8 * Fix a couple of regressions introduced in 2.0.5 and 2.0.7. * Improved using declarations and using directives support. * Minor fixes/enhancements for C#, Java, Octave, Perl and Python. - Fix segfault in constructor/destructor warning (upstream ID 3530078) - Port SWIG to Ruby 1.9 (various patches) - Disable broken tests - Update to 2.0.7 * Important regression fixes since 2.0.5 for typemaps in general and in Python. * Fixes and enhancements for Go, Java, Octave and PHP. - Update to 2.0.6 * Various fixes with templates and typedef types. * Some template lookup problems fixed. * Templated type fixes to use correct typemaps. * Autodoc documentation generation improvements. * Python STL container wrappers improvements including addition of stepped slicing. * Approximately 70 fixes and minor enhancements for the following target languages: AllegroCL, C#, D, Go, Java, Lua, Ocaml, Octave, Perl, PHP, Python, R, Ruby, Tcl, Xml. - Added a patch (r12814.patch) to fix regression leading to uncompilable code when using typedef and function pointer references (taken from Debian). - The perl 5.12 packages are compiled with -Duse64bitint, which means that IVs are 64-bits even on 32-bit architectures. When converting IVs, SWIG assumes that an IV is the same size as a long, which causes OverflowErrors with unsigned longs when the value is greater than 2^31. - fix SLES 10 build, disable failing test (bnc#750618) - fix build, add Group field to subpackages - fix license to be in spdx.org format - generate guile 2 friendly code - Update to swig 2.0.4 (see CHANGES.current for complete list) * [Perl] Patch #3260265 fixing overloading of non-primitive types and integers in Perl 5.12 and later. * [Ruby] Fix %import where one of the imported files %include one of the STL include files such as std_vector.i. * [python] Additional fixes for python3.2 support. * [python] Fixed PyGetSetDescr for python3.2. * Bug 2635919: Convenience method to convert std::map to a python dict. * Fixed bug 1163440: vararg typemaps. * [Python] Applied patch #1932484: migrate PyCObject to PyCapsule. * [Python] Merged in the szager-python-builtin branch, adding the -builtin feature for python. The -builtin option may provide a significant performance gain in python wrappers. For full details and limitations, refer to Doc/Manual/Python.html. A small test suite designed to demonstrate the performance gain is in Examples/python/performance. - Fix RHEL/Fedora build - Drop adapt-perl512.diff and replace it with swig-2.0.3-perl512.patch which is applied upstream. - Add swig-2.0.3-perl514.patch: fix test failures with Perl 5.14 - Update to swig 2.0.3 * Much better nested class/struct support. * Much improved template partial specialization and explicit specialization handling. * Namespace support improved with the 'nspace' feature where namespaces can be automatically translated into Java packages or C# namespaces. * Improved typemap and symbol table debugging. * Numerous subtle typemap matching rule changes when using the default (SWIGTYPE) type. These now work much like C++ class template partial specialization matching. * Other small enhancements for typemaps. Typemap fragments are also now official and documented. * Warning and error display refinements. * Wrapping of shared_ptr is improved and documented now. * Numerous C++ unary scope operator (::) fixes. * Better support for boolean expressions. * Various bug fixes and improvements in the Allegrocl, C#, Java, Lua, Octave, PHP, Python, R, Ruby and XML modules. - fix build with new perl 5.12: there is no Reference type anymore, but references and integers are the same, so a 0L was seen as 0 pointer - breaking the test suite. The fix is to remove the check - take patch from swig svn to fix assertion on -xmlout (fix yast2-storage build) - tune .spec file to build on multiple distros - package documentation as noarch - updated to 1.3.40 * SWIG now supports directors for PHP. * PHP support improved in general. * Octave 3.2 support added. * Various bug fixes/enhancements for Allegrocl, C#, Java, Octave, Perl, Python, Ruby and Tcl. * Other generic fixes and minor new features. - updated to 1.3.39 * Python 3 support added * PHP4 support dropped * many bugfixes and improvements - ccache support disabled as it didn't work (todo after 11.2) - fixed two integer overflows in perlprimtypes.swg. These were actually why the two tests on ppc failed. *sigh* (bnc#431945) - disable two perl tests on ppc - updated to 1.3.36 * Enhancement to directors to wrap all protected members * Optimisation feature for objects returned by value * A few bugs fixes in the PHP, Java, Ruby, R, C#, Python, Lua and Perl modules * Other minor generic bug fixes - updated to 1.3.35 * Octave language module added * Bug fixes in Python, Lua, Java, C#, Perl modules * A few other generic bugs and runtime assertions fixed - remove the croak patch, croak(Nullch) is correct (see https://sourceforge.net/tracker/?func=detail&atid=301645&aid=1925121&group_id=1645) - testsuite-warnings.patch not needed - define SWIG_croak_null as croak("%s","") not croak(Nullch) as croak is defined to take a string constant as 1st arg. - Don't return an unitialized local variable in template code. - Bracket if clauses so that the compiler doesn't warn in template code. - updated to 1.3.34 + shared_ptr support for Python + Support for latest R - version 2.6 + Various minor improvements/bug fixes for R, Lua, Python, Java, C# + A few other generic bug fixes, mainly for templates and using statements - updated to 1.3.33 + shared_ptr support for Java and C# + Enhanced STL support for Ruby + Fixed long-standing memory leak in PHP Module + Numerous fixes and minor enhancements for Allegrocl, C#, cffi, Chicken, Guile, Java, Lua, Ocaml, Perl, PHP, Python, Ruby, Tcl + Improved warning support - don't "update" autofoo when building for older dists in the buildservice - install examples in '%%_libdir/swig/examples' (not Examples) to pass the devel-file-in-non-devel-package rpmlint check - fixed some rpmlint errors - install the precompiled examples to %%_libdir/swig - temporarily disabled li_std_string run test under perl5 on ix86 and s390 - build examples and testsuite with -fno-strict-aliasing (packages using swig & python should do the same for now) - fixed testsuite-warnings.patch - updated to 1.3.31, for changes see http://swig.svn.sourceforge.net/viewvc/swig/trunk/CHANGES?r1=9073&r2=9585&diff_format=u - fixed bug in the python module that caused aborts on some architectures - don't install executable documentation files - fixed for Python 2.5 (further fixes may be needed, at least it builds again) (python25.patch) - use $RPM_OPT_FLAGS, unhide compilation of test wrappers (ditto) (testsuite.patch) - fixed build - update to version 1.3.29 * support for Common Lisp with CFFI * new %extend_smart_pointer() directive to extend SWIG smart pointer support in Python * new %bang directive for methods ending with exclamation marks in Ruby * New -autorename option for Ruby to rename methods to match Ruby naming conventions * enhancements to the %rename directive * initial support for wrappint Java code in scripting languages using gcj * new %copyctor directive for automatic generation of copy constructors * many more enhancements + bugfixes - fixed top-level Makefile.in to work with autoconf-2.60 (autoconf260.patch) - added python-devel to buildrequires to test the Python module during build - Fix missing slash. - split documentation into swig-doc and swig-examples [#153015] - fix build with perl-5.8.8 (thanks to Olaf Hering) - converted neededforbuild to BuildRequires - use -fPIC instead of -fpic (-fpic didn't pass testsuite on s390x) - fix endless loop when write fails [#141754] (write-loop.patch) - fix build on x86_64 (fPIC in gifplot) - don't build as root - update -> 1.3.27 - parallelize build - run test suite - update to 1.3.24 again, I hope that subversion guys will fix their problems till next release - fix swigpy build on lib64 - back to 1.3.21 due to subversion incompatibility - update to 1.3.24 - our python now has sys.lib, so no need for patching - spec file cleanup - swiglibdir is now same as upstream - $datadir/swig/version - update to 1.3.23 - runtime no more included - remove most of buildrequires, as they're needed just for examples and they anyway don't compile out of the source directory - -fno-strict-aliasing - added php4 to neededforbuild - renamed mod_php4-devel to php4-devel in neededforbuild - updated to 1.3.21 - Updated to 1.3.20. This release includes a large number of enhancements including improved C++ support, directors, contracts, and more. - handle libdir correctly - try to force swig compilation to accept CFLAGS - cleaned up specfile - add -fPIC - fix libtool problems - fixed permissions for files in lib - fix permissions for documentation - use swiglibdir to have save setup as previous versions - updated to 1.3.19 - compile with -fPIC (should fix #26765) - configure scripts finds correctly more requirements: - java includes - python on lib64 - ocaml on lib64 - build more runtimes: - added php4 - fixed perl - not marking files as config, as they do not contain configuration - simplified file list - updated to 1.3.17: * added pike and ocaml bindings * many bugfixes - removed bogus self-provides - made it work with threaded perl-5.8 - updated to 1.3.13 - added more documentation (html manual and some others) - delete bogus config.{log,status} from Examples/GIFPlot - compile with tcl again (needs --with-tclconfig) - fix libdir usage - fixed parser.yxx to compile with bison 1.32 - fixed to compile with python 2.2 - update to version 1.3.9: * many fixes and improvements - added libraries in /usr/lib - update to version 1.3.6 - fixed call of suse_update_config - call autoconf also in subdirs - added xf86 to neededforbuild - Fix last change to do it right. - added swig1.3a5-Printv.dif.bz2 - fixed to work on ia64 - changed neededforbuild <tcld> to <tcl-devel> - removed kaffe from neededforbuild - fixed filelist - fixed neededforbuild - update to version 1.3a5 - fixed file list - fixed neededforbuild - improved optimalization - update to version 1.3a3 - bzipped sources - added BuildRoot - Use doc macro - fixed to compile - man to /usr/share - fixed neededforbuild - Reinserted old # Commandline: line. - ran old prepare_spec on spec file to switch to new prepare_spec. - Spec file created from swig1.1p5.tar.gz by autospec OBS-URL: https://build.opensuse.org/request/show/1031113 OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/swig?expand=0&rev=141
2022-10-25 16:36:49 +00:00
%setup -q
%build
%ifarch s390 s390x
export CCSHARED="-fPIC"
%endif
./autogen.sh
%configure \
%if %{without swig_ocaml}
--without-ocaml \
%endif
--disable-ccache
make %{?_smp_mflags}
%check
%if 0%{?suse_version} >= 1500 || 0%{?centos_version} >= 800
export PY3=true
%endif
make %{?_smp_mflags} check EXTRA_CXXFLAGS="-fexcess-precision=fast"
%install
%make_install
install -d %{buildroot}%{docpath}
cp -a TODO ANNOUNCE CHANGES* LICENSE README Doc/{Devel,Manual} \
%{buildroot}%{docpath}
install -d %{buildroot}%{_datadir}/swig
cp -a Examples %{buildroot}%{_datadir}/swig/examples
rm -rf %{buildroot}%{_datadir}/swig/examples/test-suite
# rm files that are not needed for running or rebuilding the examples
find %{buildroot}%{_datadir}/swig \
-name '*.dsp' -o -name '*.vcproj' -o -name '*.sln' -o \
-name '*.o' -o -name '*_wrap.c' | xargs rm
# fix perms
chmod -x %{buildroot}%{docpath}/Manual/*
find %{buildroot}%{_datadir}/swig -name '*.h' -perm /111 | \
xargs --no-run-if-empty chmod -x
ln -s %{_datadir}/swig/examples %{buildroot}%{docpath}/Examples
%fdupes %{buildroot}
%files
%defattr(644,root,root,755)
%dir %{docpath}
%{docpath}/[A-Z][A-Z]*
%{_datadir}/swig
%exclude %{_datadir}/swig/examples
%attr(755,root,root) %{_bindir}/swig
%files doc
%{docpath}/Devel
%{docpath}/Manual
%files examples
%{docpath}/Examples
%{_datadir}/swig/examples
%changelog