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