Edit

kc3-lang/libxml2/libxml.spec.in

Branch :

  • Show log

    Commit

  • Author : Daniel Veillard
    Date : 2017-08-29 12:40:54
    Hash : e29e50e5
    Message : Updating the spec file to reflect Fedora 24 new python subpackages namings

  • libxml.spec.in
  • %global with_python3 1
    
    Summary: Library providing XML and HTML support
    Name: libxml2
    Version: @VERSION@
    Release: 1%{?dist}%{?extra_release}
    License: MIT
    Group: Development/Libraries
    Source: ftp://xmlsoft.org/libxml2/libxml2-%{version}.tar.gz
    BuildRoot: %{_tmppath}/%{name}-%{version}-root
    BuildRequires: python-devel
    %if 0%{?with_python3}
    BuildRequires: python3-devel
    %endif # with_python3
    BuildRequires: zlib-devel
    BuildRequires: pkgconfig
    BuildRequires: xz-devel
    URL: http://xmlsoft.org/
    
    %description
    This library allows to manipulate XML files. It includes support
    to read, modify and write XML and HTML files. There is DTDs support
    this includes parsing and validation even with complex DtDs, either
    at parse time or later once the document has been modified. The output
    can be a simple SAX stream or and in-memory DOM like representations.
    In this case one can use the built-in XPath and XPointer implementation
    to select sub nodes or ranges. A flexible Input/Output mechanism is
    available, with existing HTTP and FTP modules and combined to an
    URI library.
    
    %package devel
    Summary: Libraries, includes, etc. to develop XML and HTML applications
    Group: Development/Libraries
    Requires: libxml2 = %{version}-%{release}
    Requires: zlib-devel
    Requires: xz-devel
    Requires: pkgconfig
    
    %description devel
    Libraries, include files, etc you can use to develop XML applications.
    This library allows to manipulate XML files. It includes support
    to read, modify and write XML and HTML files. There is DTDs support
    this includes parsing and validation even with complex DtDs, either
    at parse time or later once the document has been modified. The output
    can be a simple SAX stream or and in-memory DOM like representations.
    In this case one can use the built-in XPath and XPointer implementation
    to select sub nodes or ranges. A flexible Input/Output mechanism is
    available, with existing HTTP and FTP modules and combined to an
    URI library.
    
    %package static
    Summary: Static library for libxml2
    Group: Development/Libraries
    Requires: libxml2 = %{version}-%{release}
    
    %description static
    Static library for libxml2 provided for specific uses or shaving a few
    microseconds when parsing, do not link to them for generic purpose packages.
    
    %package -n python-%{name}
    %{?python_provide:%python_provide python-%{name}}
    Summary: Python bindings for the libxml2 library
    Group: Development/Libraries
    Requires: libxml2 = %{version}-%{release}
    Obsoletes: %{name}-python < %{version}-%{release}
    Provides: %{name}-python = %{version}-%{release}
    
    %description -n python-%{name}
    The libxml2-python package contains a Python 2 module that permits applications
    written in the Python programming language, version 2, to use the interface
    supplied by the libxml2 library to manipulate XML files.
    
    This library allows to manipulate XML files. It includes support
    to read, modify and write XML and HTML files. There is DTDs support
    this includes parsing and validation even with complex DTDs, either
    at parse time or later once the document has been modified.
    
    %if 0%{?with_python3}
    %package -n python3-%{name}
    Summary: Python 3 bindings for the libxml2 library
    Group: Development/Libraries
    Requires: libxml2 = %{version}-%{release}
    Obsoletes: %{name}-python3 < %{version}-%{release}
    Provides: %{name}-python3 = %{version}-%{release}
    
    %description -n python3-%{name}
    The libxml2-python3 package contains a Python 3 module that permits
    applications written in the Python programming language, version 3, to use the
    interface supplied by the libxml2 library to manipulate XML files.
    
    This library allows to manipulate XML files. It includes support
    to read, modify and write XML and HTML files. There is DTDs support
    this includes parsing and validation even with complex DTDs, either
    at parse time or later once the document has been modified.
    %endif # with_python3
    
    %prep
    %setup -q
    
    mkdir py3doc
    cp doc/*.py py3doc
    sed -i 's|#!/usr/bin/python |#!%{__python3} |' py3doc/*.py
    
    %build
    %configure
    make %{_smp_mflags}
    
    find doc -type f -exec chmod 0644 \{\} \;
    
    %install
    rm -fr %{buildroot}
    
    make install DESTDIR=%{buildroot}
    
    %if 0%{?with_python3}
    make clean
    %configure --with-python=%{__python3}
    make install DESTDIR=%{buildroot}
    %endif # with_python3
    
    
    rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
    rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.a
    rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.la
    rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libxml2-%{version}/*
    rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libxml2-python-%{version}/*
    (cd doc/examples ; make clean ; rm -rf .deps Makefile)
    gzip -9 -c doc/libxml2-api.xml > doc/libxml2-api.xml.gz
    
    %check
    make runtests
    
    %clean
    rm -fr %{buildroot}
    
    %post -p /sbin/ldconfig
    
    %postun -p /sbin/ldconfig
    
    %files
    %defattr(-, root, root)
    
    %doc AUTHORS NEWS README Copyright TODO
    %doc %{_mandir}/man1/xmllint.1*
    %doc %{_mandir}/man1/xmlcatalog.1*
    %doc %{_mandir}/man3/libxml.3*
    
    %{_libdir}/lib*.so.*
    %{_bindir}/xmllint
    %{_bindir}/xmlcatalog
    
    %files devel
    %defattr(-, root, root)
    
    %doc %{_mandir}/man1/xml2-config.1*
    %doc AUTHORS NEWS README Copyright
    %doc doc/*.html doc/html doc/*.gif doc/*.png
    %doc doc/tutorial doc/libxml2-api.xml.gz
    %doc doc/examples
    %doc %dir %{_datadir}/gtk-doc/html/libxml2
    %doc %{_datadir}/gtk-doc/html/libxml2/*.devhelp
    %doc %{_datadir}/gtk-doc/html/libxml2/*.html
    %doc %{_datadir}/gtk-doc/html/libxml2/*.png
    %doc %{_datadir}/gtk-doc/html/libxml2/*.css
    
    %{_libdir}/lib*.so
    %{_libdir}/*.sh
    %{_includedir}/*
    %{_bindir}/xml2-config
    %{_datadir}/aclocal/libxml.m4
    %{_libdir}/pkgconfig/libxml-2.0.pc
    %{_libdir}/cmake/libxml2/libxml2-config.cmake
    
    %files static
    %defattr(-, root, root)
    
    %{_libdir}/*a
    
    %files -n python-%{name}
    %defattr(-, root, root)
    
    %{_libdir}/python2*/site-packages/libxml2.py*
    %{_libdir}/python2*/site-packages/drv_libxml2.py*
    %{_libdir}/python2*/site-packages/libxml2mod*
    %doc python/TODO
    %doc python/libxml2class.txt
    %doc python/tests/*.py
    %doc doc/*.py
    %doc doc/python.html
    
    %if 0%{?with_python3}
    %files -n python3-%{name}
    %defattr(-, root, root)
    
    %{_libdir}/python3*/site-packages/libxml2.py*
    %{_libdir}/python3*/site-packages/drv_libxml2.py*
    %{_libdir}/python3*/site-packages/__pycache__/*py*
    %{_libdir}/python3*/site-packages/libxml2mod*
    %doc python/TODO
    %doc python/libxml2class.txt
    %doc py3doc/*.py
    %doc doc/python.html
    %endif # with_python3
    
    %changelog
    * @RELDATE@ Daniel Veillard <veillard@redhat.com>
    - upstream release @VERSION@ see http://xmlsoft.org/news.html