gsoap: update to 2.8.54
gsoap>=2.8.49 supports glibc 2.26.
This commit is contained in:
parent
5a77508a9b
commit
1aa936243b
4 changed files with 49 additions and 61 deletions
|
@ -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))
|
|
@ -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
|
42
srcpkgs/gsoap/patches/musl.patch
Normal file
42
srcpkgs/gsoap/patches/musl.patch
Normal 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
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue