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 # don't build python module
7 %bcond_without python3 # python3
8 %bcond_without static_libs # don't build static libraries
9 %bcond_without zlib # don't use zlib
10 %bcond_with mem_debug # enable libxml2 memory debuging
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: http://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/%{name}-%{version}.tar.bz2
24 Source0: ftp://xmlsoft.org/libxml2/%{name}-%{version}.tar.gz
25 # Source0-md5: 9e6a9aca9d155737868b3dc5fd82f788
26 Patch0: %{name}-man_fixes.patch
27 Patch1: %{name}-open.gz.patch
28 Patch2: %{name}-largefile.patch
29 URL: http://xmlsoft.org/
30 BuildRequires: autoconf >= 2.68
31 BuildRequires: automake >= 1.4
32 BuildRequires: libtool >= 2:2.0
34 BuildRequires: python-devel
35 BuildRequires: python-modules
36 BuildRequires: rpm-pythonprov
39 BuildRequires: python3-devel
40 BuildRequires: python3-distribute
41 BuildRequires: python3-modules
42 BuildRequires: rpm-pythonprov
44 BuildRequires: rpmbuild(macros) >= 1.219
45 BuildRequires: xz-devel
46 %{?with_zlib:BuildRequires: zlib-devel >= 1.2.3.3}
47 # history support in xmllint is disabled by default
48 #BuildRequires: ncurses-devel
49 #BuildRequires: readline-devel >= 4.2
50 Requires: zlib >= 1.2.3.3
52 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
55 This library allows you to manipulate XML files.
57 %description -l es.UTF-8
58 Esta biblioteca permite manipulación de archivos XML.
60 %description -l pl.UTF-8
61 Biblioteka libxml2 umożliwia manipulowanie zawartością plików XML.
63 %description -l pt_BR.UTF-8
64 Esta biblioteca permite a manipulação de arquivos XML.
67 Summary: Header files etc to develop libxml2 applications
68 Summary(es.UTF-8): Biblioteca y archivos de inclusión para desarrollo de aplicaciones libXML
69 Summary(pl.UTF-8): Pliki nagłówkowe i inne do libxml2
70 Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para desenvolvimento de aplicações que usem a biblioteca libxml
71 Group: Development/Libraries
72 Requires: %{name} = %{epoch}:%{version}-%{release}
77 Header files etc you can use to develop libxml2 applications.
79 %description devel -l es.UTF-8
80 Biblioteca y archivos de inclusión para desarrollo de aplicaciones
83 %description devel -l pl.UTF-8
84 Pakiet ten zawiera pliki nagłówkowe i inne do libxml2 niezbędne przy
85 tworzeniu aplikacji opartych o tę bibliotekę.
87 %description devel -l pt_BR.UTF-8
88 Bibliotecas e arquivos de inclusão para desenvolvimento de aplicações
89 que usem a biblioteca libxml.
92 Summary: Static libxml2 libraries
93 Summary(es.UTF-8): Static libraries to develop libxml applications
94 Summary(pl.UTF-8): Biblioteka statyczna libxml2
95 Summary(pt_BR.UTF-8): Bibliotecas estáticas para desenvolvimento de aplicações que usem a biblioteca libxml
96 Group: Development/Libraries
97 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
100 Static libxml2 libraries.
102 %description static -l es.UTF-8
103 Static libraries, you can use to develop libxml applications.
105 %description static -l pl.UTF-8
106 Biblioteka statyczna libxml2.
108 %description static -l pt_BR.UTF-8
109 Bibliotecas estáticas para desenvolvimento de aplicações que usem a
113 Summary: libxml2 API documentation
114 Summary(pl.UTF-8): Dokumentacja API libxml2
116 Requires: gtk-doc-common
119 libxml2 API documentation.
121 %description apidocs -l pl.UTF-8
122 Dokumentacja API libxml2.
125 Summary: XML files parser
126 Summary(pl.UTF-8): Analizator składniowy plików XML
127 Group: Applications/Text
128 Requires: %{name} = %{epoch}:%{version}-%{release}
133 %description progs -l pl.UTF-8
134 Analizator składniowy plików XML.
136 %package -n python-%{name}
137 Summary: Python support for libxml2
138 Summary(pl.UTF-8): Moduły języka Python dla biblioteki libxml2
139 Group: Libraries/Python
140 Requires: %{name} = %{epoch}:%{version}-%{release}
141 Requires: python-libs
142 Obsoletes: libxml2-python
144 %description -n python-%{name}
145 Python support for libxml2.
147 %description -n python-%{name} -l pl.UTF-8
148 Moduły języka Python dla biblioteki libxml2.
150 %package -n python3-%{name}
151 Summary: Python 3 support for libxml2
152 Summary(pl.UTF-8): Moduły języka Python 3 dla biblioteki libxml2
153 Group: Libraries/Python
154 Requires: %{name} = %{epoch}:%{version}-%{release}
155 Requires: python3-libs
157 %description -n python3-%{name}
158 Python 3 support for libxml2.
160 %description -n python3-%{name} -l pl.UTF-8
161 Moduły języka Python 3 dla biblioteki libxml2.
178 --disable-silent-rules \
179 %{!?with_static_libs:--disable-static=no} \
181 %{!?with_zlib:--without-zlib} \
183 --with%{!?with_mem_debug:out}-mem-debug
190 CFLAGS="%{rpmcppflags} %{rpmcflags}" \
191 %{__python} setup.py build --build-base build-2
199 CFLAGS="%{rpmcppflags} %{rpmcflags}" \
200 %{__python3} setup.py build --build-base build-3
209 rm -rf $RPM_BUILD_ROOT
212 DESTDIR=$RPM_BUILD_ROOT \
213 devhelpdir=%{_gtkdocdir}/libxml2 \
214 m4datadir=%{_aclocaldir} \
215 pkgconfigdir=%{_pkgconfigdir}
219 %{__python} setup.py \
220 build --build-base build-2 \
221 install --skip-build \
223 --root=$RPM_BUILD_ROOT
225 %if "%{py_ver}" > "2.4"
226 %{__python} setup.py install_egg_info \
227 --install-dir=$RPM_BUILD_ROOT%{py_sitedir}
230 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
231 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
233 rm -f $RPM_BUILD_ROOT%{py_sitedir}/*.{la,a}
239 %{__python3} setup.py \
240 build --build-base build-3 \
241 install --skip-build \
243 --root=$RPM_BUILD_ROOT
247 # move html doc to -devel package
248 install -d $RPM_BUILD_ROOT%{_docdir}/%{name}-devel-%{version}
249 mv -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/html \
250 $RPM_BUILD_ROOT%{_docdir}/%{name}-devel-%{version}
251 rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
253 # install catalog file
254 install -d $RPM_BUILD_ROOT%{_sysconfdir}/xml
255 LD_LIBRARY_PATH=.libs ./xmlcatalog --create \
256 > $RPM_BUILD_ROOT%{_sysconfdir}/xml/catalog
259 rm -rf $RPM_BUILD_ROOT
261 %post -p /sbin/ldconfig
262 %postun -p /sbin/ldconfig
265 %defattr(644,root,root,755)
266 %doc AUTHORS ChangeLog Copyright NEWS README TODO
267 %attr(755,root,root) %{_libdir}/libxml2.so.*.*.*
268 %attr(755,root,root) %ghost %{_libdir}/libxml2.so.2
269 %{_mandir}/man3/libxml.3*
271 %dir %{_sysconfdir}/xml
272 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xml/catalog
275 %defattr(644,root,root,755)
276 %doc %{_docdir}/%{name}-devel-%{version}
277 %attr(755,root,root) %{_bindir}/xml2-config
278 %attr(755,root,root) %{_libdir}/libxml2.so
279 %{_libdir}/libxml2.la
280 %attr(755,root,root) %{_libdir}/xml2Conf.sh
281 %{_libdir}/cmake/libxml2
282 %{_pkgconfigdir}/libxml-2.0.pc
283 %{_aclocaldir}/libxml.m4
284 %{_includedir}/libxml2
285 %{_mandir}/man1/xml2-config.1*
287 %if %{with static_libs}
289 %defattr(644,root,root,755)
295 %defattr(644,root,root,755)
296 %{_gtkdocdir}/libxml2
300 %defattr(644,root,root,755)
301 %attr(755,root,root) %{_bindir}/xmlcatalog
302 %attr(755,root,root) %{_bindir}/xmllint
303 %{_mandir}/man1/xmlcatalog.1*
304 %{_mandir}/man1/xmllint.1*
307 %files -n python-%{name}
308 %defattr(644,root,root,755)
309 %attr(755,root,root) %{py_sitedir}/libxml2mod.so
310 %{py_sitedir}/drv_libxml2.py[co]
311 %{py_sitedir}/libxml2.py[co]
312 %if "%{py_ver}" > "2.4"
313 %{py_sitedir}/libxml2_python-*.egg-info
318 %files -n python3-%{name}
319 %defattr(644,root,root,755)
320 %{py3_sitedir}/__pycache__/*.py[co]
321 %{py3_sitedir}/drv_libxml2.py
322 %{py3_sitedir}/libxml2.py
323 %{py3_sitedir}/libxml2_python-%{version}-py*.egg-info
324 %attr(755,root,root) %{py3_sitedir}/libxml2mod.cpython-*.so