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