File xmlrpc-c.spec of Package xmlrpc-c
#
# spec file for package xmmlrpc-c (Version 1.25.07)
#
# Copyright (c) 2010 SUSE LINUX Products 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/
#
# vim: set sw=4 ts=4 et:
%define soname 3
%define soname_cpp 7
Name: xmlrpc-c
Version: 1.25.07
Release: 1
License: BSD
Group: Development/Libraries/C and C++
URL: http://xmlrpc-c.sourceforge.net
# http://prdownloads.sourceforge.net/xmlrpc-c/xmlrpc-c-%{version}.tgz
Source: %{name}-%{version}.tar.bz2
Patch0: %{name}-default-constructor.patch
Patch1: %{name}-no-curltypes-incl.patch
Source99: %{name}-rpmlintrc
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf automake file gcc-c++ libtool
%if 0%{?suse_version} >= 1020
BuildRequires: libcurl-devel
%else
BuildRequires: curl-devel
%endif
BuildRequires: libxml2-devel libstdc++-devel
Summary: Library implementing XML-based Remote Procedure Calls
%description
XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
%package -n libxmlrpc-c-devel
Group: Development/Libraries/C and C++
Requires: libxmlrpc++%{soname_cpp} = %{version}
Requires: libxmlrpc_client++%{soname_cpp} = %{version}
Requires: libxmlrpc_cpp%{soname_cpp} = %{version}
Requires: libxmlrpc_server++%{soname_cpp} = %{version}
Requires: libxmlrpc_server_cgi++%{soname_cpp} = %{version}
Requires: libxmlrpc_server_abyss++%{soname_cpp} = %{version}
Requires: libxmlrpc_server_pstream++%{soname_cpp} = %{version}
Requires: libxmlrpc_packetsocket%{soname_cpp} = %{version}
Requires: libxmlrpc%{soname} = %{version}
Requires: libxmlrpc_client%{soname} = %{version}
Requires: libxmlrpc_server%{soname} = %{version}
Requires: libxmlrpc_server_abyss%{soname} = %{version}
Requires: libxmlrpc_server_cgi%{soname} = %{version}
Requires: libxmlrpc_abyss%{soname} = %{version}
Requires: libxmlrpc_util%{soname} = %{version}
Requires: libxml2-devel
Summary: Development package for xmlrpc-c
%description -n libxmlrpc-c-devel
Files needed for software development using xmlrpc-c.
%package -n libxmlrpc%{soname}
Group: System/Libraries
Summary: A library implementing XML-based remote procedure calls
#Requires: libxmlrpc_util = %{version}-%{release}
%description -n libxmlrpc%{soname}
XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
%package -n libxmlrpc++%{soname_cpp}
Group: System/Libraries
Summary: A library implementing XML-based remote procedure calls
%description -n libxmlrpc++%{soname_cpp}
XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
%package -n libxmlrpc_client%{soname}
Group: System/Libraries
Summary: Library implementing XML-based Remote Procedure Calls
#Requires: libxmlrpc_util = %{version}-%{release}
#Requires: libxmlrpc = %{version}-%{release}
%description -n libxmlrpc_client%{soname}
XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
%package -n libxmlrpc_client++%{soname_cpp}
Group: System/Libraries
Summary: Library implementing XML-based Remote Procedure Calls
%description -n libxmlrpc_client++%{soname_cpp}
XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
%package -n libxmlrpc_cpp%{soname_cpp}
Group: System/Libraries
Summary: Library implementing XML-based Remote Procedure Calls
%description -n libxmlrpc_cpp%{soname_cpp}
XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
%package -n libxmlrpc_abyss%{soname}
Group: System/Libraries
Summary: Library implementing XML-based Remote Procedure Calls
#Requires: libxmlrpc_util = %{version}-%{release}
#Requires: libxmlrpc = %{version}-%{release}
%description -n libxmlrpc_abyss%{soname}
XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
%package -n libxmlrpc_server%{soname}
Group: System/Libraries
Summary: Library implementing XML-based Remote Procedure Calls
#Requires: libxmlrpc_util = %{version}-%{release}
#Requires: libxmlrpc = %{version}-%{release}
%description -n libxmlrpc_server%{soname}
XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
%package -n libxmlrpc_server++%{soname_cpp}
Group: System/Libraries
Summary: Library implementing XML-based Remote Procedure Calls
%description -n libxmlrpc_server++%{soname_cpp}
XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
%package -n libxmlrpc_server_abyss%{soname}
Group: System/Libraries
Summary: Library implementing XML-based Remote Procedure Calls
#Requires: libxmlrpc_util = %{version}-%{release}
#Requires: libxmlrpc_server = %{version}-%{release}
#Requires: libxmlrpc_server_abyss = %{version}-%{release}
%description -n libxmlrpc_server_abyss%{soname}
XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
%package -n libxmlrpc_server_abyss++%{soname_cpp}
Group: System/Libraries
Summary: Library implementing XML-based Remote Procedure Calls
%description -n libxmlrpc_server_abyss++%{soname_cpp}
XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
%package -n libxmlrpc_server_cgi%{soname}
Group: System/Libraries
Summary: Library implementing XML-based Remote Procedure Calls
#Requires: libxmlrpc_util = %{version}-%{release}
#Requires: libxmlrpc_server = %{version}-%{release}
%description -n libxmlrpc_server_cgi%{soname}
XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
%package -n libxmlrpc_util%{soname}
Group: System/Libraries
Summary: Library implementing XML-based Remote Procedure Calls
%description -n libxmlrpc_util%{soname}
XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
%package -n libxmlrpc_server_cgi++%{soname_cpp}
Group: System/Libraries
Summary: Library implementing XML-based Remote Procedure Calls
%description -n libxmlrpc_server_cgi++%{soname_cpp}
XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
%package -n libxmlrpc_server_pstream++%{soname_cpp}
Group: System/Libraries
Summary: Library implementing XML-based Remote Procedure Calls
%description -n libxmlrpc_server_pstream++%{soname_cpp}
XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
%package -n libxmlrpc_packetsocket%{soname_cpp}
Group: System/Libraries
Summary: Library implementing XML-based Remote Procedure Calls
%description -n libxmlrpc_packetsocket%{soname_cpp}
XML-RPC is a lightweight RPC protocol based on XML and HTTP. This
package is used by XML-RPC clients and servers written in C and C++.
%prep
%setup -q
%patch0
%if 0%{?suse_version} >= 1040
%patch1
%endif
%__rm -rf examples/.cvsignore examples/cpp/.cvsignore
%build
export CFLAGS_PERSONAL="%{optflags}"
%configure \
--enable-libxml2-backend \
--enable-shared-libs
# don't pass -j, breaks build
%__make CADD="-fPIC -DPIC"
%install
%makeinstall
#%__rm "%{buildroot}%{_libdir}"/*.la
%__make -C examples clean
%__make -C examples/cpp clean
%post -n libxmlrpc%{soname} -p /sbin/ldconfig
%post -n libxmlrpc++%{soname_cpp} -p /sbin/ldconfig
%post -n libxmlrpc_client%{soname} -p /sbin/ldconfig
%post -n libxmlrpc_client++%{soname_cpp} -p /sbin/ldconfig
%post -n libxmlrpc_cpp%{soname_cpp} -p /sbin/ldconfig
%post -n libxmlrpc_abyss%{soname} -p /sbin/ldconfig
%post -n libxmlrpc_server%{soname} -p /sbin/ldconfig
%post -n libxmlrpc_server++%{soname_cpp} -p /sbin/ldconfig
%post -n libxmlrpc_server_abyss%{soname} -p /sbin/ldconfig
%post -n libxmlrpc_server_abyss++%{soname_cpp} -p /sbin/ldconfig
%post -n libxmlrpc_server_cgi%{soname} -p /sbin/ldconfig
%post -n libxmlrpc_server_cgi++%{soname_cpp} -p /sbin/ldconfig
%post -n libxmlrpc_server_pstream++%{soname_cpp} -p /sbin/ldconfig
%post -n libxmlrpc_util%{soname} -p /sbin/ldconfig
%post -n libxmlrpc_packetsocket%{soname_cpp} -p /sbin/ldconfig
%postun -n libxmlrpc%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc++%{soname_cpp} -p /sbin/ldconfig
%postun -n libxmlrpc_client%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc_client++%{soname_cpp} -p /sbin/ldconfig
%postun -n libxmlrpc_cpp%{soname_cpp} -p /sbin/ldconfig
%postun -n libxmlrpc_abyss%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc_server%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc_server++%{soname_cpp} -p /sbin/ldconfig
%postun -n libxmlrpc_server_abyss%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc_server_abyss++%{soname_cpp} -p /sbin/ldconfig
%postun -n libxmlrpc_server_cgi%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc_server_cgi++%{soname_cpp} -p /sbin/ldconfig
%postun -n libxmlrpc_server_pstream++%{soname_cpp} -p /sbin/ldconfig
%postun -n libxmlrpc_util%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc_packetsocket%{soname_cpp} -p /sbin/ldconfig
%files
%defattr(-, root, root)
%doc tools/xmlrpc/xmlrpc.html tools/xmlrpc_transport/xmlrpc_transport.html
#%{_bindir}/xmlrpc
#%{_bindir}/xmlrpc_transport
%files -n libxmlrpc-c-devel
%defattr(-, root, root)
%doc examples
%{_bindir}/xmlrpc-c-config
%{_libdir}/*.so
%{_libdir}/*.a
%{_includedir}/XmlRpcCpp.h
%{_includedir}/xmlrpc*
%files -n libxmlrpc%{soname}
%defattr(-, root, root)
%{_libdir}/libxmlrpc.so.%{soname}
%{_libdir}/libxmlrpc.so.%{soname}.*
%files -n libxmlrpc++%{soname_cpp}
%defattr(-, root, root)
%{_libdir}/libxmlrpc++.so.%{soname_cpp}
%{_libdir}/libxmlrpc++.so.%{soname_cpp}.*
%files -n libxmlrpc_client%{soname}
%defattr(-, root, root)
%{_libdir}/libxmlrpc_client.so.%{soname}
%{_libdir}/libxmlrpc_client.so.%{soname}.*
%files -n libxmlrpc_client++%{soname_cpp}
%defattr(-, root, root)
%{_libdir}/libxmlrpc_client++.so.%{soname_cpp}
%{_libdir}/libxmlrpc_client++.so.%{soname_cpp}.*
%files -n libxmlrpc_abyss%{soname}
%defattr(-, root, root)
%{_libdir}/libxmlrpc_abyss.so.%{soname}
%{_libdir}/libxmlrpc_abyss.so.%{soname}.*
%files -n libxmlrpc_cpp%{soname_cpp}
%defattr(-, root, root)
%{_libdir}/libxmlrpc_cpp.so.%{soname_cpp}
%{_libdir}/libxmlrpc_cpp.so.%{soname_cpp}.*
%files -n libxmlrpc_server%{soname}
%defattr(-, root, root)
%{_libdir}/libxmlrpc_server.so.%{soname}
%{_libdir}/libxmlrpc_server.so.%{soname}.*
%files -n libxmlrpc_server++%{soname_cpp}
%defattr(-, root, root)
%{_libdir}/libxmlrpc_server++.so.%{soname_cpp}
%{_libdir}/libxmlrpc_server++.so.%{soname_cpp}.*
%files -n libxmlrpc_server_abyss%{soname}
%defattr(-, root, root)
%{_libdir}/libxmlrpc_server_abyss.so.%{soname}
%{_libdir}/libxmlrpc_server_abyss.so.%{soname}.*
%files -n libxmlrpc_server_abyss++%{soname_cpp}
%defattr(-, root, root)
%{_libdir}/libxmlrpc_server_abyss++.so.%{soname_cpp}
%{_libdir}/libxmlrpc_server_abyss++.so.%{soname_cpp}.*
%files -n libxmlrpc_server_cgi%{soname}
%defattr(-, root, root)
%{_libdir}/libxmlrpc_server_cgi.so.%{soname}
%{_libdir}/libxmlrpc_server_cgi.so.%{soname}.*
%files -n libxmlrpc_server_cgi++%{soname_cpp}
%defattr(-, root, root)
%{_libdir}/libxmlrpc_server_cgi++.so.%{soname_cpp}
%{_libdir}/libxmlrpc_server_cgi++.so.%{soname_cpp}.*
%files -n libxmlrpc_server_pstream++%{soname_cpp}
%defattr(-, root, root)
%{_libdir}/libxmlrpc_server_pstream++.so.%{soname_cpp}
%{_libdir}/libxmlrpc_server_pstream++.so.%{soname_cpp}.*
%files -n libxmlrpc_util%{soname}
%defattr(-, root, root)
%{_libdir}/libxmlrpc_util.so.%{soname}
%{_libdir}/libxmlrpc_util.so.%{soname}.*
%files -n libxmlrpc_packetsocket%{soname_cpp}
%defattr(-, root, root)
%{_libdir}/libxmlrpc_packetsocket.so.%{soname_cpp}
%{_libdir}/libxmlrpc_packetsocket.so.%{soname_cpp}.*