gsoap: update to 2.8.54

gsoap>=2.8.49 supports glibc 2.26.
This commit is contained in:
Alessio Sergi 2017-09-30 10:15:55 +02:00
parent 5a77508a9b
commit 1aa936243b
4 changed files with 49 additions and 61 deletions

View file

@ -1,22 +0,0 @@
--- gsoap/stdsoap2.c.orig 2017-05-22 20:36:36.124570820 -0400
+++ gsoap/stdsoap2.c 2017-05-22 20:36:52.229856096 -0400
@@ -4395,7 +4395,7 @@
return soap->error = SOAP_EOM;
return SOAP_OK;
}
-#if defined(__GLIBC__) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__)
+#if defined(__GLIBC__) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__) || defined(LINUX)
if (gethostbyname_r(addr, &hostent, soap->buf, sizeof(soap->buf), &host, &soap->errnum) < 0)
host = NULL;
#elif defined(_AIX43) || ((defined(TRU64) || defined(HP_UX)) && defined(HAVE_GETHOSTBYNAME_R))
--- gsoap/stdsoap2.cpp 2017-05-22 20:43:17.974688879 -0400
+++ gsoap/stdsoap2.cpp.orig 2017-04-07 14:39:02.000000000 -0400
@@ -4395,7 +4395,7 @@
return soap->error = SOAP_EOM;
return SOAP_OK;
}
-#if defined(__GLIBC__) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__)
+#if defined(__GLIBC__) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__) || defined(LINUX)
if (gethostbyname_r(addr, &hostent, soap->buf, sizeof(soap->buf), &host, &soap->errnum) < 0)
host = NULL;
#elif defined(_AIX43) || ((defined(TRU64) || defined(HP_UX)) && defined(HAVE_GETHOSTBYNAME_R))

View file

@ -1,32 +0,0 @@
With thanks to alpine.
https://git.alpinelinux.org/cgit/aports/tree/community/gsoap/musl-fixes.patch
The first patch I think should not be necessary, but is because the same source
file defines _GNU_SOURCE if gnu-linux and !defined(_GNU_SOURCE) (go read the
code, it's the first two places _GNU_SOURCE is used in gsoap/stdsoap2.cpp).
I don't know why, but it seems wrong to me.
EDIT: Turns out (I was told this) that gcc will define _GNU_SOURCE
automatically for C++ files. The first patch is definitely necessary.
--- ./gsoap/stdsoap2.cpp.orig
+++ ./gsoap/stdsoap2.cpp
@@ -18691,7 +18691,7 @@
{
#ifndef WIN32
# ifdef HAVE_STRERROR_R
-# if defined(_GNU_SOURCE) && !defined(__ANDROID__)
+# if defined(_GNU_SOURCE) && !defined(__ANDROID__) && defined(__GLIBC__)
return strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* GNU-specific */
# else
strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* XSI-compliant */
--- ./gsoap/stdsoap2.h.orig
+++ ./gsoap/stdsoap2.h
@@ -943,7 +943,7 @@
# endif
#elif defined(SOCKLEN_T)
# define SOAP_SOCKLEN_T SOCKLEN_T
-#elif defined(__socklen_t_defined) || defined(_SOCKLEN_T) || defined(CYGWIN) || defined(FREEBSD) || defined(__FreeBSD__) || defined(OPENBSD) || defined(__QNX__) || defined(QNX) || defined(OS390) || defined(__ANDROID__) || defined(_XOPEN_SOURCE)
+#elif defined(__socklen_t_defined) || defined(_SOCKLEN_T) || defined(CYGWIN) || defined(FREEBSD) || defined(__FreeBSD__) || defined(OPENBSD) || defined(__QNX__) || defined(QNX) || defined(OS390) || defined(__ANDROID__) || defined(_XOPEN_SOURCE) || defined (LINUX)
# define SOAP_SOCKLEN_T socklen_t
#elif defined(IRIX) || defined(WIN32) || defined(__APPLE__) || defined(SUN_OS) || defined(OPENSERVER) || defined(TRU64) || defined(VXWORKS)
# define SOAP_SOCKLEN_T int

View file

@ -0,0 +1,42 @@
--- gsoap/stdsoap2.c.orig
+++ gsoap/stdsoap2.c
@@ -4462,7 +4462,7 @@ tcp_gethost(struct soap *soap, const char *addr, struct in_addr *inaddr)
return soap->error = SOAP_EOM;
return SOAP_OK;
}
-#if defined(__GLIBC__) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__)
+#if defined(LINUX) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__)
if (gethostbyname_r(addr, &hostent, soap->buf, sizeof(soap->buf), &host, &soap->errnum) < 0)
host = NULL;
#elif defined(_AIX43) || ((defined(TRU64) || defined(HP_UX)) && defined(HAVE_GETHOSTBYNAME_R))
--- gsoap/stdsoap2.cpp.orig
+++ gsoap/stdsoap2.cpp
@@ -4462,7 +4462,7 @@ tcp_gethost(struct soap *soap, const char *addr, struct in_addr *inaddr)
return soap->error = SOAP_EOM;
return SOAP_OK;
}
-#if defined(__GLIBC__) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__)
+#if defined(LINUX) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__)
if (gethostbyname_r(addr, &hostent, soap->buf, sizeof(soap->buf), &host, &soap->errnum) < 0)
host = NULL;
#elif defined(_AIX43) || ((defined(TRU64) || defined(HP_UX)) && defined(HAVE_GETHOSTBYNAME_R))
@@ -19658,7 +19658,7 @@ soap_strerror(struct soap *soap)
{
#ifndef WIN32
# ifdef HAVE_STRERROR_R
-# if defined(_GNU_SOURCE) && !defined(__ANDROID__)
+# if defined(_GNU_SOURCE) && !defined(__ANDROID__) && defined(__GLIBC__)
return strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* GNU-specific */
# else
strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* XSI-compliant */
--- gsoap/stdsoap2.h.orig
+++ gsoap/stdsoap2.h
@@ -947,7 +947,7 @@ extern "C" {
# endif
#elif defined(SOCKLEN_T)
# define SOAP_SOCKLEN_T SOCKLEN_T
-#elif defined(__socklen_t_defined) || defined(_SOCKLEN_T) || defined(CYGWIN) || defined(FREEBSD) || defined(__FreeBSD__) || defined(OPENBSD) || defined(__QNX__) || defined(QNX) || defined(OS390) || defined(__ANDROID__) || defined(_XOPEN_SOURCE)
+#elif defined(__socklen_t_defined) || defined(_SOCKLEN_T) || defined(CYGWIN) || defined(FREEBSD) || defined(__FreeBSD__) || defined(OPENBSD) || defined(__QNX__) || defined(QNX) || defined(OS390) || defined(__ANDROID__) || defined(_XOPEN_SOURCE) || defined (LINUX)
# define SOAP_SOCKLEN_T socklen_t
#elif defined(IRIX) || defined(WIN32) || defined(__APPLE__) || defined(SUN_OS) || defined(OPENSERVER) || defined(TRU64) || defined(VXWORKS)
# define SOAP_SOCKLEN_T int

View file

@ -1,8 +1,11 @@
# Template file for 'gsoap'
pkgname=gsoap
version=2.8.47
version=2.8.54
revision=1
build_style=gnu-configure
wrksrc="${pkgname}-${version%.*}"
disable_parallel_build=yes
configure_args="--enable-ipv6"
hostmakedepends="unzip flex autoconf"
if [ "$CROSS_BUILD" ]; then
hostmakedepends+=" gsoap"
@ -10,16 +13,13 @@ fi
makedepends="libressl-devel zlib-devel"
short_desc="Toolkit for SOAP and REST Web Services and XML-Based Applications"
maintainer="Enno Boland <gottox@voidlinux.eu>"
license="GPL-3"
license="GPL-2"
homepage="http://www.cs.fsu.edu/~engelen/soap.html"
distfiles="${SOURCEFORGE_SITE}/gsoap2/gsoap_${version}.zip"
checksum=bef690f99f57367695aad5caa9e78f36e50bcd016d2ea662f038325819332cfa
wrksrc="${pkgname}-${version%.*}"
disable_parallel_build=yes
configure_args=" --enable-ipv6"
checksum=158ed9c674941c382850e8e96ac9b0174f4e7aacb25794349bd07f52261921c8
gsoap-devel_package() {
depends="gsoap>=${version}_${revision} $makedepends"
depends="${sourcepkg}>=${version}_${revision} ${makedepends}"
short_desc+=" - development files"
pkg_install() {
vmove usr/include