SHA256
8
0
forked from pool/xmlrpc-c
Files
xmlrpc-c/xmlrpc-c.spec

375 lines
12 KiB
RPMSpec
Raw Normal View History

#
# spec file for package xmmlrpc-c (Version 1.06.41)
#
# 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:
# norootforbuild
%define soname 3
Name: xmlrpc-c
Version: 1.06.41
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}-1.06.04-sizet.patch
Patch1: %{name}-fix_as_needed.patch
Patch2: %{name}-fix_without_as_needed.patch
Patch3: %{name}-lib64.patch
Patch4: %{name}-lib.patch
Patch5: %{name}-disable_rpath.patch
Patch6: %{name}-fix_wrong_printf_format_for_size_t.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++.
Authors:
--------
Eric Kidd <eric.kidd@pobox.com>
%package -n libxmlrpc-c-devel
Group: Development/Libraries/C and C++
Requires: libxmlrpc++%{soname} = %{version}
Requires: libxmlrpc_client++%{soname} = %{version}
Requires: libxmlrpc_cpp%{soname} = %{version}
Requires: libxmlrpc_server++%{soname} = %{version}
Requires: libxmlrpc_server_abyss++%{soname} = %{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++.
Authors:
--------
Eric Kidd <eric.kidd@pobox.com>
%package -n libxmlrpc++%{soname}
Group: System/Libraries
Summary: A library implementing XML-based remote procedure calls
%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++.
Authors:
--------
Eric Kidd <eric.kidd@pobox.com>
%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++.
Authors:
--------
Eric Kidd <eric.kidd@pobox.com>
%package -n libxmlrpc_client++%{soname}
Group: System/Libraries
Summary: Library implementing XML-based Remote Procedure Calls
%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++.
Authors:
--------
Eric Kidd <eric.kidd@pobox.com>
%package -n libxmlrpc_cpp%{soname}
Group: System/Libraries
Summary: Library implementing XML-based Remote Procedure Calls
%description -n libxmlrpc_cpp%{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++.
Authors:
--------
Eric Kidd <eric.kidd@pobox.com>
%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++.
Authors:
--------
Eric Kidd <eric.kidd@pobox.com>
%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++.
Authors:
--------
Eric Kidd <eric.kidd@pobox.com>
%package -n libxmlrpc_server++%{soname}
Group: System/Libraries
Summary: Library implementing XML-based Remote Procedure Calls
%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++.
Authors:
--------
Eric Kidd <eric.kidd@pobox.com>
%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++.
Authors:
--------
Eric Kidd <eric.kidd@pobox.com>
%package -n libxmlrpc_server_abyss++%{soname}
Group: System/Libraries
Summary: Library implementing XML-based Remote Procedure Calls
%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_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++.
Authors:
--------
Eric Kidd <eric.kidd@pobox.com>
%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++.
Authors:
--------
Eric Kidd <eric.kidd@pobox.com>
%prep
%setup -q
%patch0 -p1 -b .sizet
%if 0%{?suse_version} < 1000
%patch2 -p0 -b .fix
%else
%patch1 -p0 -b .asneeded
%endif
%if "%{_lib}"=="lib64"
%patch3 -p0 -b .lib64
%else
%patch4 -p0 -b .lib
%endif
%patch5 -p0 -b .rpath
%patch6 -p0 -b .format
%__rm -rf examples/.cvsignore examples/cpp/.cvsignore
%build
export CFLAGS_PERSONAL="%{optflags}"
%configure \
--enable-libxml2-backend \
--enable-shared
%__sed -i '
s/^hardcode_direct.*$/hardcode_direct=yes/g
;
s/^hardcode_minus_L.*$/hardcode_minus_L=yes/g
;
s/^hardcode_shlibpath_var.*$/hardcode_shlibpath_var=no/g
' libtool ltconfig* ltmain*
# 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} -p /sbin/ldconfig
%post -n libxmlrpc_client%{soname} -p /sbin/ldconfig
%post -n libxmlrpc_client++%{soname} -p /sbin/ldconfig
%post -n libxmlrpc_cpp%{soname} -p /sbin/ldconfig
%post -n libxmlrpc_abyss%{soname} -p /sbin/ldconfig
%post -n libxmlrpc_server%{soname} -p /sbin/ldconfig
%post -n libxmlrpc_server++%{soname} -p /sbin/ldconfig
%post -n libxmlrpc_server_abyss%{soname} -p /sbin/ldconfig
%post -n libxmlrpc_server_abyss++%{soname} -p /sbin/ldconfig
%post -n libxmlrpc_server_cgi%{soname} -p /sbin/ldconfig
%post -n libxmlrpc_util%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc++%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc_client%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc_client++%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc_cpp%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc_abyss%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc_server%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc_server++%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc_server_abyss%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc_server_abyss++%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc_server_cgi%{soname} -p /sbin/ldconfig
%postun -n libxmlrpc_util%{soname} -p /sbin/ldconfig
%clean
%{?buildroot:%__rm -rf "%{buildroot}"}
%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}
%defattr(-, root, root)
%{_libdir}/libxmlrpc++.so.%{soname}
%{_libdir}/libxmlrpc++.so.%{soname}.*
%files -n libxmlrpc_client%{soname}
%defattr(-, root, root)
%{_libdir}/libxmlrpc_client.so.%{soname}
%{_libdir}/libxmlrpc_client.so.%{soname}.*
%files -n libxmlrpc_client++%{soname}
%defattr(-, root, root)
%{_libdir}/libxmlrpc_client++.so.%{soname}
%{_libdir}/libxmlrpc_client++.so.%{soname}.*
%files -n libxmlrpc_abyss%{soname}
%defattr(-, root, root)
%{_libdir}/libxmlrpc_abyss.so.%{soname}
%{_libdir}/libxmlrpc_abyss.so.%{soname}.*
%files -n libxmlrpc_cpp%{soname}
%defattr(-, root, root)
%{_libdir}/libxmlrpc_cpp.so.%{soname}
%{_libdir}/libxmlrpc_cpp.so.%{soname}.*
%files -n libxmlrpc_server%{soname}
%defattr(-, root, root)
%{_libdir}/libxmlrpc_server.so.%{soname}
%{_libdir}/libxmlrpc_server.so.%{soname}.*
%files -n libxmlrpc_server++%{soname}
%defattr(-, root, root)
%{_libdir}/libxmlrpc_server++.so.%{soname}
%{_libdir}/libxmlrpc_server++.so.%{soname}.*
%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}
%defattr(-, root, root)
%{_libdir}/libxmlrpc_server_abyss++.so.%{soname}
%{_libdir}/libxmlrpc_server_abyss++.so.%{soname}.*
%files -n libxmlrpc_server_cgi%{soname}
%defattr(-, root, root)
%{_libdir}/libxmlrpc_server_cgi.so.%{soname}
%{_libdir}/libxmlrpc_server_cgi.so.%{soname}.*
%files -n libxmlrpc_util%{soname}
%defattr(-, root, root)
%{_libdir}/libxmlrpc_util.so.%{soname}
%{_libdir}/libxmlrpc_util.so.%{soname}.*