Redo musl support patch such that it can always be applied

Signed-off-by: Khem Raj <[email protected]>
---
 ...-signature-on-non-glibc-linux-musl-s.patch | 85 ++++++++++++++++
 ...1-Simplify-check-for-gethostbyname_r.patch | 96 -------------------
 .../{gsoap_2.8.126.bb => gsoap_2.8.134.bb}    |  6 +-
 3 files changed, 88 insertions(+), 99 deletions(-)
 create mode 100644 
meta-oe/recipes-support/gsoap/gsoap/0001-Provide-strtod_l-signature-on-non-glibc-linux-musl-s.patch
 delete mode 100644 
meta-oe/recipes-support/gsoap/gsoap/0001-Simplify-check-for-gethostbyname_r.patch
 rename meta-oe/recipes-support/gsoap/{gsoap_2.8.126.bb => gsoap_2.8.134.bb} 
(87%)

diff --git 
a/meta-oe/recipes-support/gsoap/gsoap/0001-Provide-strtod_l-signature-on-non-glibc-linux-musl-s.patch
 
b/meta-oe/recipes-support/gsoap/gsoap/0001-Provide-strtod_l-signature-on-non-glibc-linux-musl-s.patch
new file mode 100644
index 0000000000..df27a59ee7
--- /dev/null
+++ 
b/meta-oe/recipes-support/gsoap/gsoap/0001-Provide-strtod_l-signature-on-non-glibc-linux-musl-s.patch
@@ -0,0 +1,85 @@
+From 2b7a51556185539a0f9baef0f109e0814933d6b3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Sun, 19 May 2024 17:11:20 -0700
+Subject: [PATCH] Provide strtod_l signature on non-glibc linux ( musl )
+ systems
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <[email protected]>
+---
+ gsoap/stdsoap2.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/gsoap/stdsoap2.cpp
++++ b/gsoap/stdsoap2.cpp
+@@ -74,6 +74,11 @@ A commercial use license is available fr
+ 
+ #include "stdsoap2.h"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++struct __locale_struct;
++double strtod_l(const char *__restrict, char **__restrict, struct 
__locale_struct *);
++#endif
++
+ #if GSOAP_VERSION != GSOAP_LIB_VERSION
+ # error "GSOAP VERSION MISMATCH IN LIBRARY: PLEASE REINSTALL PACKAGE"
+ #endif
+@@ -5457,7 +5462,7 @@ tcp_gethostbyname(struct soap *soap, con
+ {
+ #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(SUN_OS) && !defined(__QNX__) && !defined(QNX) 
&& defined(HAVE_GETHOSTBYNAME_R)
++#elif (!defined(__GLIBC__) || (!(~_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(__QNX__) && !defined(QNX) && 
defined(HAVE_GETHOSTBYNAME_R)
+   int r;
+   char *tmpbuf = soap->tmpbuf;
+   size_t tmplen = sizeof(soap->tmpbuf);
+@@ -5490,7 +5495,7 @@ tcp_gethostbyname(struct soap *soap, con
+     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(__QNX__) && !defined(QNX) 
&& defined(HAVE_GETHOSTBYNAME_R)
++#elif (!defined(__GLIBC__) || (!(~_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(__QNX__) && !defined(QNX) && 
defined(HAVE_GETHOSTBYNAME_R)
+   while ((r = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &hostent, 
&soap->errnum)) < 0)
+   {
+     if (tmpbuf != soap->tmpbuf)
+@@ -23192,7 +23197,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 !defined(__GLIBC__) || (!(~_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");
+--- a/gsoap/stdsoap2.c
++++ b/gsoap/stdsoap2.c
+@@ -74,6 +74,11 @@ A commercial use license is available fr
+ 
+ #include "stdsoap2.h"
+ 
++#if defined(__linux__) && !defined(__GLIBC__)
++struct __locale_struct;
++double strtod_l(const char *__restrict, char **__restrict, struct 
__locale_struct *);
++#endif
++
+ #if GSOAP_VERSION != GSOAP_LIB_VERSION
+ # error "GSOAP VERSION MISMATCH IN LIBRARY: PLEASE REINSTALL PACKAGE"
+ #endif
+@@ -5490,7 +5495,7 @@ tcp_gethostbyname(struct soap *soap, con
+     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(__QNX__) && !defined(QNX) 
&& defined(HAVE_GETHOSTBYNAME_R)
++#elif (!defined(__GLIBC__) || (!(~_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(__QNX__) && !defined(QNX) && 
defined(HAVE_GETHOSTBYNAME_R)
+   while ((r = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &hostent, 
&soap->errnum)) < 0)
+   {
+     if (tmpbuf != soap->tmpbuf)
+@@ -23192,7 +23197,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 !defined(__GLIBC__) || (!(~_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");
diff --git 
a/meta-oe/recipes-support/gsoap/gsoap/0001-Simplify-check-for-gethostbyname_r.patch
 
b/meta-oe/recipes-support/gsoap/gsoap/0001-Simplify-check-for-gethostbyname_r.patch
deleted file mode 100644
index 6ae02deb24..0000000000
--- 
a/meta-oe/recipes-support/gsoap/gsoap/0001-Simplify-check-for-gethostbyname_r.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From fa923a50790c907725c822b2fc7d63b2da62b4ad Mon Sep 17 00:00:00 2001
-From: Khem Raj <[email protected]>
-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 <[email protected]>
----
-Upstream-Status: Pending
-
- 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
-
diff --git a/meta-oe/recipes-support/gsoap/gsoap_2.8.126.bb 
b/meta-oe/recipes-support/gsoap/gsoap_2.8.134.bb
similarity index 87%
rename from meta-oe/recipes-support/gsoap/gsoap_2.8.126.bb
rename to meta-oe/recipes-support/gsoap/gsoap_2.8.134.bb
index 6d8b53d308..5528e87e6c 100644
--- a/meta-oe/recipes-support/gsoap/gsoap_2.8.126.bb
+++ b/meta-oe/recipes-support/gsoap/gsoap_2.8.134.bb
@@ -5,9 +5,9 @@ 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"
+SRC_URI = "https://prdownloads.sourceforge.net/${BPN}2/${BPN}_${PV}.zip \
+           
file://0001-Provide-strtod_l-signature-on-non-glibc-linux-musl-s.patch"
+SRC_URI[sha256sum] = 
"63478e555c0ccde0164f055ff605b02805db0abc6712a04bcb14cb617b047218"
 
 inherit autotools
 
-- 
2.45.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#110471): 
https://lists.openembedded.org/g/openembedded-devel/message/110471
Mute This Topic: https://lists.openembedded.org/mt/106228510/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to