# # spec file for package swig # # Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # # 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. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: swig BuildRequires: boost-devel BuildRequires: gcc-c++ BuildRequires: pcre-devel BuildRequires: perl BuildRequires: python-devel %if 0%{?rhel_version} > 0 BuildRequires: -vim %endif %if 0%{?fedora} + 0%{?rhel_version} + 0%{?centos_version} > 0 %define docpath %{_docdir}/%{name}-%{version} BuildRequires: pkgconfig BuildRequires: ruby-devel %if 0%{?rhel_version} + 0%{?centos_version} == 0 BuildRequires: perl-devel %endif %endif %if 0%{?suse_version} > 0 %define docpath %{_docdir}/%{name} %if 0%{?suse_version} > 1010 BuildRequires: fdupes %endif # SLE9 %if 0%{?suse_version} < 920 BuildRequires: pkgconfig BuildRequires: ruby %else BuildRequires: pkg-config # SLE10 and up BuildRequires: ruby-devel %endif %endif Version: 2.0.4 Release: 0 Summary: Simplified Wrapper and Interface Generator License: GPL-3.0+ and BSD-3-Clause Group: Development/Languages/C and C++ Url: http://www.swig.org Source: %{name}-%{version}.tar.bz2 Source1: %{name}.rpmlintrc # PATCH-FIX-UPSTREAM swig-2.0.4-support-python32.patch idoenmez@suse.de -- Support Python 3.2 Patch1: swig-2.0.4-support-python32.patch # swig-2.0.4-ptrdiff_t.patch kkaempf@suse.com -- import_stl fails under Python Patch2: swig-2.0.4-ptrdiff_t.patch # PATCH-FIX-UPSTREAM swig-2.0.4-disable-broken-tests.patch idoenmez@suse.de -- Disable broken tests Patch3: swig-2.0.4-disable-broken-tests.patch # swig-2.0.4-disable-broken-tests_rhel4.patch kkaempf@suse.com -- disable tests failing on RHEL4 Patch4: swig-2.0.4-disable-broken-tests_rhel4.patch # PATCH-FIX-UPSTREAM swig-2.0.4-guile2.patch pgajdos@suse.com -- generate guile 2 friendly code Patch5: swig-2.0.4-guile2.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %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 Requires: swig %if 0%{?suse_version} >= 1120 BuildArch: noarch %endif %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 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 %setup -q %patch1 -p1 %patch2 -p1 %patch3 %if 0%{?rhel_version} >= 400 && 0%{?rhel_version} < 500 %patch4 -p1 %endif # guile 2 from 12.1 %if 0%{?suse_version} >= 1210 %patch5 -p1 %endif %build %configure --disable-ccache make %{?_smp_mflags} %check # check fails on SLES9 %if 0%{?sles_version} != 9 # This test is buggy on x86-64 rm -f Examples/test-suite/python/li_boost_shared_ptr_runme.py make check %endif %install make install DESTDIR=%{buildroot} install -d %{buildroot}%{docpath} cp -a TODO ANNOUNCE CHANGES* LICENSE README Doc/{Devel,Manual} \ %{buildroot}%{docpath} install -d %{buildroot}%{_libdir}/swig cp -a Examples %{buildroot}%{_libdir}/swig/examples # rm files that are not needed for runnig or rebuilding the examples find %{buildroot}%{_libdir}/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}%{_libdir}/swig -name '*.h' -perm +111 | \ xargs --no-run-if-empty chmod -x ln -s %{_libdir}/swig/examples %{buildroot}%{docpath}/Examples %if 0%{?suse_version} > 1010 %fdupes $RPM_BUILD_ROOT %endif %clean rm -rf %{buildroot} %files %defattr(644,root,root,755) %dir %{docpath} %{docpath}/[A-Z][A-Z]* %{_datadir}/swig %attr(755,root,root) %{_bindir}/swig %files doc %defattr(-,root,root) %{docpath}/Devel %{docpath}/Manual %files examples %defattr(-,root,root) %{docpath}/Examples %{_libdir}/swig %changelog