File xmltooling.spec of Package xmltooling

#
# spec file for package xmltooling
#
# Copyright (c) 2015 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/
#


%define pkgdocdir %{_docdir}/%{name}
Name:           xmltooling
Version:        1.5.6
Release:        0
Summary:        OpenSAML XML library
License:        Apache-2.0
Group:          Development/Libraries/C and C++
Url:            https://wiki.shibboleth.net/confluence/display/OpenSAML/XMLTooling-C
Source0:        http://shibboleth.net/downloads/c++-opensaml/2.5.5/%{name}-%{version}.tar.bz2
Source1:        http://shibboleth.net/downloads/c++-opensaml/2.5.5/%{name}-%{version}.tar.bz2.asc
Source2:        %{name}.keyring
Patch0:         xmltooling-1.5.5-doxygen_timestamp.patch
Patch1:         xmltooling-1.5.6-CVE-2018-0486.patch
Patch2:         xmltooling-1.5.6-CVE-2018-0489.patch
Patch3:         xmltooling-1.5.6-CVE-2019-9628.patch
BuildRequires:  boost-devel >= 1.32.0
BuildRequires:  curl-devel >= 7.10.6
BuildRequires:  doxygen
BuildRequires:  gcc-c++
BuildRequires:  liblog4shib-devel >= 1.0.4
BuildRequires:  libxerces-c-devel >= 3.1
BuildRequires:  libxml-security-c-devel >= 1.7.3
BuildRequires:  openssl-devel
BuildRequires:  pkg-config
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
The XMLTooling library contains generic XML parsing and processing
classes based on the Xerces-C DOM. It adds more powerful facilities
for declaring element- and type-specific API and implementation
classes to add value around the DOM, as well as signing and encryption
support.

%package -n libxmltooling6
Summary:        OpenSAML XMLTooling library
Group:          Development/Libraries/C and C++
Provides:       xmltooling = %{version}-%{release}
Obsoletes:      xmltooling < %{version}-%{release}

%description -n libxmltooling6
The XMLTooling library contains generic XML parsing and processing
classes based on the Xerces-C DOM. It adds more powerful facilities
for declaring element- and type-specific API and implementation
classes to add value around the DOM, as well as signing and encryption
support.

This package contains just the shared library.

%package -n libxmltooling-devel
Summary:        XMLTooling development Headers
Group:          Development/Libraries/C and C++
Requires:       boost-devel >= 1.32.0
Requires:       curl-devel >= 7.10.6
Requires:       liblog4shib-devel >= 1.0.4
Requires:       libxerces-c-devel >= 3.1
Requires:       libxml-security-c-devel >= 1.7.3
Requires:       libxmltooling6 = %{version}-%{release}
Requires:       openssl-devel
Provides:       xmltooling-devel = %{version}-%{release}
Obsoletes:      xmltooling-devel < %{version}-%{release}

%description -n libxmltooling-devel
The XMLTooling library contains generic XML parsing and processing
classes based on the Xerces-C DOM. It adds more powerful facilities
for declaring element- and type-specific API and implementation
classes to add value around the DOM, as well as signing and encryption
support.

This package includes files needed for development with XMLTooling.

%package -n xmltooling-schemas
Summary:        XMLTooling schemas and catalog
Group:          Development/Libraries/C and C++

%description -n xmltooling-schemas
The XMLTooling library contains generic XML parsing and processing
classes based on the Xerces-C DOM. It adds more powerful facilities
for declaring element- and type-specific API and implementation
classes to add value around the DOM, as well as signing and encryption
support.

This package includes XML schemas and related files.

%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1

%build
%configure
make %{?_smp_mflags}

%install
make install DESTDIR=%{buildroot} pkgdocdir=%{pkgdocdir}
# Don't package unit tester if present.
rm -f %{buildroot}/%{_bindir}/xmltoolingtest

%check
make %{?_smp_mflags} check

%post -n libxmltooling6 -p /sbin/ldconfig

%postun -n libxmltooling6 -p /sbin/ldconfig

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

%files -n xmltooling-schemas
%defattr(-,root,root,-)
%dir %{_datadir}/xml/xmltooling
%{_datadir}/xml/xmltooling/*

%files -n libxmltooling-devel
%defattr(-,root,root,-)
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/xmltooling.pc
%doc %{pkgdocdir}

%changelog
openSUSE Build Service is sponsored by