X-Git-Url: http://git.pld-linux.org/?p=packages%2Fpython-lxml.git;a=blobdiff_plain;f=python-lxml.spec;h=dbd865aa48c6e9cb6cf9ad70a0ed6994fdc4a89a;hp=8aee4cac7ab12d4ffddd40d4e99bee6f53d64ee3;hb=7e41332a0abdd843b586a248a771ee4b9127315d;hpb=6ada93dfa9eef5fd90211395aef60ba663cc9421 diff --git a/python-lxml.spec b/python-lxml.spec index 8aee4ca..dbd865a 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -1,34 +1,41 @@ # # Conditional build: -%bcond_without apidocs # do not build and package API docs +%bcond_without apidocs # API documentation %bcond_without python2 # Python 2 package %bcond_without python3 # Python 3 package +%bcond_without tests # unit tests %define module lxml Summary: Python 2 binding for the libxml2 and libxslt libraries Summary(pl.UTF-8): Wiązanie Pythona 2 do bibliotek libxml2 i libxslt Name: python-%{module} -Version: 3.2.4 +Version: 4.6.2 Release: 2 License: BSD Group: Libraries/Python -Source0: http://lxml.de/files/%{module}-%{version}.tgz -# Source0-md5: cc363499060f615aca1ec8dcc04df331 -Patch0: %{name}-add-handle_failures-option-to-make_links_absolute-to.patch -URL: http://lxml.de/ -BuildRequires: libxml2-devel >= 1:2.7.8 -BuildRequires: libxslt-devel >= 1.1.26 +# until 4.6.1 +#Source0: https://lxml.de/files/%{module}-%{version}.tgz +#Source0Download: https://pypi.org/simple/lxml/ +Source0: https://files.pythonhosted.org/packages/source/l/lxml/%{module}-%{version}.tar.gz +# Source0-md5: 2e39c6e17d61f61e5be68fd328ba6a51 +URL: https://lxml.de/ +BuildRequires: libxml2-devel >= 1:2.9.2 +BuildRequires: libxslt-devel >= 1.1.28 +BuildRequires: pkgconfig %if %{with python2} -BuildRequires: python-devel >= 1:2.4 -BuildRequires: python-modules +BuildRequires: python-Cython >= 0.29.7 +BuildRequires: python-devel >= 1:2.7 +BuildRequires: python-modules >= 1:2.7 +BuildRequires: python-setuptools %endif %if %{with python3} -BuildRequires: python3-Cython > 0.17 -BuildRequires: python3-devel -BuildRequires: python3-modules +BuildRequires: python3-Cython >= 0.29.7 +BuildRequires: python3-devel >= 1:3.5 +BuildRequires: python3-modules >= 1:3.5 +BuildRequires: python3-setuptools %endif BuildRequires: rpm-pythonprov -BuildRequires: rpmbuild(macros) >= 1.219 +BuildRequires: rpmbuild(macros) >= 1.752 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -52,6 +59,7 @@ lxml to pythonowe wiązanie do bibliotek libxml2 i libxslt. Summary: lxml API documentation Summary(pl.UTF-8): Dokumentacja API modułu lxml Group: Documentation +%{?noarchpackage} %description apidocs lxml API documentation. @@ -61,78 +69,103 @@ Dokumentacja API modułu lxml. %prep %setup -q -n %{module}-%{version} -%patch0 -p1 %build %if %{with python2} -%{__python} setup.py build +%py_build + +%if %{with tests} +install -d testdir-2/src/lxml +cd testdir-2/src/lxml +ln -snf ../../../build-2/lib.linux-*/lxml/* ../../../src/lxml/tests . +cd ../.. +ln -snf ../doc ../samples ../test.py . +LC_ALL=C.UTF-8 \ +%{__python} test.py -v +cd .. %endif +%endif + %if %{with python3} -%{__python3} setup.py build +%py3_build + +%if %{with tests} +install -d testdir-3/src/lxml +cd testdir-3/src/lxml +ln -snf ../../../build-3/lib.linux-*/lxml/* ../../../src/lxml/tests . +cd ../.. +ln -snf ../doc ../samples ../test.py . +%{__python3} test.py -v +cd .. +%endif +%endif + +%if %{with apidocs} +# as of 4.4.2, python3 is not supported in mkhtml.py +PYTHONPATH=$(echo $(pwd)/build-2/lib.linux-*) \ +%{__python} doc/mkhtml.py doc/html $(pwd) %{version} %endif %install rm -rf $RPM_BUILD_ROOT %if %{with python2} -%{__python} setup.py \ - install \ - --root=$RPM_BUILD_ROOT \ - --optimize=2 +%py_install %py_postclean %endif %if %{with python3} -%{__python3} setup.py \ - install \ - --root=$RPM_BUILD_ROOT \ - --optimize=2 +%py3_install %endif -# cleanup for packaging -rm -rf docs -cp -a doc docs -# apidocs packaged separately -rm -rf docs/html -# build docs not useful at runtime -rm docs/build.txt -# common licenses -rm docs/licenses/{BSD,GPL}.txt - %clean rm -rf $RPM_BUILD_ROOT %if %{with python2} %files %defattr(644,root,root,755) -%doc docs/* CHANGES.txt CREDITS.txt LICENSES.txt README.rst TODO.txt +%doc CHANGES.txt CREDITS.txt LICENSES.txt README.rst TODO.txt doc/licenses/{BSD,ZopePublicLicense,elementtree}.txt %dir %{py_sitedir}/lxml %{py_sitedir}/lxml/*.py[co] +%{py_sitedir}/lxml/etree*.h %{py_sitedir}/lxml/lxml.etree*.h %{py_sitedir}/lxml/includes %{py_sitedir}/lxml/isoschematron -%dir %{py_sitedir}/lxml/html -%{py_sitedir}/lxml/html/*.py[co] +%attr(755,root,root) %{py_sitedir}/lxml/_elementpath.so +%attr(755,root,root) %{py_sitedir}/lxml/builder.so %attr(755,root,root) %{py_sitedir}/lxml/etree.so %attr(755,root,root) %{py_sitedir}/lxml/objectify.so -%{py_sitedir}/lxml-*.egg-info +%attr(755,root,root) %{py_sitedir}/lxml/sax.so +%dir %{py_sitedir}/lxml/html +%{py_sitedir}/lxml/html/*.py[co] +%attr(755,root,root) %{py_sitedir}/lxml/html/clean.so +%attr(755,root,root) %{py_sitedir}/lxml/html/diff.so +%{py_sitedir}/lxml-%{version}-py*.egg-info %endif %if %{with python3} %files -n python3-%{module} %defattr(644,root,root,755) -%doc docs/* CHANGES.txt CREDITS.txt LICENSES.txt README.rst TODO.txt +%doc CHANGES.txt CREDITS.txt LICENSES.txt README.rst TODO.txt doc/licenses/{BSD,ZopePublicLicense,elementtree}.txt %dir %{py3_sitedir}/lxml +%attr(755,root,root) %{py3_sitedir}/lxml/_elementpath.cpython-*.so +%attr(755,root,root) %{py3_sitedir}/lxml/builder.cpython-*.so %attr(755,root,root) %{py3_sitedir}/lxml/etree.cpython-*.so %attr(755,root,root) %{py3_sitedir}/lxml/objectify.cpython-*.so +%attr(755,root,root) %{py3_sitedir}/lxml/sax.cpython-*.so %{py3_sitedir}/lxml/*.py %{py3_sitedir}/lxml/__pycache__ +%{py3_sitedir}/lxml/etree*.h %{py3_sitedir}/lxml/lxml.etree*.h %{py3_sitedir}/lxml/includes %{py3_sitedir}/lxml/isoschematron -%{py3_sitedir}/lxml/html -%{py3_sitedir}/lxml-*.egg-info +%dir %{py3_sitedir}/lxml/html +%{py3_sitedir}/lxml/html/*.py +%{py3_sitedir}/lxml/html/__pycache__ +%attr(755,root,root) %{py3_sitedir}/lxml/html/clean.cpython-*.so +%attr(755,root,root) %{py3_sitedir}/lxml/html/diff.cpython-*.so +%{py3_sitedir}/lxml-%{version}-py*.egg-info %endif %if %{with apidocs}