X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=libxml2.spec;h=34a6df6f61e5405cad269796891228baa8e064c2;hb=405a8e956b78874c0a433a64c7ce7b723cc9ac1b;hp=09d0c6cdd2c76a1d33a36e3cf3e2227f29d9233c;hpb=409f95a48015da1c826d626c060134ba39337c66;p=packages%2Flibxml2.git diff --git a/libxml2.spec b/libxml2.spec index 09d0c6c..34a6df6 100644 --- a/libxml2.spec +++ b/libxml2.spec @@ -1,125 +1,183 @@ +# TODO: +# - fix build without libxml2-devel (python library uses old headers) # # Conditional build: -%bcond_without python # don't build python module -# -%{?with_python:%include /usr/lib/rpm/macros.python} -Summary: libXML library -Summary(es): Biblioteca libXML version 2 -Summary(pl): Biblioteka libxml2 -Summary(pt_BR): Biblioteca libXML versão 2 +%bcond_without apidocs # do not build and package API docs +%bcond_without python2 # CPython 2.x module +%bcond_without python3 # CPython 3.x module +%bcond_without static_libs # static library +%bcond_without zlib # zlib support +%bcond_with mem_debug # libxml2 memory debuging +%bcond_without tests # "make check" call + +Summary: libXML library version 2 +Summary(es.UTF-8): Biblioteca libXML version 2 +Summary(pl.UTF-8): Biblioteka libXML wersja 2 +Summary(pt_BR.UTF-8): Biblioteca libXML versão 2 Name: libxml2 -Version: 2.6.11 -Release: 1 +Version: 2.9.8 +Release: 2 Epoch: 1 License: MIT Group: Libraries -Source0: ftp://xmlsoft.org/%{name}-%{version}.tar.gz -# Source0-md5: c391173a26ec7c2ac702b54d06420fdb -Patch0: %{name}-amfix.patch -Patch1: %{name}-man_fixes.patch -Patch2: %{name}-open.gz.patch -Patch3: %{name}-DESTDIR.patch +#Source0: http://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/%{name}-%{version}.tar.bz2 +Source0: ftp://xmlsoft.org/libxml2/%{name}-%{version}.tar.gz +# Source0-md5: b786e353e2aa1b872d70d5d1ca0c740d +Patch0: %{name}-man_fixes.patch +Patch1: %{name}-open.gz.patch +Patch2: %{name}-largefile.patch + +Patch4: %{name}-libx32.patch +# Patch5-md5: be948499ae913253ad06ae2b0d0c2f12 URL: http://xmlsoft.org/ -BuildRequires: autoconf >= 2.2 -BuildRequires: automake -BuildRequires: libtool >= 1:1.4.2-9 -BuildRequires: ncurses-devel -%{?with_python:BuildRequires: python-devel} -%{?with_python:BuildRequires: python-modules} -BuildRequires: readline-devel >= 4.2 -%{?with_python:BuildRequires: rpm-pythonprov} -BuildRequires: zlib-devel +BuildRequires: autoconf >= 2.68 +BuildRequires: automake >= 1.4 +BuildRequires: libtool >= 2:2.0 +%if %{with python2} +BuildRequires: python-devel >= 2.0 +BuildRequires: python-modules >= 2.0 +BuildRequires: rpm-pythonprov +%endif +%if %{with python3} +BuildRequires: python3-devel >= 1:3.2 +BuildRequires: python3-modules >= 1:3.2 +BuildRequires: rpm-pythonprov +%endif +BuildRequires: rpmbuild(macros) >= 1.714 +BuildRequires: xz-devel +%{?with_zlib:BuildRequires: zlib-devel >= 1.2.3.3} +# history support in xmllint is disabled by default +#BuildRequires: ncurses-devel +#BuildRequires: readline-devel >= 4.2 +Requires: zlib >= 1.2.3.3 +Obsoletes: xml-common BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description This library allows you to manipulate XML files. -%description -l es -Esta biblioteca permite manipulación de archivos XML. +%description -l es.UTF-8 +Esta biblioteca permite manipulación de archivos XML. -%description -l pl -Biblioteka libxml2 umo¿liwia manipulowanie zawarto¶ci± plików XML. +%description -l pl.UTF-8 +Biblioteka libxml2 umożliwia manipulowanie zawartością plików XML. -%description -l pt_BR -Esta biblioteca permite a manipulação de arquivos XML. +%description -l pt_BR.UTF-8 +Esta biblioteca permite a manipulação de arquivos XML. %package devel Summary: Header files etc to develop libxml2 applications -Summary(es): Biblioteca y archivos de inclusión para desarrollo de aplicaciones libXML -Summary(pl): Pliki nag³ówkowe i inne do libxml2 -Summary(pt_BR): Bibliotecas e arquivos de inclusão para desenvolvimento de aplicações que usem a biblioteca libxml +Summary(es.UTF-8): Biblioteca y archivos de inclusión para desarrollo de aplicaciones libXML +Summary(pl.UTF-8): Pliki nagłówkowe i inne do libxml2 +Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para desenvolvimento de aplicações que usem a biblioteca libxml Group: Development/Libraries Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: xz-devel Requires: zlib-devel %description devel Header files etc you can use to develop libxml2 applications. -%description devel -l es -Biblioteca y archivos de inclusión para desarrollo de aplicaciones +%description devel -l es.UTF-8 +Biblioteca y archivos de inclusión para desarrollo de aplicaciones libXML. -%description devel -l pl -Pakiet ten zawiera pliki nag³ówkowe i inne do libxml2 niezbêdne przy -tworzeniu aplikacji opartych o tê bibliotekê. +%description devel -l pl.UTF-8 +Pakiet ten zawiera pliki nagłówkowe i inne do libxml2 niezbędne przy +tworzeniu aplikacji opartych o tę bibliotekę. -%description devel -l pt_BR -Bibliotecas e arquivos de inclusão para desenvolvimento de aplicações +%description devel -l pt_BR.UTF-8 +Bibliotecas e arquivos de inclusão para desenvolvimento de aplicações que usem a biblioteca libxml. %package static Summary: Static libxml2 libraries -Summary(es): Static libraries to develop libxml applications -Summary(pl): Biblioteka statyczna libxml2 -Summary(pt_BR): Bibliotecas estáticas para desenvolvimento de aplicações que usem a biblioteca libxml +Summary(es.UTF-8): Static libraries to develop libxml applications +Summary(pl.UTF-8): Biblioteka statyczna libxml2 +Summary(pt_BR.UTF-8): Bibliotecas estáticas para desenvolvimento de aplicações que usem a biblioteca libxml Group: Development/Libraries Requires: %{name}-devel = %{epoch}:%{version}-%{release} %description static Static libxml2 libraries. -%description static -l es +%description static -l es.UTF-8 Static libraries, you can use to develop libxml applications. -%description static -l pl +%description static -l pl.UTF-8 Biblioteka statyczna libxml2. -%description static -l pt_BR -Bibliotecas estáticas para desenvolvimento de aplicações que usem a +%description static -l pt_BR.UTF-8 +Bibliotecas estáticas para desenvolvimento de aplicações que usem a biblioteca libxml. +%package apidocs +Summary: libxml2 API documentation +Summary(pl.UTF-8): Dokumentacja API libxml2 +Group: Documentation +Requires: gtk-doc-common +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif + +%description apidocs +libxml2 API documentation. + +%description apidocs -l pl.UTF-8 +Dokumentacja API libxml2. + %package progs Summary: XML files parser -Summary(pl): Analizator sk³adniowy plików XML +Summary(pl.UTF-8): Analizator składniowy plików XML Group: Applications/Text Requires: %{name} = %{epoch}:%{version}-%{release} %description progs XML files parser. -%description progs -l pl -Analizator sk³adniowy plików XML. +%description progs -l pl.UTF-8 +Analizator składniowy plików XML. %package -n python-%{name} -Summary: Python support for libxml2 -Summary(pl): Modu³y jêzyka Python dla biblioteki libxml2 +Summary: libxml2 module for Python 2.x +Summary(pl.UTF-8): Moduł libxml2 dla Pythona 2.x Group: Libraries/Python Requires: %{name} = %{epoch}:%{version}-%{release} -%pyrequires_eq python-libs +Requires: python-libs Obsoletes: libxml2-python %description -n python-%{name} -Python support for libxml2. +This is the libxml2 module for Python 2.x, providing access to the +libxml2 library. + +%description -n python-%{name} -l pl.UTF-8 +Ten pakiet zawiera moduł libxml2 dla Pythona 2.x, zapewniający dostęp +do biblioteki libxml2. + +%package -n python3-%{name} +Summary: libxml2 module for Python 3.x +Summary(pl.UTF-8): Moduł libxml2 dla Pythona 3.x +Group: Libraries/Python +Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: python3-libs + +%description -n python3-%{name} +This is the libxml2 module for Python 3.x, providing access to the +libxml2 library. -%description -n python-%{name} -l pl -Modu³y jêzyka Python dla biblioteki libxml2. +%description -n python3-%{name} -l pl.UTF-8 +Ten pakiet zawiera moduł libxml2 dla Pythona 3.x, zapewniający dostęp +do biblioteki libxml2. %prep %setup -q %patch0 -p1 +%if %{with zlib} %patch1 -p1 +%endif %patch2 -p1 -%patch3 -p1 + +%patch4 -p1 %build %{__libtoolize} @@ -127,75 +185,107 @@ Modu %{__autoconf} %{__autoheader} %{__automake} -%configure +%configure \ + --disable-silent-rules \ + %{!?with_static_libs:--disable-static=no} \ + --without-python \ + %{!?with_zlib:--without-zlib} \ + --with-lzma \ + --with%{!?with_mem_debug:out}-mem-debug + %{__make} +%if %{with python2} +cd python +%py_build +cd .. +%endif + + +%if %{with python3} +cd python +%py3_build +cd .. +%endif + +%if %{with tests} +%{__make} check +%endif + %install rm -rf $RPM_BUILD_ROOT %{__make} install \ DESTDIR=$RPM_BUILD_ROOT \ + devhelpdir=%{_gtkdocdir}/libxml2 \ m4datadir=%{_aclocaldir} \ pkgconfigdir=%{_pkgconfigdir} -# move examples to proper dir -install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-devel-%{version} \ - $RPM_BUILD_ROOT%{_examplesdir}/python-%{name}-%{version} -mv $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/examples/* \ - $RPM_BUILD_ROOT%{_examplesdir}/%{name}-devel-%{version} -%if %{with python} -mv -f $RPM_BUILD_ROOT%{_docdir}/%{name}-python-%{version}/examples/* \ - $RPM_BUILD_ROOT%{_examplesdir}/python-%{name}-%{version} +%if %{with python2} +cd python +%py_install + +%py_postclean +cd .. +%endif + +%if %{with python3} +cd python +%py3_install +cd .. %endif # move html doc to -devel package install -d $RPM_BUILD_ROOT%{_docdir}/%{name}-devel-%{version} -mv $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/html \ +%{__mv} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/html \ $RPM_BUILD_ROOT%{_docdir}/%{name}-devel-%{version} -rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} +%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} # install catalog file install -d $RPM_BUILD_ROOT%{_sysconfdir}/xml LD_LIBRARY_PATH=.libs ./xmlcatalog --create \ > $RPM_BUILD_ROOT%{_sysconfdir}/xml/catalog -%if %{with python} -%py_ocomp $RPM_BUILD_ROOT%{py_sitedir} -%py_comp $RPM_BUILD_ROOT%{py_sitedir} - -rm -f $RPM_BUILD_ROOT%{py_sitedir}/*.{py,la,a} -%endif - %clean rm -rf $RPM_BUILD_ROOT -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig %files %defattr(644,root,root,755) %doc AUTHORS ChangeLog Copyright NEWS README TODO -%attr(755,root,root) %{_libdir}/lib*.so.*.* -%{_mandir}/man3/* +%attr(755,root,root) %{_libdir}/libxml2.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libxml2.so.2 +%{_mandir}/man3/libxml.3* %dir %{_sysconfdir}/xml -%config(noreplace) %verify(not mtime md5) %{_sysconfdir}/xml/catalog +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xml/catalog %files devel %defattr(644,root,root,755) %doc %{_docdir}/%{name}-devel-%{version} %attr(755,root,root) %{_bindir}/xml2-config -%attr(755,root,root) %{_libdir}/lib*.so -%{_libdir}/lib*.la -%{_pkgconfigdir}/* -%{_aclocaldir}/*.m4 +%attr(755,root,root) %{_libdir}/libxml2.so +%{_libdir}/libxml2.la +%attr(755,root,root) %{_libdir}/xml2Conf.sh +%{_libdir}/cmake/libxml2 +%{_pkgconfigdir}/libxml-2.0.pc +%{_aclocaldir}/libxml.m4 %{_includedir}/libxml2 %{_mandir}/man1/xml2-config.1* -%{_examplesdir}/%{name}-devel-%{version} +%if %{with static_libs} %files static %defattr(644,root,root,755) -%{_libdir}/lib*.a +%{_libdir}/libxml2.a +%endif + +%if %{with apidocs} +%files apidocs +%defattr(644,root,root,755) +%{_gtkdocdir}/libxml2 +%endif %files progs %defattr(644,root,root,755) @@ -204,10 +294,23 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/xmlcatalog.1* %{_mandir}/man1/xmllint.1* -%if %{with python} +%if %{with python2} %files -n python-%{name} %defattr(644,root,root,755) -%doc %{_examplesdir}/python-%{name}-%{version} -%attr(755,root,root) %{py_sitedir}/*.so -%{py_sitedir}/*.py[co] +%attr(755,root,root) %{py_sitedir}/libxml2mod.so +%{py_sitedir}/drv_libxml2.py[co] +%{py_sitedir}/libxml2.py[co] +%if "%{py_ver}" > "2.4" +%{py_sitedir}/libxml2_python-*.egg-info +%endif +%endif + +%if %{with python3} +%files -n python3-%{name} +%defattr(644,root,root,755) +%{py3_sitedir}/__pycache__/*.py[co] +%{py3_sitedir}/drv_libxml2.py +%{py3_sitedir}/libxml2.py +%{py3_sitedir}/libxml2_python-%{version}-py*.egg-info +%attr(755,root,root) %{py3_sitedir}/libxml2mod.cpython-*.so %endif