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: 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: daece17e045f1c107610e137ab50c179
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 >= 2.0
35 BuildRequires: python-modules >= 2.0
36 BuildRequires: rpm-pythonprov
39 BuildRequires: python3-devel >= 1:3.2
40 BuildRequires: python3-modules >= 1:3.2
41 BuildRequires: rpm-pythonprov
43 BuildRequires: rpmbuild(macros) >= 1.219
44 BuildRequires: xz-devel
45 %{?with_zlib:BuildRequires: zlib-devel >= 1.2.3.3}
46 # history support in xmllint is disabled by default
47 #BuildRequires: ncurses-devel
48 #BuildRequires: readline-devel >= 4.2
49 Requires: zlib >= 1.2.3.3
51 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
54 This library allows you to manipulate XML files.
56 %description -l es.UTF-8
57 Esta biblioteca permite manipulación de archivos XML.
59 %description -l pl.UTF-8
60 Biblioteka libxml2 umożliwia manipulowanie zawartością plików XML.
62 %description -l pt_BR.UTF-8
63 Esta biblioteca permite a manipulação de arquivos XML.
66 Summary: Header files etc to develop libxml2 applications
67 Summary(es.UTF-8): Biblioteca y archivos de inclusión para desarrollo de aplicaciones libXML
68 Summary(pl.UTF-8): Pliki nagłówkowe i inne do libxml2
69 Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para desenvolvimento de aplicações que usem a biblioteca libxml
70 Group: Development/Libraries
71 Requires: %{name} = %{epoch}:%{version}-%{release}
76 Header files etc you can use to develop libxml2 applications.
78 %description devel -l es.UTF-8
79 Biblioteca y archivos de inclusión para desarrollo de aplicaciones
82 %description devel -l pl.UTF-8
83 Pakiet ten zawiera pliki nagłówkowe i inne do libxml2 niezbędne przy
84 tworzeniu aplikacji opartych o tę bibliotekę.
86 %description devel -l pt_BR.UTF-8
87 Bibliotecas e arquivos de inclusão para desenvolvimento de aplicações
88 que usem a biblioteca libxml.
91 Summary: Static libxml2 libraries
92 Summary(es.UTF-8): Static libraries to develop libxml applications
93 Summary(pl.UTF-8): Biblioteka statyczna libxml2
94 Summary(pt_BR.UTF-8): Bibliotecas estáticas para desenvolvimento de aplicações que usem a biblioteca libxml
95 Group: Development/Libraries
96 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
99 Static libxml2 libraries.
101 %description static -l es.UTF-8
102 Static libraries, you can use to develop libxml applications.
104 %description static -l pl.UTF-8
105 Biblioteka statyczna libxml2.
107 %description static -l pt_BR.UTF-8
108 Bibliotecas estáticas para desenvolvimento de aplicações que usem a
112 Summary: libxml2 API documentation
113 Summary(pl.UTF-8): Dokumentacja API libxml2
115 Requires: gtk-doc-common
118 libxml2 API documentation.
120 %description apidocs -l pl.UTF-8
121 Dokumentacja API libxml2.
124 Summary: XML files parser
125 Summary(pl.UTF-8): Analizator składniowy plików XML
126 Group: Applications/Text
127 Requires: %{name} = %{epoch}:%{version}-%{release}
132 %description progs -l pl.UTF-8
133 Analizator składniowy plików XML.
135 %package -n python-%{name}
136 Summary: libxml2 module for Python 2.x
137 Summary(pl.UTF-8): Moduł libxml2 dla Pythona 2.x
138 Group: Libraries/Python
139 Requires: %{name} = %{epoch}:%{version}-%{release}
140 Requires: python-libs
141 Obsoletes: libxml2-python
143 %description -n python-%{name}
144 This is the libxml2 module for Python 2.x, providing access to the
147 %description -n python-%{name} -l pl.UTF-8
148 Ten pakiet zawiera moduł libxml2 dla Pythona 2.x, zapewniający
149 dostęp do biblioteki libxml2.
151 %package -n python3-%{name}
152 Summary: libxml2 module for Python 3.x
153 Summary(pl.UTF-8): Moduł libxml2 dla Pythona 3.x
154 Group: Libraries/Python
155 Requires: %{name} = %{epoch}:%{version}-%{release}
156 Requires: python3-libs
158 %description -n python3-%{name}
159 This is the libxml2 module for Python 3.x, providing access to the
162 %description -n python3-%{name} -l pl.UTF-8
163 Ten pakiet zawiera moduł libxml2 dla Pythona 3.x, zapewniający
164 dostęp do biblioteki libxml2.
181 --disable-silent-rules \
182 %{!?with_static_libs:--disable-static=no} \
184 %{!?with_zlib:--without-zlib} \
186 --with%{!?with_mem_debug:out}-mem-debug
193 CFLAGS="%{rpmcppflags} %{rpmcflags}" \
194 %{__python} setup.py build --build-base build-2
202 CFLAGS="%{rpmcppflags} %{rpmcflags}" \
203 %{__python3} setup.py build --build-base build-3
212 rm -rf $RPM_BUILD_ROOT
215 DESTDIR=$RPM_BUILD_ROOT \
216 devhelpdir=%{_gtkdocdir}/libxml2 \
217 m4datadir=%{_aclocaldir} \
218 pkgconfigdir=%{_pkgconfigdir}
222 %{__python} setup.py \
223 build --build-base build-2 \
224 install --skip-build \
226 --root=$RPM_BUILD_ROOT
234 %{__python3} setup.py \
235 build --build-base build-3 \
236 install --skip-build \
238 --root=$RPM_BUILD_ROOT
242 # move html doc to -devel package
243 install -d $RPM_BUILD_ROOT%{_docdir}/%{name}-devel-%{version}
244 %{__mv} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/html \
245 $RPM_BUILD_ROOT%{_docdir}/%{name}-devel-%{version}
246 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
248 # install catalog file
249 install -d $RPM_BUILD_ROOT%{_sysconfdir}/xml
250 LD_LIBRARY_PATH=.libs ./xmlcatalog --create \
251 > $RPM_BUILD_ROOT%{_sysconfdir}/xml/catalog
254 rm -rf $RPM_BUILD_ROOT
256 %post -p /sbin/ldconfig
257 %postun -p /sbin/ldconfig
260 %defattr(644,root,root,755)
261 %doc AUTHORS ChangeLog Copyright NEWS README TODO
262 %attr(755,root,root) %{_libdir}/libxml2.so.*.*.*
263 %attr(755,root,root) %ghost %{_libdir}/libxml2.so.2
264 %{_mandir}/man3/libxml.3*
266 %dir %{_sysconfdir}/xml
267 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xml/catalog
270 %defattr(644,root,root,755)
271 %doc %{_docdir}/%{name}-devel-%{version}
272 %attr(755,root,root) %{_bindir}/xml2-config
273 %attr(755,root,root) %{_libdir}/libxml2.so
274 %{_libdir}/libxml2.la
275 %attr(755,root,root) %{_libdir}/xml2Conf.sh
276 %{_libdir}/cmake/libxml2
277 %{_pkgconfigdir}/libxml-2.0.pc
278 %{_aclocaldir}/libxml.m4
279 %{_includedir}/libxml2
280 %{_mandir}/man1/xml2-config.1*
282 %if %{with static_libs}
284 %defattr(644,root,root,755)
290 %defattr(644,root,root,755)
291 %{_gtkdocdir}/libxml2
295 %defattr(644,root,root,755)
296 %attr(755,root,root) %{_bindir}/xmlcatalog
297 %attr(755,root,root) %{_bindir}/xmllint
298 %{_mandir}/man1/xmlcatalog.1*
299 %{_mandir}/man1/xmllint.1*
302 %files -n python-%{name}
303 %defattr(644,root,root,755)
304 %attr(755,root,root) %{py_sitedir}/libxml2mod.so
305 %{py_sitedir}/drv_libxml2.py[co]
306 %{py_sitedir}/libxml2.py[co]
307 %if "%{py_ver}" > "2.4"
308 %{py_sitedir}/libxml2_python-*.egg-info
313 %files -n python3-%{name}
314 %defattr(644,root,root,755)
315 %{py3_sitedir}/__pycache__/*.py[co]
316 %{py3_sitedir}/drv_libxml2.py
317 %{py3_sitedir}/libxml2.py
318 %{py3_sitedir}/libxml2_python-%{version}-py*.egg-info
319 %attr(755,root,root) %{py3_sitedir}/libxml2mod.cpython-*.so