-%define ver %(echo %{version} | tr . _)
-Summary: XML parser
-Summary(pl.UTF-8): Analizator składniowy XML-a
+Summary: Xerces C++ - XML parser for C++
+Summary(pl.UTF-8): Xerces C++ - analizator składniowy XML-a dla C++
Name: xerces-c
-Version: 2.7.0
-Release: 2
-License: Apache
-Group: Applications/Publishing/XML
-Source0: http://www.apache.org/dist/xml/xerces-c/source/%{name}-src_%{ver}.tar.gz
-# Source0-md5: 04169609449a8846bc1e6891c04cadf4
+Version: 3.1.2
+Release: 1
+License: Apache v2.0
+Group: Libraries
+Source0: http://www.apache.org/dist/xerces/c/3/sources/%{name}-%{version}.tar.xz
+# Source0-md5: bacebc1dd39d09b13ac477e9ef2f0218
Patch0: %{name}-iso88592.patch
Patch1: %{name}-link.patch
-Patch2: %{name}-opt.patch
-Patch3: %{name}-lib64.patch
-URL: http://xml.apache.org/
-BuildRequires: autoconf
+URL: http://xerces.apache.org/xerces-c/
+BuildRequires: autoconf >= 2.60
+BuildRequires: automake
+BuildRequires: curl-devel
BuildRequires: libstdc++-devel
+BuildRequires: libtool >= 2:1.5
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
-XML parser.
+Xerces C++ - XML parser for C++.
%description -l pl.UTF-8
-Analizator składniowy XML-a.
+Xerces C++ - analizator składniowy XML-a dla C++.
%package devel
-Summary: %{name} header files
-Summary(pl.UTF-8): Pliki nagłówkowe %{name}
+Summary: Header files for xerces-c library
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki xerces-c
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
+Requires: curl-devel
Requires: libstdc++-devel
%description devel
-%{name} header files.
+Header files for xerces-c library.
%description devel -l pl.UTF-8
-Pliki nagłówkowe %{name}.
+Pliki nagłówkowe biblioteki xerces-c.
+
+%package static
+Summary: Static xerces-c library
+Summary(pl.UTF-8): Statyczna biblioteka xerces-c
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+
+%description static
+Static xerces-c library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka xerces-c.
%package doc
-Summary: Extensive %{name} documentation
-Summary(pl.UTF-8): Obszerna dokumentacja %{name}
+Summary: Extensive Xerces C++ documentation
+Summary(pl.UTF-8): Obszerna dokumentacja biblioteki Xerces C++
Group: Documentation
+Requires: %{name} = %{version}-%{release}
%description doc
-Extensive %{name} documentation and examples.
+Extensive Xerces C++ documentation.
%description doc -l pl.UTF-8
-Obszerna dokumentacja oraz przykłady %{name}.
+Obszerna dokumentacja biblioteki Xerces C++.
+
+%package examples
+Summary: Xerces C++ examples
+Summary(pl.UTF-8): Przykłady do biblioteki Xerces C++
+Group: Documentation
+Requires: %{name} = %{version}-%{release}
+
+%description examples
+Xerces C++ examples.
+
+%description examples -l pl.UTF-8
+Przykłady do biblioteki Xerces C++.
%prep
-%setup -q -n %{name}-src_%{ver}
+%setup -q
%patch0 -p1
%patch1 -p1
-%patch2 -p1
-%ifarch %{x8664}
-%patch3 -p1
-%endif
%build
-## What a shit!!!
-XERCESCROOT=`pwd`; export XERCESCROOT
-cd src/xercesc
+%{__libtoolize}
+%{__aclocal} -I m4
%{__autoconf}
-chmod 755 runConfigure
-./runConfigure -plinux -cgcc -xg++ -minmem -nsocket -tnative -rpthread \
- -z%(echo %{rpmcflags} | sed -e 's/\(.\) \+\(.\)/\1 -z\2/g')
+%{__autoheader}
+%{__automake}
+%configure \
+ --disable-pretty-make \
+%ifnarch pentium4 %{x8664}
+ --disable-sse2
+%endif
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+install -d $RPM_BUILD_ROOT%{_docdir}/%{name}-doc-%{version}
-%{__make} -C src/xercesc install \
- XERCESCROOT=`pwd` \
- PREFIX=%{_prefix} \
+%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
+find samples -name .deps | xargs -r rm -rf
+find samples -name '*.o' -o -name .dirstamp | xargs rm -f
cp -a samples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+cp -a doc/html/* $RPM_BUILD_ROOT%{_docdir}/%{name}-doc-%{version}
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc LICENSE.txt credits.txt
-%attr(755,root,root) %{_libdir}/lib*.so.*.*
+%doc CREDITS LICENSE NOTICE
+%attr(755,root,root) %{_libdir}/libxerces-c-3.1.so
%files devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/lib*.so
-%{_includedir}/*
+%attr(755,root,root) %{_libdir}/libxerces-c.so
+%{_libdir}/libxerces-c.la
+%{_includedir}/xercesc
+%{_pkgconfigdir}/xerces-c.pc
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libxerces-c.a
%files doc
%defattr(644,root,root,755)
-%doc doc/html
+%{_docdir}/%{name}-doc-%{version}
+
+%files examples
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/CreateDOMDocument
+%attr(755,root,root) %{_bindir}/DOMCount
+%attr(755,root,root) %{_bindir}/DOMPrint
+%attr(755,root,root) %{_bindir}/EnumVal
+%attr(755,root,root) %{_bindir}/MemParse
+%attr(755,root,root) %{_bindir}/PParse
+%attr(755,root,root) %{_bindir}/PSVIWriter
+%attr(755,root,root) %{_bindir}/Redirect
+%attr(755,root,root) %{_bindir}/SAX2Count
+%attr(755,root,root) %{_bindir}/SAX2Print
+%attr(755,root,root) %{_bindir}/SAXCount
+%attr(755,root,root) %{_bindir}/SAXPrint
+%attr(755,root,root) %{_bindir}/SCMPrint
+%attr(755,root,root) %{_bindir}/SEnumVal
+%attr(755,root,root) %{_bindir}/StdInParse
+%attr(755,root,root) %{_bindir}/XInclude
%{_examplesdir}/%{name}-%{version}