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.04
Release:	%release_func 2
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
Patch0:		xmlrpc-c-1.04-libxml2.patch
Patch1:		xmlrpc-c-1.04-namespace.patch
BuildRoot:	%_tmppath/%name-%version-%release-root
#BuildRequires:	w3c-libwww-devel
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

%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
%patch0 -p1 -b .libxml2
%patch1 -p1 -b .namespace

## workaround bugs in the buildsystem
rm -f src/cpp/srcdir transport_config.h

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


%build
%configure --enable-libxml2-backend --disable-libwww-client

sed -i -e 's!-L/usr/%_lib\s\s*!!g;
	   s!-L/usr/%_lib"!"!g;
	   s!\(the_\S*rpath=\)\"..*\"!\1!g' xmlrpc-c-config

%__make \
	CFLAGS_COMMON="-DNDEBUG -fno-common $RPM_OPT_FLAGS"	\
	CXXFLAGS_COMMON="-DNDEBUG $RPM_OPT_FLAGS"		\
	#%{?_smp_mflags}


%install
rm -rf $RPM_BUILD_ROOT
%__make DESTDIR="$RPM_BUILD_ROOT" install

%__install -d -m0755 $RPM_BUILD_ROOT%_mandir/man1

F=tools/xml-rpc-api2cpp/xml-rpc-api2cpp
./libtool --mode=install %__install -p -m755 $F $RPM_BUILD_ROOT/%_bindir/
%__install -p -m0644 $F.1 $RPM_BUILD_ROOT%_mandir/man1/

for i in $RPM_BUILD_ROOT%_libdir/*.a; do
	test ! -e "${i%%.a}.so" || rm -f $i
done

rm -f $RPM_BUILD_ROOT%_libdir/*.la


%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/*.so
%_libdir/*.a


%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
* 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.