3 %bcond_without guile # disable guile support
4 %bcond_without perl # disable perl support
5 %bcond_without php # disable php support
6 %bcond_without ruby # disable ruby support
7 %bcond_without tcl # disable tcl support
9 %if "%{?php_suffix}" == ""
12 %define php_name php%{?php_suffix}
13 Summary: Interface generator for Perl, Tcl, Guile and Python
14 Summary(pl.UTF-8): Generator interfejsów do Perla, Tcl-a, Guile'a i Pythona
15 Summary(pt_BR.UTF-8): Gerador de Interfaces e "Wrappers" Simplificado (SWIG)
19 License: GPL v3+ (utility), free (library)
20 Group: Development/Languages
21 Source0: https://downloads.sourceforge.net/swig/%{name}-%{version}.tar.gz
22 # Source0-md5: 7c3e46cb5af2b469722cafa0d91e127b
23 Patch0: %{name}-php-freearg.patch
24 URL: http://www.swig.org/
25 BuildRequires: autoconf >= 2.58
26 BuildRequires: automake >= 1:1.7.2
27 %{?with_guile:BuildRequires: guile-devel >= 5:1.8}
28 BuildRequires: libstdc++-devel
29 # used only in examples, doesn't affect actual swig build
31 # used only in examples, doesn't affect actual swig build
32 #BuildRequires: octave-devel
33 BuildRequires: pcre-devel
34 %{?with_perl:BuildRequires: perl-devel >= 1:5.6.1}
35 %{?with_php:BuildRequires: %{php_name}-cli}
36 %{?with_php:BuildRequires: %{php_name}-devel >= 4.1.0}
37 BuildRequires: python-devel >= 1:2.3.2
38 BuildRequires: python-modules
39 BuildRequires: python3-devel
40 BuildRequires: python3-modules
41 BuildRequires: rpm-pythonprov
43 BuildRequires: rpmbuild(macros) >= 1.277
44 BuildRequires: ruby-devel >= 1:1.6.3
46 %{?with_tcl:BuildRequires: tcl-devel >= 8.3.3}
47 Obsoletes: swig-ocaml < 3.0.7
48 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
51 SWIG is a compiler that attempts to make it easy to integrate C, C++,
52 or Objective-C code with scripting languages including Perl, Tcl, and
53 Python. In a nutshell, you give it a bunch of ANSI C/C++ declarations
54 and it generates an interface between C and your favorite scripting
55 language. However, this is only scratching the surface of what SWIG
56 can do--some of its more advanced features include automatic
57 documentation generation, module and library management, extensive
58 customization options, and more.
60 SWIG is entirely the product of users who have used the system and
61 suggested new idea. There are far too many people to thank
62 individually, but without this support, SWIG would be not be nearly as
63 powerful or fun to use as it is now. Many thanks!
65 %description -l pl.UTF-8
66 SWIG jesk kompilatorem, który próbuje ułatwić integrowanie kodu
67 napisanego w C, C++ lub Objective-C z językami skryptowymi, takimi jak
68 Perl, Tcl i Python. Mówiąc najprościej, jeśli dostarczysz mu zestaw
69 zadeklarowanych w ANSI C/C++ funkcji, SWIG wygeneruje Ci interfejs
70 pomiędzy C a Twoim ulubionym językiem skryptowym. To tylko drobna
71 część tego co SWIG potrafi robić, bardziej zaawansowane zastosowania
72 to automatyczne generowanie dokumentacji, zarządzanie bibliotekami i
73 modułami i wiele innych.
75 SWIG jest w całości dziełem ludzi, którzy go używali i wprowadzali
76 nowe pomysły. Zbyt wielu ich jest, aby dziękować każdemu z nich
77 osobno, ale bez ich wsparcia SWIG nie byłby ani tak potężnym
78 narzędziem, ani tak fajnym w użyciu jak jest teraz. Wiekie dzięki!
80 %description -l pt_BR.UTF-8
81 O SWIG gera interfaces para perl, python e Tcl a partir de uma arquivo
82 com uma interface de descrição que consiste de uma combinação de C/C++
83 e diretivas especiais. Permite que linguagens tipo script usem C/C++
84 com um mínimo de esforço.
87 Summary: SWIG module to generate Guile bindings
88 Summary(pl.UTF-8): Moduł SWIG do generowania wiązań Guile
91 Requires: %{name} = %{version}-%{release}
94 SWIG module to generate Guile bindings.
96 %description guile -l pl.UTF-8
97 Moduł SWIG do generowania wiązań Guile.
100 Summary: SWIG module to generate Perl bindings
101 Summary(pl.UTF-8): Moduł SWIG do generowania wiązań Perla
104 Requires: %{name} = %{version}-%{release}
107 SWIG module to generate Perl bindings. It supports Perl 5.
109 %description perl -l pl.UTF-8
110 Moduł SWIG do generowania wiązań Perla. Obsługuje Perla 5.
113 Summary: SWIG module to generate PHP bindings
114 Summary(pl.UTF-8): Moduł SWIG do generowania wiązań PHP
117 Requires: %{name} = %{version}-%{release}
120 SWIG module to generate PHP bindings. It supports PHP 7.
122 %description php -l pl.UTF-8
123 Moduł SWIG do generowania wiązań PHP. Obsługuje PHP 7.
126 Summary: SWIG module to generate Python bindings
127 Summary(pl.UTF-8): Moduł SWIG do generowania wiązań Pythona
130 Requires: %{name} = %{version}-%{release}
133 SWIG module to generate Python bindings. It supports Python 2.7 and
136 %description python -l pl.UTF-8
137 Moduł SWIG do generowania wiązań Pythona. Obsługuje Pythona 2.7 i
141 Summary: SWIG module to generate Ruby bindings
142 Summary(pl.UTF-8): Moduł SWIG do generowania wiązań języka Ruby
145 Requires: %{name} = %{version}-%{release}
146 %{?ruby_mod_ver_requires_eq}
149 SWIG module to generate Ruby bindings.
151 %description ruby -l pl.UTF-8
152 Moduł SWIG do generowania wiązań języka Ruby.
155 Summary: SWIG module to generate Tcl bindings
156 Summary(pl.UTF-8): Moduł SWIG do generowania wiązań języka Tcl
159 Requires: %{name} = %{version}-%{release}
162 SWIG module to generate Tcl bindings.
164 %description tcl -l pl.UTF-8
165 Moduł SWIG do generowania wiązań języka Tcl.
172 %{__aclocal} -I Tools/config
181 rm -rf $RPM_BUILD_ROOT
182 install -d $RPM_BUILD_ROOT{%{_mandir}/man1,%{_examplesdir}/%{name}-%{version}}
185 DESTDIR=$RPM_BUILD_ROOT \
186 M4_INSTALL_DIR=$RPM_BUILD_ROOT%{_aclocaldir}
188 cp -a Examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
191 rm -rf $RPM_BUILD_ROOT
194 %defattr(644,root,root,755)
195 %doc ANNOUNCE CHANGES CHANGES.current COPYRIGHT LICENSE LICENSE-UNIVERSITIES README RELEASENOTES TODO Doc
196 %attr(755,root,root) %{_bindir}/ccache-swig
197 %attr(755,root,root) %{_bindir}/swig
198 %dir %{_datadir}/%{name}
199 %dir %{_datadir}/%{name}/%{version}
200 %{_datadir}/%{name}/%{version}/*.i
201 %{_datadir}/%{name}/%{version}/allkw.swg
202 %{_datadir}/%{name}/%{version}/director_common.swg
203 %{_datadir}/%{name}/%{version}/runtime.swg
204 %{_datadir}/%{name}/%{version}/swig*.swg
205 %{_datadir}/%{name}/%{version}/csharp
206 %{_datadir}/%{name}/%{version}/d
207 %{_datadir}/%{name}/%{version}/go
208 %{_datadir}/%{name}/%{version}/java
209 %dir %{_datadir}/%{name}/%{version}/javascript
210 %{_datadir}/%{name}/%{version}/javascript/jsc
211 %{_datadir}/%{name}/%{version}/javascript/v8
212 %{_datadir}/%{name}/%{version}/lua
213 %{_datadir}/%{name}/%{version}/mzscheme
214 %{_datadir}/%{name}/%{version}/ocaml
215 %{_datadir}/%{name}/%{version}/octave
216 %{_datadir}/%{name}/%{version}/r
217 %{_datadir}/%{name}/%{version}/scilab
218 %{_datadir}/%{name}/%{version}/std
219 %{_datadir}/%{name}/%{version}/typemaps
220 %{_datadir}/%{name}/%{version}/xml
221 %{_examplesdir}/%{name}-%{version}
225 %defattr(644,root,root,755)
226 %{_datadir}/%{name}/%{version}/guile
231 %defattr(644,root,root,755)
232 %{_datadir}/%{name}/%{version}/perl5
237 %defattr(644,root,root,755)
238 %{_datadir}/%{name}/%{version}/php
242 %defattr(644,root,root,755)
243 %{_datadir}/%{name}/%{version}/python
247 %defattr(644,root,root,755)
248 %{_datadir}/%{name}/%{version}/ruby
253 %defattr(644,root,root,755)
254 %{_datadir}/%{name}/%{version}/tcl