diff --git a/gsoap-2.8.37.tar.xz b/gsoap-2.8.37.tar.xz deleted file mode 100644 index 22dcb16..0000000 --- a/gsoap-2.8.37.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:873a2e7b2d3670951274cf065472519dbee673625e995ac8ef65e5567b38a9be -size 19693260 diff --git a/gsoap-2.8.39.tar.xz b/gsoap-2.8.39.tar.xz new file mode 100644 index 0000000..62bb9d3 --- /dev/null +++ b/gsoap-2.8.39.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d39bed0a726f0f703ffd700a5a33053ea0d43806c71526a70f99ac97a60179f +size 22335540 diff --git a/gsoap-locale.diff b/gsoap-locale.diff new file mode 100644 index 0000000..c7c0d2e --- /dev/null +++ b/gsoap-locale.diff @@ -0,0 +1,34 @@ +From: Jan Engelhardt + +Always force locale-aware formatting and parsing. +Fix build error with -DWITH_C_LOCALE + +References: https://sourceforge.net/p/gsoap2/bugs/1079/ +References: https://sourceforge.net/p/gsoap2/bugs/1080/ +--- + gsoap/stdsoap2.h | 5 +++++ + 1 file changed, 5 insertions(+) + +Index: gsoap-2.8.39/gsoap/stdsoap2.h +=================================================================== +--- gsoap-2.8.39.orig/gsoap/stdsoap2.h ++++ gsoap-2.8.39/gsoap/stdsoap2.h +@@ -57,6 +57,10 @@ A commercial use license is available fr + # include "soapdefs.h" /* include user-defined stuff in soapdefs.h */ + #endif + ++#ifndef WITH_C_LOCALE ++# define WITH_C_LOCALE 1 ++#endif ++ + #ifndef _THREAD_SAFE + # define _THREAD_SAFE + #endif +@@ -659,6 +663,7 @@ extern intmax_t __strtoull(const char*, + # define SOAP_FREELOCALE(soap) (void)((soap)->c_locale && (_free_locale((soap)->c_locale), ((soap)->c_locale = NULL))) + # else + # include ++# include + # define SOAP_LOCALE_T locale_t + # define SOAP_LOCALE(soap) ((soap)->c_locale ? (soap)->c_locale : ((soap)->c_locale = newlocale(LC_ALL_MASK, "C", NULL))) + # define SOAP_FREELOCALE(soap) (void)((soap)->c_locale && (freelocale((soap)->c_locale), ((soap)->c_locale = NULL))) diff --git a/gsoap.changes b/gsoap.changes index 27fd5cd..05c51d4 100644 --- a/gsoap.changes +++ b/gsoap.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Mon Nov 21 18:39:11 UTC 2016 - jengelh@inai.de + +- Update to new upstream release 2.8.39 +* Added auto-generated client-side REST API functions to simplify + REST GET, PUT, POST operations with XML data. +* the engine sets the temporary "C" locale for floating point + conversion on most systems. + +------------------------------------------------------------------- +Tue Nov 15 22:35:48 UTC 2016 - jengelh@inai.de + +- Add gsoap-locale.diff to resolve truncation of "double" + type floating point numbers when deserializing XML + ------------------------------------------------------------------- Wed Oct 26 13:24:28 UTC 2016 - jengelh@inai.de diff --git a/gsoap.spec b/gsoap.spec index 3f0129f..cd4ccf0 100644 --- a/gsoap.spec +++ b/gsoap.spec @@ -17,8 +17,8 @@ Name: gsoap -%define lname libgsoap-2_8_37 -Version: 2.8.37 +%define lname libgsoap-2_8_39 +Version: 2.8.39 Release: 0 Summary: Toolkit for C/C++ server and client web service applications License: SUSE-GPL-2.0+-with-openssl-exception @@ -28,8 +28,9 @@ Url: http://www.genivia.com/dev.html #DL-URL: http://downloads.sf.net/gsoap2/gsoap_2.8.36.zip Source: gsoap-%version.tar.xz Source2: sanitize_source.sh -Patch0: gsoap-automake1_13.diff -Patch1: gsoap-01-sharedlibs.diff +Patch1: gsoap-automake1_13.diff +Patch2: gsoap-01-sharedlibs.diff +Patch3: gsoap-locale.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake @@ -84,7 +85,7 @@ available or under development. %prep %setup -q cmp gsoap/stdsoap2.cpp gsoap/stdsoap2.c -%patch -P 0 -P 1 -p1 +%patch -P 1 -P 2 -P 3 -p1 ln -fs stdsoap2.cpp gsoap/stdsoap2.c %build @@ -96,6 +97,8 @@ perl -i -lpe 's{AC_INIT\(gsoap, 2.8\)}{AC_INIT([gsoap], [%version])}' \ # Also needed because Makefile.am and configure.ac are touched. autoreconf -fi +export CFLAGS="%optflags -DWITH_C_LOCALE=1" +export CXXFLAGS="$CFLAGS" %configure --enable-ipv6 --disable-static pushd gsoap/src/ # build prerequisites for parallel build first diff --git a/gsoap_2.8.39.zip b/gsoap_2.8.39.zip new file mode 100644 index 0000000..c8b69b5 --- /dev/null +++ b/gsoap_2.8.39.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7922bfea5f8d0889ea578026d368abd666983e36fed8745f807c39a072028760 +size 36767952 diff --git a/sanitize_source.sh b/sanitize_source.sh index 11d5ec8..646da32 100644 --- a/sanitize_source.sh +++ b/sanitize_source.sh @@ -13,7 +13,7 @@ if ! which hardlink >/dev/null; then exit 1; fi; -version="2.8.37" +version="2.8.39" shortver="2.8" # agh... wget -c "http://downloads.sf.net/gsoap2/gsoap_$version.zip"