• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1%global with_python3 1
2
3Summary: Library providing XML and HTML support
4Name: libxml2
5Version: @VERSION@
6Release: 1%{?dist}%{?extra_release}
7License: MIT
8Group: Development/Libraries
9Source: https://download.gnome.org/sources/libxml2/@LIBXML_MAJOR_VERSION@.@LIBXML_MINOR_VERSION@/libxml2-%{version}.tar.xz
10BuildRoot: %{_tmppath}/%{name}-%{version}-root
11BuildRequires: python-devel
12%if 0%{?with_python3}
13BuildRequires: python3-devel
14%endif # with_python3
15BuildRequires: zlib-devel
16BuildRequires: pkgconfig
17BuildRequires: xz-devel
18URL: https://gitlab.gnome.org/GNOME/libxml2
19
20%description
21This library allows to manipulate XML files. It includes support
22to read, modify and write XML and HTML files. There is DTDs support
23this includes parsing and validation even with complex DtDs, either
24at parse time or later once the document has been modified. The output
25can be a simple SAX stream or and in-memory DOM like representations.
26In this case one can use the built-in XPath and XPointer implementation
27to select sub nodes or ranges. A flexible Input/Output mechanism is
28available, with existing HTTP and FTP modules and combined to an
29URI library.
30
31%package devel
32Summary: Libraries, includes, etc. to develop XML and HTML applications
33Group: Development/Libraries
34Requires: libxml2 = %{version}-%{release}
35Requires: zlib-devel
36Requires: xz-devel
37Requires: pkgconfig
38
39%description devel
40Libraries, include files, etc you can use to develop XML applications.
41This library allows to manipulate XML files. It includes support
42to read, modify and write XML and HTML files. There is DTDs support
43this includes parsing and validation even with complex DtDs, either
44at parse time or later once the document has been modified. The output
45can be a simple SAX stream or and in-memory DOM like representations.
46In this case one can use the built-in XPath and XPointer implementation
47to select sub nodes or ranges. A flexible Input/Output mechanism is
48available, with existing HTTP and FTP modules and combined to an
49URI library.
50
51%package static
52Summary: Static library for libxml2
53Group: Development/Libraries
54Requires: libxml2 = %{version}-%{release}
55
56%description static
57Static library for libxml2 provided for specific uses or shaving a few
58microseconds when parsing, do not link to them for generic purpose packages.
59
60%package -n python-%{name}
61%{?python_provide:%python_provide python-%{name}}
62Summary: Python bindings for the libxml2 library
63Group: Development/Libraries
64Requires: libxml2 = %{version}-%{release}
65Obsoletes: %{name}-python < %{version}-%{release}
66Provides: %{name}-python = %{version}-%{release}
67
68%description -n python-%{name}
69The libxml2-python package contains a Python 2 module that permits applications
70written in the Python programming language, version 2, to use the interface
71supplied by the libxml2 library to manipulate XML files.
72
73This library allows to manipulate XML files. It includes support
74to read, modify and write XML and HTML files. There is DTDs support
75this includes parsing and validation even with complex DTDs, either
76at parse time or later once the document has been modified.
77
78%if 0%{?with_python3}
79%package -n python3-%{name}
80Summary: Python 3 bindings for the libxml2 library
81Group: Development/Libraries
82Requires: libxml2 = %{version}-%{release}
83Obsoletes: %{name}-python3 < %{version}-%{release}
84Provides: %{name}-python3 = %{version}-%{release}
85
86%description -n python3-%{name}
87The libxml2-python3 package contains a Python 3 module that permits
88applications written in the Python programming language, version 3, to use the
89interface supplied by the libxml2 library to manipulate XML files.
90
91This library allows to manipulate XML files. It includes support
92to read, modify and write XML and HTML files. There is DTDs support
93this includes parsing and validation even with complex DTDs, either
94at parse time or later once the document has been modified.
95%endif # with_python3
96
97%prep
98%setup -q
99
100mkdir py3doc
101cp doc/*.py py3doc
102sed -i 's|#!/usr/bin/python |#!%{__python3} |' py3doc/*.py
103
104%build
105%configure
106make %{_smp_mflags}
107
108find doc -type f -exec chmod 0644 \{\} \;
109
110%install
111rm -fr %{buildroot}
112
113make install DESTDIR=%{buildroot}
114
115%if 0%{?with_python3}
116make clean
117%configure --with-python=%{__python3}
118make install DESTDIR=%{buildroot}
119%endif # with_python3
120
121
122rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
123rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.a
124rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.la
125rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libxml2-%{version}/*
126rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libxml2-python-%{version}/*
127(cd doc/examples ; make clean ; rm -rf .deps Makefile)
128gzip -9 -c doc/libxml2-api.xml > doc/libxml2-api.xml.gz
129
130%check
131#disabling python tests from rpm build as broken in Fedora 30
132make PYTHON_SUBDIR="" runtests
133
134%clean
135rm -fr %{buildroot}
136
137%post -p /sbin/ldconfig
138
139%postun -p /sbin/ldconfig
140
141%files
142%defattr(-, root, root)
143
144%doc NEWS README.md Copyright TODO
145%doc %{_mandir}/man1/xmllint.1*
146%doc %{_mandir}/man1/xmlcatalog.1*
147%doc %{_mandir}/man3/libxml.3*
148
149%{_libdir}/lib*.so.*
150%{_bindir}/xmllint
151%{_bindir}/xmlcatalog
152
153%files devel
154%defattr(-, root, root)
155
156%doc %{_mandir}/man1/xml2-config.1*
157%doc NEWS README.md Copyright
158%doc doc/*.html doc/html doc/*.gif doc/*.png
159%doc doc/tutorial doc/libxml2-api.xml.gz
160%doc doc/examples
161%doc %dir %{_datadir}/gtk-doc/html/libxml2
162%doc %{_datadir}/gtk-doc/html/libxml2/*.devhelp
163%doc %{_datadir}/gtk-doc/html/libxml2/*.html
164%doc %{_datadir}/gtk-doc/html/libxml2/*.png
165%doc %{_datadir}/gtk-doc/html/libxml2/*.css
166
167%{_libdir}/lib*.so
168%{_libdir}/*.sh
169%{_includedir}/*
170%{_bindir}/xml2-config
171%{_datadir}/aclocal/libxml.m4
172%{_libdir}/pkgconfig/libxml-2.0.pc
173%{_libdir}/cmake/libxml2/libxml2-config.cmake
174
175%files static
176%defattr(-, root, root)
177
178%{_libdir}/*a
179
180%files -n python-%{name}
181%defattr(-, root, root)
182
183%{_libdir}/python2*/site-packages/libxml2.py*
184%{_libdir}/python2*/site-packages/drv_libxml2.py*
185%{_libdir}/python2*/site-packages/libxml2mod*
186%doc python/TODO
187%doc python/libxml2class.txt
188%doc python/tests/*.py
189%doc doc/*.py
190%doc doc/python.html
191
192%if 0%{?with_python3}
193%files -n python3-%{name}
194%defattr(-, root, root)
195
196%{_libdir}/python3*/site-packages/libxml2.py*
197%{_libdir}/python3*/site-packages/drv_libxml2.py*
198%{_libdir}/python3*/site-packages/__pycache__/*py*
199%{_libdir}/python3*/site-packages/libxml2mod*
200%doc python/TODO
201%doc python/libxml2class.txt
202%doc py3doc/*.py
203%doc doc/python.html
204%endif # with_python3
205
206%changelog
207* @RELDATE@ Daniel Veillard <veillard@redhat.com>
208- upstream release @VERSION@
209
210