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: https://download.gnome.org/sources/libxml2/2.9/%{name}-%{version}.tar.xz
25 # Source0-md5: 824470f8cc325ae6b01f174b842c321f
26 Patch0: %{name}-man_fixes.patch
27 Patch1: %{name}-open.gz.patch
28 Patch2: %{name}-largefile.patch
29 Patch3: %{name}-libx32.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: python-setuptools
41 BuildRequires: rpm-pythonprov
44 BuildRequires: python3-devel >= 1:3.2
45 BuildRequires: python3-modules >= 1:3.2
46 BuildRequires: python3-setuptools
47 BuildRequires: rpm-pythonprov
49 BuildRequires: rpm-build >= 4.6
50 BuildRequires: rpmbuild(macros) >= 1.714
51 BuildRequires: tar >= 1:1.22
53 BuildRequires: xz-devel
54 %{?with_zlib:BuildRequires: zlib-devel >= 1.2.3.3}
55 # history support in xmllint is disabled by default
56 #BuildRequires: ncurses-devel
57 #BuildRequires: readline-devel >= 4.2
58 Requires: zlib >= 1.2.3.3
60 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
63 This library allows you to manipulate XML files.
65 %description -l es.UTF-8
66 Esta biblioteca permite manipulación de archivos XML.
68 %description -l pl.UTF-8
69 Biblioteka libxml2 umożliwia manipulowanie zawartością plików XML.
71 %description -l pt_BR.UTF-8
72 Esta biblioteca permite a manipulação de arquivos XML.
75 Summary: Header files etc to develop libxml2 applications
76 Summary(es.UTF-8): Biblioteca y archivos de inclusión para desarrollo de aplicaciones libXML
77 Summary(pl.UTF-8): Pliki nagłówkowe i inne do libxml2
78 Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para desenvolvimento de aplicações que usem a biblioteca libxml
79 Group: Development/Libraries
80 Requires: %{name} = %{epoch}:%{version}-%{release}
85 Header files etc you can use to develop libxml2 applications.
87 %description devel -l es.UTF-8
88 Biblioteca y archivos de inclusión para desarrollo de aplicaciones
91 %description devel -l pl.UTF-8
92 Pakiet ten zawiera pliki nagłówkowe i inne do libxml2 niezbędne przy
93 tworzeniu aplikacji opartych o tę bibliotekę.
95 %description devel -l pt_BR.UTF-8
96 Bibliotecas e arquivos de inclusão para desenvolvimento de aplicações
97 que usem a biblioteca libxml.
100 Summary: Static libxml2 libraries
101 Summary(es.UTF-8): Static libraries to develop libxml applications
102 Summary(pl.UTF-8): Biblioteka statyczna libxml2
103 Summary(pt_BR.UTF-8): Bibliotecas estáticas para desenvolvimento de aplicações que usem a biblioteca libxml
104 Group: Development/Libraries
105 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
108 Static libxml2 libraries.
110 %description static -l es.UTF-8
111 Static libraries, you can use to develop libxml applications.
113 %description static -l pl.UTF-8
114 Biblioteka statyczna libxml2.
116 %description static -l pt_BR.UTF-8
117 Bibliotecas estáticas para desenvolvimento de aplicações que usem a
121 Summary: libxml2 API documentation
122 Summary(pl.UTF-8): Dokumentacja API libxml2
124 Requires: gtk-doc-common
128 libxml2 API documentation.
130 %description apidocs -l pl.UTF-8
131 Dokumentacja API libxml2.
134 Summary: XML files parser
135 Summary(pl.UTF-8): Analizator składniowy plików XML
136 Group: Applications/Text
137 Requires: %{name} = %{epoch}:%{version}-%{release}
142 %description progs -l pl.UTF-8
143 Analizator składniowy plików XML.
145 %package -n python-%{name}
146 Summary: libxml2 module for Python 2.x
147 Summary(pl.UTF-8): Moduł libxml2 dla Pythona 2.x
148 Group: Libraries/Python
149 Requires: %{name} = %{epoch}:%{version}-%{release}
150 Requires: python-libs
151 Obsoletes: libxml2-python < 1:2.6
153 %description -n python-%{name}
154 This is the libxml2 module for Python 2.x, providing access to the
157 %description -n python-%{name} -l pl.UTF-8
158 Ten pakiet zawiera moduł libxml2 dla Pythona 2.x, zapewniający dostęp
159 do biblioteki libxml2.
161 %package -n python3-%{name}
162 Summary: libxml2 module for Python 3.x
163 Summary(pl.UTF-8): Moduł libxml2 dla Pythona 3.x
164 Group: Libraries/Python
165 Requires: %{name} = %{epoch}:%{version}-%{release}
166 Requires: python3-libs
168 %description -n python3-%{name}
169 This is the libxml2 module for Python 3.x, providing access to the
172 %description -n python3-%{name} -l pl.UTF-8
173 Ten pakiet zawiera moduł libxml2 dla Pythona 3.x, zapewniający dostęp
174 do biblioteki libxml2.
193 --disable-silent-rules \
194 %{!?with_static_libs:--disable-static} \
196 %{!?with_zlib:--without-zlib} \
197 --with-html-dir=%{_docdir}/libxml2 \
199 --with%{!?with_mem_debug:out}-mem-debug
221 rm -rf $RPM_BUILD_ROOT
224 DESTDIR=$RPM_BUILD_ROOT \
225 EXAMPLES_DIR=%{_examplesdir}/%{name}-%{version} \
226 devhelpdir=%{_gtkdocdir}/libxml2
242 # paths n/a in our packaging scheme
243 %{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}/Copyright
244 %{__rm} $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/README
246 # install catalog file
247 install -d $RPM_BUILD_ROOT%{_sysconfdir}/xml
248 LD_LIBRARY_PATH=.libs ./xmlcatalog --create \
249 > $RPM_BUILD_ROOT%{_sysconfdir}/xml/catalog
252 rm -rf $RPM_BUILD_ROOT
254 %post -p /sbin/ldconfig
255 %postun -p /sbin/ldconfig
258 %defattr(644,root,root,755)
259 %doc Copyright NEWS README.md TODO TODO_SCHEMAS
260 %attr(755,root,root) %{_libdir}/libxml2.so.*.*.*
261 %attr(755,root,root) %ghost %{_libdir}/libxml2.so.2
262 %{_mandir}/man3/libxml.3*
264 %dir %{_sysconfdir}/xml
265 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xml/catalog
268 %defattr(644,root,root,755)
269 %attr(755,root,root) %{_bindir}/xml2-config
270 %attr(755,root,root) %{_libdir}/libxml2.so
271 %{_libdir}/libxml2.la
272 %attr(755,root,root) %{_libdir}/xml2Conf.sh
273 %{_libdir}/cmake/libxml2
274 %{_pkgconfigdir}/libxml-2.0.pc
275 %{_aclocaldir}/libxml.m4
276 %{_includedir}/libxml2
277 %{_mandir}/man1/xml2-config.1*
279 %if %{with static_libs}
281 %defattr(644,root,root,755)
287 %defattr(644,root,root,755)
289 %{_gtkdocdir}/libxml2
290 %{_examplesdir}/%{name}-%{version}
294 %defattr(644,root,root,755)
295 %attr(755,root,root) %{_bindir}/xmlcatalog
296 %attr(755,root,root) %{_bindir}/xmllint
297 %{_mandir}/man1/xmlcatalog.1*
298 %{_mandir}/man1/xmllint.1*
301 %files -n python-%{name}
302 %defattr(644,root,root,755)
303 %attr(755,root,root) %{py_sitedir}/libxml2mod.so
304 %{py_sitedir}/drv_libxml2.py[co]
305 %{py_sitedir}/libxml2.py[co]
306 %if "%{py_ver}" > "2.4"
307 %{py_sitedir}/libxml2_python-%{version}-py*.egg-info
312 %files -n python3-%{name}
313 %defattr(644,root,root,755)
314 %{py3_sitedir}/__pycache__/*.py[co]
315 %{py3_sitedir}/drv_libxml2.py
316 %{py3_sitedir}/libxml2.py
317 %{py3_sitedir}/libxml2_python-%{version}-py*.egg-info
318 %attr(755,root,root) %{py3_sitedir}/libxml2mod.cpython-*.so