#
# Conditional build:
%bcond_without guile # disable guile support
-%bcond_without ocaml # disable ocaml support
-%bcond_without octave # disable octave support
%bcond_without perl # disable perl support
%bcond_without php # disable php support
%bcond_without ruby # disable ruby support
%bcond_without tcl # disable tcl support
#
+%if "%{?php_suffix}" == ""
+%define php_suffix 73
+%endif
+%define php_name php%{?php_suffix}
Summary: Interface generator for Perl, Tcl, Guile and Python
Summary(pl.UTF-8): Generator interfejsów do Perla, Tcl-a, Guile'a i Pythona
Summary(pt_BR.UTF-8): Gerador de Interfaces e "Wrappers" Simplificado (SWIG)
Name: swig
-Version: 1.3.40
+Version: 4.0.2
Release: 1
-License: distributable
+License: GPL v3+ (utility), free (library)
Group: Development/Languages
-Source0: http://dl.sourceforge.net/swig/%{name}-%{version}.tar.gz
-# Source0-md5: 2df766c9e03e02811b1ab4bba1c7b9cc
+Source0: https://downloads.sourceforge.net/swig/%{name}-%{version}.tar.gz
+# Source0-md5: 7c3e46cb5af2b469722cafa0d91e127b
Patch0: %{name}-php-freearg.patch
URL: http://www.swig.org/
-BuildRequires: autoconf
-BuildRequires: automake
-%{?with_guile:BuildRequires: guile-devel}
+BuildRequires: autoconf >= 2.58
+BuildRequires: automake >= 1:1.7.2
+%{?with_guile:BuildRequires: guile-devel >= 5:1.8}
BuildRequires: libstdc++-devel
-BuildRequires: libtool
-%{?with_ocaml:BuildRequires: ocaml}
-%{?with_octave:BuildRequires: octave-devel}
+# used only in examples, doesn't affect actual swig build
+#BuildRequires: ocaml
+# used only in examples, doesn't affect actual swig build
+#BuildRequires: octave-devel
+BuildRequires: pcre-devel
%{?with_perl:BuildRequires: perl-devel >= 1:5.6.1}
-%{?with_php:BuildRequires: php-cli}
-%{?with_php:BuildRequires: php-devel >= 4.1.0}
+%{?with_php:BuildRequires: %{php_name}-cli}
+%{?with_php:BuildRequires: %{php_name}-devel >= 4.1.0}
BuildRequires: python-devel >= 1:2.3.2
BuildRequires: python-modules
+BuildRequires: python3-devel
+BuildRequires: python3-modules
BuildRequires: rpm-pythonprov
%if %{with ruby}
BuildRequires: rpmbuild(macros) >= 1.277
BuildRequires: ruby-devel >= 1:1.6.3
%endif
%{?with_tcl:BuildRequires: tcl-devel >= 8.3.3}
-Obsoletes: swig-ocaml
+Obsoletes: swig-ocaml < 3.0.7
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
com um mínimo de esforço.
%package guile
-Summary: SWIG library: guile
-Summary(pl.UTF-8): Biblioteka SWIG: guile
+Summary: SWIG module to generate Guile bindings
+Summary(pl.UTF-8): Moduł SWIG do generowania wiązań Guile
+License: free
Group: Libraries
Requires: %{name} = %{version}-%{release}
%description guile
-SWIG library: guile.
+SWIG module to generate Guile bindings.
%description guile -l pl.UTF-8
-Biblioteka SWIG: guile.
+Moduł SWIG do generowania wiązań Guile.
%package perl
-Summary: SWIG library: Perl
-Summary(pl.UTF-8): Biblioteka SWIG: Perl
+Summary: SWIG module to generate Perl bindings
+Summary(pl.UTF-8): Moduł SWIG do generowania wiązań Perla
+License: free
Group: Libraries
Requires: %{name} = %{version}-%{release}
%description perl
-SWIG library: perl.
+SWIG module to generate Perl bindings. It supports Perl 5.
%description perl -l pl.UTF-8
-Biblioteka SWIG: perl.
+Moduł SWIG do generowania wiązań Perla. Obsługuje Perla 5.
%package php
-Summary: SWIG library: php
-Summary(pl.UTF-8): Biblioteka SWIG: php
+Summary: SWIG module to generate PHP bindings
+Summary(pl.UTF-8): Moduł SWIG do generowania wiązań PHP
+License: free
Group: Libraries
Requires: %{name} = %{version}-%{release}
%description php
-SWIG library: php.
+SWIG module to generate PHP bindings. It supports PHP 7.
%description php -l pl.UTF-8
-Biblioteka SWIG: php.
+Moduł SWIG do generowania wiązań PHP. Obsługuje PHP 7.
%package python
-Summary: SWIG library: python
-Summary(pl.UTF-8): Biblioteka SWIG: python
+Summary: SWIG module to generate Python bindings
+Summary(pl.UTF-8): Moduł SWIG do generowania wiązań Pythona
+License: free
Group: Libraries
Requires: %{name} = %{version}-%{release}
%description python
-SWIG library: python.
+SWIG module to generate Python bindings. It supports Python 2.7 and
+3.2+
%description python -l pl.UTF-8
-Biblioteka SWIG: python.
+Moduł SWIG do generowania wiązań Pythona. Obsługuje Pythona 2.7 i
+3.2+.
%package ruby
-Summary: SWIG library: ruby
-Summary(pl.UTF-8): Biblioteka SWIG: ruby
+Summary: SWIG module to generate Ruby bindings
+Summary(pl.UTF-8): Moduł SWIG do generowania wiązań języka Ruby
+License: free
Group: Libraries
Requires: %{name} = %{version}-%{release}
%{?ruby_mod_ver_requires_eq}
%description ruby
-SWIG library: ruby.
+SWIG module to generate Ruby bindings.
%description ruby -l pl.UTF-8
-Biblioteka SWIG: ruby.
+Moduł SWIG do generowania wiązań języka Ruby.
%package tcl
-Summary: SWIG library: tcl
-Summary(pl.UTF-8): Biblioteka SWIG: tcl
+Summary: SWIG module to generate Tcl bindings
+Summary(pl.UTF-8): Moduł SWIG do generowania wiązań języka Tcl
+License: free
Group: Libraries
Requires: %{name} = %{version}-%{release}
%description tcl
-SWIG library: tcl.
+SWIG module to generate Tcl bindings.
%description tcl -l pl.UTF-8
-Biblioteka SWIG: tcl.
+Moduł SWIG do generowania wiązań języka Tcl.
%prep
%setup -q
%patch0 -p1
%build
-%{__libtoolize}
%{__aclocal} -I Tools/config
%{__autoconf}
%{__automake}
%files
%defattr(644,root,root,755)
-%doc Doc CHANGES CHANGES.current NEW README ANNOUNCE TODO LICENSE
+%doc ANNOUNCE CHANGES CHANGES.current COPYRIGHT LICENSE LICENSE-UNIVERSITIES README RELEASENOTES TODO Doc
%attr(755,root,root) %{_bindir}/ccache-swig
%attr(755,root,root) %{_bindir}/swig
-%{_datadir}/%{name}
-%{?with_guile:%exclude %{_datadir}/%{name}/%{version}/guile}
-%{?with_perl:%exclude %{_datadir}/%{name}/%{version}/perl5}
-%{?with_php:%exclude %{_datadir}/%{name}/%{version}/php}
-%exclude %{_datadir}/%{name}/%{version}/python
-%{?with_ruby:%exclude %{_datadir}/%{name}/%{version}/ruby}
-%{?with_tcl:%exclude %{_datadir}/%{name}/%{version}/tcl}
-%{_mandir}/man1/ccache-swig.1*
+%dir %{_datadir}/%{name}
+%dir %{_datadir}/%{name}/%{version}
+%{_datadir}/%{name}/%{version}/*.i
+%{_datadir}/%{name}/%{version}/allkw.swg
+%{_datadir}/%{name}/%{version}/director_common.swg
+%{_datadir}/%{name}/%{version}/runtime.swg
+%{_datadir}/%{name}/%{version}/swig*.swg
+%{_datadir}/%{name}/%{version}/csharp
+%{_datadir}/%{name}/%{version}/d
+%{_datadir}/%{name}/%{version}/go
+%{_datadir}/%{name}/%{version}/java
+%dir %{_datadir}/%{name}/%{version}/javascript
+%{_datadir}/%{name}/%{version}/javascript/jsc
+%{_datadir}/%{name}/%{version}/javascript/v8
+%{_datadir}/%{name}/%{version}/lua
+%{_datadir}/%{name}/%{version}/mzscheme
+%{_datadir}/%{name}/%{version}/ocaml
+%{_datadir}/%{name}/%{version}/octave
+%{_datadir}/%{name}/%{version}/r
+%{_datadir}/%{name}/%{version}/scilab
+%{_datadir}/%{name}/%{version}/std
+%{_datadir}/%{name}/%{version}/typemaps
+%{_datadir}/%{name}/%{version}/xml
%{_examplesdir}/%{name}-%{version}
%if %{with guile}