Blob Blame History Raw
%global _includedir		%_includedir/%name

%{!?release_func:%global release_func() %1%{?dist}}

Summary:	A lightweight RPC library based on XML and HTTP
Name:		xmlrpc-c
Version:	1.06.05
Release:	%release_func 1
License:	BSD/PSF -- see COPYING
Group:		System Environment/Libraries
URL:	 	http://xmlrpc-c.sourceforge.net/
Source0:	http://dl.sourceforge.net/sourceforge/xmlrpc-c/%name-%version.tgz
Patch3:		xmlrpc-c-1.05-typo.patch
Patch6:		xmlrpc-c-1.06.04-sizet.patch
Patch100:	http://ensc.de/xmlrpc-c/0003-make-cmake-transition.txt
BuildRoot:	%_tmppath/%name-%version-%release-root
#BuildRequires:	w3c-libwww-devel
BuildRequires:	cmake
BuildRequires:	curl-devel libxml2-devel

%package devel
Summary:	Development files for xmlrpc-c based programs
Group:		Development/Libraries
Requires:	%name = %version-%release
Requires:	libxml2-devel curl-devel
Requires:	pkgconfig

%package apps
Summary:	Sample XML-RPC applications
Group:		Applications/Internet


%description
XML-RPC is a quick-and-easy way to make procedure calls over the
Internet. It converts the procedure call into XML document, sends it
to a remote server using HTTP, and gets back the response as XML.

This library provides a modular implementation of XML-RPC for C and
C++.


%description devel
Static libraries and header files for writing XML-RPC applications in
C and C++.


%description apps
XML-RPC is a quick-and-easy way to make procedure calls over the
Internet. It converts the procedure call into XML document, sends it
to a remote server using HTTP, and gets back the response as XML.

This package contains some handy XML-RPC demo applications.


%prep
%setup -q
%patch3 -p1 -b .typo
%patch6 -p1 -b .sizet

cat %PATCH100 | patch -p1

sed -i -e '/\(chan\|init\.c\)/d' lib/abyss/src/CMakeLists.txt
sed -i -e 's!xmlrpc_decompose.c!xmlrpc_builddecomp.c!g;
           s!xmlrpc_build.c!!g;' src/CMakeLists.txt
sed -i -e 's! abyss.c!!g;' src/test/CMakeLists.txt

## not needed...
rm doc/{INSTALL,configure_doc}


%build
mkdir fedora
cd fedora
export CFLAGS="$RPM_OPT_FLAGS"
export CXXFLAGS="$RPM_OPT_FLAGS"
cmake .. \
	-D_lib:STRING=%_lib			\
	-DMUST_BUILD_CURL_CLIENT:BOOL=ON	\
	-DMUST_BUILD_LIBWWW_CLIENT:BOOL=OFF	\
        -DCMAKE_INSTALL_PREFIX:PATH=%_prefix	\
        -DBUILD_SHARED_LIBS:BOOL=ON
make VERBOSE=1 %{?_smp_mflags}


%install
rm -rf $RPM_BUILD_ROOT
cd fedora
make install DESTDIR=$RPM_BUILD_ROOT
	

%clean
rm -rf $RPM_BUILD_ROOT


%post   -p /sbin/ldconfig
%postun -p /sbin/ldconfig


%files
%defattr(-,root,root,-)
%doc doc/*
%_libdir/*.so.*


%files devel
%defattr(-,root,root,-)
%_bindir/xmlrpc-c-config
%_includedir
%_libdir/pkgconfig/*.pc
%_libdir/*.so


%files apps
%defattr(-,root,root,-)
%doc tools/xmlrpc/xmlrpc.html
%doc tools/xmlrpc_transport/xmlrpc_transport.html
%_mandir/man1/*
%_bindir/xmlrpc
%_bindir/xmlrpc_transport
%_bindir/xml-rpc-api2cpp


%changelog
* Wed Sep 20 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.06.05-1
- updated to 1.06.05
- merged + updated patches

* Sat Sep 16 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.06.04-1
- updated to 1.06.04
- patched the broken buildsystem
- disabled libwww backend explicitely

* Sun Jun  4 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.05-1
- updated to 1.05
- updated patches

* Sat Feb 18 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.04-2
- rebuilt for FC5

* Sun Dec 18 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.04-1
- added libxml2-devel and openssl-devel Requires: for the -devel
  subpackage
- ship doc/* instead of doc
- initial Fedora Extras package (review 175840)

* Thu Dec 15 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.04-0.1
- disabled w3c-libwww because it does not exist anymore in FC5 and
  seems to be unmaintained upstream
- added missing libxml2-devel
- cleaned up list of %%doc files
- fixed gcc4.1 build issues
- removed static libraries when there exists a corresponding dynamic one


* Tue Aug  2 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.03.02-1
- Initial build.