[gsoap/epel7: 2/2] Fix default import paths for soapcpp2 and wsdl2h
Mattias Ellert
ellert at fedoraproject.org
Fri Jul 11 08:46:37 UTC 2014
commit 6144ce1b50d60e1c475b4f75b0f63828986e5405
Author: Mattias Ellert <mattias.ellert at fysast.uu.se>
Date: Fri Jul 11 10:45:54 2014 +0200
Fix default import paths for soapcpp2 and wsdl2h
gsoap-cleanfiles.patch | 33 +++++++++++++++++
gsoap-default-paths.patch | 85 +++++++++++++++++++++++++++++++++++++++++++++
gsoap.spec | 38 +++++++++++++-------
wsdl2h.1 | 2 +-
4 files changed, 143 insertions(+), 15 deletions(-)
---
diff --git a/gsoap-cleanfiles.patch b/gsoap-cleanfiles.patch
new file mode 100644
index 0000000..703a430
--- /dev/null
+++ b/gsoap-cleanfiles.patch
@@ -0,0 +1,33 @@
+diff -ur gsoap-2.8.17.orig/gsoap/samples/chaining/Makefile.am gsoap-2.8.17/gsoap/samples/chaining/Makefile.am
+--- gsoap-2.8.17.orig/gsoap/samples/chaining/Makefile.am 2013-12-18 14:58:36.000000000 +0100
++++ gsoap-2.8.17/gsoap/samples/chaining/Makefile.am 2014-07-09 13:37:44.051096990 +0200
+@@ -17,7 +17,7 @@
+
+ BUILT_SOURCES = qServerLib.c cServerLib.c envC.c
+
+-CLEANFILES = *.req.xml *.res.xml *.nsmap *.xsd *.wsdl envStub.h envH.h envC.c cStub.h cH.h cC.c Calc*Proxy.h Calc*Proxy.c Calc*Object.h Calc*Service.h Calc*Service.c cClient.c cServer.c cClientLib.c cServerLib.c qStub.h qH.h qC.c Quote*Proxy.h Quote*Proxy.c Quote*Object.h Quote*Service.h Quote*Service.c QuoteClient.c QuoteServer.c qClientLib.c qServerLib.c *~
++CLEANFILES = *.req.xml *.res.xml *.nsmap *.xsd *.wsdl envStub.h envH.h envC.c cStub.h cH.h cC.c cClient.c cServer.c cClientLib.c cServerLib.c qStub.h qH.h qC.c qClient.c qServer.c qClientLib.c qServerLib.c *~
+
+ SOAP_NS = c.nsmap
+
+diff -ur gsoap-2.8.17.orig/gsoap/samples/chaining++/Makefile.am gsoap-2.8.17/gsoap/samples/chaining++/Makefile.am
+--- gsoap-2.8.17.orig/gsoap/samples/chaining++/Makefile.am 2013-12-18 14:58:36.000000000 +0100
++++ gsoap-2.8.17/gsoap/samples/chaining++/Makefile.am 2014-07-09 13:32:47.507096425 +0200
+@@ -16,7 +16,7 @@
+
+ BUILT_SOURCES = QuotequoteService.cpp CalccalcService.cpp envC.cpp
+
+-CLEANFILES = *.req.xml *.res.xml *.nsmap *.xsd *.wsdl envStub.h envH.h envC.cpp calcStub.h calcH.h calcC.cpp Calc*Proxy.h Calc*Proxy.cpp Calc*Object.h Calc*Service.h Calc*Service.cpp calcClient.cpp calcServer.cpp calcClientLib.cpp calcServerLib.cpp quoteStub.h quoteH.h quoteC.cpp Quote*Proxy.h Quote*Proxy.cpp Quote*Object.h Quote*Service.h Quote*Service.cpp QuoteClient.cpp QuoteServer.cpp quoteClientLib.cpp quoteServerLib.cpp *~
++CLEANFILES = *.req.xml *.res.xml *.nsmap *.xsd *.wsdl envStub.h envH.h envC.cpp CalcStub.h CalcH.h CalcC.cpp Calc*Proxy.h Calc*Proxy.cpp Calc*Object.h Calc*Service.h Calc*Service.cpp CalcClient.cpp CalcServer.cpp CalcClientLib.cpp CalcServerLib.cpp QuoteStub.h QuoteH.h QuoteC.cpp Quote*Proxy.h Quote*Proxy.cpp Quote*Object.h Quote*Service.h Quote*Service.cpp QuoteClient.cpp QuoteServer.cpp QuoteClientLib.cpp QuoteServerLib.cpp *~
+
+ SOAP_NS = Calc.nsmap
+
+diff -ur gsoap-2.8.17.orig/gsoap/samples/databinding/Makefile.am gsoap-2.8.17/gsoap/samples/databinding/Makefile.am
+--- gsoap-2.8.17.orig/gsoap/samples/databinding/Makefile.am 2013-12-18 14:58:36.000000000 +0100
++++ gsoap-2.8.17/gsoap/samples/databinding/Makefile.am 2014-07-09 14:09:27.207147420 +0200
+@@ -30,4 +30,4 @@
+ address_SOURCES=$(SOAP_CPP_SRC) address.cpp
+ address_LDADD=$(SOAP_CPP_LIB)
+
+-CLEANFILES= *~ *C.cpp *H.h *Stub.h *.nsmap
++CLEANFILES= *~ address.h *C.cpp *H.h *Stub.h *.nsmap
diff --git a/gsoap-default-paths.patch b/gsoap-default-paths.patch
new file mode 100644
index 0000000..5194ec8
--- /dev/null
+++ b/gsoap-default-paths.patch
@@ -0,0 +1,85 @@
+diff -ur gsoap-2.8.17.orig/configure.in gsoap-2.8.17/configure.in
+--- gsoap-2.8.17.orig/configure.in 2013-12-18 14:58:32.000000000 +0100
++++ gsoap-2.8.17/configure.in 2014-07-09 10:17:53.755340303 +0200
+@@ -163,12 +163,12 @@
+ AC_SUBST(SOAPCPP2_DEBUG)
+
+ # set the default soapcpp2 import path
+-SOAPCPP2_IMPORTPATH="-DSOAPCPP_IMPORT_PATH=\"\\\"${datadir}/gsoap/import\\\"\""
++SOAPCPP2_IMPORTPATH="-DSOAPCPP2_IMPORT_PATH=\"\\\"${datadir}/gsoap/import\\\"\""
+ #SOAPCPP2_IMPORTPATH="-DSOAPCPP2_IMPORT_PATH=\"\\\"`pwd`/gsoap/import\\\"\""
+ AC_SUBST(SOAPCPP2_IMPORTPATH)
+
+ # set the default wsdl2h import path
+-WSDL2H_IMPORTPATH="-DWSDL_IMPORT_PATH=\"\\\"${datadir}/gsoap/WS\\\"\""
++WSDL2H_IMPORTPATH="-DWSDL2H_IMPORT_PATH=\"\\\"${datadir}/gsoap/WS\\\"\""
+ #WSDL2H_IMPORTPATH="-DWSDL2H_IMPORT_PATH=\"\\\"`pwd`/gsoap/WS\\\"\""
+ AC_SUBST(WSDL2H_IMPORTPATH)
+
+diff -ur gsoap-2.8.17.orig/gsoap/samples/autotest/Makefile.am gsoap-2.8.17/gsoap/samples/autotest/Makefile.am
+--- gsoap-2.8.17.orig/gsoap/samples/autotest/Makefile.am 2013-12-18 14:58:36.000000000 +0100
++++ gsoap-2.8.17/gsoap/samples/autotest/Makefile.am 2014-07-09 13:04:46.403086798 +0200
+@@ -26,7 +26,7 @@
+
+ autotest_CFLAGS=$(C_DEBUG_FLAGS) -D$(platform)
+ autotest_CPPFLAGS=$(C_DEBUG_FLAGS) -D$(platform)
+-autotest_CXXFLAGS=$(WSDL2H_EXTRA_FLAGS) $(WSDL2H_IMPORTPATH)
++autotest_CXXFLAGS=$(WSDL2H_EXTRA_FLAGS)
+ autotest_SOURCES=$(SOAP_CPP_SRC) soapTester.cpp
+ autotest_LDADD=$(SOAP_CPP_LIB)
+
+diff -ur gsoap-2.8.17.orig/gsoap/samples/databinding/Makefile.am gsoap-2.8.17/gsoap/samples/databinding/Makefile.am
+--- gsoap-2.8.17.orig/gsoap/samples/databinding/Makefile.am 2013-12-18 14:58:36.000000000 +0100
++++ gsoap-2.8.17/gsoap/samples/databinding/Makefile.am 2014-07-09 13:05:09.423086046 +0200
+@@ -26,7 +26,7 @@
+
+ address_CFLAGS=$(C_DEBUG_FLAGS) -D$(platform)
+ address_CPPFLAGS=$(C_DEBUG_FLAGS) -D$(platform)
+-address_CXXFLAGS=$(WSDL2H_EXTRA_FLAGS) $(WSDL2H_IMPORTPATH)
++address_CXXFLAGS=$(WSDL2H_EXTRA_FLAGS)
+ address_SOURCES=$(SOAP_CPP_SRC) address.cpp
+ address_LDADD=$(SOAP_CPP_LIB)
+
+diff -ur gsoap-2.8.17.orig/gsoap/src/soapcpp2.c gsoap-2.8.17/gsoap/src/soapcpp2.c
+--- gsoap-2.8.17.orig/gsoap/src/soapcpp2.c 2013-12-18 14:58:38.000000000 +0100
++++ gsoap-2.8.17/gsoap/src/soapcpp2.c 2014-07-09 11:35:36.175116807 +0200
+@@ -78,7 +78,8 @@
+ char dirpath[1024]; /* directory path for generated source files */
+ char *prefix = "soap"; /* file name prefix for generated source files */
+ char filename[1024]; /* current file name */
+-char *importpath = SOAPCPP2_IMPORT_PATH; /* default file import path */
++char *importpath = NULL;
++char *defimportpath = SOAPCPP2_IMPORT_PATH; /* default file import path */
+
+ /*
+ IMPORTANT:
+@@ -319,6 +320,17 @@
+ else
+ strcpy(filename, argv[i]);
+ }
++
++ if (importpath && defimportpath)
++ { char *t = emalloc(strlen(importpath) + strlen(defimportpath) + 2);
++ strcpy(t, importpath);
++ strcat(t, SOAP_PATHSEP);
++ strcat(t, defimportpath);
++ importpath = t;
++ }
++ else
++ importpath = defimportpath;
++
+ fprintf(fmsg, "\n** The gSOAP code generator for C and C++, soapcpp2 release "VERSION"\n** Copyright (C) 2000-2013, Robert van Engelen, Genivia Inc.\n** All Rights Reserved. This product is provided \"as is\", without any warranty.\n** The soapcpp2 tool is released under one of the following licenses:\n** GPL or the commercial license by Genivia Inc.\n\n");
+ if (stop_flag)
+ exit(0);
+diff -ur gsoap-2.8.17.orig/gsoap/wsdl/Makefile.am gsoap-2.8.17/gsoap/wsdl/Makefile.am
+--- gsoap-2.8.17.orig/gsoap/wsdl/Makefile.am 2013-12-18 14:58:38.000000000 +0100
++++ gsoap-2.8.17/gsoap/wsdl/Makefile.am 2014-07-09 13:04:43.491085736 +0200
+@@ -26,7 +26,7 @@
+ bin_PROGRAMS=wsdl2h
+
+ wsdl2h_CFLAGS=$(C_DEBUG_FLAGS) $(WSDL2H_EXTRA_FLAGS)
+-wsdl2h_CXXFLAGS=$(C_DEBUG_FLAGS) $(WSDL2H_EXTRA_FLAGS)
++wsdl2h_CXXFLAGS=$(C_DEBUG_FLAGS) $(WSDL2H_EXTRA_FLAGS) $(WSDL2H_IMPORTPATH)
+ wsdl2h_CPPFLAGS=$(AM_CPPFLAGS) $(SOAPCPP2_NONAMESPACES) -D$(platform)
+ wsdl2h_SOURCES=wsdl2h.cpp wsdl.cpp schema.cpp types.cpp service.cpp soap.cpp mime.cpp wsp.cpp $(SOAP_CPP_SRC)
+ wsdl2h_LDADD=$(SOAP_CPP_LIB) $(WSDL2H_EXTRA_LIBS)
diff --git a/gsoap.spec b/gsoap.spec
index 3cdd715..21eb2f0 100644
--- a/gsoap.spec
+++ b/gsoap.spec
@@ -1,7 +1,7 @@
Summary: Generator Tools for Coding SOAP/XML Web Services in C and C++
Name: gsoap
Version: 2.8.16
-Release: 4%{?dist}
+Release: 5%{?dist}
# Bump the soversion when the new version is not backward compatiple
%global soversion 4
@@ -24,10 +24,18 @@ URL: http://gsoap2.sourceforge.net/
Source0: http://downloads.sourceforge.net/gsoap2/%{name}_%{version}.zip
Source1: soapcpp2.1
Source2: wsdl2h.1
+# Create shared libraries
Patch0: %{name}-libtool.patch
+# https://sourceforge.net/p/gsoap2/patches/111/
Patch1: %{name}-private-lm.patch
+# https://sourceforge.net/p/gsoap2/patches/110/
Patch2: %{name}-pad.patch
+# https://sourceforge.net/p/gsoap2/bugs/959/
Patch3: %{name}-ipv6.patch
+# https://sourceforge.net/p/gsoap2/patches/117/
+Patch4: %{name}-default-paths.patch
+# https://sourceforge.net/p/gsoap2/patches/118/
+Patch5: %{name}-cleanfiles.patch
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
BuildRequires: flex
@@ -68,32 +76,34 @@ gSOAP documentation in html
%prep
%setup -q -n gsoap-2.8
-
-# Enable use of libtool in configure.in and a few Makefile.am files
%patch0 -p1
-
-# Move -lm to Libs.private in pkg-config files
%patch1 -p1
-
-# Pad non-ipv6 struct gsoap to match ipv6 version
%patch2 -p1
-
-# Fix for http://sourceforge.net/p/gsoap2/bugs/959/ (patch from opensuse)
%patch3 -p1
+%patch4 -p1
+%patch5 -p1
# XML files non-executable
-find . -name "*.xml" -exec chmod a-x {} \;
+find . -name "*.xml" -exec chmod a-x {} ';'
# we want all txt files to have unix end-of-line encoding
dos2unix README.txt LICENSE.txt NOTES.txt
# remove .DS_Stores
-rm gsoap/doc/.DS_Store
+find . -name .DS_Store -exec rm {} ';'
# remove stuff with gsoap license only - not GPL
rm -rf gsoap/extras gsoap/mod_gsoap gsoap/Symbian
sed 's!$(srcdir)/extras/\*!!' -i gsoap/Makefile.am
+# remove pre-compiled binaries
+rm -rf gsoap/bin
+rm -rf gsoap/ios_plugin/examples/*/build
+rm gsoap/samples/calc_vs2005/calc_vs2005/soapcpp2.exe
+rm gsoap/VisualStudio2005/wsdl2h/wsdl2h/soapcpp2.exe
+( cd gsoap/samples/link++ ; make distclean )
+( cd gsoap/samples/wcf/WS/DualHttp ; make distclean )
+
%build
# patches change autoconf and automake files, so we must reconfigure
autoreconf --install --force
@@ -119,7 +129,6 @@ rm -rf %{buildroot}
make check
%files
-%defattr(-,root,root,-)
%doc README.txt NOTES.txt LICENSE.txt
%_libdir/libgsoap.so.*
%_libdir/libgsoap++.so.*
@@ -129,7 +138,6 @@ make check
%_libdir/libgsoapssl++.so.*
%files devel
-%defattr(-,root,root,-)
%doc README.txt NOTES.txt LICENSE.txt
%_bindir/soapcpp2
%_bindir/wsdl2h
@@ -293,7 +301,6 @@ make check
%_datadir/gsoap/plugin/calcrest.h
%files doc
-%defattr(-,root,root,-)
%doc README.txt NOTES.txt LICENSE.txt gsoap/doc/*
%post -p /sbin/ldconfig
@@ -301,6 +308,9 @@ make check
%postun -p /sbin/ldconfig
%changelog
+* Fri Jul 11 2014 Mattias Ellert <mattias.ellert at fysast.uu.se> - 2.8.16-5
+- Fix default import paths for soapcpp2 and wsdl2h
+
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.8.16-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
diff --git a/wsdl2h.1 b/wsdl2h.1
index 7a67ff5..bbec67c 100644
--- a/wsdl2h.1
+++ b/wsdl2h.1
@@ -137,7 +137,7 @@ Compatibility with 2.7.16 to 2.8.7: Qualify element/attribute references.
\fB\-z4\fR
Compatibility up to 2.8.11: Do not generate union structs in \fBstd::vector\fR.
.TP
-\fB\-z4\fR
+\fB\-z5\fR
Compatibility up to 2.8.15.
.TP
\fB\-_\fR
More information about the scm-commits
mailing list