2 # - fix build without libxml2-devel (python library uses old headers)
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
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
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
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
38 BuildRequires: python-devel >= 2.0
39 BuildRequires: python-modules >= 2.0
40 BuildRequires: rpm-pythonprov
43 BuildRequires: python3-devel >= 1:3.2
44 BuildRequires: python3-modules >= 1:3.2
45 BuildRequires: rpm-pythonprov
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
55 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
58 This library allows you to manipulate XML files.
60 %description -l es.UTF-8
61 Esta biblioteca permite manipulación de archivos XML.
63 %description -l pl.UTF-8
64 Biblioteka libxml2 umożliwia manipulowanie zawartością plików XML.
66 %description -l pt_BR.UTF-8
67 Esta biblioteca permite a manipulação de arquivos XML.
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}
80 Header files etc you can use to develop libxml2 applications.
82 %description devel -l es.UTF-8
83 Biblioteca y archivos de inclusión para desarrollo de aplicaciones
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ę.
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.
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}
103 Static libxml2 libraries.
105 %description static -l es.UTF-8
106 Static libraries, you can use to develop libxml applications.
108 %description static -l pl.UTF-8
109 Biblioteka statyczna libxml2.
111 %description static -l pt_BR.UTF-8
112 Bibliotecas estáticas para desenvolvimento de aplicações que usem a
116 Summary: libxml2 API documentation
117 Summary(pl.UTF-8): Dokumentacja API libxml2
119 Requires: gtk-doc-common
123 libxml2 API documentation.
125 %description apidocs -l pl.UTF-8
126 Dokumentacja API libxml2.
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}
137 %description progs -l pl.UTF-8
138 Analizator składniowy plików XML.
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
148 %description -n python-%{name}
149 This is the libxml2 module for Python 2.x, providing access to the
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.
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
163 %description -n python3-%{name}
164 This is the libxml2 module for Python 3.x, providing access to the
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.
189 --disable-silent-rules \
190 %{!?with_static_libs:--disable-static} \
192 %{!?with_zlib:--without-zlib} \
194 --with%{!?with_mem_debug:out}-mem-debug
216 rm -rf $RPM_BUILD_ROOT
219 DESTDIR=$RPM_BUILD_ROOT \
220 devhelpdir=%{_gtkdocdir}/libxml2 \
221 m4datadir=%{_aclocaldir} \
222 pkgconfigdir=%{_pkgconfigdir}
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}
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
250 rm -rf $RPM_BUILD_ROOT
252 %post -p /sbin/ldconfig
253 %postun -p /sbin/ldconfig
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*
262 %dir %{_sysconfdir}/xml
263 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xml/catalog
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*
278 %if %{with static_libs}
280 %defattr(644,root,root,755)
286 %defattr(644,root,root,755)
287 %{_gtkdocdir}/libxml2
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*
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
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