%global advanced_branch 1 %global svnrev 2451 %{!?release_func:%global release_func() %%{?prerelease:0.}%1%%{?prerelease:.%%prerelease}%%{?dist}} Summary: A lightweight RPC library based on XML and HTTP Name: xmlrpc-c Version: 1.32.5 Release: %release_func 1903.svn%svnrev # See COPYING for details. # The Python 1.5.2 license used by a few files is just BSD. # GPL+: lib/util/getoptx.{c,h} # Public Domain: grep -Ri "public domain" * License: BSD and MIT and GPL+ and Public Domain Group: System Environment/Libraries URL: http://xmlrpc-c.sourceforge.net/ %{!?advanced_branch:Source0: http://dl.sourceforge.net/sourceforge/xmlrpc-c/xmlrpc-%version.tgz} # generated by 'make svn-sources [SVN_VER=%version SVN_REV=%svnrev]'. Unfortunately, # upstream does not tag versions so we must fetch from the branch and # check which version was used for it %{?advanced_branch:Source0: xmlrpc-c-%version.tar.xz} Source100: dfs.cc Source101: dso-fixup Patch100: xmlrpc-c-cmake.patch Patch102: xmlrpc-c-printf-size_t.patch Patch105: xmlrpc-c-longlong.patch Patch107: xmlrpc-c-uninit-curl.patch Patch108: xmlrpc-c-30x-redirect.patch Patch109: xmlrpc-c-check-vasprintf-return-value.patch Patch110: xmlrpc-c-include-string_int.h.patch BuildRoot: %_tmppath/%name-%version-%release-root BuildRequires: cmake BuildRequires: curl-devel libxml2-devel readline-devel ncurses-devel %package c++ Summary: C++ libraries for xmlrpc-c Group: System Environment/Libraries Requires: %name%{?_isa} = %version-%release %package client Summary: C client libraries for xmlrpc-c Group: System Environment/Libraries Requires: %name%{?_isa} = %version-%release %package client++ Summary: C++ client libraries for xmlrpc-c Group: System Environment/Libraries Requires: %name%{?_isa} = %version-%release Requires: %name-c++%{?_isa} = %version-%release Requires: %name-client%{?_isa} = %version-%release %package devel Summary: Development files for xmlrpc-c based programs Group: Development/Libraries Requires: %name%{?_isa} = %version-%release Requires: %name-c++%{?_isa} = %version-%release Requires: %name-client%{?_isa} = %version-%release Requires: %name-client++%{?_isa} = %version-%release %package apps Summary: Sample XML-RPC applications Group: Applications/Internet Requires: %name%{?_isa} = %version-%release Requires: %name-c++%{?_isa} = %version-%release Requires: %name-client%{?_isa} = %version-%release Requires: %name-client++%{?_isa} = %version-%release %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. %description c++ 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++. %description client 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 clients. %description client++ 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++ clients. %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 %patch100 -p1 %patch102 -p1 %patch105 -p1 %patch107 -p1 %patch108 -p1 %patch109 -p1 %patch110 -p1 ## not needed... rm doc/{INSTALL,configure_doc} %build mkdir -p build cd build export CFLAGS="$RPM_OPT_FLAGS -Wno-uninitialized -Wno-unknown-pragmas" export CXXFLAGS="$RPM_OPT_FLAGS" export LDFLAGS="-Wl,-as-needed" 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 \ -DENABLE_TOOLS:BOOL=ON make VERBOSE=1 %{?_smp_mflags} %__cxx $RPM_OPT_FLAGS %SOURCE100 -o depsort %install rm -rf $RPM_BUILD_ROOT cd build make install DESTDIR=$RPM_BUILD_ROOT chmod +x $RPM_BUILD_ROOT%_libdir/*.so %SOURCE101 "$RPM_BUILD_ROOT" "%_libdir" 'libxmlrpc' $RPM_BUILD_ROOT%_libdir/libxmlrpc*.so.[0-9] %check unset PKG_CONFIG_PATH export PKG_CONFIG_LIBDIR=$RPM_BUILD_ROOT%_libdir/pkgconfig:%_libdir/pkgconfig:%_datadir/pkgconfig PATH=$RPM_BUILD_ROOT%_bindir:$PATH _e() { echo "\$ $@" "$@" } set +x _e xmlrpc-c-config --help for comp in c++ cgi-server server-util abyss-server client libwww-client; do for opt in '--version' '--libs' 'c++2 --libs' 'c++ --libs --static'; do _e xmlrpc-c-config "$comp" $opt done done set -x %clean rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %post client -p /sbin/ldconfig %postun client -p /sbin/ldconfig %post c++ -p /sbin/ldconfig %postun c++ -p /sbin/ldconfig %post client++ -p /sbin/ldconfig %postun client++ -p /sbin/ldconfig %files %defattr(-,root,root,-) %doc doc/* %_libdir/*.so.3* %exclude %_libdir/libxmlrpc_client.so* %files client %defattr(-,root,root,-) %_libdir/libxmlrpc_client.so.* %files c++ %defattr(-,root,root,-) %_libdir/*.so.8* %exclude %_libdir/libxmlrpc_client++.so* %files client++ %defattr(-,root,root,-) %_libdir/libxmlrpc_client++.so.* %files devel %defattr(-,root,root,-) %_bindir/xmlrpc-c-config %_includedir/xmlrpc-c %_includedir/*.h %_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 %_bindir/xmlrpc_cpp_proxy %_bindir/xmlrpc_pstream %_bindir/xmlrpc_parsecall %exclude %_bindir/xml-rpc-api2txt %changelog * Wed Jul 31 2013 Michal Srb - 1.32.5-1903.svn2451 - Fix license tag * Thu Apr 25 2013 Mikolaj Izdebski - 1.32.5-1902.svn2451 - Add missing inter-package dependencies - Rename fedora directory to build * Fri Feb 15 2013 Fedora Release Engineering - 1.32.5-1901.svn2451 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Sun Dec 9 2012 Enrico Scholz - 1.32.5-1900.svn2451 - updated to 1.32.5 * Sun Oct 21 2012 Enrico Scholz - 1.32.2-1900.svn2434 - updated to 1.32.2 * Sat Oct 6 2012 Enrico Scholz - 1.32.1-1900.svn2413 - updated to 1.32.1 * Sun Aug 26 2012 Enrico Scholz - 1.31.4-1900.svn2386 - updated to 1.31.4 * Sun Jul 22 2012 Fedora Release Engineering - 1.31.0-1801.svn2365 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Sun Jul 1 2012 Enrico Scholz - 1.31.0-1800.svn2365 - updated to 1.31.0 * Wed Jun 6 2012 Enrico Scholz - 1.30.6-1800.svn2328 - updated to 1.30.6 * Sat May 26 2012 Enrico Scholz - 1.30.5-1800.svn2324 - updated to 1.30.5 (IPv6 server fixes) * Sat May 12 2012 Enrico Scholz - 1.30.4-1800.svn2318 - updated to 1.30.4 * Thu Apr 5 2012 Enrico Scholz - 1.30.1-1800.svn2298 - updated to 1.30.1 * Tue Feb 28 2012 Fedora Release Engineering - 1.29.0-1701.svn2233 - Rebuilt for c++ ABI breakage * Wed Jan 4 2012 Enrico Scholz - 1.29.0-1700.svn2233 - updated to 1.29.0 * Mon Oct 3 2011 Enrico Scholz - 1.28.1-1700.svn2203 - updated to 1.28.1 * Mon Oct 3 2011 Enrico Scholz - 1.27.5-1701.svn2185 - fixed error handling when transfering too large files (#741980) * Sat Aug 27 2011 Enrico Scholz - 1.27.5-1700.svn2185 - updated to 1.27.5 * Sun Aug 7 2011 Enrico Scholz - 1.27.4-1700.svn2171 - updated to 1.27.4 * Sun Aug 7 2011 Enrico Scholz - 1.27.3-1700.svn2145 - updated to 1.27.3 * Mon Jun 27 2011 Enrico Scholz - 1.27.0-1600.svn2145 - updated to 1.27.0 - made it build with recent curl * Mon Jun 13 2011 Enrico Scholz - 1.26.3-1600.svn2134 - updated to 1.26.3 - removed default-constructor patch; issue is solved upstream * Sat Apr 2 2011 Enrico Scholz - 1.26.0-1600.svn2188 - updated to 1.26.0 * Mon Feb 07 2011 Fedora Release Engineering - 1.25.1-1501.svn2077 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Thu Jan 6 2011 Enrico Scholz - 1.25.1-1500.svn2077 - updated to 1.25.1 * Thu Dec 30 2010 Enrico Scholz - 1.25.0-1500.svn2074 - updated to 1.25.0 * Sun Nov 7 2010 Enrico Scholz - 1.24.4-1500.svn2042 - updated to 1.24.4 * Sat Oct 9 2010 Enrico Scholz - 1.24.1-1500.svn1987 - updated to 1.24.1 - set -Wno-uninitialized CFLAGS; code contains lot of constructs triggering this warning and the 'int a=a' defeaters have been removed in this version * Fri Aug 27 2010 Enrico Scholz - 1.23.02-1500.svn1968 - updated to 1.23.02 (note: this breaks C++ ABI) - added vasprintf patch * Thu Jul 29 2010 Enrico Scholz - 1.23.01-1400.svn1958 - updated to 1.23.01 - added patch to make curl follow HTTP POST 301 redirects (#618504) * Sun Apr 18 2010 Enrico Scholz - 1.22.01-1400.svn1907 - updated to 1.22.01 (svn 1907) * Tue Feb 23 2010 Enrico Scholz - 1.21.00-1401.1851 - require the various subpackages explicitly for -devel; the ld linker scripts broke rpm's autodetection (#567400) - removed -devel Requires: which are covered by pkgconfig autodeps - added %%{?_isa} annotations * Sun Feb 21 2010 Enrico Scholz - 1.21.00-1400.1851 - made linker scripts more 'ldconfig' friendly * Mon Feb 15 2010 Enrico Scholz - 1.21.00-1301.1851 - replaced .so symlinks by linker scripts which add all implicit dependencies in AS_NEEDED() commands (#564607, #565577) * Thu Jan 14 2010 Enrico Scholz - 1.21.00-1300.1851 - updated to 1.21.00 (rev 1851) - removed curl-trace patch as applied upstream - rediffed patches * Sat Nov 21 2009 Enrico Scholz - 1.20.3-1.1841 - updated to rev1841 - rediffed patches - added patch to fix handling of wrong certificates (Nikola Pajkovsky) - added support for $XMLRPC_TRACE_CURL env (John Dennis) * Mon Jul 27 2009 Fedora Release Engineering - 1.16.6-3.1582 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Thu Feb 26 2009 Fedora Release Engineering - 1.16.6-2.1582 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Thu Dec 11 2008 Enrico Scholz - 1.16.6-1.1582 - updated to 1.16.6; rediffed patches - fixed client headers (bug #475887) * Sat Nov 15 2008 Enrico Scholz - 1.16.4.1567-2 - updated to 1.16.4 - rediffed/updated patches - splitted some subpackages (c++, client) out of main package as they introduce additional dependencies (c++, curl) * Sat Sep 6 2008 Tom "spot" Callaway - 1.14.8-2 - fix license tag * Sat Jun 21 2008 Enrico Scholz - 1.14.8-1 - updated to 1.14.8 * Sun May 25 2008 Enrico Scholz - 1.14.6-1 - updated to 1.14.6 * Sat Apr 12 2008 Enrico Scholz - 1.14.2-1 - updated to 1.14.2 - rediffed patches - added patch to fix broken usage of 'long long' datatype * Mon Mar 17 2008 Enrico Scholz - 1.13.8-2 - fixed cmake quoting so that pkgconfig files get correct version number - fixed handling of 'server-util' and '--cflags' within xmlrpc-c-config * Sun Mar 16 2008 Enrico Scholz - 1.13.8-1 - updated to 1.13.8 - removed some patches which were applied upstream * Tue Feb 26 2008 Enrico Scholz - 1.13.07-2 - moved to advanced branched; rediffed/updated existing cmake patch and fixed other compilation issues (#369841) * Mon Feb 18 2008 Fedora Release Engineering - 1.06.23-2 - Autorebuild for GCC 4.3 * Wed Jan 2 2008 Enrico Scholz - 1.06.23-1 - use correct pkg-config script for 'xmlrpc-config abyss-server' output (#355411) - updated to 1.06.23 (#355411) * Tue Sep 4 2007 Enrico Scholz - 1.06.18-1 - updated to 1.06.18 * Thu Aug 16 2007 Enrico Scholz - 1.06.17-1 - updated to 1.06.17 * Sun Jul 22 2007 Enrico Scholz - 1.06.16-1 - updated to 1.06.16 * Thu Jun 14 2007 Enrico Scholz - 1.06.14-1 - updated to 1.06.14 * Sun Apr 1 2007 Enrico Scholz - 1.06.11-2 - rediffed cmake patch against current version - made the xmlrpc-c-config compatible to the upstream version - added compatibility symlinks for some header files (thx to Robert de Vries for reporting these two issues) * Sat Mar 17 2007 Enrico Scholz - 1.06.11-1 - updated to 1.06.11 * Sat Feb 3 2007 Enrico Scholz - 1.06.09-1 - updated to 1.06.09 - removed -typo patch since applied upstream * Mon Nov 6 2006 Jindrich Novy - 1.06.05-3 - rebuild against the new curl * Mon Oct 2 2006 Enrico Scholz - 1.06.05-2 - updated cmake patch - strip installed libraries * Wed Sep 20 2006 Enrico Scholz - 1.06.05-1 - updated to 1.06.05 - merged + updated patches * Sat Sep 16 2006 Enrico Scholz - 1.06.04-1 - updated to 1.06.04 - patched the broken buildsystem - disabled libwww backend explicitely * Sun Jun 4 2006 Enrico Scholz - 1.05-1 - updated to 1.05 - updated patches * Sat Feb 18 2006 Enrico Scholz - 1.04-2 - rebuilt for FC5 * Sun Dec 18 2005 Enrico Scholz - 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 - 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 - 1.03.02-1 - Initial build.