]> git.pld-linux.org Git - packages/sip.git/blob - sip.spec
- added outoftree patch to fix out-of-tree builds
[packages/sip.git] / sip.spec
1 # TODO: __pycache__ for python3-sip-devel
2 #
3 # Conditional build:
4 %bcond_without  python2 # CPython 2.x modules
5 %bcond_without  python3 # CPython 3.x modules
6
7 Summary:        Python bindings generator for C++ class libraries
8 Summary(pl.UTF-8):      Generator powiązań Pythona z bibliotekami klas C++
9 Name:           sip
10 Version:        4.16.3
11 Release:        1
12 Epoch:          2
13 License:        SIP (redistributable, see LICENSE) or GPL v2 or GPL v3
14 Group:          Development/Languages/Python
15 Source0:        http://downloads.sourceforge.net/pyqt/sip-%{version}.tar.gz
16 # Source0-md5:  884d60b6f17fc5b910da4665caf6fd85
17 Patch0:         %{name}-outoftree.patch
18 URL:            http://www.riverbankcomputing.com/software/sip/
19 BuildRequires:  libstdc++-devel
20 BuildRequires:  python-devel >= 2.3
21 BuildRequires:  rpm-pythonprov
22 BuildRequires:  rpmbuild(macros) >= 1.167
23 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
24
25 %define         _sipfilesdir    %{_datadir}/sip
26
27 %description
28 SIP generates Python bindings for C++ class libraries from a set of
29 class specification files. It supports Python v2 and v3.
30
31 %description -l pl.UTF-8
32 SIP generuje powiązania Pythona z bibliotekami klas C++ ze zbioru
33 plików ze specyfikacjami klas. Obsługiwany jest Python 2 i 3.
34
35 %package -n python-sip
36 Summary:        Python 2 module needed by SIP generated bindings
37 Summary(pl.UTF-8):      Moduł Pythona 2 wymagany przez wiązania wygenerowane przez SIP
38 Group:          Libraries/Python
39 Requires:       python-libs
40
41 %description -n python-sip
42 SIP generates Python bindings for C++ class libraries from a set of
43 class specification files. This package includes Python 2 runtime
44 library needed by all generated bindings.
45
46 %description -n python-sip -l pl.UTF-8
47 SIP generuje powiązania Pythona z bibliotekami klas C++ ze zbioru
48 plików ze specyfikacjami klas. Ten pakiet zawiera bibliotekę Pythona 2
49 potrzebną do uruchomienia wszystkich wygenerowanych powiązań.
50
51 %package -n python-sip-devel
52 Summary:        Python 2 development files needed to build bindings using SIP
53 Summary(pl.UTF-8):      Pliki programistyczne Pythona 2 potrzebne do budowania wiązań przy użyciu SIP-a
54 Group:          Development/Libraries
55 Requires:       %{name} = %{epoch}:%{version}-%{release}
56 Requires:       python-devel >= 2.3
57
58 %description -n python-sip-devel
59 Python 2 development files needed to build bindings for C++ classes
60 using SIP.
61
62 %description -n python-sip-devel -l pl.UTF-8
63 Pliki programistyczne Pythona 2 potrzebne do budowania wiązań dla klas
64 C++ przy użyciu SIP-a.
65
66 %package -n python3-sip
67 Summary:        Python 3 module needed by SIP generated bindings
68 Summary(pl.UTF-8):      Moduł Pythona 3 wymagany przez wiązania wygenerowane przez SIP
69 Group:          Libraries/Python
70 Requires:       python3-libs
71
72 %description -n python3-sip
73 SIP generates Python bindings for C++ class libraries from a set of
74 class specification files. This package includes Python 3 runtime
75 library needed by all generated bindings.
76
77 %description -n python3-sip -l pl.UTF-8
78 SIP generuje powiązania Pythona z bibliotekami klas C++ ze zbioru
79 plików ze specyfikacjami klas. Ten pakiet zawiera bibliotekę Pythona 3
80 potrzebną do uruchomienia wszystkich wygenerowanych powiązań.
81
82 %package -n python3-sip-devel
83 Summary:        Python 3 development files needed to build bindings using SIP
84 Summary(pl.UTF-8):      Pliki programistyczne Pythona 3 potrzebne do budowania wiązań przy użyciu SIP-a
85 Group:          Development/Libraries
86 Requires:       %{name} = %{epoch}:%{version}-%{release}
87 Requires:       python3-devel >= 1:3.2
88
89 %description -n python3-sip-devel
90 Python 3 development files needed to build bindings for C++ classes
91 using SIP.
92
93 %description -n python3-sip-devel -l pl.UTF-8
94 Pliki programistyczne Pythona 3 potrzebne do budowania wiązań dla klas
95 C++ przy użyciu SIP-a.
96
97 %prep
98 %setup -q
99 %patch0 -p1
100
101 %build
102 # configure.py notes:
103 # - macros overrides must be last
104 # - cannot pass CXXFLAGS+="%{rpmcflags}" or so - builtin -O2 overrides rpmcflags
105
106 %if %{with python2}
107 install -d build-py2
108 cd build-py2
109 %{__python} ../configure.py \
110         -b %{_bindir} \
111         -e %{py_incdir} \
112         -v %{_sipfilesdir} \
113         -d %{py_sitedir} \
114         CC="%{__cc}" \
115         CXX="%{__cxx}" \
116         CFLAGS="%{rpmcflags} %{rpmcppflags}" \
117         CXXFLAGS="%{rpmcxxflags} %{rpmcppflags}" \
118         LINK="%{__cxx}" \
119         LINK_SHLIB="%{__cxx}"
120
121 %{__make}
122 cd ..
123 %endif
124
125 %if %{with python3}
126 install -d build-py3
127 cd build-py3
128 %{__python3} ../configure.py \
129         -b %{_bindir} \
130         -e %{py3_incdir} \
131         -v %{_sipfilesdir} \
132         -d %{py3_sitedir} \
133         CC="%{__cc}" \
134         CXX="%{__cxx}" \
135         CFLAGS="%{rpmcflags} %{rpmcppflags}" \
136         CXXFLAGS="%{rpmcxxflags} %{rpmcppflags}" \
137         LINK="%{__cxx}" \
138         LINK_SHLIB="%{__cxx}"
139
140 %{__make}
141 cd ..
142 %endif
143
144 %install
145 rm -rf $RPM_BUILD_ROOT
146 install -d $RPM_BUILD_ROOT%{_sipfilesdir}
147
148 %if %{with python2}
149 %{__make} -C build-py2 install \
150         DESTDIR=$RPM_BUILD_ROOT
151
152 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
153 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
154 %endif
155
156 %if %{with python3}
157 %{__make} -C build-py3 install \
158         DESTDIR=$RPM_BUILD_ROOT
159 %endif
160
161 %clean
162 rm -rf $RPM_BUILD_ROOT
163
164 %files
165 %defattr(644,root,root,755)
166 %doc LICENSE NEWS README doc/html
167 %attr(755,root,root) %{_bindir}/sip
168 %dir %{_sipfilesdir}
169
170 %if %{with python2}
171 %files -n python-sip
172 %defattr(644,root,root,755)
173 %attr(755,root,root) %{py_sitedir}/sip.so
174
175 %files -n python-sip-devel
176 %defattr(644,root,root,755)
177 %{py_sitedir}/sipconfig.py
178 %{py_sitedir}/sipconfig.py[co]
179 %{py_sitedir}/sipdistutils.py
180 %{py_sitedir}/sipdistutils.py[co]
181 %{py_incdir}/sip.h
182 %endif
183
184 %if %{with python3}
185 %files -n python3-sip
186 %defattr(644,root,root,755)
187 %attr(755,root,root) %{py3_sitedir}/sip.so
188
189 %files -n python3-sip-devel
190 %defattr(644,root,root,755)
191 %{py3_sitedir}/sipconfig.py
192 %{py3_sitedir}/sipdistutils.py
193 %{py3_incdir}/sip.h
194 %endif
This page took 0.160137 seconds and 4 git commands to generate.