File expat.spec of Package expat

#
# spec file for package expat
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           expat
Version:        2.1.0
Release:        0
Url:            http://expat.sourceforge.net/
# bug437293
%ifarch ppc64
Obsoletes:      expat-64bit
%endif
#
Summary:        XML Parser Toolkit
License:        MIT
Group:          Development/Libraries/C and C++
Source0:        http://downloads.sourceforge.net/project/%{name}/%{name}/%{version}/%{name}-%{version}.tar.gz
Source1:        %{name}faq.html
Source2:        baselibs.conf
Patch2:         expat-visibility.patch
Patch3:         expat-alloc-size.patch
Patch4:         config-guess-sub-update.patch
# PATCH-FIX-UPSTREAM bnc#980391 CVE-2015-1283 kstreitova@suse.comĀ -- fix multiple integer overflows
Patch5:         expat-2.1.0-heap_buffer_overflow.patch
# PATCH-FIX-UPSTREAM bnc#979441 CVE-2016-0718 kstreitova@suse.comĀ -- XML parser crashes on malformed input
Patch6:         expat-2.1.0-parser_crashes_on_malformed_input.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  autoconf >= 2.58
BuildRequires:  gcc-c++
BuildRequires:  libtool
BuildRequires:  pkg-config

%description
Expat is an XML parser library written in C. It is a stream-oriented
parser in which an application registers handlers for things the
parser might find in the XML document (like start tags).

%package -n libexpat1
Summary:        XML Parser Toolkit
Group:          Development/Libraries/C and C++
# bug437293
%ifarch ppc64
Obsoletes:      expat-64bit
%endif
#

%description -n libexpat1
Expat is an XML parser library written in C. It is a stream-oriented
parser in which an application registers handlers for things the
parser might find in the XML document (like start tags).

%package -n libexpat-devel
Summary:        XML Parser Toolkit
Group:          Development/Libraries/C and C++
Requires:       glibc-devel
Requires:       libexpat1 = %{version}

%description -n libexpat-devel
Expat is an XML parser library written in C. It is a stream-oriented
parser in which an application registers handlers for things the
parser might find in the XML document (like start tags).

This package contains the development headers for the library found
in libexpat.

%prep
%setup -q -n expat-2.1.0
%patch2 -p1
%patch3
%patch4
%patch5 -p1
%patch6 -p1
cp %{S:1} .
rm -f examples/*.dsp

%build
autoreconf -fi
%configure --disable-static --with-pic
make %{?_smp_mflags}

%install
make DESTDIR=$RPM_BUILD_ROOT install
rm doc/xmlwf.1
# remove .la file
rm -f %{buildroot}%{_libdir}/libexpat.la

%check
make check

%post -n libexpat1 -p /sbin/ldconfig

%postun -n libexpat1 -p /sbin/ldconfig

%files
%defattr(-, root, root)
%doc COPYING Changes README examples expatfaq.html
%doc doc/expat.png doc/reference.html doc/style.css doc/valid-xhtml10.png
%doc %{_mandir}/man?/*
%{_bindir}/xmlwf

%files -n libexpat1
%defattr(-, root, root)
%{_libdir}/libexpat.so.*

%files -n libexpat-devel
%defattr(-, root, root)
%{_includedir}/*
%{_libdir}/libexpat.so
%{_libdir}/pkgconfig/expat.pc

%changelog