]> git.pld-linux.org Git - packages/libxml2.git/blob - libxml2.spec
upstream fix for lxml's api abuse; rel 2
[packages/libxml2.git] / libxml2.spec
1 # TODO:
2 # - fix build without libxml2-devel (python library uses old headers)
3 #
4 # Conditional build:
5 %bcond_without  apidocs         # do not build and package API docs
6 %bcond_without  python2         # CPython 2.x module
7 %bcond_without  python3         # CPython 3.x module
8 %bcond_without  static_libs     # static library
9 %bcond_without  zlib            # zlib support
10 %bcond_with     mem_debug       # libxml2 memory debuging
11 %bcond_without  tests           # "make check" call
12
13 Summary:        libXML library version 2
14 Summary(es.UTF-8):      Biblioteca libXML version 2
15 Summary(pl.UTF-8):      Biblioteka libXML wersja 2
16 Summary(pt_BR.UTF-8):   Biblioteca libXML versão 2
17 Name:           libxml2
18 Version:        2.9.12
19 Release:        2
20 Epoch:          1
21 License:        MIT
22 Group:          Libraries
23 Source0:        ftp://xmlsoft.org/libxml2/%{name}-%{version}.tar.gz
24 # Source0-md5:  f433a39be087a9f0b197eb2307ad9f75
25 Patch0:         %{name}-man_fixes.patch
26 Patch1:         %{name}-open.gz.patch
27 Patch2:         %{name}-largefile.patch
28 Patch3:         %{name}-libx32.patch
29 Patch4:         lxml-api-abuse.patch
30 # Fedora patches
31 # https://bugzilla.gnome.org/show_bug.cgi?id=789714
32 Patch11:        %{name}-python3-unicode-errors.patch
33 URL:            http://xmlsoft.org/
34 BuildRequires:  autoconf >= 2.68
35 BuildRequires:  automake >= 1.4
36 BuildRequires:  libtool >= 2:2.0
37 %if %{with python2}
38 BuildRequires:  python-devel >= 2.0
39 BuildRequires:  python-modules >= 2.0
40 BuildRequires:  rpm-pythonprov
41 %endif
42 %if %{with python3}
43 BuildRequires:  python3-devel >= 1:3.2
44 BuildRequires:  python3-modules >= 1:3.2
45 BuildRequires:  rpm-pythonprov
46 %endif
47 BuildRequires:  rpmbuild(macros) >= 1.714
48 BuildRequires:  xz-devel
49 %{?with_zlib:BuildRequires:     zlib-devel >= 1.2.3.3}
50 # history support in xmllint is disabled by default
51 #BuildRequires: ncurses-devel
52 #BuildRequires: readline-devel >= 4.2
53 Requires:       zlib >= 1.2.3.3
54 Obsoletes:      xml-common
55 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
56
57 %description
58 This library allows you to manipulate XML files.
59
60 %description -l es.UTF-8
61 Esta biblioteca permite manipulación de archivos XML.
62
63 %description -l pl.UTF-8
64 Biblioteka libxml2 umożliwia manipulowanie zawartością plików XML.
65
66 %description -l pt_BR.UTF-8
67 Esta biblioteca permite a manipulação de arquivos XML.
68
69 %package devel
70 Summary:        Header files etc to develop libxml2 applications
71 Summary(es.UTF-8):      Biblioteca y archivos de inclusión para desarrollo de aplicaciones libXML
72 Summary(pl.UTF-8):      Pliki nagłówkowe i inne do libxml2
73 Summary(pt_BR.UTF-8):   Bibliotecas e arquivos de inclusão para desenvolvimento de aplicações que usem a biblioteca libxml
74 Group:          Development/Libraries
75 Requires:       %{name} = %{epoch}:%{version}-%{release}
76 Requires:       xz-devel
77 Requires:       zlib-devel
78
79 %description devel
80 Header files etc you can use to develop libxml2 applications.
81
82 %description devel -l es.UTF-8
83 Biblioteca y archivos de inclusión para desarrollo de aplicaciones
84 libXML.
85
86 %description devel -l pl.UTF-8
87 Pakiet ten zawiera pliki nagłówkowe i inne do libxml2 niezbędne przy
88 tworzeniu aplikacji opartych o tę bibliotekę.
89
90 %description devel -l pt_BR.UTF-8
91 Bibliotecas e arquivos de inclusão para desenvolvimento de aplicações
92 que usem a biblioteca libxml.
93
94 %package static
95 Summary:        Static libxml2 libraries
96 Summary(es.UTF-8):      Static libraries to develop libxml applications
97 Summary(pl.UTF-8):      Biblioteka statyczna libxml2
98 Summary(pt_BR.UTF-8):   Bibliotecas estáticas para desenvolvimento de aplicações que usem a biblioteca libxml
99 Group:          Development/Libraries
100 Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
101
102 %description static
103 Static libxml2 libraries.
104
105 %description static -l es.UTF-8
106 Static libraries, you can use to develop libxml applications.
107
108 %description static -l pl.UTF-8
109 Biblioteka statyczna libxml2.
110
111 %description static -l pt_BR.UTF-8
112 Bibliotecas estáticas para desenvolvimento de aplicações que usem a
113 biblioteca libxml.
114
115 %package apidocs
116 Summary:        libxml2 API documentation
117 Summary(pl.UTF-8):      Dokumentacja API libxml2
118 Group:          Documentation
119 Requires:       gtk-doc-common
120 BuildArch:      noarch
121
122 %description apidocs
123 libxml2 API documentation.
124
125 %description apidocs -l pl.UTF-8
126 Dokumentacja API libxml2.
127
128 %package progs
129 Summary:        XML files parser
130 Summary(pl.UTF-8):      Analizator składniowy plików XML
131 Group:          Applications/Text
132 Requires:       %{name} = %{epoch}:%{version}-%{release}
133
134 %description progs
135 XML files parser.
136
137 %description progs -l pl.UTF-8
138 Analizator składniowy plików XML.
139
140 %package -n python-%{name}
141 Summary:        libxml2 module for Python 2.x
142 Summary(pl.UTF-8):      Moduł libxml2 dla Pythona 2.x
143 Group:          Libraries/Python
144 Requires:       %{name} = %{epoch}:%{version}-%{release}
145 Requires:       python-libs
146 Obsoletes:      libxml2-python
147
148 %description -n python-%{name}
149 This is the libxml2 module for Python 2.x, providing access to the
150 libxml2 library.
151
152 %description -n python-%{name} -l pl.UTF-8
153 Ten pakiet zawiera moduł libxml2 dla Pythona 2.x, zapewniający dostęp
154 do biblioteki libxml2.
155
156 %package -n python3-%{name}
157 Summary:        libxml2 module for Python 3.x
158 Summary(pl.UTF-8):      Moduł libxml2 dla Pythona 3.x
159 Group:          Libraries/Python
160 Requires:       %{name} = %{epoch}:%{version}-%{release}
161 Requires:       python3-libs
162
163 %description -n python3-%{name}
164 This is the libxml2 module for Python 3.x, providing access to the
165 libxml2 library.
166
167 %description -n python3-%{name} -l pl.UTF-8
168 Ten pakiet zawiera moduł libxml2 dla Pythona 3.x, zapewniający dostęp
169 do biblioteki libxml2.
170
171 %prep
172 %setup -q
173 %patch0 -p1
174 %if %{with zlib}
175 %patch1 -p1
176 %endif
177 %patch2 -p1
178 %patch3 -p1
179 %patch4 -p1
180 %patch11 -p1
181
182 %build
183 %{__libtoolize}
184 %{__aclocal}
185 %{__autoconf}
186 %{__autoheader}
187 %{__automake}
188 %configure \
189         --disable-silent-rules \
190         %{!?with_static_libs:--disable-static} \
191         --without-python \
192         %{!?with_zlib:--without-zlib} \
193         --with-lzma \
194         --with%{!?with_mem_debug:out}-mem-debug
195
196 %{__make}
197
198 %if %{with python2}
199 cd python
200 %py_build
201 cd ..
202 %endif
203
204
205 %if %{with python3}
206 cd python
207 %py3_build
208 cd ..
209 %endif
210
211 %if %{with tests}
212 %{__make} check
213 %endif
214
215 %install
216 rm -rf $RPM_BUILD_ROOT
217
218 %{__make} install \
219         DESTDIR=$RPM_BUILD_ROOT \
220         devhelpdir=%{_gtkdocdir}/libxml2 \
221         m4datadir=%{_aclocaldir} \
222         pkgconfigdir=%{_pkgconfigdir}
223
224 %if %{with python2}
225 cd python
226 %py_install
227
228 %py_postclean
229 cd ..
230 %endif
231
232 %if %{with python3}
233 cd python
234 %py3_install
235 cd ..
236 %endif
237
238 # move html doc to -devel package
239 install -d $RPM_BUILD_ROOT%{_docdir}/%{name}-devel-%{version}
240 %{__mv} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/html \
241         $RPM_BUILD_ROOT%{_docdir}/%{name}-devel-%{version}
242 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
243
244 # install catalog file
245 install -d $RPM_BUILD_ROOT%{_sysconfdir}/xml
246 LD_LIBRARY_PATH=.libs ./xmlcatalog --create \
247         > $RPM_BUILD_ROOT%{_sysconfdir}/xml/catalog
248
249 %clean
250 rm -rf $RPM_BUILD_ROOT
251
252 %post   -p /sbin/ldconfig
253 %postun -p /sbin/ldconfig
254
255 %files
256 %defattr(644,root,root,755)
257 %doc AUTHORS ChangeLog Copyright NEWS README TODO
258 %attr(755,root,root) %{_libdir}/libxml2.so.*.*.*
259 %attr(755,root,root) %ghost %{_libdir}/libxml2.so.2
260 %{_mandir}/man3/libxml.3*
261
262 %dir %{_sysconfdir}/xml
263 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xml/catalog
264
265 %files devel
266 %defattr(644,root,root,755)
267 %doc %{_docdir}/%{name}-devel-%{version}
268 %attr(755,root,root) %{_bindir}/xml2-config
269 %attr(755,root,root) %{_libdir}/libxml2.so
270 %{_libdir}/libxml2.la
271 %attr(755,root,root) %{_libdir}/xml2Conf.sh
272 %{_libdir}/cmake/libxml2
273 %{_pkgconfigdir}/libxml-2.0.pc
274 %{_aclocaldir}/libxml.m4
275 %{_includedir}/libxml2
276 %{_mandir}/man1/xml2-config.1*
277
278 %if %{with static_libs}
279 %files static
280 %defattr(644,root,root,755)
281 %{_libdir}/libxml2.a
282 %endif
283
284 %if %{with apidocs}
285 %files apidocs
286 %defattr(644,root,root,755)
287 %{_gtkdocdir}/libxml2
288 %endif
289
290 %files progs
291 %defattr(644,root,root,755)
292 %attr(755,root,root) %{_bindir}/xmlcatalog
293 %attr(755,root,root) %{_bindir}/xmllint
294 %{_mandir}/man1/xmlcatalog.1*
295 %{_mandir}/man1/xmllint.1*
296
297 %if %{with python2}
298 %files -n python-%{name}
299 %defattr(644,root,root,755)
300 %attr(755,root,root) %{py_sitedir}/libxml2mod.so
301 %{py_sitedir}/drv_libxml2.py[co]
302 %{py_sitedir}/libxml2.py[co]
303 %if "%{py_ver}" > "2.4"
304 %{py_sitedir}/libxml2_python-%{version}-py*.egg-info
305 %endif
306 %endif
307
308 %if %{with python3}
309 %files -n python3-%{name}
310 %defattr(644,root,root,755)
311 %{py3_sitedir}/__pycache__/*.py[co]
312 %{py3_sitedir}/drv_libxml2.py
313 %{py3_sitedir}/libxml2.py
314 %{py3_sitedir}/libxml2_python-%{version}-py*.egg-info
315 %attr(755,root,root) %{py3_sitedir}/libxml2mod.cpython-*.so
316 %endif
This page took 0.062114 seconds and 3 git commands to generate.