added my Recipes
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
From fa923a50790c907725c822b2fc7d63b2da62b4ad Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sun, 12 Mar 2023 13:34:55 -0700
|
||||
Subject: [PATCH] Simplify check for gethostbyname_r()
|
||||
|
||||
This helps build fix with musl.
|
||||
|
||||
Imported from Alpine: https://git.alpinelinux.org/aports/tree/community/gsoap/musl-fixes.patch
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
gsoap/stdsoap2.c | 6 ++----
|
||||
gsoap/stdsoap2.cpp | 10 ++--------
|
||||
2 files changed, 4 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/gsoap/stdsoap2.c b/gsoap/stdsoap2.c
|
||||
index 654a1e1..fa31d02 100644
|
||||
--- a/gsoap/stdsoap2.c
|
||||
+++ b/gsoap/stdsoap2.c
|
||||
@@ -5463,7 +5463,7 @@ tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent,
|
||||
hostent = NULL;
|
||||
soap->errnum = h_errno;
|
||||
}
|
||||
-#elif (!defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600 || defined(__ANDROID__) || defined(FREEBSD) || defined(__FreeBSD__)) && !defined(SUN_OS) && defined(HAVE_GETHOSTBYNAME_R)
|
||||
+#elif defined(HAVE_GETHOSTBYNAME_R)
|
||||
while ((r = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &hostent, &soap->errnum)) < 0)
|
||||
{
|
||||
if (tmpbuf != soap->tmpbuf)
|
||||
@@ -5478,8 +5478,6 @@ tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent,
|
||||
if (!tmpbuf)
|
||||
break;
|
||||
}
|
||||
-#elif defined(HAVE_GETHOSTBYNAME_R)
|
||||
- hostent = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &soap->errnum);
|
||||
#elif defined(VXWORKS)
|
||||
/* vxWorks compatible */
|
||||
/* If the DNS resolver library resolvLib has been configured in the vxWorks
|
||||
@@ -23112,7 +23110,7 @@ soap_strerror(struct soap *soap)
|
||||
{
|
||||
#ifndef WIN32
|
||||
# ifdef HAVE_STRERROR_R
|
||||
-# if !defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && ((!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)))
|
||||
+# if 1
|
||||
err = strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* XSI-compliant */
|
||||
if (err != 0)
|
||||
soap_strcpy(soap->msgbuf, sizeof(soap->msgbuf), "unknown error");
|
||||
diff --git a/gsoap/stdsoap2.cpp b/gsoap/stdsoap2.cpp
|
||||
index 654a1e1..5fd5fd6 100644
|
||||
--- a/gsoap/stdsoap2.cpp
|
||||
+++ b/gsoap/stdsoap2.cpp
|
||||
@@ -5430,7 +5430,7 @@ tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent,
|
||||
{
|
||||
#if (defined(_AIX43) || defined(TRU64) || defined(HP_UX)) && defined(HAVE_GETHOSTBYNAME_R)
|
||||
struct hostent_data ht_data;
|
||||
-#elif (!defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600 || defined(__ANDROID__) || defined(FREEBSD) || defined(__FreeBSD__)) && defined(HAVE_GETHOSTBYNAME_R)
|
||||
+#elif defined(HAVE_GETHOSTBYNAME_R)
|
||||
int r;
|
||||
char *tmpbuf = soap->tmpbuf;
|
||||
size_t tmplen = sizeof(soap->tmpbuf);
|
||||
@@ -5463,7 +5463,7 @@ tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent,
|
||||
hostent = NULL;
|
||||
soap->errnum = h_errno;
|
||||
}
|
||||
-#elif (!defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600 || defined(__ANDROID__) || defined(FREEBSD) || defined(__FreeBSD__)) && !defined(SUN_OS) && defined(HAVE_GETHOSTBYNAME_R)
|
||||
+#elif defined(HAVE_GETHOSTBYNAME_R)
|
||||
while ((r = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &hostent, &soap->errnum)) < 0)
|
||||
{
|
||||
if (tmpbuf != soap->tmpbuf)
|
||||
@@ -5478,8 +5478,6 @@ tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent,
|
||||
if (!tmpbuf)
|
||||
break;
|
||||
}
|
||||
-#elif defined(HAVE_GETHOSTBYNAME_R)
|
||||
- hostent = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &soap->errnum);
|
||||
#elif defined(VXWORKS)
|
||||
/* vxWorks compatible */
|
||||
/* If the DNS resolver library resolvLib has been configured in the vxWorks
|
||||
@@ -23112,13 +23110,9 @@ soap_strerror(struct soap *soap)
|
||||
{
|
||||
#ifndef WIN32
|
||||
# ifdef HAVE_STRERROR_R
|
||||
-# if !defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && ((!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)))
|
||||
err = strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* XSI-compliant */
|
||||
if (err != 0)
|
||||
soap_strcpy(soap->msgbuf, sizeof(soap->msgbuf), "unknown error");
|
||||
-# else
|
||||
- return strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* GNU-specific */
|
||||
-# endif
|
||||
# else
|
||||
return strerror(err);
|
||||
# endif
|
||||
--
|
||||
2.39.2
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
DESCRIPTION = "The gSOAP toolkit provides a unique SOAP-to-C/C++ language binding \
|
||||
for the development of SOAP Web Services and clients."
|
||||
SECTION = "devel"
|
||||
LICENSE = "GPL-2.0-with-OpenSSL-exception"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4f40a941379143186f9602242c3fb729 \
|
||||
file://GPLv2_license.txt;md5=a33672dbe491b6517750a0389063508b"
|
||||
|
||||
SRC_URI = "https://prdownloads.sourceforge.net/${BPN}2/${BPN}_${PV}.zip"
|
||||
SRC_URI:append:libc-musl = " file://0001-Simplify-check-for-gethostbyname_r.patch"
|
||||
SRC_URI[sha256sum] = "b65190ebf8c2517d6fafbdc2000bc7bc650d921a02f4aa53eb1e3df267592c4a"
|
||||
|
||||
inherit autotools
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
|
||||
S = "${WORKDIR}/${BPN}-2.8"
|
||||
|
||||
EXTRA_OECONF += "--enable-ipv6 --enable-c-locale"
|
||||
PARALLEL_MAKE = ""
|
||||
|
||||
EXTRA_OEMAKE:class-target = "SOAP=${STAGING_BINDIR_NATIVE}/soapcpp2"
|
||||
|
||||
DEPENDS = "openssl zlib flex bison bison-native"
|
||||
DEPENDS:append:class-target = " gsoap-native"
|
||||
|
||||
do_install:append() {
|
||||
install -d ${D}${libdir}
|
||||
for lib in libgsoapssl libgsoapssl++ libgsoap libgsoapck++ libgsoap++ libgsoapck
|
||||
do
|
||||
oe_libinstall -C gsoap $lib ${D}${libdir}
|
||||
done
|
||||
}
|
||||
|
||||
do_install:class-native() {
|
||||
oe_runmake DESTDIR=${D} BINDIR=${D}${bindir} install
|
||||
}
|
||||
|
||||
FILES:${PN} = "${bindir}/wsdl2h ${bindir}/soapcpp2"
|
||||
FILES:${PN} += "${datadir}"
|
||||
FILES:${PN}-staticdev = "${libdir}"
|
||||
FILES:${PN}-dev = "${includedir}"
|
||||
RRECOMMENDS:${PN}-dev = "${PN}-staticdev"
|
||||
Reference in New Issue
Block a user