blob: eaecab5f7365ae746c03e693a88781000d1fafd1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
Name: swig
Version: 4.0.2
Release: 5
Summary: Links C/C++/Objective C to languages for some advanced programing
License: GPLv3+ and BSD
URL: http://swig.sourceforge.net/
Source0: http://downloads.sourceforge.net/project/swig/swig/swig-%{version}/swig-%{version}.tar.gz
Source1: description.h2m
Patch1: backport-PCRE2.patch
Patch2: backport-Few-more-PCRE-to-PCRE2-changes.patch
Patch3: backport-configure.ac-Add-missing-shell-quoting.patch
Patch4: Backport-php-8-support-from-upstream.patch
BuildRequires: perl-interpreter pcre2-devel python3-devel autoconf automake gawk dos2unix
BuildRequires: gcc-c++ help2man perl-devel perl(base) perl(Config) perl(Devel::Peek)
BuildRequires: perl(ExtUtils::MakeMaker) perl(fields) perl(Math::BigInt) perl(strict)
BuildRequires: perl(Test::More) perl(vars) perl(warnings) boost-devel bison tcl-devel
BuildRequires: lua-devel ruby-devel
Provides: %{name}-gdb = %{version}-%{release}
Obsoletes: %{name}-gdb < %{version}-%{release}
%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 help
Summary: Help document for the swig package
License: BSD
BuildArch: noarch
Provides: %{name}-doc = %{version}-%{release}
Obsoletes: %{name}-doc < %{version}-%{release}
%description help
Help document for the swig package.
%prep
%autosetup -n %{name}-%{version} -p1
%build
./autogen.sh
%configure --without-ocaml --without-python --with-python3=%__python3 --without-go --disable-ccache;
%make_build
%check
%make_build check
%install
%make_install
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' -o -name '*.csproj' -o \
-name '*.dsw' | xargs rm
find %{buildroot}%{_datadir}/swig -name '*.h' -perm /111 | \
xargs --no-run-if-empty chmod -x
echo "Options:" >help_swig
%{buildroot}%{_bindir}/swig --help >>help_swig
sed -i -e 's/^\(\s\+-[^-]\+\)- \(.*\)$/\1 \2/' help_swig
sed -i -e 's/^\(\s\+-\w\+-[^-]*\)- \(.*\)$/\1 \2/' help_swig
cat >h2m_helper_swig <<'EOF'
[ "$1" == "--version" ] && echo "" || cat help_swig
EOF
chmod a+x h2m_helper_swig
help2man -N --section 1 ./h2m_helper_swig --include %{SOURCE1} -o %{name}.1
mkdir -p %{buildroot}%{_mandir}/man1/
install -p -m 0644 %{name}.1 %{buildroot}%{_mandir}/man1/
install -d %{buildroot}%{_datadir}/%{name}/gdb
install -pm 644 Tools/swig.gdb %{buildroot}%{_datadir}/%{name}/gdb
%files
%{_bindir}/%{name}
%{_datadir}/%{name}
%exclude %{_datadir}/%{name}/examples
%license LICENSE LICENSE-GPL LICENSE-UNIVERSITIES
%doc COPYRIGHT
%exclude %{_datadir}/%name/%{version}/octave/std_carray.i
%files help
%license LICENSE LICENSE-GPL LICENSE-UNIVERSITIES
%doc Doc/{Devel,Manual} README TODO
%{_datadir}/%{name}/examples
%doc ANNOUNCE CHANGES CHANGES.current
%{_mandir}/man1/swig.1*
%changelog
* Mon Jun 05 2023 misaka00251 <liuxin@iscas.ac.cn> - 4.0.2-5
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:Backport php 8 support from upstream
* Thu Jun 9 2022 zoulin <zoulin13@h-partners.com> - 4.0.2-4
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:Modify the dependency from pcre to pcre2
* Tue Apr 20 2021 panxiaohe <panxiaohe@huawei.com> - 4.0.2-3
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:use make macros to run check in parallel
* Tue Feb 23 2021 licihua <licihua@huawei.com> - 4.0.2-2
- Type:bugfix
- CVE:NA
- SUG:NA
- DESC:Move make check stage to %check
* Thu Jul 23 2020 shixuantong <shixuantong@huawei.com> - 4.0.2-1
- update to 4.0.2-1
* Fri Nov 29 2019 wutao <wutao61@huawei.com> - 3.0.12-22
- Package init
|